pds-dev-kit-web-test 2.5.638 → 2.5.640
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/dist/index.d.ts +6 -6
- package/dist/index.js +3 -12
- package/dist/src/common/assets/icons/fill/index.d.ts +0 -1
- package/dist/src/common/assets/icons/fill/index.js +0 -2
- package/dist/src/common/assets/icons/line/index.d.ts +0 -1
- package/dist/src/common/assets/icons/line/index.js +0 -2
- package/dist/src/common/hooks/useTooltip.js +1 -1
- package/dist/src/common/index.d.ts +1 -1
- package/dist/src/common/services/i18n/resources/en.json +1 -61
- package/dist/src/common/services/i18n/resources/es.json +1 -61
- package/dist/src/common/services/i18n/resources/fil.json +1 -61
- package/dist/src/common/services/i18n/resources/index.d.ts +0 -421
- package/dist/src/common/services/i18n/resources/ja.json +1 -61
- package/dist/src/common/services/i18n/resources/ko.json +1 -62
- package/dist/src/common/services/i18n/resources/zh-cn.json +1 -61
- package/dist/src/common/services/i18n/resources/zh-tw.json +1 -61
- package/dist/src/common/styles/colorSet/PaletteColor_Dark.json +1 -4
- package/dist/src/common/styles/colorSet/PaletteColor_light.json +1 -4
- package/dist/src/common/styles/colorSet/UIColor.json +1 -5
- package/dist/src/common/styles/colorSet/index.d.ts +0 -10
- package/dist/src/common/styles/colorSet/ui-type.d.ts +0 -4
- package/dist/src/common/styles/scroll/scrollbarStyle.d.ts +0 -2
- package/dist/src/common/styles/scroll/scrollbarStyle.js +3 -4
- package/dist/src/common/types/components.d.ts +0 -9
- package/dist/src/common/types/components.js +0 -8
- package/dist/src/common/types/form.d.ts +9 -0
- package/dist/src/common/types/form.js +10 -0
- package/dist/src/common/types/index.d.ts +1 -1
- package/dist/src/common/types/index.js +1 -1
- package/dist/src/common/types/text.d.ts +0 -2
- package/dist/src/common/utils/SystemUIPositionGenerator/hoverTypeSystemUICssGenerator.js +1 -1
- package/dist/src/common/utils/dateHelper.d.ts +0 -3
- package/dist/src/common/utils/dateHelper.js +0 -37
- package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.d.ts +1 -4
- package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.js +23 -32
- package/dist/src/desktop/components/AdminList/AdminList.d.ts +1 -10
- package/dist/src/desktop/components/AdminList/AdminList.js +18 -16
- package/dist/src/desktop/components/AdminList/HeaderRow.d.ts +1 -10
- package/dist/src/desktop/components/AdminList/HeaderRow.js +2 -2
- package/dist/src/desktop/components/AdminListHeader/AdminListHeader.d.ts +1 -2
- package/dist/src/desktop/components/AdminListHeader/AdminListHeader.js +2 -2
- package/dist/src/desktop/components/AdminListHeader/HeaderBar.d.ts +1 -2
- package/dist/src/desktop/components/AdminListHeader/HeaderBar.js +2 -2
- package/dist/src/desktop/components/BasicButtonGroup/BasicButtonGroup.js +1 -1
- package/dist/src/desktop/components/BasicFormGroup/BasicFormGroup.d.ts +2 -6
- package/dist/src/desktop/components/BasicFormGroup/BasicFormGroup.js +6 -67
- package/dist/src/desktop/components/BodyTextGroup/BodyTextGroup.d.ts +1 -6
- package/dist/src/desktop/components/BodyTextGroup/BodyTextGroup.js +2 -70
- package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +3 -2
- package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.js +8 -3
- package/dist/src/desktop/components/ChatList/Body.d.ts +1 -1
- package/dist/src/desktop/components/TextButton/TextButton.d.ts +3 -6
- package/dist/src/desktop/components/TextButton/TextButton.js +40 -67
- package/dist/src/desktop/components/TextField/TextField.d.ts +1 -2
- package/dist/src/desktop/components/TextField/TextField.js +7 -7
- package/dist/src/desktop/components/TextLabel/TextLabel.d.ts +3 -3
- package/dist/src/desktop/components/UploadTextButton/UploadTextButton.d.ts +1 -1
- package/dist/src/desktop/components/UploadTextButton/UploadTextButton.js +39 -56
- package/dist/src/desktop/components/index.d.ts +1 -6
- package/dist/src/desktop/components/index.js +1 -12
- package/dist/src/desktop/index.d.ts +1 -1
- package/dist/src/desktop/index.js +2 -7
- package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/variation/WFA.js +1 -1
- package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/variation/WFB.js +1 -1
- package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/variation/WFE.js +1 -1
- package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/variation/WFL.js +5 -8
- package/dist/src/desktop/panels/DesktopBasicModal/DesktopBasicModal.d.ts +1 -2
- package/dist/src/desktop/panels/DesktopBasicModal/DesktopBasicModal.js +15 -13
- package/dist/src/desktop/panels/DesktopBasicModalWithTab/DesktopBasicModalWithTab.d.ts +1 -3
- package/dist/src/desktop/panels/DesktopBasicModalWithTab/DesktopBasicModalWithTab.js +10 -16
- package/dist/src/desktop/panels/DesktopHeadlessModal/DesktopHeadlessModal.d.ts +3 -19
- package/dist/src/desktop/panels/DesktopHeadlessModal/DesktopHeadlessModal.js +31 -42
- package/dist/src/desktop/panels/DesktopTutorialModal/DesktopTutorialModal.d.ts +1 -3
- package/dist/src/desktop/panels/DesktopTutorialModal/DesktopTutorialModal.js +5 -11
- package/dist/src/desktop/panels/index.d.ts +1 -2
- package/dist/src/desktop/panels/index.js +1 -6
- package/dist/src/hybrid/components/Divider/Divider.d.ts +1 -3
- package/dist/src/hybrid/components/Divider/Divider.js +7 -9
- package/dist/src/mobile/common/components/TextFieldBase/TextFieldBase.d.ts +1 -3
- package/dist/src/mobile/common/components/TextFieldBase/TextFieldBase.js +22 -26
- package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +3 -2
- package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.js +8 -3
- package/dist/src/mobile/components/ChatList/Body.d.ts +1 -1
- package/dist/src/mobile/components/TextButton/TextButton.d.ts +3 -6
- package/dist/src/mobile/components/TextButton/TextButton.js +31 -55
- package/dist/src/mobile/components/TextField/TextField.d.ts +1 -2
- package/dist/src/mobile/components/TextField/TextField.js +7 -7
- package/dist/src/mobile/components/TextLabel/TextLabel.d.ts +3 -3
- package/dist/src/mobile/components/UploadTextButton/UploadTextButton.d.ts +1 -1
- package/dist/src/mobile/components/UploadTextButton/UploadTextButton.js +30 -44
- package/dist/src/mobile/components/index.d.ts +1 -5
- package/dist/src/mobile/components/index.js +1 -9
- package/dist/src/mobile/index.d.ts +1 -1
- package/dist/src/mobile/index.js +2 -6
- package/dist/src/mobile/panels/MobileBasicModal/MobileBasicModal.d.ts +1 -3
- package/dist/src/mobile/panels/MobileBasicModal/MobileBasicModal.js +6 -13
- package/dist/src/sub/AdminList/AdminList/AdminList.d.ts +1 -10
- package/dist/src/sub/AdminList/AdminList/AdminList.js +18 -19
- package/dist/src/sub/AdminList/AdminList/HeaderRow.d.ts +1 -10
- package/dist/src/sub/AdminList/AdminList/HeaderRow.js +2 -2
- package/dist/src/sub/DynamicLayout/CompositionEditor/CompositionEditor.d.ts +22 -0
- package/dist/src/sub/DynamicLayout/CompositionEditor/CompositionEditor.js +1134 -0
- package/dist/src/sub/DynamicLayout/CompositionRenderer/ComponentBlockMatcher.js +4 -1
- package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.d.ts +5 -3
- package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.js +54 -54
- package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionBackground.d.ts +11 -0
- package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionBackground.js +45 -0
- package/dist/src/sub/DynamicLayout/CompositionRenderer/createCompositions.d.ts +10 -0
- package/dist/src/sub/DynamicLayout/CompositionRenderer/createCompositions.js +79 -0
- package/dist/src/sub/DynamicLayout/DynamicLayout.d.ts +1 -1
- package/dist/src/sub/DynamicLayout/DynamicLayout.js +4 -2
- package/dist/src/sub/DynamicLayout/components/Section/components/CustomSectionBackgroundMedia.js +24 -2
- package/dist/src/sub/DynamicLayout/components/Section/sectionContext.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/components/Section/util/parseSectionBackgroundMediaData.js +3 -1
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/downIcons.d.ts +12 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/downIcons.js +76 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/index.d.ts +4 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/index.js +47 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/leftIcons.d.ts +12 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/leftIcons.js +76 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/rightIcons.d.ts +12 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/rightIcons.js +76 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/upIcons.d.ts +12 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/upIcons.js +76 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/index.d.ts +40 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/index.js +36 -177
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/PaletteColor_Dark.json +152 -4
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/PaletteColor_light.json +150 -2
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/SemanticColor.json +45 -1
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/UIColor.json +262 -9
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/index.d.ts +593 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/ui-type.d.ts +253 -0
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/IconButton/IconButton.d.ts +3 -1
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/IconButton/IconButton.js +5 -3
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/hybrid/Icon/Icon.d.ts +2 -1
- package/dist/src/sub/DynamicLayout/components/pdsOriginal/hybrid/Icon/Icon.js +9 -2
- package/dist/src/sub/DynamicLayout/compositionActionTypes.d.ts +139 -0
- package/dist/src/sub/DynamicLayout/compositionQueryContext.d.ts +8 -0
- package/dist/src/sub/DynamicLayout/compositionQueryContext.js +14 -0
- package/dist/src/sub/DynamicLayout/mock_componentBlocks.d.ts +911 -0
- package/dist/src/sub/DynamicLayout/mock_componentBlocks.js +4238 -0
- package/dist/src/sub/DynamicLayout/mock_composition.d.ts +3 -0
- package/dist/src/sub/DynamicLayout/mock_composition.js +1607 -0
- package/dist/src/sub/DynamicLayout/mock_contentsCarousel.d.ts +1 -0
- package/dist/src/sub/DynamicLayout/mock_contentsCarousel.js +1111 -0
- package/dist/src/sub/DynamicLayout/mock_contentsList.d.ts +1 -0
- package/dist/src/sub/DynamicLayout/mock_contentsList.js +1091 -0
- package/dist/src/sub/DynamicLayout/mock_queryData.d.ts +96 -0
- package/dist/src/sub/DynamicLayout/mock_queryData.js +2639 -0
- package/dist/src/sub/DynamicLayout/mock_slideBanner.d.ts +842 -0
- package/dist/src/sub/DynamicLayout/mock_slideBanner.js +854 -0
- package/dist/src/sub/DynamicLayout/mock_video.d.ts +368 -0
- package/dist/src/sub/DynamicLayout/mock_video.js +371 -0
- package/dist/src/sub/DynamicLayout/mock_video_cb.d.ts +0 -1
- package/dist/src/sub/DynamicLayout/mock_video_cb.js +4 -5
- package/dist/src/sub/DynamicLayout/mocks.d.ts +8 -961
- package/dist/src/sub/DynamicLayout/mocks.js +55 -4239
- package/dist/src/sub/DynamicLayout/sectionActionTypes.d.ts +4 -4
- package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.d.ts +1 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +7 -7
- package/dist/src/sub/DynamicLayout/sections/CustomSection/FlexGridItem.d.ts +1 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/FlexGridItem.js +6 -5
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.js +13 -3
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/Button.js +18 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.d.ts +10 -4
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.js +140 -3
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarouselCore.d.ts +12 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarouselCore.js +61 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationNextBtn.d.ts +15 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationNextBtn.js +69 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationPrevBtn.d.ts +15 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationPrevBtn.js +69 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomProgressbar.d.ts +9 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomProgressbar.js +87 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/navigationConfigs.d.ts +4 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/navigationConfigs.js +849 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/progressConfigs.d.ts +43 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/progressConfigs.js +162 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/contentsCarouselUtils.d.ts +39 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/contentsCarouselUtils.js +182 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useFlexGridLayout.d.ts +18 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useFlexGridLayout.js +229 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useSwiper.d.ts +14 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useSwiper.js +46 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/index.d.ts +1 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/index.js +8 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/types.d.ts +139 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsList.d.ts +14 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsList.js +224 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsListCore.d.ts +17 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsListCore.js +39 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/CustomPagination.d.ts +10 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/CustomPagination.js +85 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/paginationConfigs.d.ts +25 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/paginationConfigs.js +183 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/contentsListUtils.d.ts +29 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/contentsListUtils.js +130 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/hooks/useFlexGridLayout.d.ts +18 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/hooks/useFlexGridLayout.js +229 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/index.d.ts +1 -0
- package/dist/src/{desktop/panels/MultilingualModal → sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList}/index.js +3 -3
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/types.d.ts +67 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/types.js +2 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Image/Image.js +39 -3
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBanner.d.ts +14 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBanner.js +151 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBannerCore.d.ts +12 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBannerCore.js +39 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationNextBtn.d.ts +15 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationNextBtn.js +69 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationPrevBtn.d.ts +15 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationPrevBtn.js +69 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomPagination.d.ts +20 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomPagination.js +173 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomProgressbar.d.ts +9 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomProgressbar.js +87 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/navigationConfigs.d.ts +4 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/navigationConfigs.js +849 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/progressConfigs.d.ts +43 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/progressConfigs.js +162 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useFlexGridLayout.d.ts +18 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useFlexGridLayout.js +229 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useSwiper.d.ts +16 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useSwiper.js +63 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/index.d.ts +1 -0
- package/dist/src/{desktop/components/Snackbar → sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner}/index.js +3 -3
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/slideBannerUtils.d.ts +46 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/slideBannerUtils.js +186 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/types.d.ts +163 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/types.js +2 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.js +49 -8
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/textSpecFormatOptions.d.ts +7 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/textSpecFormatOptions.js +211 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/VideoPlayer.js +3 -28
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/helper.d.ts +0 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/helper.js +5 -15
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/types.d.ts +55 -3
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/propComponent/CBBackgroundMedia.d.ts +2 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/propComponent/CBBackgroundMedia.js +7 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/propComponent/CBBackgroundOverlay.d.ts +2 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/propComponent/CBBackgroundOverlay.js +13 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/group.d.ts +1 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/replaceUndefinedValues.js +1 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/types.d.ts +27 -10
- package/dist/src/sub/DynamicLayout/sections/CustomSection/types.js +3 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/effectPropParsers/parseEffectPropEntAnim.d.ts +4 -4
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/layoutPropParsers/parseLayoutPropPadding.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseCompositionPlacement.d.ts +14 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseCompositionPlacement.js +26 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseJsonProperties.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.d.ts +7 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.js +16 -5
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseProperties.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseProperties.js +4 -3
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/stylePropParsers/parseStylePropTextSpec.js +2 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/types.d.ts +54 -3
- package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.d.ts +1 -1
- package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.js +1 -0
- package/dist/src/sub/DynamicLayout/types.d.ts +64 -17
- package/package.json +3 -2
- package/release-note.md +2 -2
- package/dist/src/common/assets/icons/fill/Translate.d.ts +0 -4
- package/dist/src/common/assets/icons/fill/Translate.js +0 -30
- package/dist/src/common/assets/icons/line/Translate.d.ts +0 -4
- package/dist/src/common/assets/icons/line/Translate.js +0 -30
- package/dist/src/common/hooks/useParentResizeObserver.d.ts +0 -2
- package/dist/src/common/hooks/useParentResizeObserver.js +0 -20
- package/dist/src/common/hooks/useResizeObserver.d.ts +0 -3
- package/dist/src/common/hooks/useResizeObserver.js +0 -27
- package/dist/src/common/hooks/useWindowSize.d.ts +0 -4
- package/dist/src/common/hooks/useWindowSize.js +0 -22
- package/dist/src/common/types/multilingual.d.ts +0 -16
- package/dist/src/core/pricing/formatter.d.ts +0 -4
- package/dist/src/core/pricing/formatter.js +0 -18
- package/dist/src/core/pricing/index.d.ts +0 -2
- package/dist/src/core/pricing/index.js +0 -18
- package/dist/src/core/pricing/policy.d.ts +0 -26
- package/dist/src/core/pricing/policy.js +0 -98
- package/dist/src/core/pricing/service.d.ts +0 -62
- package/dist/src/core/pricing/service.js +0 -157
- package/dist/src/core/pricing/translator.d.ts +0 -27
- package/dist/src/core/pricing/translator.js +0 -54
- package/dist/src/core/pricing/types.d.ts +0 -19
- package/dist/src/core/pricing/types.js +0 -31
- package/dist/src/core/pricing/validator.d.ts +0 -29
- package/dist/src/core/pricing/validator.js +0 -105
- package/dist/src/desktop/components/BoxItem/BoxItem.d.ts +0 -67
- package/dist/src/desktop/components/BoxItem/BoxItem.js +0 -107
- package/dist/src/desktop/components/BoxItem/LeftBox/Checkbox.d.ts +0 -7
- package/dist/src/desktop/components/BoxItem/LeftBox/Checkbox.js +0 -9
- package/dist/src/desktop/components/BoxItem/LeftBox/Image.d.ts +0 -11
- package/dist/src/desktop/components/BoxItem/LeftBox/Image.js +0 -9
- package/dist/src/desktop/components/BoxItem/LeftBox/LeftBox.d.ts +0 -11
- package/dist/src/desktop/components/BoxItem/LeftBox/LeftBox.js +0 -36
- package/dist/src/desktop/components/BoxItem/LeftBox/index.d.ts +0 -2
- package/dist/src/desktop/components/BoxItem/LeftBox/index.js +0 -8
- package/dist/src/desktop/components/BoxItem/index.d.ts +0 -1
- package/dist/src/desktop/components/BoxItem/index.js +0 -8
- package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.d.ts +0 -12
- package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.js +0 -134
- package/dist/src/desktop/components/Calendar/Calendar.d.ts +0 -4
- package/dist/src/desktop/components/Calendar/Calendar.js +0 -399
- package/dist/src/desktop/components/Calendar/CalendarContext.d.ts +0 -51
- package/dist/src/desktop/components/Calendar/CalendarContext.js +0 -76
- package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.d.ts +0 -7
- package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.js +0 -48
- package/dist/src/desktop/components/Calendar/DailyView.d.ts +0 -2
- package/dist/src/desktop/components/Calendar/DailyView.js +0 -91
- package/dist/src/desktop/components/Calendar/MonthlyView.d.ts +0 -28
- package/dist/src/desktop/components/Calendar/MonthlyView.js +0 -419
- package/dist/src/desktop/components/Calendar/MultiWeekSchedulesLayer.d.ts +0 -21
- package/dist/src/desktop/components/Calendar/MultiWeekSchedulesLayer.js +0 -186
- package/dist/src/desktop/components/Calendar/ScheduleItem.d.ts +0 -25
- package/dist/src/desktop/components/Calendar/ScheduleItem.js +0 -56
- package/dist/src/desktop/components/Calendar/TimeBasedScheduleItem.d.ts +0 -12
- package/dist/src/desktop/components/Calendar/TimeBasedScheduleItem.js +0 -184
- package/dist/src/desktop/components/Calendar/WeeklyView.d.ts +0 -6
- package/dist/src/desktop/components/Calendar/WeeklyView.js +0 -114
- package/dist/src/desktop/components/Calendar/YearlyView.d.ts +0 -13
- package/dist/src/desktop/components/Calendar/YearlyView.js +0 -76
- package/dist/src/desktop/components/Calendar/calendarUtils.d.ts +0 -24
- package/dist/src/desktop/components/Calendar/calendarUtils.js +0 -87
- package/dist/src/desktop/components/Calendar/constants.d.ts +0 -1
- package/dist/src/desktop/components/Calendar/constants.js +0 -31
- package/dist/src/desktop/components/Calendar/index.d.ts +0 -14
- package/dist/src/desktop/components/Calendar/index.js +0 -42
- package/dist/src/desktop/components/Calendar/timeFormatUtils.d.ts +0 -18
- package/dist/src/desktop/components/Calendar/timeFormatUtils.js +0 -59
- package/dist/src/desktop/components/Calendar/types.d.ts +0 -61
- package/dist/src/desktop/components/PriceTextField/PriceTextField.d.ts +0 -43
- package/dist/src/desktop/components/PriceTextField/PriceTextField.js +0 -604
- package/dist/src/desktop/components/PriceTextField/index.d.ts +0 -1
- package/dist/src/desktop/components/PriceTextField/index.js +0 -8
- package/dist/src/desktop/components/PriceTextLabel/PriceTextLabel.d.ts +0 -14
- package/dist/src/desktop/components/PriceTextLabel/PriceTextLabel.js +0 -47
- package/dist/src/desktop/components/PriceTextLabel/index.d.ts +0 -1
- package/dist/src/desktop/components/PriceTextLabel/index.js +0 -8
- package/dist/src/desktop/components/Snackbar/Snackbar.d.ts +0 -17
- package/dist/src/desktop/components/Snackbar/Snackbar.js +0 -221
- package/dist/src/desktop/components/Snackbar/index.d.ts +0 -1
- package/dist/src/desktop/components/Snackbar/provider.d.ts +0 -11
- package/dist/src/desktop/components/Snackbar/provider.js +0 -43
- package/dist/src/desktop/panels/MultilingualModal/MultilingualModal.d.ts +0 -13
- package/dist/src/desktop/panels/MultilingualModal/MultilingualModal.js +0 -206
- package/dist/src/desktop/panels/MultilingualModal/index.d.ts +0 -1
- package/dist/src/mobile/components/BoxItem/BoxItem.d.ts +0 -67
- package/dist/src/mobile/components/BoxItem/BoxItem.js +0 -106
- package/dist/src/mobile/components/BoxItem/LeftBox/Checkbox.d.ts +0 -7
- package/dist/src/mobile/components/BoxItem/LeftBox/Checkbox.js +0 -9
- package/dist/src/mobile/components/BoxItem/LeftBox/Image.d.ts +0 -11
- package/dist/src/mobile/components/BoxItem/LeftBox/Image.js +0 -9
- package/dist/src/mobile/components/BoxItem/LeftBox/LeftBox.d.ts +0 -11
- package/dist/src/mobile/components/BoxItem/LeftBox/LeftBox.js +0 -36
- package/dist/src/mobile/components/BoxItem/LeftBox/index.d.ts +0 -2
- package/dist/src/mobile/components/BoxItem/LeftBox/index.js +0 -8
- package/dist/src/mobile/components/BoxItem/index.d.ts +0 -1
- package/dist/src/mobile/components/BoxItem/index.js +0 -8
- package/dist/src/mobile/components/PriceTextField/PriceTextField.d.ts +0 -42
- package/dist/src/mobile/components/PriceTextField/PriceTextField.js +0 -591
- package/dist/src/mobile/components/PriceTextField/index.d.ts +0 -1
- package/dist/src/mobile/components/PriceTextField/index.js +0 -8
- package/dist/src/mobile/components/PriceTextLabel/PriceTextLabel.d.ts +0 -14
- package/dist/src/mobile/components/PriceTextLabel/PriceTextLabel.js +0 -47
- package/dist/src/mobile/components/PriceTextLabel/index.d.ts +0 -1
- package/dist/src/mobile/components/PriceTextLabel/index.js +0 -8
- package/dist/src/mobile/components/Snackbar/Snackbar.d.ts +0 -17
- package/dist/src/mobile/components/Snackbar/Snackbar.js +0 -221
- package/dist/src/mobile/components/Snackbar/index.d.ts +0 -1
- package/dist/src/mobile/components/Snackbar/index.js +0 -8
- package/dist/src/mobile/components/Snackbar/provider.d.ts +0 -11
- package/dist/src/mobile/components/Snackbar/provider.js +0 -43
- package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.d.ts +0 -6
- package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.js +0 -27
- /package/dist/src/{common/types/multilingual.js → sub/DynamicLayout/compositionActionTypes.js} +0 -0
- /package/dist/src/{desktop/components/Calendar → sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel}/types.js +0 -0
@@ -1,26 +0,0 @@
|
|
1
|
-
import { CurrencyCode } from './types';
|
2
|
-
import type { Currency, Price } from './types';
|
3
|
-
/**
|
4
|
-
* publ이 지원하는 통화 목록
|
5
|
-
*/
|
6
|
-
export declare const SUPPORTED_CURRENCIES: readonly [CurrencyCode.KRW, CurrencyCode.USD, CurrencyCode.JPY];
|
7
|
-
export type SupportedCurrency = typeof SUPPORTED_CURRENCIES[number];
|
8
|
-
export declare const CURRENCY_BY_LOCALE_MAP: Record<string, CurrencyCode>;
|
9
|
-
/**
|
10
|
-
* 통화 가격 정책
|
11
|
-
*/
|
12
|
-
export interface CurrencyPricePolicy {
|
13
|
-
currency: Currency;
|
14
|
-
minPayment: Price;
|
15
|
-
minPromotionPayment?: Price;
|
16
|
-
maxPayment: Price;
|
17
|
-
paymentUnit: number;
|
18
|
-
}
|
19
|
-
/**
|
20
|
-
* 통화별 기본 가격 정책
|
21
|
-
*/
|
22
|
-
export declare const DEFAULT_CURRENCY_PRICE_POLICIES: Record<CurrencyCode, CurrencyPricePolicy>;
|
23
|
-
/**
|
24
|
-
* 별도의 통화별 가격 정책을 보유한 채널 목록
|
25
|
-
*/
|
26
|
-
export declare const CHANNEL_CURRENCY_PRICE_POLICIES: Record<string, CurrencyPricePolicy>;
|
@@ -1,98 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var _a;
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
exports.CHANNEL_CURRENCY_PRICE_POLICIES = exports.DEFAULT_CURRENCY_PRICE_POLICIES = exports.CURRENCY_BY_LOCALE_MAP = exports.SUPPORTED_CURRENCIES = void 0;
|
5
|
-
var types_1 = require("./types");
|
6
|
-
/**
|
7
|
-
* publ이 지원하는 통화 목록
|
8
|
-
*/
|
9
|
-
exports.SUPPORTED_CURRENCIES = [types_1.CurrencyCode.KRW, types_1.CurrencyCode.USD, types_1.CurrencyCode.JPY];
|
10
|
-
exports.CURRENCY_BY_LOCALE_MAP = {
|
11
|
-
ko: types_1.CurrencyCode.KRW,
|
12
|
-
kr: types_1.CurrencyCode.KRW,
|
13
|
-
en: types_1.CurrencyCode.USD,
|
14
|
-
us: types_1.CurrencyCode.USD,
|
15
|
-
ja: types_1.CurrencyCode.JPY,
|
16
|
-
jp: types_1.CurrencyCode.JPY
|
17
|
-
};
|
18
|
-
/**
|
19
|
-
* 통화별 기본 가격 정책
|
20
|
-
*/
|
21
|
-
// customMaxAmount ?? (options.currency === CurrencyCode.KRW ? 10000000 : 10000.0);
|
22
|
-
exports.DEFAULT_CURRENCY_PRICE_POLICIES = (_a = {},
|
23
|
-
_a[types_1.CurrencyCode.KRW] = {
|
24
|
-
currency: types_1.CURRENCY_MAP[types_1.CurrencyCode.KRW],
|
25
|
-
minPayment: { amount: 300, currency: types_1.CurrencyCode.KRW },
|
26
|
-
maxPayment: { amount: 10000000, currency: types_1.CurrencyCode.KRW },
|
27
|
-
paymentUnit: 100
|
28
|
-
},
|
29
|
-
_a[types_1.CurrencyCode.USD] = {
|
30
|
-
currency: types_1.CURRENCY_MAP[types_1.CurrencyCode.USD],
|
31
|
-
minPayment: { amount: 5, currency: types_1.CurrencyCode.USD },
|
32
|
-
maxPayment: { amount: 10000.0, currency: types_1.CurrencyCode.USD },
|
33
|
-
paymentUnit: 0.01
|
34
|
-
},
|
35
|
-
_a[types_1.CurrencyCode.JPY] = {
|
36
|
-
currency: types_1.CURRENCY_MAP[types_1.CurrencyCode.JPY],
|
37
|
-
minPayment: { amount: 300, currency: types_1.CurrencyCode.JPY },
|
38
|
-
maxPayment: { amount: 10000000, currency: types_1.CurrencyCode.JPY },
|
39
|
-
paymentUnit: 100
|
40
|
-
},
|
41
|
-
_a);
|
42
|
-
/**
|
43
|
-
* 별도의 통화별 가격 정책을 보유한 채널 목록
|
44
|
-
*/
|
45
|
-
exports.CHANNEL_CURRENCY_PRICE_POLICIES = {
|
46
|
-
// 루시드 드림 채널
|
47
|
-
L2NoYW5uZWxzLzMyMDA: {
|
48
|
-
currency: types_1.CURRENCY_MAP[types_1.CurrencyCode.KRW],
|
49
|
-
minPayment: { amount: 15000, currency: types_1.CurrencyCode.KRW },
|
50
|
-
maxPayment: exports.DEFAULT_CURRENCY_PRICE_POLICIES[types_1.CurrencyCode.KRW].maxPayment,
|
51
|
-
paymentUnit: exports.DEFAULT_CURRENCY_PRICE_POLICIES[types_1.CurrencyCode.KRW].paymentUnit
|
52
|
-
},
|
53
|
-
// 이승기 채널
|
54
|
-
L2NoYW5uZWxzLzkz: {
|
55
|
-
currency: types_1.CURRENCY_MAP[types_1.CurrencyCode.KRW],
|
56
|
-
minPayment: { amount: 5000, currency: types_1.CurrencyCode.KRW },
|
57
|
-
maxPayment: exports.DEFAULT_CURRENCY_PRICE_POLICIES[types_1.CurrencyCode.KRW].maxPayment,
|
58
|
-
paymentUnit: exports.DEFAULT_CURRENCY_PRICE_POLICIES[types_1.CurrencyCode.KRW].paymentUnit
|
59
|
-
},
|
60
|
-
// publDEV - 앱 채널
|
61
|
-
L2NoYW5uZWxzLzExNzQ: {
|
62
|
-
currency: types_1.CURRENCY_MAP[types_1.CurrencyCode.KRW],
|
63
|
-
minPayment: { amount: 5000, currency: types_1.CurrencyCode.KRW },
|
64
|
-
maxPayment: exports.DEFAULT_CURRENCY_PRICE_POLICIES[types_1.CurrencyCode.KRW].maxPayment,
|
65
|
-
paymentUnit: exports.DEFAULT_CURRENCY_PRICE_POLICIES[types_1.CurrencyCode.KRW].paymentUnit
|
66
|
-
},
|
67
|
-
// KAVECON 채널
|
68
|
-
L2NoYW5uZWxzLzU4MTQ: {
|
69
|
-
currency: types_1.CURRENCY_MAP[types_1.CurrencyCode.KRW],
|
70
|
-
minPayment: { amount: 20000, currency: types_1.CurrencyCode.KRW },
|
71
|
-
maxPayment: exports.DEFAULT_CURRENCY_PRICE_POLICIES[types_1.CurrencyCode.KRW].maxPayment,
|
72
|
-
paymentUnit: exports.DEFAULT_CURRENCY_PRICE_POLICIES[types_1.CurrencyCode.KRW].paymentUnit
|
73
|
-
},
|
74
|
-
// 투니모션 채널
|
75
|
-
L2NoYW5uZWxzLzE4NTcx: {
|
76
|
-
currency: types_1.CURRENCY_MAP[types_1.CurrencyCode.USD],
|
77
|
-
minPayment: { amount: 0.3, currency: types_1.CurrencyCode.USD },
|
78
|
-
maxPayment: exports.DEFAULT_CURRENCY_PRICE_POLICIES[types_1.CurrencyCode.USD].maxPayment,
|
79
|
-
minPromotionPayment: { amount: 0.1, currency: types_1.CurrencyCode.USD },
|
80
|
-
paymentUnit: 0.1
|
81
|
-
},
|
82
|
-
// DEV 테스트 채널 - webCP 해외 1:100
|
83
|
-
L2NoYW5uZWxzLzIyMTM: {
|
84
|
-
currency: types_1.CURRENCY_MAP[types_1.CurrencyCode.USD],
|
85
|
-
minPayment: { amount: 0.3, currency: types_1.CurrencyCode.USD },
|
86
|
-
maxPayment: exports.DEFAULT_CURRENCY_PRICE_POLICIES[types_1.CurrencyCode.USD].maxPayment,
|
87
|
-
minPromotionPayment: { amount: 0.1, currency: types_1.CurrencyCode.USD },
|
88
|
-
paymentUnit: 0.1
|
89
|
-
},
|
90
|
-
// PROD 테스트 채널
|
91
|
-
L2NoYW5uZWxzLzE4Nzg0: {
|
92
|
-
currency: types_1.CURRENCY_MAP[types_1.CurrencyCode.USD],
|
93
|
-
minPayment: { amount: 0.3, currency: types_1.CurrencyCode.USD },
|
94
|
-
minPromotionPayment: { amount: 0.1, currency: types_1.CurrencyCode.USD },
|
95
|
-
maxPayment: exports.DEFAULT_CURRENCY_PRICE_POLICIES[types_1.CurrencyCode.USD].maxPayment,
|
96
|
-
paymentUnit: 0.1
|
97
|
-
}
|
98
|
-
};
|
@@ -1,62 +0,0 @@
|
|
1
|
-
import { PricingFormatter } from './formatter';
|
2
|
-
import { PricingTranslator } from './translator';
|
3
|
-
import { CurrencyCode } from './types';
|
4
|
-
import { PricingValidator } from './validator';
|
5
|
-
import type { CurrencyPricePolicy, SupportedCurrency } from './policy';
|
6
|
-
import type { Currency, ExchangeRateMap, Price } from './types';
|
7
|
-
import type { PriceTextField } from '../../desktop/components';
|
8
|
-
/**
|
9
|
-
* PricingService는 상품의 판매가, 할인, 통화 포맷 등 가격 관련 비즈니스 로직을 처리하는 도메인 서비스입니다
|
10
|
-
*/
|
11
|
-
export declare class PricingService {
|
12
|
-
private static instance;
|
13
|
-
static getInstance(): PricingService;
|
14
|
-
static format: typeof PricingFormatter;
|
15
|
-
static translate: typeof PricingTranslator;
|
16
|
-
static validate: typeof PricingValidator;
|
17
|
-
private browserLanguage;
|
18
|
-
static init(browserLanguage: string): void;
|
19
|
-
setBrowserLanguage(locale: string): void;
|
20
|
-
static getCurrency(currency: CurrencyCode): Currency;
|
21
|
-
/**
|
22
|
-
* publ이 지원하는 통화인지 반환합니다
|
23
|
-
*/
|
24
|
-
static isSupportedCurrency(currency: string): currency is SupportedCurrency;
|
25
|
-
/**
|
26
|
-
* 채널의 통화 가격 정책을 반환합니다
|
27
|
-
*/
|
28
|
-
static getCurrencyPricePolicy(channelCode: string, currency: CurrencyCode): CurrencyPricePolicy;
|
29
|
-
/**
|
30
|
-
* 유저의 선호 통화 기본값을 반환합니다
|
31
|
-
*/
|
32
|
-
static getDefaultPreferredCurrency(userCountryCode?: string): CurrencyCode;
|
33
|
-
/**
|
34
|
-
* 환율 변환 유틸리티
|
35
|
-
*
|
36
|
-
* @param amount 금액 (from 통화 기준)
|
37
|
-
* @param from 원래 통화
|
38
|
-
* @param to 변환할 대상 통화
|
39
|
-
* @param exchangeRates 기준 통화 대비 환율 테이블 (예: { USD: 1, KRW: 1300, EUR: 0.9 })
|
40
|
-
* @returns 환산된 금액 (소수점 반올림 포함)
|
41
|
-
*/
|
42
|
-
static exchangePrice(amount: number, from: CurrencyCode, to: CurrencyCode, exchangeRates: ExchangeRateMap): number;
|
43
|
-
/**
|
44
|
-
* 기준 통화 상품 가격을 선호 통화 가격으로 변환합니다
|
45
|
-
* @param price 기준 통화의 상품 가격
|
46
|
-
* @param preferredCurrency 선호 통화
|
47
|
-
* @param exchangeRates 기준 통화 대비 환율 테이블
|
48
|
-
*/
|
49
|
-
static convertToPreferredPrice(price: Price, preferredCurrency: CurrencyCode, exchangeRates: ExchangeRateMap): Price;
|
50
|
-
/**
|
51
|
-
* 채널 가격 정책 기반의 PriceTextField Props를 반환합니다
|
52
|
-
*/
|
53
|
-
static getPriceTextFieldProps(channelCode: string, options: {
|
54
|
-
currency: CurrencyCode;
|
55
|
-
isPromotionPrice?: boolean;
|
56
|
-
validation?: {
|
57
|
-
useRequiredValidation?: 'none' | 'use';
|
58
|
-
customMinAmount?: number;
|
59
|
-
customMaxAmount?: number;
|
60
|
-
};
|
61
|
-
}): Partial<Parameters<typeof PriceTextField>[0]>;
|
62
|
-
}
|
@@ -1,157 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.PricingService = void 0;
|
7
|
-
var i18next_1 = __importDefault(require("i18next"));
|
8
|
-
var formatter_1 = require("./formatter");
|
9
|
-
var policy_1 = require("./policy");
|
10
|
-
var translator_1 = require("./translator");
|
11
|
-
var types_1 = require("./types");
|
12
|
-
var validator_1 = require("./validator");
|
13
|
-
/**
|
14
|
-
* PricingService는 상품의 판매가, 할인, 통화 포맷 등 가격 관련 비즈니스 로직을 처리하는 도메인 서비스입니다
|
15
|
-
*/
|
16
|
-
var PricingService = /** @class */ (function () {
|
17
|
-
function PricingService() {
|
18
|
-
this.browserLanguage = null;
|
19
|
-
}
|
20
|
-
PricingService.getInstance = function () {
|
21
|
-
if (!PricingService.instance) {
|
22
|
-
PricingService.instance = new PricingService();
|
23
|
-
}
|
24
|
-
return PricingService.instance;
|
25
|
-
};
|
26
|
-
PricingService.init = function (browserLanguage) {
|
27
|
-
var instance = PricingService.getInstance();
|
28
|
-
instance.setBrowserLanguage(browserLanguage);
|
29
|
-
};
|
30
|
-
PricingService.prototype.setBrowserLanguage = function (locale) {
|
31
|
-
this.browserLanguage = locale;
|
32
|
-
translator_1.PricingTranslator.setBrowserLanguage(locale);
|
33
|
-
};
|
34
|
-
//-----------------------------------------------------------------------------
|
35
|
-
// 유틸리티
|
36
|
-
//-----------------------------------------------------------------------------
|
37
|
-
PricingService.getCurrency = function (currency) {
|
38
|
-
return types_1.CURRENCY_MAP[currency];
|
39
|
-
};
|
40
|
-
/**
|
41
|
-
* publ이 지원하는 통화인지 반환합니다
|
42
|
-
*/
|
43
|
-
PricingService.isSupportedCurrency = function (currency) {
|
44
|
-
return policy_1.SUPPORTED_CURRENCIES.includes(currency);
|
45
|
-
};
|
46
|
-
/**
|
47
|
-
* 채널의 통화 가격 정책을 반환합니다
|
48
|
-
*/
|
49
|
-
PricingService.getCurrencyPricePolicy = function (channelCode, currency) {
|
50
|
-
var _a;
|
51
|
-
return ((_a = policy_1.CHANNEL_CURRENCY_PRICE_POLICIES[channelCode]) !== null && _a !== void 0 ? _a : policy_1.DEFAULT_CURRENCY_PRICE_POLICIES[currency]);
|
52
|
-
};
|
53
|
-
/**
|
54
|
-
* 유저의 선호 통화 기본값을 반환합니다
|
55
|
-
*/
|
56
|
-
PricingService.getDefaultPreferredCurrency = function (userCountryCode) {
|
57
|
-
// #1 사용자 국가 코드
|
58
|
-
if (userCountryCode) {
|
59
|
-
var currency = policy_1.CURRENCY_BY_LOCALE_MAP[userCountryCode];
|
60
|
-
if (currency) {
|
61
|
-
return currency;
|
62
|
-
}
|
63
|
-
}
|
64
|
-
// #2 채널 기준 통화
|
65
|
-
// const { channel } = PricingService.getInstance();
|
66
|
-
// if (!channel) {
|
67
|
-
// throw new Error('PricingService::getDefaultPreferredCurrency error: INVALID_CHANNEL');
|
68
|
-
// }
|
69
|
-
//
|
70
|
-
// return channel.baseCurrency as CurrencyCode;
|
71
|
-
return types_1.CurrencyCode.USD;
|
72
|
-
};
|
73
|
-
/**
|
74
|
-
* 환율 변환 유틸리티
|
75
|
-
*
|
76
|
-
* @param amount 금액 (from 통화 기준)
|
77
|
-
* @param from 원래 통화
|
78
|
-
* @param to 변환할 대상 통화
|
79
|
-
* @param exchangeRates 기준 통화 대비 환율 테이블 (예: { USD: 1, KRW: 1300, EUR: 0.9 })
|
80
|
-
* @returns 환산된 금액 (소수점 반올림 포함)
|
81
|
-
*/
|
82
|
-
PricingService.exchangePrice = function (amount, from, to, exchangeRates) {
|
83
|
-
var _a;
|
84
|
-
var fromRate = exchangeRates[from];
|
85
|
-
var toRate = exchangeRates[to];
|
86
|
-
if (!fromRate || !toRate) {
|
87
|
-
throw new Error("PricingService::exchangePrice error: Missing rate for currency: ".concat(!fromRate ? from : to));
|
88
|
-
}
|
89
|
-
var baseAmount = amount / fromRate; // 기준 통화로 환산
|
90
|
-
var targetAmount = baseAmount * toRate;
|
91
|
-
var decimalDigits = (_a = types_1.CURRENCY_MAP[to].decimalDigits) !== null && _a !== void 0 ? _a : 0;
|
92
|
-
return Number(targetAmount.toFixed(decimalDigits));
|
93
|
-
};
|
94
|
-
/**
|
95
|
-
* 기준 통화 상품 가격을 선호 통화 가격으로 변환합니다
|
96
|
-
* @param price 기준 통화의 상품 가격
|
97
|
-
* @param preferredCurrency 선호 통화
|
98
|
-
* @param exchangeRates 기준 통화 대비 환율 테이블
|
99
|
-
*/
|
100
|
-
PricingService.convertToPreferredPrice = function (price, preferredCurrency, exchangeRates) {
|
101
|
-
return {
|
102
|
-
amount: PricingService.exchangePrice(Number(price.amount), price.currency, preferredCurrency, exchangeRates),
|
103
|
-
currency: preferredCurrency
|
104
|
-
};
|
105
|
-
};
|
106
|
-
/**
|
107
|
-
* 채널 가격 정책 기반의 PriceTextField Props를 반환합니다
|
108
|
-
*/
|
109
|
-
PricingService.getPriceTextFieldProps = function (channelCode, options) {
|
110
|
-
var _a, _b, _c, _d;
|
111
|
-
var policy = PricingService.getCurrencyPricePolicy(channelCode, options.currency);
|
112
|
-
var useRequiredValidation = (_b = (_a = options.validation) === null || _a === void 0 ? void 0 : _a.useRequiredValidation) !== null && _b !== void 0 ? _b : 'use';
|
113
|
-
var customMinAmount = (_c = options.validation) === null || _c === void 0 ? void 0 : _c.customMinAmount;
|
114
|
-
var customMaxAmount = (_d = options.validation) === null || _d === void 0 ? void 0 : _d.customMaxAmount;
|
115
|
-
var validation = {};
|
116
|
-
// Required validation
|
117
|
-
if (useRequiredValidation === 'use') {
|
118
|
-
validation.required = i18next_1.default.t('str_please_enter_price');
|
119
|
-
}
|
120
|
-
else {
|
121
|
-
validation.required = false;
|
122
|
-
}
|
123
|
-
validation.validate = {
|
124
|
-
min: function (value) {
|
125
|
-
var _a, _b;
|
126
|
-
var minAmount = customMinAmount !== null && customMinAmount !== void 0 ? customMinAmount : (options.isPromotionPrice
|
127
|
-
? Math.min(Number(policy.minPayment.amount), Number((_b = (_a = policy.minPromotionPayment) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : policy.minPayment.amount))
|
128
|
-
: Number(policy.minPayment.amount));
|
129
|
-
return PricingService.validate.min(value, {
|
130
|
-
minAmount: minAmount,
|
131
|
-
currency: options.currency
|
132
|
-
});
|
133
|
-
},
|
134
|
-
max: function (value) {
|
135
|
-
var maxAmount = customMaxAmount !== null && customMaxAmount !== void 0 ? customMaxAmount : Number(policy.maxPayment.amount);
|
136
|
-
return PricingService.validate.max(value, {
|
137
|
-
maxAmount: maxAmount,
|
138
|
-
currency: options.currency
|
139
|
-
});
|
140
|
-
},
|
141
|
-
format: function (value) {
|
142
|
-
return PricingService.validate.format(value, {
|
143
|
-
paymentUnit: policy.paymentUnit,
|
144
|
-
currency: options.currency
|
145
|
-
});
|
146
|
-
}
|
147
|
-
};
|
148
|
-
return {
|
149
|
-
validation: validation
|
150
|
-
};
|
151
|
-
};
|
152
|
-
PricingService.format = formatter_1.PricingFormatter;
|
153
|
-
PricingService.translate = translator_1.PricingTranslator;
|
154
|
-
PricingService.validate = validator_1.PricingValidator;
|
155
|
-
return PricingService;
|
156
|
-
}());
|
157
|
-
exports.PricingService = PricingService;
|
@@ -1,27 +0,0 @@
|
|
1
|
-
import type { CurrencyCodeType, Price, TranslationType } from './types';
|
2
|
-
export interface PricingTranslateOptions {
|
3
|
-
friendly?: boolean;
|
4
|
-
translation?: TranslationType;
|
5
|
-
}
|
6
|
-
export declare class PricingTranslator {
|
7
|
-
private static browserLanguage;
|
8
|
-
static setBrowserLanguage(browserLanguage: string): void;
|
9
|
-
/**
|
10
|
-
* 통화 표시가 금액 앞에 오는지 브라우저 언어 기준으로 판단합니다.
|
11
|
-
*
|
12
|
-
* @example
|
13
|
-
* isCurrencyLeading('en-US') // true → "USD 10"
|
14
|
-
* isCurrencyLeading('ko-KR') // false → "10 KRW"
|
15
|
-
*/
|
16
|
-
static isCurrencyLeading(browserLanguage: string | null): boolean;
|
17
|
-
/**
|
18
|
-
* 통화 문자열을 반환합니다
|
19
|
-
* @example "KRW" 또는 "원"
|
20
|
-
*/
|
21
|
-
static currency(code: CurrencyCodeType, opts?: PricingTranslateOptions): string;
|
22
|
-
/**
|
23
|
-
* 포맷된 금액과 통화 문자열을 결합합니다
|
24
|
-
* @example "10,000 KRW" 또는 "10,000원"
|
25
|
-
*/
|
26
|
-
static priceWithCurrency(price: Price, opts?: PricingTranslateOptions): string;
|
27
|
-
}
|
@@ -1,54 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.PricingTranslator = void 0;
|
4
|
-
var formatter_1 = require("./formatter");
|
5
|
-
var types_1 = require("./types");
|
6
|
-
var PricingTranslator = /** @class */ (function () {
|
7
|
-
function PricingTranslator() {
|
8
|
-
}
|
9
|
-
PricingTranslator.setBrowserLanguage = function (browserLanguage) {
|
10
|
-
PricingTranslator.browserLanguage = browserLanguage;
|
11
|
-
};
|
12
|
-
/**
|
13
|
-
* 통화 표시가 금액 앞에 오는지 브라우저 언어 기준으로 판단합니다.
|
14
|
-
*
|
15
|
-
* @example
|
16
|
-
* isCurrencyLeading('en-US') // true → "USD 10"
|
17
|
-
* isCurrencyLeading('ko-KR') // false → "10 KRW"
|
18
|
-
*/
|
19
|
-
PricingTranslator.isCurrencyLeading = function (browserLanguage) {
|
20
|
-
if (!browserLanguage) {
|
21
|
-
return true;
|
22
|
-
}
|
23
|
-
return !['ko', 'ko-kr'].includes(browserLanguage.toLowerCase());
|
24
|
-
};
|
25
|
-
/**
|
26
|
-
* 통화 문자열을 반환합니다
|
27
|
-
* @example "KRW" 또는 "원"
|
28
|
-
*/
|
29
|
-
PricingTranslator.currency = function (code, opts) {
|
30
|
-
var currency = types_1.CURRENCY_MAP[code];
|
31
|
-
return (opts === null || opts === void 0 ? void 0 : opts.friendly) ? currency.friendlyName(opts.translation) : currency.name;
|
32
|
-
};
|
33
|
-
/**
|
34
|
-
* 포맷된 금액과 통화 문자열을 결합합니다
|
35
|
-
* @example "10,000 KRW" 또는 "10,000원"
|
36
|
-
*/
|
37
|
-
PricingTranslator.priceWithCurrency = function (price, opts) {
|
38
|
-
var formattedAmount = formatter_1.PricingFormatter.price(price);
|
39
|
-
var currencyString = PricingTranslator.currency(price.currency, opts);
|
40
|
-
if (PricingTranslator.isCurrencyLeading(PricingTranslator.browserLanguage)) {
|
41
|
-
return "".concat(currencyString, " ").concat(formattedAmount);
|
42
|
-
}
|
43
|
-
// KRW만 friendly 대응
|
44
|
-
if (price.currency === types_1.CurrencyCode.KRW) {
|
45
|
-
return (opts === null || opts === void 0 ? void 0 : opts.friendly)
|
46
|
-
? "".concat(formattedAmount).concat(currencyString)
|
47
|
-
: "".concat(formattedAmount, " ").concat(currencyString);
|
48
|
-
}
|
49
|
-
return "".concat(formattedAmount, " ").concat(currencyString);
|
50
|
-
};
|
51
|
-
PricingTranslator.browserLanguage = null;
|
52
|
-
return PricingTranslator;
|
53
|
-
}());
|
54
|
-
exports.PricingTranslator = PricingTranslator;
|
@@ -1,19 +0,0 @@
|
|
1
|
-
export declare enum CurrencyCode {
|
2
|
-
KRW = "KRW",
|
3
|
-
USD = "USD",
|
4
|
-
JPY = "JPY"
|
5
|
-
}
|
6
|
-
export type CurrencyCodeType = CurrencyCode | string;
|
7
|
-
export type TranslationType = (key: string) => string;
|
8
|
-
export interface Currency {
|
9
|
-
code: CurrencyCode;
|
10
|
-
name: string;
|
11
|
-
friendlyName: (translate?: TranslationType) => string;
|
12
|
-
decimalDigits: number;
|
13
|
-
}
|
14
|
-
export declare const CURRENCY_MAP: Record<CurrencyCode, Currency>;
|
15
|
-
export interface Price {
|
16
|
-
amount: number | string;
|
17
|
-
currency: CurrencyCodeType;
|
18
|
-
}
|
19
|
-
export type ExchangeRateMap = Partial<Record<CurrencyCode, number>>;
|
@@ -1,31 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var _a;
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
exports.CURRENCY_MAP = exports.CurrencyCode = void 0;
|
5
|
-
var CurrencyCode;
|
6
|
-
(function (CurrencyCode) {
|
7
|
-
CurrencyCode["KRW"] = "KRW";
|
8
|
-
CurrencyCode["USD"] = "USD";
|
9
|
-
CurrencyCode["JPY"] = "JPY";
|
10
|
-
})(CurrencyCode = exports.CurrencyCode || (exports.CurrencyCode = {}));
|
11
|
-
var translateFriendlyName = function (key) { return function (t) { var _a; return (_a = t === null || t === void 0 ? void 0 : t(key)) !== null && _a !== void 0 ? _a : key; }; };
|
12
|
-
exports.CURRENCY_MAP = (_a = {},
|
13
|
-
_a[CurrencyCode.KRW] = {
|
14
|
-
code: CurrencyCode.KRW,
|
15
|
-
name: CurrencyCode.KRW,
|
16
|
-
friendlyName: translateFriendlyName('str_friendly_currency_won'),
|
17
|
-
decimalDigits: 0
|
18
|
-
},
|
19
|
-
_a[CurrencyCode.USD] = {
|
20
|
-
code: CurrencyCode.USD,
|
21
|
-
name: CurrencyCode.USD,
|
22
|
-
friendlyName: function () { return CurrencyCode.USD; },
|
23
|
-
decimalDigits: 2
|
24
|
-
},
|
25
|
-
_a[CurrencyCode.JPY] = {
|
26
|
-
code: CurrencyCode.JPY,
|
27
|
-
name: CurrencyCode.JPY,
|
28
|
-
friendlyName: translateFriendlyName('str_friendly_currency_jpy'),
|
29
|
-
decimalDigits: 0
|
30
|
-
},
|
31
|
-
_a);
|
@@ -1,29 +0,0 @@
|
|
1
|
-
import type { PricingTranslateOptions } from './translator';
|
2
|
-
import type { CurrencyCode } from './types';
|
3
|
-
export declare class PricingValidator {
|
4
|
-
/**
|
5
|
-
* 최소 결제 금액 검증
|
6
|
-
* @returns i18n 오류 메시지 | undefined
|
7
|
-
*/
|
8
|
-
static min(value: string, options: {
|
9
|
-
minAmount: number;
|
10
|
-
currency: CurrencyCode;
|
11
|
-
}): string | undefined;
|
12
|
-
/**
|
13
|
-
* 최대 결제 금액 검증
|
14
|
-
* @returns i18n 오류 메시지 | undefined
|
15
|
-
*/
|
16
|
-
static max(value: string, options: {
|
17
|
-
maxAmount: number;
|
18
|
-
currency: CurrencyCode;
|
19
|
-
}): string | undefined;
|
20
|
-
/**
|
21
|
-
* 가격 형식 검증: 소수 자릿수 또는 결제 단위
|
22
|
-
* @returns i18n 오류 메시지 | undefined
|
23
|
-
*/
|
24
|
-
static format(value: string, options: {
|
25
|
-
paymentUnit: number;
|
26
|
-
currency: CurrencyCode;
|
27
|
-
currencyTranslateOptions?: PricingTranslateOptions;
|
28
|
-
}): string | undefined;
|
29
|
-
}
|
@@ -1,105 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.PricingValidator = void 0;
|
7
|
-
var i18next_1 = __importDefault(require("i18next"));
|
8
|
-
var formatter_1 = require("./formatter");
|
9
|
-
var translator_1 = require("./translator");
|
10
|
-
var types_1 = require("./types");
|
11
|
-
var PricingValidator = /** @class */ (function () {
|
12
|
-
function PricingValidator() {
|
13
|
-
}
|
14
|
-
/**
|
15
|
-
* 최소 결제 금액 검증
|
16
|
-
* @returns i18n 오류 메시지 | undefined
|
17
|
-
*/
|
18
|
-
PricingValidator.min = function (value, options) {
|
19
|
-
if (!value)
|
20
|
-
return undefined;
|
21
|
-
var amount = Number(value.replace(/,/g, ''));
|
22
|
-
if (isNaN(amount)) {
|
23
|
-
return i18next_1.default.t('str_please_enter_price');
|
24
|
-
}
|
25
|
-
if (amount < options.minAmount) {
|
26
|
-
return i18next_1.default.t('str_min_price', {
|
27
|
-
minPrice: formatter_1.PricingFormatter.price({
|
28
|
-
amount: options.minAmount,
|
29
|
-
currency: options.currency
|
30
|
-
}),
|
31
|
-
currency: translator_1.PricingTranslator.currency(options.currency)
|
32
|
-
});
|
33
|
-
}
|
34
|
-
return undefined;
|
35
|
-
};
|
36
|
-
/**
|
37
|
-
* 최대 결제 금액 검증
|
38
|
-
* @returns i18n 오류 메시지 | undefined
|
39
|
-
*/
|
40
|
-
PricingValidator.max = function (value, options) {
|
41
|
-
if (!value)
|
42
|
-
return undefined;
|
43
|
-
var amount = Number(value.replace(/,/g, ''));
|
44
|
-
if (isNaN(amount)) {
|
45
|
-
return i18next_1.default.t('str_please_enter_price');
|
46
|
-
}
|
47
|
-
if (amount > options.maxAmount) {
|
48
|
-
return i18next_1.default.t('str_max_price', {
|
49
|
-
maxPrice: formatter_1.PricingFormatter.price({
|
50
|
-
amount: options.maxAmount,
|
51
|
-
currency: options.currency
|
52
|
-
}),
|
53
|
-
currency: translator_1.PricingTranslator.currency(options.currency)
|
54
|
-
});
|
55
|
-
}
|
56
|
-
return undefined;
|
57
|
-
};
|
58
|
-
/**
|
59
|
-
* 가격 형식 검증: 소수 자릿수 또는 결제 단위
|
60
|
-
* @returns i18n 오류 메시지 | undefined
|
61
|
-
*/
|
62
|
-
PricingValidator.format = function (value, options) {
|
63
|
-
if (!value)
|
64
|
-
return undefined;
|
65
|
-
var amount = Number(value.replace(/,/g, ''));
|
66
|
-
if (isNaN(amount)) {
|
67
|
-
return i18next_1.default.t('str_please_enter_price');
|
68
|
-
}
|
69
|
-
var decimalDigits = types_1.CURRENCY_MAP[options.currency].decimalDigits;
|
70
|
-
// #1 소수점 자리수 검증
|
71
|
-
var _a = value.split('.'), fraction = _a[1];
|
72
|
-
if (fraction && fraction.length > decimalDigits) {
|
73
|
-
return i18next_1.default.t('str_price_unit', {
|
74
|
-
priceUnit: formatter_1.PricingFormatter.price({
|
75
|
-
amount: options.paymentUnit,
|
76
|
-
currency: options.currency
|
77
|
-
}),
|
78
|
-
currency: types_1.CURRENCY_MAP[options.currency].name
|
79
|
-
});
|
80
|
-
}
|
81
|
-
// #2 단위 검증
|
82
|
-
function isDivisible(amount, unit) {
|
83
|
-
var precision = Math.pow(10, Math.max(getDecimalPlaces(amount), getDecimalPlaces(unit)));
|
84
|
-
var intAmount = Math.round(amount * precision);
|
85
|
-
var intUnit = Math.round(unit * precision);
|
86
|
-
return intAmount % intUnit === 0;
|
87
|
-
}
|
88
|
-
function getDecimalPlaces(value) {
|
89
|
-
var decimalStr = value.toString().split('.')[1];
|
90
|
-
return decimalStr ? decimalStr.length : 0;
|
91
|
-
}
|
92
|
-
if (!isDivisible(amount, options.paymentUnit)) {
|
93
|
-
return i18next_1.default.t('str_price_unit', {
|
94
|
-
priceUnit: formatter_1.PricingFormatter.price({
|
95
|
-
amount: options.paymentUnit,
|
96
|
-
currency: options.currency
|
97
|
-
}),
|
98
|
-
currency: types_1.CURRENCY_MAP[options.currency].name
|
99
|
-
});
|
100
|
-
}
|
101
|
-
return undefined;
|
102
|
-
};
|
103
|
-
return PricingValidator;
|
104
|
-
}());
|
105
|
-
exports.PricingValidator = PricingValidator;
|