pds-dev-kit-web-test 0.0.3 → 0.0.6
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 +2 -2
- package/dist/index.js +5 -3
- package/dist/src/common/assets/icons/fill/CheckboxOn.d.ts +1 -1
- package/dist/src/common/assets/icons/fill/CheckboxOn.js +24 -2
- package/dist/src/common/assets/icons/fill/index.d.ts +1 -1
- package/dist/src/common/assets/icons/line/Clip.d.ts +4 -0
- package/dist/src/common/assets/icons/line/Clip.js +36 -0
- package/dist/src/common/assets/icons/line/Internal.d.ts +4 -0
- package/dist/src/common/assets/icons/line/Internal.js +36 -0
- package/dist/src/common/assets/icons/line/index.d.ts +2 -0
- package/dist/src/common/assets/icons/line/index.js +4 -0
- package/dist/src/common/components/Navigations/ContextTextLabelNav.js +2 -2
- package/dist/src/common/components/Navigations/NavLink.js +3 -1
- package/dist/src/common/components/Navigations/TextLabelNav.d.ts +2 -1
- package/dist/src/common/components/Navigations/TextLabelNav.js +3 -3
- package/dist/src/common/components/Navigations/index.d.ts +2 -0
- package/dist/src/common/components/Navigations/index.js +5 -1
- package/dist/src/common/decorators/withFormProvider.js +4 -1
- package/dist/src/common/hooks/index.d.ts +1 -0
- package/dist/src/common/hooks/index.js +3 -1
- package/dist/src/common/hooks/useDetectOverflow.js +1 -1
- package/dist/src/common/hooks/usePrevious.d.ts +2 -0
- package/dist/src/common/hooks/usePrevious.js +11 -0
- package/dist/src/common/styles/ToneTest/ToneTest.d.ts +3 -0
- package/dist/src/common/styles/ToneTest/ToneTest.js +397 -0
- package/dist/src/common/styles/ToneTest/index.d.ts +1 -0
- package/dist/src/common/styles/ToneTest/index.js +8 -0
- package/dist/src/common/styles/colorSet/PaletteColor_Dark.json +6 -1
- package/dist/src/common/styles/colorSet/PaletteColor_light.json +6 -1
- package/dist/src/common/styles/colorSet/SemanticColor.json +6 -5
- package/dist/src/common/styles/colorSet/UIColor.json +19 -4
- package/dist/src/common/styles/colorSet/index.d.ts +85 -59
- package/dist/src/common/styles/colorSet/index.js +2 -2
- package/dist/src/common/styles/colorSet/ui-type.d.ts +15 -0
- package/dist/src/common/styles/theme.d.ts +2 -0
- package/dist/src/common/styles/theme.js +3 -1
- package/dist/src/common/types/components.d.ts +1 -1
- package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.d.ts +2 -1
- package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.js +20 -5
- package/dist/src/desktop/components/AdminList/BulkActionBar.js +3 -3
- package/dist/src/desktop/components/AdminList/HeaderRow.js +1 -1
- package/dist/src/desktop/components/AdminListItem/AdminListItem.js +21 -22
- package/dist/src/desktop/components/BasicList/BasicList.d.ts +3 -3
- package/dist/src/desktop/components/BasicListItem/BasicListItem.d.ts +4 -1
- package/dist/src/desktop/components/BasicListItem/BasicListItem.js +5 -5
- package/dist/src/desktop/components/Chip/Chip.js +22 -25
- package/dist/src/desktop/components/ContextMenu/ContextMenu.js +1 -1
- package/dist/src/desktop/components/ContextMenuItem/ContextMenuItem.js +2 -2
- package/dist/src/desktop/components/DesktopAlertDialog/DesktopAlertDialog.d.ts +1 -1
- package/dist/src/desktop/components/DesktopAlertDialog/DesktopAlertDialog.js +1 -1
- package/dist/src/desktop/components/DesktopTabBar/DesktopTabBar.js +4 -4
- package/dist/src/desktop/components/Dropdown/Dropdown.d.ts +3 -2
- package/dist/src/desktop/components/Dropdown/Dropdown.js +14 -6
- package/dist/src/desktop/components/DynamicDesktopNavBar/DynamicDesktopNavBar.d.ts +8 -4
- package/dist/src/desktop/components/DynamicDesktopNavBar/DynamicDesktopNavBar.js +32 -10
- package/dist/src/desktop/components/DynamicDesktopNavBar/blocks/PrimaryMenu.js +1 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/blocks/SecondaryMenu.js +1 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/ContextMenuNavs/ContextMenuItemNav.js +6 -2
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/ContextMenuNavs/ContextMenuNavs.js +19 -5
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/IconNav.d.ts +2 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/IconNav.js +2 -2
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/LogoNav.js +1 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/MenuItemNav.d.ts +2 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/MenuItemNav.js +15 -7
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/components/DisplayOnlyMenuItemNav.d.ts +12 -0
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/components/DisplayOnlyMenuItemNav.js +31 -0
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/components/InternalLinkMenuItemNav.d.ts +13 -0
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/components/InternalLinkMenuItemNav.js +65 -0
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/components/PAppMenuItemNav.d.ts +3 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/components/PAppMenuItemNav.js +10 -8
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/components/WebMenuItemNav.d.ts +3 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/components/WebMenuItemNav.js +5 -5
- package/dist/src/desktop/components/DynamicDesktopNavBar/index.d.ts +1 -0
- package/dist/src/desktop/components/DynamicDesktopNavBar/index.js +3 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/reducer.d.ts +16 -0
- package/dist/src/desktop/components/DynamicDesktopNavBar/reducer.js +23 -0
- package/dist/src/desktop/components/DynamicDesktopNavBar/templates/{MenuDesignTemplates.d.ts → DynamicDesktopNavBarTemplates.d.ts} +17 -6
- package/dist/src/desktop/components/DynamicDesktopNavBar/templates/{MenuDesignTemplates.js → DynamicDesktopNavBarTemplates.js} +10 -10
- package/dist/src/desktop/components/DynamicDesktopNavBar/templates/constants.d.ts +15 -4
- package/dist/src/desktop/components/DynamicDesktopNavBar/templates/constants.js +22 -11
- package/dist/src/desktop/components/DynamicDesktopNavBar/templates/index.d.ts +1 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/templates/index.js +3 -3
- package/dist/src/desktop/components/DynamicDesktopNavBar/types.d.ts +4 -2
- package/dist/src/desktop/components/EditApplyTextField/EditApplyTextField.js +46 -23
- package/dist/src/desktop/components/FilterBar/FilterBar.d.ts +1 -1
- package/dist/src/desktop/components/FloatingActionButton/FloatingActionButton.js +1 -1
- package/dist/src/desktop/components/HorizontalFormGroup/HorizontalFormGroup.js +5 -3
- package/dist/src/desktop/components/IconButton/IconButton.js +3 -8
- package/dist/src/desktop/components/ImageSlide/ImageSlide.js +1 -1
- package/dist/src/desktop/components/MainButton/MainButton.js +17 -5
- package/dist/src/desktop/components/ReactionButton/ReactionButton.js +1 -1
- package/dist/src/desktop/components/Select/Select.d.ts +7 -6
- package/dist/src/desktop/components/Select/Select.js +13 -14
- package/dist/src/desktop/components/StatusBlock/StatusBlock.js +3 -3
- package/dist/src/desktop/components/TextButton/TextButton.d.ts +1 -1
- package/dist/src/desktop/components/TextButton/TextButton.js +12 -7
- package/dist/src/desktop/components/TextField/TextField.js +1 -3
- package/dist/src/desktop/components/TextLabel/TextLabel.js +2 -4
- package/dist/src/desktop/components/UploadIconButton/UploadIconButton.js +3 -8
- package/dist/src/desktop/components/UploadMainButton/UploadMainButton.js +3 -3
- package/dist/src/desktop/components/UploadTextButton/UploadTextButton.d.ts +1 -1
- package/dist/src/desktop/components/UploadTextButton/UploadTextButton.js +2 -1
- package/dist/src/desktop/components/UserDesktopNavBar/UserDesktopNavBar.d.ts +1 -1
- package/dist/src/desktop/components/UserDesktopSideTab/UserDesktopSideTab.d.ts +8 -0
- package/dist/src/desktop/components/UserDesktopSideTab/UserDesktopSideTab.js +36 -0
- package/dist/src/desktop/components/UserDesktopSideTab/index.d.ts +1 -0
- package/dist/src/desktop/components/UserDesktopSideTab/index.js +8 -0
- package/dist/src/desktop/components/UserDesktopTabBar/UserDesktopTabBar.js +3 -3
- package/dist/src/desktop/components/index.d.ts +3 -4
- package/dist/src/desktop/components/index.js +4 -5
- package/dist/src/desktop/index.d.ts +4 -2
- package/dist/src/desktop/index.js +9 -4
- package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/ContentsContainer.d.ts +1 -1
- package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/ContentsContainer.js +2 -1
- package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/WTS.d.ts +1 -1
- package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/WTS.js +29 -5
- package/dist/src/desktop/layout/LayoutWT/ContainersBox/ContainersBox.d.ts +1 -1
- package/dist/src/desktop/layout/LayoutWT/ContainersBox/ContainersBox.js +8 -4
- package/dist/src/desktop/{components → panels}/DesktopBasicModal/DesktopBasicModal.d.ts +0 -0
- package/dist/src/desktop/{components → panels}/DesktopBasicModal/DesktopBasicModal.js +6 -7
- package/dist/src/desktop/{components → panels}/DesktopBasicModal/index.d.ts +0 -0
- package/dist/src/desktop/{components → panels}/DesktopBasicModal/index.js +0 -0
- package/dist/src/desktop/{components → panels}/DesktopHeadlessModal/DesktopHeadlessModal.d.ts +3 -3
- package/dist/src/desktop/{components → panels}/DesktopHeadlessModal/DesktopHeadlessModal.js +3 -3
- package/dist/src/desktop/{components → panels}/DesktopHeadlessModal/index.d.ts +0 -0
- package/dist/src/desktop/{components → panels}/DesktopHeadlessModal/index.js +0 -0
- package/dist/src/desktop/panels/index.d.ts +3 -0
- package/dist/src/desktop/panels/index.js +7 -0
- package/dist/src/hybrid/components/Divider/Divider.js +12 -9
- package/dist/src/hybrid/components/Icon/Icon.js +3 -2
- package/dist/src/hybrid/components/Switch/Switch.d.ts +2 -2
- package/dist/src/hybrid/components/Switch/Switch.js +7 -33
- package/dist/src/mobile/common/components/TextFieldBase/TextFieldBase.js +1 -1
- package/dist/src/mobile/components/BasicList/BasicList.d.ts +3 -3
- package/dist/src/mobile/components/BasicListItem/BasicListItem.d.ts +4 -1
- package/dist/src/mobile/components/BasicListItem/BasicListItem.js +5 -5
- package/dist/src/mobile/components/Card/Card.js +1 -1
- package/dist/src/mobile/components/Chip/Chip.js +22 -25
- package/dist/src/mobile/components/ContextMenu/ContextMenu.js +1 -1
- package/dist/src/mobile/components/ContextMenuItem/ContextMenuItem.js +2 -2
- package/dist/src/mobile/components/Dropdown/Dropdown.d.ts +2 -1
- package/dist/src/mobile/components/Dropdown/Dropdown.js +16 -8
- package/dist/src/mobile/components/HorizontalFormGroup/HorizontalFormGroup.js +5 -3
- package/dist/src/mobile/components/IconButton/IconButton.js +3 -8
- package/dist/src/mobile/components/ImageSlide/ImageSlide.js +1 -1
- package/dist/src/mobile/components/MainButton/MainButton.js +19 -16
- package/dist/src/mobile/components/MobileAlertDialog/MobileAlertDialog.d.ts +1 -1
- package/dist/src/mobile/components/MobileAlertDialog/MobileAlertDialog.js +2 -2
- package/dist/src/mobile/components/MobileTabBar/MobileTabBar.d.ts +3 -1
- package/dist/src/mobile/components/MobileTabBar/MobileTabBar.js +23 -9
- package/dist/src/mobile/components/Radio/Radio.js +1 -1
- package/dist/src/mobile/components/ReactionButton/ReactionButton.js +2 -5
- package/dist/src/mobile/components/Select/Select.d.ts +7 -6
- package/dist/src/mobile/components/Select/Select.js +12 -13
- package/dist/src/mobile/components/StatusBlock/StatusBlock.js +3 -3
- package/dist/src/mobile/components/TextButton/TextButton.d.ts +1 -1
- package/dist/src/mobile/components/TextButton/TextButton.js +8 -8
- package/dist/src/mobile/components/TextField/TextField.js +1 -3
- package/dist/src/mobile/components/TextLabel/TextLabel.js +2 -4
- package/dist/src/mobile/components/UploadIconButton/UploadIconButton.js +3 -8
- package/dist/src/mobile/components/UploadMainButton/UploadMainButton.js +5 -11
- package/dist/src/mobile/components/UploadTextButton/UploadTextButton.d.ts +1 -1
- package/dist/src/mobile/components/UploadTextButton/UploadTextButton.js +2 -1
- package/dist/src/mobile/components/index.d.ts +1 -2
- package/dist/src/mobile/components/index.js +1 -3
- package/dist/src/mobile/index.d.ts +4 -2
- package/dist/src/mobile/index.js +4 -2
- package/dist/src/mobile/{components → panels}/MobileBasicModal/MobileBasicModal.d.ts +0 -0
- package/dist/src/mobile/{components → panels}/MobileBasicModal/MobileBasicModal.js +6 -9
- package/dist/src/mobile/{components → panels}/MobileBasicModal/index.d.ts +0 -0
- package/dist/src/mobile/{components → panels}/MobileBasicModal/index.js +0 -0
- package/dist/src/mobile/panels/index.d.ts +2 -0
- package/dist/src/mobile/panels/index.js +5 -0
- package/package.json +1 -1
- package/release-note.md +2 -10
|
@@ -31,14 +31,19 @@ var ContextMenuItem_1 = require("../ContextMenuItem");
|
|
|
31
31
|
var TextLabel_1 = require("../TextLabel");
|
|
32
32
|
// TODO: selectionMode의 multi 기능 구현 추가 필요
|
|
33
33
|
function Dropdown(_a) {
|
|
34
|
-
var _b = _a.colorTheme, colorTheme = _b === void 0 ? 'none' : _b, defaultValue = _a.defaultValue, hintText = _a.hintText, _c = _a.maxHeightItemNumber, maxHeightItemNumber = _c === void 0 ? 5 : _c, _d = _a.responsiveMode, responsiveMode = _d === void 0 ? 'none' : _d, _e = _a.selectionMode, selectionMode = _e === void 0 ? 'single' : _e, _f = _a.size, size = _f === void 0 ? 'large' : _f, _g = _a.state, state = _g === void 0 ? 'normal' : _g, valueArray = _a.valueArray, onChange = _a.onChange;
|
|
34
|
+
var _b = _a.colorTheme, colorTheme = _b === void 0 ? 'none' : _b, value = _a.value, defaultValue = _a.defaultValue, hintText = _a.hintText, _c = _a.maxHeightItemNumber, maxHeightItemNumber = _c === void 0 ? 5 : _c, _d = _a.responsiveMode, responsiveMode = _d === void 0 ? 'none' : _d, _e = _a.selectionMode, selectionMode = _e === void 0 ? 'single' : _e, _f = _a.size, size = _f === void 0 ? 'large' : _f, _g = _a.state, state = _g === void 0 ? 'normal' : _g, valueArray = _a.valueArray, onChange = _a.onChange;
|
|
35
35
|
var _h = (0, react_1.useState)(false), isFocused = _h[0], setIsFocused = _h[1];
|
|
36
|
-
var _j = (0, react_1.useState)(defaultValue),
|
|
36
|
+
var _j = (0, react_1.useState)(defaultValue), selectedValue = _j[0], setSelectedValue = _j[1];
|
|
37
37
|
(0, react_1.useEffect)(function () {
|
|
38
38
|
if (defaultValue) {
|
|
39
|
-
|
|
39
|
+
setSelectedValue(defaultValue);
|
|
40
40
|
}
|
|
41
41
|
}, [defaultValue]);
|
|
42
|
+
(0, react_1.useEffect)(function () {
|
|
43
|
+
if (value) {
|
|
44
|
+
setSelectedValue(value);
|
|
45
|
+
}
|
|
46
|
+
}, [value]);
|
|
42
47
|
var handleClick = function () {
|
|
43
48
|
if (state === 'disabled' || state === 'read_only') {
|
|
44
49
|
return;
|
|
@@ -51,8 +56,10 @@ function Dropdown(_a) {
|
|
|
51
56
|
}
|
|
52
57
|
};
|
|
53
58
|
var handleClickOption = function (option) {
|
|
54
|
-
setSelectedOption(option);
|
|
55
59
|
setIsFocused(false);
|
|
60
|
+
if (!value) {
|
|
61
|
+
setSelectedValue(option);
|
|
62
|
+
}
|
|
56
63
|
if (onChange) {
|
|
57
64
|
onChange(option);
|
|
58
65
|
}
|
|
@@ -140,11 +147,12 @@ function Dropdown(_a) {
|
|
|
140
147
|
return (react_1.default.createElement(S_Dropdown, { className: "container", size: size, tabIndex: 0, onBlur: handleBlur, responsiveMode: responsiveMode },
|
|
141
148
|
react_1.default.createElement(S_Select, { size: size, onClick: handleClick, isFocused: isFocused, state: state, colorTheme: colorTheme, responsiveMode: responsiveMode },
|
|
142
149
|
react_1.default.createElement(S_TextLabel, null,
|
|
143
|
-
react_1.default.createElement(TextLabel_1.TextLabel, { text: (
|
|
150
|
+
react_1.default.createElement(TextLabel_1.TextLabel, { text: (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.text) || hintText, styleTheme: "form2Regular", singleLineMode: "use", colorTheme: getTextColorTheme(), colorOverride: getTextColorOverride() })),
|
|
144
151
|
react_1.default.createElement(hybrid_1.Icon, { size: 16, fillType: "line", iconName: isFocused ? 'ic_arrow_up' : 'ic_arrow_down', colorKey: getIconColorKey() }),
|
|
145
152
|
react_1.default.createElement(hybrid_1.Spacing, { size: "spacing_d", spacingType: "width" })),
|
|
146
153
|
isFocused && (react_1.default.createElement(S_ContextMenuWrapper, null,
|
|
147
|
-
react_1.default.createElement(ContextMenu_1.ContextMenu, { autoWidthMode: "use", maxHeight: maxHeight }, valueArray.map(function (el) { return (react_1.default.createElement(
|
|
154
|
+
react_1.default.createElement(ContextMenu_1.ContextMenu, { autoWidthMode: "use", maxHeight: maxHeight }, valueArray.map(function (el) { return (react_1.default.createElement(react_1.Fragment, { key: el.value },
|
|
155
|
+
react_1.default.createElement(ContextMenuItem_1.ContextMenuItem, { option: el, size: size, isSelected: (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.value) === el.value, onClick: handleClickOption, state: el.state }))); }))))));
|
|
148
156
|
}
|
|
149
157
|
var S_TextLabel = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n flex: 1;\n padding-left: ", ";\n padding-right: ", ";\n"], ["\n flex: 1;\n padding-left: ", ";\n padding-right: ", ";\n"])), function (_a) {
|
|
150
158
|
var theme = _a.theme;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { BrandLogo, UserProfile } from './blocks';
|
|
3
|
-
import {
|
|
3
|
+
import { ActiveModeTypes } from './reducer';
|
|
4
|
+
import { TemplateNamesType } from './templates';
|
|
4
5
|
import { ParsedNode } from './types';
|
|
5
6
|
declare type BrandLogo = {
|
|
6
7
|
src: string;
|
|
@@ -17,11 +18,14 @@ export declare type Props = {
|
|
|
17
18
|
userProfile: UserProfile;
|
|
18
19
|
primaryMenus: ParsedNode[];
|
|
19
20
|
secondaryMenus: ParsedNode[] | null;
|
|
20
|
-
template:
|
|
21
|
+
template: TemplateNamesType;
|
|
21
22
|
basePath: string;
|
|
22
23
|
};
|
|
23
|
-
|
|
24
|
+
declare type ContextProp = {
|
|
24
25
|
basePath: string;
|
|
25
|
-
|
|
26
|
+
activeMode: ActiveModeTypes;
|
|
27
|
+
handleClickInternalMenuItemNav: (url: string) => void;
|
|
28
|
+
};
|
|
29
|
+
export declare const BasePathContext: React.Context<ContextProp>;
|
|
26
30
|
declare function DynamicDesktopNavBar({ isPreview, template, brandLogo, primaryMenus, secondaryMenus, userProfile, basePath }: Props): JSX.Element;
|
|
27
31
|
export default DynamicDesktopNavBar;
|
|
@@ -31,23 +31,45 @@ var react_1 = __importStar(require("react"));
|
|
|
31
31
|
var react_router_dom_1 = require("react-router-dom");
|
|
32
32
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
33
33
|
var BoxLayout_1 = require("../../../common/components/BoxLayout");
|
|
34
|
+
var hooks_1 = require("../../../common/hooks");
|
|
34
35
|
var blocks_1 = require("./blocks");
|
|
36
|
+
var reducer_1 = __importStar(require("./reducer"));
|
|
37
|
+
var templates_1 = require("./templates");
|
|
35
38
|
exports.BasePathContext = (0, react_1.createContext)({
|
|
36
|
-
basePath: ''
|
|
39
|
+
basePath: '',
|
|
40
|
+
activeMode: 'BY_URL',
|
|
41
|
+
handleClickInternalMenuItemNav: function () {
|
|
42
|
+
// NOTE: noop function
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
37
45
|
});
|
|
38
46
|
function DynamicDesktopNavBar(_a) {
|
|
39
47
|
var _b = _a.isPreview, isPreview = _b === void 0 ? false : _b, template = _a.template, brandLogo = _a.brandLogo, primaryMenus = _a.primaryMenus, secondaryMenus = _a.secondaryMenus, userProfile = _a.userProfile, basePath = _a.basePath;
|
|
40
|
-
var gridStyle =
|
|
48
|
+
var _c = templates_1.DynamicDesktopNavBarTemplates.getTemplate(template), gridStyle = _c.gridStyle, gridTemplate = _c.gridTemplate, showSecondaryMenu = _c.showSecondaryMenu, primaryMenuOptions = _c.primaryMenuOptions, secondaryMenuOptions = _c.secondaryMenuOptions, userProfileOptions = _c.userProfileOptions;
|
|
49
|
+
var _d = (0, react_1.useReducer)(reducer_1.default, reducer_1.defaultValue), state = _d[0], dispatch = _d[1];
|
|
50
|
+
var location = (0, react_router_dom_1.useLocation)();
|
|
51
|
+
var prevLocation = (0, hooks_1.usePrevious)(location.pathname + location.search);
|
|
52
|
+
(0, react_1.useEffect)(function () {
|
|
53
|
+
var currentLocation = location.pathname + location.search;
|
|
54
|
+
if (currentLocation === state.clickedURL) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (currentLocation !== prevLocation) {
|
|
58
|
+
dispatch({ type: 'URL_CHANGED' });
|
|
59
|
+
}
|
|
60
|
+
}, [location.pathname, location.search]);
|
|
41
61
|
var slicedPrimaryMenus = (0, react_1.useMemo)(function () { return primaryMenus === null || primaryMenus === void 0 ? void 0 : primaryMenus.slice(0, primaryMenuOptions.maxLength); }, [primaryMenus, primaryMenuOptions]);
|
|
42
62
|
var slicedSecondaryMenus = (0, react_1.useMemo)(function () { var _a; return (_a = secondaryMenus === null || secondaryMenus === void 0 ? void 0 : secondaryMenus.slice(0, secondaryMenuOptions.maxLength)) !== null && _a !== void 0 ? _a : []; }, [secondaryMenus, secondaryMenuOptions]);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
63
|
+
function handleClickInternalMenuItemNav(url) {
|
|
64
|
+
dispatch({ type: 'INTERNAL_CLICKED', payload: { clickedURL: url } });
|
|
65
|
+
}
|
|
66
|
+
return (react_1.default.createElement(exports.BasePathContext.Provider, { value: { basePath: basePath, activeMode: state.mode, handleClickInternalMenuItemNav: handleClickInternalMenuItemNav } },
|
|
67
|
+
react_1.default.createElement(S_DynamicDesktopNavBar, { isPreview: isPreview },
|
|
68
|
+
react_1.default.createElement(S_Grid, { className: "DynamicDesktopNavBarGrid", gridTemplate: gridTemplate, style: gridStyle },
|
|
69
|
+
react_1.default.createElement(blocks_1.BrandLogo, { to: brandLogo.href, logoSrc: brandLogo.src, fallbackText: brandLogo.text }),
|
|
70
|
+
react_1.default.createElement(blocks_1.PrimaryMenu, { menus: slicedPrimaryMenus, showMenuAsIcon: primaryMenuOptions.showMenuAsIcon, style: primaryMenuOptions.style }),
|
|
71
|
+
showSecondaryMenu && (react_1.default.createElement(blocks_1.SecondaryMenu, { menus: slicedSecondaryMenus, showMenuAsIcon: secondaryMenuOptions.showMenuAsIcon, style: secondaryMenuOptions.style })),
|
|
72
|
+
react_1.default.createElement(blocks_1.UserProfile, { src: userProfile.src, to: userProfile.href, style: userProfileOptions.style })))));
|
|
51
73
|
}
|
|
52
74
|
var S_Grid = (0, styled_components_1.default)(BoxLayout_1.Grid)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n justify-items: center;\n gap: 24px;\n padding-left: ", ";\n padding-right: ", ";\n"], ["\n align-items: center;\n justify-items: center;\n gap: 24px;\n padding-left: ", ";\n padding-right: ", ";\n"])), function (_a) {
|
|
53
75
|
var theme = _a.theme;
|
|
@@ -80,7 +80,7 @@ function PrimaryMenu(_a) {
|
|
|
80
80
|
isOverflow && !isScrollBoxStart && (react_1.default.createElement(S_LeftButtonWrapper, null,
|
|
81
81
|
react_1.default.createElement(S_ButtonWrapper, null,
|
|
82
82
|
react_1.default.createElement(__1.D_IconButton, { fillType: "fill", baseSize: "medium", baseColorKey: "ui_menu_background", iconName: "ic_arrow_left", iconFillType: "line", iconColorKey: "ui_cpnt_button_icon_default", shapeType: "circular", iconSize: 20, onClick: onClickLeftButton })))),
|
|
83
|
-
react_1.default.createElement(S_Main_PrimaryMenu, { onScroll: function () { return trigger(); }, ref: primaryCallbackRef }, menus.map(function (menu, index) { return (react_1.default.createElement(MenuItemNav_1.MenuItemNav, { key: index, menu: menu, showMenuAsIcon: showMenuAsIcon })); })),
|
|
83
|
+
react_1.default.createElement(S_Main_PrimaryMenu, { onScroll: function () { return trigger(); }, ref: primaryCallbackRef }, menus.map(function (menu, index) { return (react_1.default.createElement(MenuItemNav_1.MenuItemNav, { index: index, key: index, menu: menu, showMenuAsIcon: showMenuAsIcon })); })),
|
|
84
84
|
isOverflow && !isScrollBoxEnd && (react_1.default.createElement(S_RightButtonWrapper, null,
|
|
85
85
|
react_1.default.createElement(S_ButtonWrapper, null,
|
|
86
86
|
react_1.default.createElement(__1.D_IconButton, { fillType: "fill", baseSize: "medium", baseColorKey: "ui_menu_background", iconName: "ic_arrow_right", iconFillType: "line", iconColorKey: "ui_cpnt_button_icon_default", shapeType: "circular", iconSize: 20, onClick: onClickRightButton }))))));
|
|
@@ -12,7 +12,7 @@ var styled_components_1 = __importDefault(require("styled-components"));
|
|
|
12
12
|
var MenuItemNav_1 = require("../components/MenuItemNav");
|
|
13
13
|
function SecondaryMenu(_a) {
|
|
14
14
|
var menus = _a.menus, showMenuAsIcon = _a.showMenuAsIcon, style = _a.style;
|
|
15
|
-
return (react_1.default.createElement(S_Main_SecondaryMenu, { style: style }, menus.map(function (menu, index) { return (react_1.default.createElement(MenuItemNav_1.MenuItemNav, { key: index, menu: menu, showMenuAsIcon: showMenuAsIcon })); })));
|
|
15
|
+
return (react_1.default.createElement(S_Main_SecondaryMenu, { style: style }, menus.map(function (menu, index) { return (react_1.default.createElement(MenuItemNav_1.MenuItemNav, { index: index, key: index, menu: menu, showMenuAsIcon: showMenuAsIcon })); })));
|
|
16
16
|
}
|
|
17
17
|
var S_Main_SecondaryMenu = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n grid-area: SECONDARY_MENU;\n"], ["\n display: flex;\n grid-area: SECONDARY_MENU;\n"])));
|
|
18
18
|
exports.default = SecondaryMenu;
|
|
@@ -39,13 +39,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
40
|
var react_1 = __importDefault(require("react"));
|
|
41
41
|
var styled_components_1 = __importStar(require("styled-components"));
|
|
42
|
+
var DisplayOnlyMenuItemNav_1 = __importDefault(require("../MenuItemNav/components/DisplayOnlyMenuItemNav"));
|
|
43
|
+
var InternalLinkMenuItemNav_1 = __importDefault(require("../MenuItemNav/components/InternalLinkMenuItemNav"));
|
|
42
44
|
var PAppMenuItemNav_1 = __importDefault(require("../MenuItemNav/components/PAppMenuItemNav"));
|
|
43
45
|
var WebMenuItemNav_1 = __importDefault(require("../MenuItemNav/components/WebMenuItemNav"));
|
|
44
46
|
function ContextMenuItemNavBox(_a) {
|
|
45
47
|
var menu = _a.menu;
|
|
46
48
|
return (react_1.default.createElement(S_ContextMenuItem, { size: "small" },
|
|
47
|
-
menu.menuItemType === 'NAV_P_APP' && menu.pAppCode && (react_1.default.createElement(PAppMenuItemNav_1.default, { menu: __assign(__assign({}, menu), { pAppCode: menu.pAppCode }) })),
|
|
48
|
-
menu.menuItemType === 'WEB_LINK' && menu.conversionLinkSrc && (react_1.default.createElement(WebMenuItemNav_1.default, { menu: __assign(__assign({}, menu), { conversionLinkSrc: menu.conversionLinkSrc }) }))
|
|
49
|
+
menu.menuItemType === 'NAV_P_APP' && menu.pAppCode && (react_1.default.createElement(PAppMenuItemNav_1.default, { menu: __assign(__assign({}, menu), { pAppCode: menu.pAppCode }), isContextMenu: true })),
|
|
50
|
+
menu.menuItemType === 'WEB_LINK' && menu.conversionLinkSrc && (react_1.default.createElement(WebMenuItemNav_1.default, { openNewTab: true, isContextMenu: true, menu: __assign(__assign({}, menu), { conversionLinkSrc: menu.conversionLinkSrc }) })),
|
|
51
|
+
menu.menuItemType === 'INTERNAL_LINK' && menu.conversionLinkSrc && (react_1.default.createElement(InternalLinkMenuItemNav_1.default, { isContextMenu: true, menu: __assign(__assign({}, menu), { conversionLinkSrc: menu.conversionLinkSrc }) })),
|
|
52
|
+
menu.menuItemType === 'DISPLAY_ONLY' && (react_1.default.createElement(DisplayOnlyMenuItemNav_1.default, { menu: __assign(__assign({}, menu), { conversionLinkSrc: '' }) }))));
|
|
49
53
|
}
|
|
50
54
|
var large = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 48px;\n padding: 0 ", ";\n"], ["\n height: 48px;\n padding: 0 ", ";\n"])), function (_a) {
|
|
51
55
|
var theme = _a.theme;
|
|
@@ -31,17 +31,31 @@ var styled_components_1 = __importDefault(require("styled-components"));
|
|
|
31
31
|
var ContextMenu_1 = require("../../../ContextMenu");
|
|
32
32
|
function ContextMenuNavs(_a) {
|
|
33
33
|
var parentRef = _a.parentRef, children = _a.children;
|
|
34
|
-
var
|
|
35
|
-
var
|
|
34
|
+
var _b = (0, react_1.useState)(null), contextRef = _b[0], setContextRef = _b[1];
|
|
35
|
+
var contextCallbackRef = (0, react_1.useCallback)(function (node) {
|
|
36
|
+
if (!node) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
setContextRef(node);
|
|
40
|
+
}, []);
|
|
41
|
+
var _c = (0, react_1.useState)({ top: 0, left: 0 }), position = _c[0], setPosition = _c[1];
|
|
36
42
|
(0, react_1.useLayoutEffect)(function () {
|
|
37
43
|
if (!parentRef.current) {
|
|
38
44
|
return;
|
|
39
45
|
}
|
|
40
46
|
var PARENT_HEIGHT = 48;
|
|
41
47
|
var _a = parentRef.current.getBoundingClientRect(), top = _a.top, left = _a.left;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
if (!contextRef) {
|
|
49
|
+
setPosition({ top: top + PARENT_HEIGHT, left: left });
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
var contextBound = contextRef.getBoundingClientRect();
|
|
53
|
+
if (contextRef.getBoundingClientRect().right > window.innerWidth) {
|
|
54
|
+
setPosition({ top: top + PARENT_HEIGHT, left: window.innerWidth - contextBound.width });
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
}, [parentRef, contextRef]);
|
|
58
|
+
return (react_1.default.createElement(S_AbsoluteWrapper, { ref: contextCallbackRef, style: { top: position.top, left: position.left } },
|
|
45
59
|
react_1.default.createElement(ContextMenu_1.ContextMenu, null, children)));
|
|
46
60
|
}
|
|
47
61
|
var S_AbsoluteWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: fixed;\n\n /* NOTE: contents layer */\n z-index: 90;\n"], ["\n position: fixed;\n\n /* NOTE: contents layer */\n z-index: 90;\n"])));
|
|
@@ -3,6 +3,7 @@ import { PDSIconType } from '../../../../common';
|
|
|
3
3
|
declare type Props = {
|
|
4
4
|
to: string;
|
|
5
5
|
iconName: PDSIconType;
|
|
6
|
+
openNewTab: boolean;
|
|
6
7
|
};
|
|
7
|
-
declare function IconNav({ to, iconName }: Props): JSX.Element;
|
|
8
|
+
declare function IconNav({ to, iconName, openNewTab }: Props): JSX.Element;
|
|
8
9
|
export default IconNav;
|
|
@@ -7,8 +7,8 @@ var react_1 = __importDefault(require("react"));
|
|
|
7
7
|
var __1 = require("../../..");
|
|
8
8
|
var Navigations_1 = require("../../../../common/components/Navigations");
|
|
9
9
|
function IconNav(_a) {
|
|
10
|
-
var to = _a.to, iconName = _a.iconName;
|
|
11
|
-
return (react_1.default.createElement(Navigations_1.NavLink, { to: to },
|
|
10
|
+
var to = _a.to, iconName = _a.iconName, openNewTab = _a.openNewTab;
|
|
11
|
+
return (react_1.default.createElement(Navigations_1.NavLink, { to: to, openNewTab: openNewTab },
|
|
12
12
|
react_1.default.createElement(__1.D_IconButton, { fillType: "fill", baseSize: "large", baseColorKey: "ui_cpnt_button_fill_base_transparent", iconName: iconName, iconFillType: "line", iconColorKey: "ui_menu_primarymenu_main", shapeType: "rectangle", iconSize: 24 })));
|
|
13
13
|
}
|
|
14
14
|
exports.default = IconNav;
|
|
@@ -17,6 +17,6 @@ function LogoNav(_a) {
|
|
|
17
17
|
react_1.default.createElement(S_Box, null, logoSrc ? (react_1.default.createElement(S_Logo, { src: logoSrc })) : (react_1.default.createElement(__1.D_TextLabel, { text: fallbackText, styleTheme: "headingBold", ellipsisMode: "use", lineLimit: 1 })))));
|
|
18
18
|
}
|
|
19
19
|
var S_Box = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 48px;\n width: 180px;\n display: flex;\n align-items: center;\n"], ["\n height: 48px;\n width: 180px;\n display: flex;\n align-items: center;\n"])));
|
|
20
|
-
var S_Logo = styled_components_1.default.img(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n max-height: 100%;\n object-fit: contain;\n object-position: left;\n"], ["\n max-height: 100%;\n object-fit: contain;\n object-position: left;\n"])));
|
|
20
|
+
var S_Logo = styled_components_1.default.img(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n max-height: 100%;\n max-width: 100%;\n object-fit: contain;\n object-position: left;\n"], ["\n max-height: 100%;\n max-width: 100%;\n object-fit: contain;\n object-position: left;\n"])));
|
|
21
21
|
exports.default = LogoNav;
|
|
22
22
|
var templateObject_1, templateObject_2;
|
package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/MenuItemNav.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { ParsedNode } from '../../types';
|
|
|
3
3
|
declare type Props = {
|
|
4
4
|
menu: ParsedNode;
|
|
5
5
|
showMenuAsIcon: boolean;
|
|
6
|
+
index: number;
|
|
6
7
|
};
|
|
7
|
-
declare function MenuItemNav({ menu, showMenuAsIcon }: Props): JSX.Element;
|
|
8
|
+
declare function MenuItemNav({ menu, showMenuAsIcon, index }: Props): JSX.Element;
|
|
8
9
|
export default MenuItemNav;
|
package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/MenuItemNav.js
CHANGED
|
@@ -41,11 +41,13 @@ var react_1 = __importStar(require("react"));
|
|
|
41
41
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
42
42
|
var hybrid_1 = require("../../../../../hybrid");
|
|
43
43
|
var ContextMenuNavs_1 = require("../ContextMenuNavs");
|
|
44
|
+
var DisplayOnlyMenuItemNav_1 = __importDefault(require("./components/DisplayOnlyMenuItemNav"));
|
|
45
|
+
var InternalLinkMenuItemNav_1 = __importDefault(require("./components/InternalLinkMenuItemNav"));
|
|
44
46
|
var PAppMenuItemNav_1 = __importDefault(require("./components/PAppMenuItemNav"));
|
|
45
47
|
var WebMenuItemNav_1 = __importDefault(require("./components/WebMenuItemNav"));
|
|
46
48
|
// NOTE: 서버에서 itemType으로 enum값이 잘 오면 아래 불필요한 케이스/default 간소화
|
|
47
49
|
function MenuItemNav(_a) {
|
|
48
|
-
var menu = _a.menu, showMenuAsIcon = _a.showMenuAsIcon;
|
|
50
|
+
var menu = _a.menu, showMenuAsIcon = _a.showMenuAsIcon, index = _a.index;
|
|
49
51
|
var ref = (0, react_1.useRef)(null);
|
|
50
52
|
var _b = (0, react_1.useState)(false), isContextOpen = _b[0], setIsContextOpen = _b[1];
|
|
51
53
|
var handleMouseOver = (0, react_1.useCallback)(function () {
|
|
@@ -54,12 +56,18 @@ function MenuItemNav(_a) {
|
|
|
54
56
|
var handleMouseOut = (0, react_1.useCallback)(function () {
|
|
55
57
|
setIsContextOpen(false);
|
|
56
58
|
}, []);
|
|
57
|
-
return (react_1.default.createElement(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
60
|
+
react_1.default.createElement(S_Box, { ref: ref, onMouseOver: handleMouseOver, onMouseLeave: handleMouseOut, onWheel: handleMouseOut, showMenuAsIcon: showMenuAsIcon, type: menu.menuItemType },
|
|
61
|
+
menu.menuItemType === 'NAV_P_APP' && menu.pAppCode && (react_1.default.createElement(PAppMenuItemNav_1.default, { menu: __assign(__assign({}, menu), { pAppCode: menu.pAppCode }), showMenuAsIcon: showMenuAsIcon })),
|
|
62
|
+
menu.menuItemType === 'WEB_LINK' && menu.conversionLinkSrc && (react_1.default.createElement(WebMenuItemNav_1.default, { openNewTab: true, menu: __assign(__assign({}, menu), { conversionLinkSrc: menu.conversionLinkSrc }), showMenuAsIcon: showMenuAsIcon })),
|
|
63
|
+
menu.menuItemType === 'INTERNAL_LINK' && menu.conversionLinkSrc && (react_1.default.createElement(InternalLinkMenuItemNav_1.default, { index: index, menu: __assign(__assign({}, menu), { conversionLinkSrc: menu.conversionLinkSrc }), showMenuAsIcon: showMenuAsIcon })),
|
|
64
|
+
menu.menuItemType === 'DISPLAY_ONLY' && (react_1.default.createElement(DisplayOnlyMenuItemNav_1.default, { menu: __assign(__assign({}, menu), { conversionLinkSrc: '' }), showMenuAsIcon: showMenuAsIcon })),
|
|
65
|
+
isContextOpen && menu.parsedNodes.length > 0 && (react_1.default.createElement(ContextMenuNavs_1.ContextMenuNavs, { parentRef: ref }, menu.parsedNodes.map(function (nav, index) { return (react_1.default.createElement(ContextMenuNavs_1.ContextMenuItemNav, { key: index, menu: nav })); })))),
|
|
66
|
+
showMenuAsIcon ? (react_1.default.createElement(hybrid_1.Spacing, { spacingType: "width", size: "spacing_b" })) : (react_1.default.createElement(hybrid_1.Spacing, { spacingType: "width", size: "spacing_f" }))));
|
|
62
67
|
}
|
|
63
|
-
var S_Box = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n cursor:
|
|
68
|
+
var S_Box = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n cursor: ", ";\n display: flex;\n"], ["\n align-items: center;\n cursor: ", ";\n display: flex;\n"])), function (_a) {
|
|
69
|
+
var type = _a.type;
|
|
70
|
+
return (type === 'DISPLAY_ONLY' ? 'default' : 'pointer');
|
|
71
|
+
});
|
|
64
72
|
exports.default = MenuItemNav;
|
|
65
73
|
var templateObject_1;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ParsedNode } from '../../../types';
|
|
3
|
+
declare type WithRequired<T, K extends keyof T> = T & {
|
|
4
|
+
[P in K]-?: T[P];
|
|
5
|
+
};
|
|
6
|
+
declare type Props = {
|
|
7
|
+
menu: WithRequired<ParsedNode, 'conversionLinkSrc'>;
|
|
8
|
+
showMenuAsIcon?: boolean;
|
|
9
|
+
isContextMenu?: boolean;
|
|
10
|
+
};
|
|
11
|
+
declare function DisplayOnlyMenuItemNav({ menu, showMenuAsIcon, isContextMenu }: Props): JSX.Element;
|
|
12
|
+
export default DisplayOnlyMenuItemNav;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
var react_1 = __importDefault(require("react"));
|
|
11
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
+
var Navigations_1 = require("../../../../../../common/components/Navigations");
|
|
13
|
+
var IconNav_1 = __importDefault(require("../../IconNav"));
|
|
14
|
+
var ImageIconNav_1 = __importDefault(require("../../ImageIconNav"));
|
|
15
|
+
function DisplayOnlyMenuItemNav(_a) {
|
|
16
|
+
var menu = _a.menu, showMenuAsIcon = _a.showMenuAsIcon, isContextMenu = _a.isContextMenu;
|
|
17
|
+
if (showMenuAsIcon) {
|
|
18
|
+
if (menu.iconSrc) {
|
|
19
|
+
return (react_1.default.createElement(DeactivateLinkBox, null,
|
|
20
|
+
react_1.default.createElement(ImageIconNav_1.default, { to: menu.conversionLinkSrc, iconSrc: menu.iconSrc, openNewTab: false })));
|
|
21
|
+
}
|
|
22
|
+
if (menu.iconName) {
|
|
23
|
+
return (react_1.default.createElement(DeactivateLinkBox, null,
|
|
24
|
+
react_1.default.createElement(IconNav_1.default, { to: menu.conversionLinkSrc, iconName: menu.iconName, openNewTab: false })));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return (react_1.default.createElement(DeactivateLinkBox, null, isContextMenu ? (react_1.default.createElement(Navigations_1.ContextTextLabelNav, { preventLineChange: true, openNewTab: false, to: menu.conversionLinkSrc, text: menu.name })) : (react_1.default.createElement(Navigations_1.TextLabelNav, { preventLineChange: true, openNewTab: false, to: menu.conversionLinkSrc, text: menu.name }))));
|
|
28
|
+
}
|
|
29
|
+
var DeactivateLinkBox = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n pointer-events: none;\n width: max-content;\n"], ["\n pointer-events: none;\n width: max-content;\n"])));
|
|
30
|
+
exports.default = DisplayOnlyMenuItemNav;
|
|
31
|
+
var templateObject_1;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ParsedNode } from '../../../types';
|
|
3
|
+
declare type WithRequired<T, K extends keyof T> = T & {
|
|
4
|
+
[P in K]-?: T[P];
|
|
5
|
+
};
|
|
6
|
+
declare type Props = {
|
|
7
|
+
menu: WithRequired<ParsedNode, 'conversionLinkSrc'>;
|
|
8
|
+
showMenuAsIcon?: boolean;
|
|
9
|
+
isContextMenu?: boolean;
|
|
10
|
+
index?: number;
|
|
11
|
+
};
|
|
12
|
+
declare function InternalLinkMenuItemNav({ menu, showMenuAsIcon, isContextMenu, index }: Props): JSX.Element;
|
|
13
|
+
export default InternalLinkMenuItemNav;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
var react_1 = __importStar(require("react"));
|
|
26
|
+
var react_router_dom_1 = require("react-router-dom");
|
|
27
|
+
var Navigations_1 = require("../../../../../../common/components/Navigations");
|
|
28
|
+
var DynamicDesktopNavBar_1 = require("../../../DynamicDesktopNavBar");
|
|
29
|
+
var IconNav_1 = __importDefault(require("../../IconNav"));
|
|
30
|
+
var ImageIconNav_1 = __importDefault(require("../../ImageIconNav"));
|
|
31
|
+
function InternalLinkMenuItemNav(_a) {
|
|
32
|
+
var menu = _a.menu, showMenuAsIcon = _a.showMenuAsIcon, isContextMenu = _a.isContextMenu, index = _a.index;
|
|
33
|
+
var location = (0, react_router_dom_1.useLocation)();
|
|
34
|
+
var _b = (0, react_1.useContext)(DynamicDesktopNavBar_1.BasePathContext), basePath = _b.basePath, activeMode = _b.activeMode, handleClickInternalMenuItemNav = _b.handleClickInternalMenuItemNav;
|
|
35
|
+
var _c = getInternalLink(basePath, menu.conversionLinkSrc), internalPath = _c.internalPath, pathname = _c.pathname, search = _c.search;
|
|
36
|
+
var isActive = (0, react_1.useMemo)(function () {
|
|
37
|
+
if (activeMode === 'BY_URL') {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
if (pathname + search === location.pathname + location.search) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}, [activeMode, location]);
|
|
45
|
+
var onClickNav = function () {
|
|
46
|
+
handleClickInternalMenuItemNav(internalPath);
|
|
47
|
+
};
|
|
48
|
+
if (showMenuAsIcon) {
|
|
49
|
+
if (menu.iconSrc) {
|
|
50
|
+
return react_1.default.createElement(ImageIconNav_1.default, { to: internalPath, iconSrc: menu.iconSrc, openNewTab: false });
|
|
51
|
+
}
|
|
52
|
+
if (menu.iconName) {
|
|
53
|
+
return react_1.default.createElement(IconNav_1.default, { to: internalPath, iconName: menu.iconName, openNewTab: false });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return isContextMenu ? (react_1.default.createElement(Navigations_1.ContextTextLabelNav, { isActive: isActive, preventLineChange: true, openNewTab: false, to: internalPath, text: menu.name })) : (react_1.default.createElement(Navigations_1.TextLabelNav, { onClick: onClickNav, isActive: isActive, preventLineChange: true, openNewTab: false, to: internalPath, text: menu.name }));
|
|
57
|
+
}
|
|
58
|
+
function getInternalLink(basePath, url) {
|
|
59
|
+
var _a = new URL(url), pathname = _a.pathname, search = _a.search;
|
|
60
|
+
var splitPath = pathname.split(basePath).pop();
|
|
61
|
+
var PAPP_CODE_INDEX = 1;
|
|
62
|
+
var pAppCode = splitPath === null || splitPath === void 0 ? void 0 : splitPath.split('/')[PAPP_CODE_INDEX];
|
|
63
|
+
return { internalPath: basePath + splitPath + search, pAppCode: pAppCode, pathname: pathname, search: search };
|
|
64
|
+
}
|
|
65
|
+
exports.default = InternalLinkMenuItemNav;
|
|
@@ -6,6 +6,8 @@ declare type WithRequired<T, K extends keyof T> = T & {
|
|
|
6
6
|
declare type Props = {
|
|
7
7
|
menu: WithRequired<ParsedNode, 'pAppCode'>;
|
|
8
8
|
showMenuAsIcon?: boolean;
|
|
9
|
+
isContextMenu?: boolean;
|
|
10
|
+
index?: number;
|
|
9
11
|
};
|
|
10
|
-
declare function PAppMenuItemNav({ menu, showMenuAsIcon }: Props): JSX.Element;
|
|
12
|
+
declare function PAppMenuItemNav({ menu, showMenuAsIcon, isContextMenu, index }: Props): JSX.Element;
|
|
11
13
|
export default PAppMenuItemNav;
|
|
@@ -24,26 +24,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
var react_1 = __importStar(require("react"));
|
|
26
26
|
var react_router_dom_1 = require("react-router-dom");
|
|
27
|
-
var
|
|
27
|
+
var Navigations_1 = require("../../../../../../common/components/Navigations");
|
|
28
28
|
var DynamicDesktopNavBar_1 = require("../../../DynamicDesktopNavBar");
|
|
29
29
|
var IconNav_1 = __importDefault(require("../../IconNav"));
|
|
30
30
|
var ImageIconNav_1 = __importDefault(require("../../ImageIconNav"));
|
|
31
31
|
function PAppMenuItemNav(_a) {
|
|
32
|
-
var menu = _a.menu, showMenuAsIcon = _a.showMenuAsIcon;
|
|
33
|
-
var
|
|
34
|
-
var match = (0, react_router_dom_1.useRouteMatch)("" + basePath);
|
|
32
|
+
var menu = _a.menu, showMenuAsIcon = _a.showMenuAsIcon, _b = _a.isContextMenu, isContextMenu = _b === void 0 ? false : _b, index = _a.index;
|
|
33
|
+
var _c = (0, react_1.useContext)(DynamicDesktopNavBar_1.BasePathContext), basePath = _c.basePath, activeMode = _c.activeMode;
|
|
35
34
|
var activeMatch = (0, react_router_dom_1.useRouteMatch)(basePath + "/:activeKey");
|
|
36
35
|
var isActive = (0, react_1.useMemo)(function () {
|
|
36
|
+
if (activeMode === 'BY_CLICK') {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
37
39
|
return (activeMatch === null || activeMatch === void 0 ? void 0 : activeMatch.params.activeKey) === menu.pAppCode;
|
|
38
|
-
}, [
|
|
40
|
+
}, [activeMode, menu, activeMatch]);
|
|
39
41
|
if (showMenuAsIcon) {
|
|
40
42
|
if (menu.iconSrc) {
|
|
41
|
-
return react_1.default.createElement(ImageIconNav_1.default, { to: "/" + menu.pAppCode, iconSrc: menu.iconSrc, openNewTab: false });
|
|
43
|
+
return (react_1.default.createElement(ImageIconNav_1.default, { to: basePath + "/" + menu.pAppCode, iconSrc: menu.iconSrc, openNewTab: false }));
|
|
42
44
|
}
|
|
43
45
|
if (menu.iconName) {
|
|
44
|
-
return react_1.default.createElement(IconNav_1.default, { to: "/" + menu.pAppCode, iconName: menu.iconName });
|
|
46
|
+
return (react_1.default.createElement(IconNav_1.default, { to: basePath + "/" + menu.pAppCode, iconName: menu.iconName, openNewTab: false }));
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
|
-
return (react_1.default.createElement(
|
|
49
|
+
return isContextMenu ? (react_1.default.createElement(Navigations_1.ContextTextLabelNav, { isActive: isActive, preventLineChange: true, openNewTab: false, to: basePath + "/" + menu.pAppCode, text: menu.name })) : (react_1.default.createElement(Navigations_1.TextLabelNav, { isActive: isActive, preventLineChange: true, openNewTab: false, to: basePath + "/" + menu.pAppCode, text: menu.name }));
|
|
48
50
|
}
|
|
49
51
|
exports.default = PAppMenuItemNav;
|
|
@@ -6,6 +6,8 @@ declare type WithRequired<T, K extends keyof T> = T & {
|
|
|
6
6
|
declare type Props = {
|
|
7
7
|
menu: WithRequired<ParsedNode, 'conversionLinkSrc'>;
|
|
8
8
|
showMenuAsIcon?: boolean;
|
|
9
|
+
isContextMenu?: boolean;
|
|
10
|
+
openNewTab: boolean;
|
|
9
11
|
};
|
|
10
|
-
declare function WebMenuItemNav({ menu, showMenuAsIcon }: Props): JSX.Element;
|
|
12
|
+
declare function WebMenuItemNav({ menu, showMenuAsIcon, isContextMenu, openNewTab }: Props): JSX.Element;
|
|
11
13
|
export default WebMenuItemNav;
|
|
@@ -4,19 +4,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var react_1 = __importDefault(require("react"));
|
|
7
|
-
var
|
|
7
|
+
var Navigations_1 = require("../../../../../../common/components/Navigations");
|
|
8
8
|
var IconNav_1 = __importDefault(require("../../IconNav"));
|
|
9
9
|
var ImageIconNav_1 = __importDefault(require("../../ImageIconNav"));
|
|
10
10
|
function WebMenuItemNav(_a) {
|
|
11
|
-
var menu = _a.menu, showMenuAsIcon = _a.showMenuAsIcon;
|
|
11
|
+
var menu = _a.menu, showMenuAsIcon = _a.showMenuAsIcon, isContextMenu = _a.isContextMenu, openNewTab = _a.openNewTab;
|
|
12
12
|
if (showMenuAsIcon) {
|
|
13
13
|
if (menu.iconSrc) {
|
|
14
|
-
return react_1.default.createElement(ImageIconNav_1.default, { to: menu.conversionLinkSrc, iconSrc: menu.iconSrc, openNewTab:
|
|
14
|
+
return (react_1.default.createElement(ImageIconNav_1.default, { to: menu.conversionLinkSrc, iconSrc: menu.iconSrc, openNewTab: openNewTab }));
|
|
15
15
|
}
|
|
16
16
|
if (menu.iconName) {
|
|
17
|
-
return react_1.default.createElement(IconNav_1.default, { to:
|
|
17
|
+
return (react_1.default.createElement(IconNav_1.default, { to: menu.conversionLinkSrc, iconName: menu.iconName, openNewTab: openNewTab }));
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
return react_1.default.createElement(
|
|
20
|
+
return isContextMenu ? (react_1.default.createElement(Navigations_1.ContextTextLabelNav, { preventLineChange: true, openNewTab: openNewTab, to: menu.conversionLinkSrc, text: menu.name })) : (react_1.default.createElement(Navigations_1.TextLabelNav, { preventLineChange: true, openNewTab: openNewTab, to: menu.conversionLinkSrc, text: menu.name }));
|
|
21
21
|
}
|
|
22
22
|
exports.default = WebMenuItemNav;
|
|
@@ -3,6 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DynamicDesktopNavBar = void 0;
|
|
6
|
+
exports.DynamicDesktopNavBarTemplates = exports.DynamicDesktopNavBar = void 0;
|
|
7
7
|
var DynamicDesktopNavBar_1 = require("./DynamicDesktopNavBar");
|
|
8
8
|
Object.defineProperty(exports, "DynamicDesktopNavBar", { enumerable: true, get: function () { return __importDefault(DynamicDesktopNavBar_1).default; } });
|
|
9
|
+
var templates_1 = require("./templates");
|
|
10
|
+
Object.defineProperty(exports, "DynamicDesktopNavBarTemplates", { enumerable: true, get: function () { return templates_1.DynamicDesktopNavBarTemplates; } });
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare type ActiveModeTypes = 'BY_URL' | 'BY_CLICK';
|
|
2
|
+
declare type ActionType = {
|
|
3
|
+
type: 'INTERNAL_CLICKED';
|
|
4
|
+
payload: {
|
|
5
|
+
clickedURL: string;
|
|
6
|
+
};
|
|
7
|
+
} | {
|
|
8
|
+
type: 'URL_CHANGED';
|
|
9
|
+
};
|
|
10
|
+
declare type DefaultValueState = {
|
|
11
|
+
mode: ActiveModeTypes;
|
|
12
|
+
clickedURL: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const defaultValue: DefaultValueState;
|
|
15
|
+
export default function reducer(state: DefaultValueState, action: ActionType): DefaultValueState;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultValue = void 0;
|
|
4
|
+
exports.defaultValue = { mode: 'BY_URL', clickedURL: '' };
|
|
5
|
+
function reducer(state, action) {
|
|
6
|
+
switch (action.type) {
|
|
7
|
+
case 'INTERNAL_CLICKED': {
|
|
8
|
+
return {
|
|
9
|
+
mode: 'BY_CLICK',
|
|
10
|
+
clickedURL: action.payload.clickedURL
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
case 'URL_CHANGED': {
|
|
14
|
+
return {
|
|
15
|
+
mode: 'BY_URL',
|
|
16
|
+
clickedURL: ''
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
default:
|
|
20
|
+
return exports.defaultValue;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.default = reducer;
|