@redocly/theme 0.30.3 → 0.30.5
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/lib/components/Feedback/Mood.js +4 -4
- package/lib/components/Feedback/Rating.js +2 -2
- package/lib/components/Feedback/Scale.js +2 -2
- package/lib/components/Feedback/Sentiment.js +2 -2
- package/lib/components/Feedback/types.d.ts +8 -8
- package/lib/components/Menu/constants.js +1 -1
- package/lib/components/Navbar/Navbar.js +2 -4
- package/lib/components/Product/Product.js +1 -1
- package/lib/components/Sidebar/types.js +1 -1
- package/lib/components/SidebarActions/SidebarActions.js +1 -1
- package/lib/components/Tabs/Tabs.js +4 -2
- package/lib/config.d.ts +6 -6
- package/lib/config.js +10 -4
- package/lib/mocks/Sidebar/types.js +1 -1
- package/lib/types/portal/src/shared/constants.js +3 -3
- package/lib/types/portal/src/shared/types/nav.js +1 -1
- package/package.json +14 -14
- package/src/components/Feedback/Mood.tsx +3 -3
- package/src/components/Feedback/Rating.tsx +2 -2
- package/src/components/Feedback/Scale.tsx +2 -2
- package/src/components/Feedback/Sentiment.tsx +2 -2
- package/src/components/Feedback/types.ts +8 -8
- package/src/components/Product/Product.tsx +1 -1
- package/src/components/Tabs/Tabs.tsx +2 -2
- package/src/config.ts +9 -3
|
@@ -41,7 +41,7 @@ var MOOD_STATES;
|
|
|
41
41
|
MOOD_STATES["SATISFIED"] = "satisfied";
|
|
42
42
|
MOOD_STATES["NEUTRAL"] = "neutral";
|
|
43
43
|
MOOD_STATES["DISSATISFIED"] = "dissatisfied";
|
|
44
|
-
})(MOOD_STATES
|
|
44
|
+
})(MOOD_STATES || (exports.MOOD_STATES = MOOD_STATES = {}));
|
|
45
45
|
const Mood = ({ settings, onSubmit, className }) => {
|
|
46
46
|
const { label, submitText, comment: commentSettings, reasons: reasonsSettings } = settings || {};
|
|
47
47
|
const [score, setScore] = React.useState('');
|
|
@@ -50,7 +50,7 @@ const Mood = ({ settings, onSubmit, className }) => {
|
|
|
50
50
|
const [reasons, setReasons] = React.useState([]);
|
|
51
51
|
const { translate } = (0, hooks_1.useTranslate)();
|
|
52
52
|
const renderCommentLabel = (score) => {
|
|
53
|
-
if (!(commentSettings === null || commentSettings === void 0 ? void 0 : commentSettings.
|
|
53
|
+
if (!commentSettings || (commentSettings === null || commentSettings === void 0 ? void 0 : commentSettings.hide) === true)
|
|
54
54
|
return '';
|
|
55
55
|
switch (score) {
|
|
56
56
|
case MOOD_STATES.SATISFIED:
|
|
@@ -66,8 +66,8 @@ const Mood = ({ settings, onSubmit, className }) => {
|
|
|
66
66
|
return translate('theme.feedback.settings.comment.satisfiedLabel', 'What can we improve?');
|
|
67
67
|
}
|
|
68
68
|
};
|
|
69
|
-
const displayReasons = !!score &&
|
|
70
|
-
const displayComment = !!score &&
|
|
69
|
+
const displayReasons = !!score && reasonsSettings && !reasonsSettings.hide;
|
|
70
|
+
const displayComment = !!score && commentSettings && !commentSettings.hide;
|
|
71
71
|
const displaySubmitBnt = !!score && (displayReasons || displayComment);
|
|
72
72
|
const onSubmitMoodForm = () => {
|
|
73
73
|
onSubmit({
|
|
@@ -53,8 +53,8 @@ const Rating = ({ settings, onSubmit, className }) => {
|
|
|
53
53
|
});
|
|
54
54
|
setIsSubmitted(true);
|
|
55
55
|
};
|
|
56
|
-
const displayReasons = !!score &&
|
|
57
|
-
const displayComment = !!score &&
|
|
56
|
+
const displayReasons = !!score && reasonsSettings && !reasonsSettings.hide;
|
|
57
|
+
const displayComment = !!score && commentSettings && !commentSettings.hide;
|
|
58
58
|
const displaySubmitBnt = !!score && (displayReasons || displayComment);
|
|
59
59
|
(0, react_1.useEffect)(() => {
|
|
60
60
|
if (score && !displayComment && !displayReasons) {
|
|
@@ -47,8 +47,8 @@ const Scale = ({ settings, onSubmit, className }) => {
|
|
|
47
47
|
for (let i = 1; i <= exports.MAX_SCALE; i++) {
|
|
48
48
|
scaleOptions.push(React.createElement(ScaleOption, { id: `scale-option-${i}`, key: `scale-option-${i}`, onClick: () => setScore(i), className: `${score === i ? 'active' : ''}` }, i));
|
|
49
49
|
}
|
|
50
|
-
const displayReasons = !!score &&
|
|
51
|
-
const displayComment = !!score &&
|
|
50
|
+
const displayReasons = !!score && reasonsSettings && !reasonsSettings.hide;
|
|
51
|
+
const displayComment = !!score && commentSettings && !commentSettings.hide;
|
|
52
52
|
const displaySubmitBnt = !!score && (displayReasons || displayComment);
|
|
53
53
|
const onSubmitScaleForm = () => {
|
|
54
54
|
onSubmit({
|
|
@@ -43,8 +43,8 @@ const Sentiment = ({ settings, onSubmit, className }) => {
|
|
|
43
43
|
const [comment, setComment] = React.useState('');
|
|
44
44
|
const [reasons, setReasons] = React.useState([]);
|
|
45
45
|
const { translate } = (0, hooks_1.useTranslate)();
|
|
46
|
-
const displayReasons = !!score &&
|
|
47
|
-
const displayComment = !!score &&
|
|
46
|
+
const displayReasons = !!score && reasonsSettings && !reasonsSettings.hide;
|
|
47
|
+
const displayComment = !!score && commentSettings && !commentSettings.hide;
|
|
48
48
|
const displaySubmitBnt = !!score && (displayReasons || displayComment);
|
|
49
49
|
const commentLabel = score === 1
|
|
50
50
|
? (commentSettings && commentSettings.likeLabel) ||
|
|
@@ -10,11 +10,11 @@ export type RatingProps = {
|
|
|
10
10
|
label?: string;
|
|
11
11
|
submitText?: string;
|
|
12
12
|
comment?: {
|
|
13
|
-
|
|
13
|
+
hide?: boolean;
|
|
14
14
|
label?: string;
|
|
15
15
|
};
|
|
16
16
|
reasons?: {
|
|
17
|
-
|
|
17
|
+
hide?: boolean;
|
|
18
18
|
label?: string;
|
|
19
19
|
component?: string;
|
|
20
20
|
items: string[];
|
|
@@ -35,11 +35,11 @@ export type ScaleProps = {
|
|
|
35
35
|
leftScaleLabel?: string;
|
|
36
36
|
rightScaleLabel?: string;
|
|
37
37
|
comment?: {
|
|
38
|
-
|
|
38
|
+
hide?: boolean;
|
|
39
39
|
label?: string;
|
|
40
40
|
};
|
|
41
41
|
reasons?: {
|
|
42
|
-
|
|
42
|
+
hide?: boolean;
|
|
43
43
|
label?: string;
|
|
44
44
|
component?: string;
|
|
45
45
|
items: string[];
|
|
@@ -57,13 +57,13 @@ export type MoodProps = {
|
|
|
57
57
|
label?: string;
|
|
58
58
|
submitText?: string;
|
|
59
59
|
comment?: {
|
|
60
|
-
|
|
60
|
+
hide?: boolean;
|
|
61
61
|
satisfiedLabel?: string;
|
|
62
62
|
neutralLabel?: string;
|
|
63
63
|
dissatisfiedLabel?: string;
|
|
64
64
|
};
|
|
65
65
|
reasons?: {
|
|
66
|
-
|
|
66
|
+
hide?: boolean;
|
|
67
67
|
label?: string;
|
|
68
68
|
component?: string;
|
|
69
69
|
items: string[];
|
|
@@ -81,12 +81,12 @@ export type SentimentProps = {
|
|
|
81
81
|
label?: string;
|
|
82
82
|
submitText?: string;
|
|
83
83
|
comment?: {
|
|
84
|
-
|
|
84
|
+
hide?: boolean;
|
|
85
85
|
likeLabel?: string;
|
|
86
86
|
dislikeLabel?: string;
|
|
87
87
|
};
|
|
88
88
|
reasons?: {
|
|
89
|
-
|
|
89
|
+
hide?: boolean;
|
|
90
90
|
label?: string;
|
|
91
91
|
component?: string;
|
|
92
92
|
items: string[];
|
|
@@ -6,5 +6,5 @@ var MenuType;
|
|
|
6
6
|
MenuType["MAIN_MENU"] = "MAIN_MENU";
|
|
7
7
|
MenuType["PRODUCT"] = "PRODUCT";
|
|
8
8
|
MenuType["PAGE"] = "PAGE";
|
|
9
|
-
})(MenuType
|
|
9
|
+
})(MenuType || (exports.MenuType = MenuType = {}));
|
|
10
10
|
//# sourceMappingURL=constants.js.map
|
|
@@ -64,15 +64,13 @@ function Navbar() {
|
|
|
64
64
|
if (!menu && !logo) {
|
|
65
65
|
return react_1.default.createElement(EmptyNavbarHack, null);
|
|
66
66
|
}
|
|
67
|
-
return (react_1.default.createElement(NavbarPresentational,
|
|
68
|
-
closeMobileMenu,
|
|
67
|
+
return (react_1.default.createElement(NavbarPresentational, { closeMobileMenu,
|
|
69
68
|
openMobileMenu,
|
|
70
69
|
isOpen,
|
|
71
70
|
hideSearch: Boolean(hideSearch),
|
|
72
71
|
logo: logo,
|
|
73
72
|
hideUserProfile,
|
|
74
|
-
changeLanguage
|
|
75
|
-
})));
|
|
73
|
+
changeLanguage }));
|
|
76
74
|
}
|
|
77
75
|
exports.Navbar = Navbar;
|
|
78
76
|
function NavbarPresentational(props) {
|
|
@@ -8,7 +8,7 @@ const react_1 = __importDefault(require("react"));
|
|
|
8
8
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
9
9
|
const Product = ({ product, className }) => {
|
|
10
10
|
return (react_1.default.createElement(ProductWrapper, { "data-component-name": "Product/Product", className: className },
|
|
11
|
-
react_1.default.createElement(ProductLogo, { src: product.icon }),
|
|
11
|
+
product.icon && react_1.default.createElement(ProductLogo, { src: product.icon }),
|
|
12
12
|
react_1.default.createElement("span", null, product.name)));
|
|
13
13
|
};
|
|
14
14
|
exports.Product = Product;
|
|
@@ -14,7 +14,7 @@ var LayoutVariant;
|
|
|
14
14
|
(function (LayoutVariant) {
|
|
15
15
|
LayoutVariant["STACKED"] = "stacked";
|
|
16
16
|
LayoutVariant["THREE_PANEL"] = "three-panel";
|
|
17
|
-
})(LayoutVariant
|
|
17
|
+
})(LayoutVariant || (exports.LayoutVariant = LayoutVariant = {}));
|
|
18
18
|
const SidebarActions = ({ showChangeLayoutButton, showRightPanelToggle, layout, initialShowRightPanelToggle, hideCollapseSidebarButton = false, collapsedSidebar, isOpenapiDocs, onChangeRightPanelViewClick, onChangeViewClick, onChangeCollapseSidebarClick, requestAccessButton, className, }) => {
|
|
19
19
|
return (react_1.default.createElement(styled_1.ControlsWrap, { className: className, isOpenapiDocs: isOpenapiDocs, isCollapsed: collapsedSidebar, "data-component-name": "Sidebar/Actions" },
|
|
20
20
|
isOpenapiDocs && (react_1.default.createElement(styled_1.ControlsWrapChangeLayoutButtons, { isCollapsed: collapsedSidebar },
|
|
@@ -40,10 +40,12 @@ function Tabs(props) {
|
|
|
40
40
|
const { label, key } = child.props;
|
|
41
41
|
return (react_1.default.createElement(Tabs_1.Tab, { activeTab: activeTab, key: `${key || label}-${idx}`, label: label, onClick: onTabSelect }));
|
|
42
42
|
})),
|
|
43
|
-
react_1.default.createElement(TabContent, null, children.map((child) => {
|
|
43
|
+
react_1.default.createElement(TabContent, null, children.map((child, idx) => {
|
|
44
44
|
if (child.props.label !== activeTab)
|
|
45
45
|
return undefined;
|
|
46
|
-
return
|
|
46
|
+
return react_1.default.createElement(react_1.default.Fragment, { key: idx },
|
|
47
|
+
" ",
|
|
48
|
+
child.props.children);
|
|
47
49
|
}))));
|
|
48
50
|
}
|
|
49
51
|
exports.Tabs = Tabs;
|
package/lib/config.d.ts
CHANGED
|
@@ -239,7 +239,7 @@ declare const productConfigSchema: {
|
|
|
239
239
|
};
|
|
240
240
|
};
|
|
241
241
|
readonly additionalProperties: false;
|
|
242
|
-
readonly required: readonly ["name", "
|
|
242
|
+
readonly required: readonly ["name", "folder"];
|
|
243
243
|
};
|
|
244
244
|
declare const catalogFilterSchema: {
|
|
245
245
|
readonly type: "object";
|
|
@@ -713,7 +713,7 @@ export declare const themeConfigSchema: {
|
|
|
713
713
|
};
|
|
714
714
|
};
|
|
715
715
|
readonly additionalProperties: false;
|
|
716
|
-
readonly required: readonly ["name", "
|
|
716
|
+
readonly required: readonly ["name", "folder"];
|
|
717
717
|
};
|
|
718
718
|
};
|
|
719
719
|
readonly footer: {
|
|
@@ -1065,9 +1065,9 @@ export declare const themeConfigSchema: {
|
|
|
1065
1065
|
readonly reasons: {
|
|
1066
1066
|
readonly type: "object";
|
|
1067
1067
|
readonly properties: {
|
|
1068
|
-
readonly
|
|
1068
|
+
readonly hide: {
|
|
1069
1069
|
readonly type: "boolean";
|
|
1070
|
-
readonly default:
|
|
1070
|
+
readonly default: false;
|
|
1071
1071
|
};
|
|
1072
1072
|
readonly component: {
|
|
1073
1073
|
readonly type: "string";
|
|
@@ -1089,9 +1089,9 @@ export declare const themeConfigSchema: {
|
|
|
1089
1089
|
readonly comment: {
|
|
1090
1090
|
readonly type: "object";
|
|
1091
1091
|
readonly properties: {
|
|
1092
|
-
readonly
|
|
1092
|
+
readonly hide: {
|
|
1093
1093
|
readonly type: "boolean";
|
|
1094
|
-
readonly default:
|
|
1094
|
+
readonly default: false;
|
|
1095
1095
|
};
|
|
1096
1096
|
readonly label: {
|
|
1097
1097
|
readonly type: "string";
|
package/lib/config.js
CHANGED
|
@@ -233,7 +233,7 @@ const productConfigSchema = {
|
|
|
233
233
|
folder: { type: 'string' },
|
|
234
234
|
},
|
|
235
235
|
additionalProperties: false,
|
|
236
|
-
required: ['name', '
|
|
236
|
+
required: ['name', 'folder'],
|
|
237
237
|
};
|
|
238
238
|
const suggestedPageSchema = {
|
|
239
239
|
type: 'object',
|
|
@@ -407,7 +407,10 @@ exports.themeConfigSchema = {
|
|
|
407
407
|
reasons: {
|
|
408
408
|
type: 'object',
|
|
409
409
|
properties: {
|
|
410
|
-
|
|
410
|
+
hide: {
|
|
411
|
+
type: 'boolean',
|
|
412
|
+
default: false,
|
|
413
|
+
},
|
|
411
414
|
component: {
|
|
412
415
|
type: 'string',
|
|
413
416
|
enum: ['radio', 'checkbox'],
|
|
@@ -421,7 +424,10 @@ exports.themeConfigSchema = {
|
|
|
421
424
|
comment: {
|
|
422
425
|
type: 'object',
|
|
423
426
|
properties: {
|
|
424
|
-
|
|
427
|
+
hide: {
|
|
428
|
+
type: 'boolean',
|
|
429
|
+
default: false,
|
|
430
|
+
},
|
|
425
431
|
label: { type: 'string' },
|
|
426
432
|
likeLabel: { type: 'string' },
|
|
427
433
|
dislikeLabel: { type: 'string' },
|
|
@@ -603,5 +609,5 @@ var ScorecardStatus;
|
|
|
603
609
|
ScorecardStatus["BelowMinimum"] = "Below minimum";
|
|
604
610
|
ScorecardStatus["Highest"] = "Highest";
|
|
605
611
|
ScorecardStatus["Minimum"] = "Minimum";
|
|
606
|
-
})(ScorecardStatus
|
|
612
|
+
})(ScorecardStatus || (exports.ScorecardStatus = ScorecardStatus = {}));
|
|
607
613
|
//# sourceMappingURL=config.js.map
|
|
@@ -7,5 +7,5 @@ var MenuType;
|
|
|
7
7
|
MenuType["DrillDown"] = "drilldown";
|
|
8
8
|
MenuType["Group"] = "group";
|
|
9
9
|
MenuType["Operation"] = "operation";
|
|
10
|
-
})(MenuType
|
|
10
|
+
})(MenuType || (exports.MenuType = MenuType = {}));
|
|
11
11
|
//# sourceMappingURL=types.js.map
|
|
@@ -12,14 +12,14 @@ var FEEDBACK_TYPES;
|
|
|
12
12
|
FEEDBACK_TYPES["MOOD"] = "mood";
|
|
13
13
|
FEEDBACK_TYPES["PROBLEM"] = "problem";
|
|
14
14
|
FEEDBACK_TYPES["SCALE"] = "scale";
|
|
15
|
-
})(FEEDBACK_TYPES
|
|
15
|
+
})(FEEDBACK_TYPES || (exports.FEEDBACK_TYPES = FEEDBACK_TYPES = {}));
|
|
16
16
|
exports.DEV_LOGIN_SLUG = '/login/';
|
|
17
17
|
var ExternalRoutes;
|
|
18
18
|
(function (ExternalRoutes) {
|
|
19
19
|
ExternalRoutes["AUTH0_PASS"] = "/auth/auth0-pass";
|
|
20
|
-
})(ExternalRoutes
|
|
20
|
+
})(ExternalRoutes || (exports.ExternalRoutes = ExternalRoutes = {}));
|
|
21
21
|
var FsErrors;
|
|
22
22
|
(function (FsErrors) {
|
|
23
23
|
FsErrors["NotExist"] = "ENOENT";
|
|
24
|
-
})(FsErrors
|
|
24
|
+
})(FsErrors || (exports.FsErrors = FsErrors = {}));
|
|
25
25
|
//# sourceMappingURL=constants.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/theme",
|
|
3
|
-
"version": "0.30.
|
|
3
|
+
"version": "0.30.5",
|
|
4
4
|
"description": "Shared UI components lib",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"theme",
|
|
@@ -28,18 +28,18 @@
|
|
|
28
28
|
"styled-system": "^5.1.5"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@storybook/addon-actions": "^7.
|
|
32
|
-
"@storybook/addon-essentials": "^7.
|
|
33
|
-
"@storybook/addon-interactions": "^7.
|
|
34
|
-
"@storybook/addon-links": "^7.
|
|
35
|
-
"@storybook/addon-viewport": "^7.
|
|
36
|
-
"@storybook/addons": "^7.
|
|
37
|
-
"@storybook/core-common": "^7.
|
|
38
|
-
"@storybook/node-logger": "^7.
|
|
39
|
-
"@storybook/react": "^7.
|
|
40
|
-
"@storybook/react-webpack5": "^7.
|
|
31
|
+
"@storybook/addon-actions": "^7.5.0",
|
|
32
|
+
"@storybook/addon-essentials": "^7.5.0",
|
|
33
|
+
"@storybook/addon-interactions": "^7.5.0",
|
|
34
|
+
"@storybook/addon-links": "^7.5.0",
|
|
35
|
+
"@storybook/addon-viewport": "^7.5.0",
|
|
36
|
+
"@storybook/addons": "^7.5.0",
|
|
37
|
+
"@storybook/core-common": "^7.5.0",
|
|
38
|
+
"@storybook/node-logger": "^7.5.0",
|
|
39
|
+
"@storybook/react": "^7.5.0",
|
|
40
|
+
"@storybook/react-webpack5": "^7.5.0",
|
|
41
41
|
"@storybook/testing-library": "^0.2.2",
|
|
42
|
-
"@storybook/theming": "^7.
|
|
42
|
+
"@storybook/theming": "^7.5.0",
|
|
43
43
|
"@testing-library/jest-dom": "^5.16.5",
|
|
44
44
|
"@testing-library/react": "^12.1.4",
|
|
45
45
|
"@testing-library/react-hooks": "^8.0.1",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"npm-run-all": "^4.1.5",
|
|
69
69
|
"react-refresh": "^0.14.0",
|
|
70
70
|
"react-router-dom": "^6.10.0",
|
|
71
|
-
"storybook": "^7.
|
|
71
|
+
"storybook": "^7.5.0",
|
|
72
72
|
"storybook-addon-pseudo-states": "^2.1.2",
|
|
73
73
|
"storybook-design-token": "3.0.0-beta.6",
|
|
74
74
|
"styled-components": "^5.3.7",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"tsc-alias": "^1.8.2",
|
|
80
80
|
"tsconfig-paths": "^4.2.0",
|
|
81
81
|
"tsconfig-paths-webpack-plugin": "^3.5.2",
|
|
82
|
-
"typescript": "^
|
|
82
|
+
"typescript": "^5.2.2",
|
|
83
83
|
"webpack": "^5.72.0",
|
|
84
84
|
"@redocly/portal-types": "1.2.0"
|
|
85
85
|
},
|
|
@@ -25,7 +25,7 @@ export const Mood = ({ settings, onSubmit, className }: MoodProps): JSX.Element
|
|
|
25
25
|
const { translate } = useTranslate();
|
|
26
26
|
|
|
27
27
|
const renderCommentLabel = (score: string) => {
|
|
28
|
-
if (!commentSettings?.
|
|
28
|
+
if (!commentSettings || commentSettings?.hide === true) return '';
|
|
29
29
|
|
|
30
30
|
switch (score) {
|
|
31
31
|
case MOOD_STATES.SATISFIED:
|
|
@@ -48,8 +48,8 @@ export const Mood = ({ settings, onSubmit, className }: MoodProps): JSX.Element
|
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
-
const displayReasons = !!score && reasonsSettings
|
|
52
|
-
const displayComment = !!score && commentSettings
|
|
51
|
+
const displayReasons = !!score && reasonsSettings && !reasonsSettings.hide;
|
|
52
|
+
const displayComment = !!score && commentSettings && !commentSettings.hide;
|
|
53
53
|
const displaySubmitBnt = !!score && (displayReasons || displayComment);
|
|
54
54
|
|
|
55
55
|
const onSubmitMoodForm = () => {
|
|
@@ -31,8 +31,8 @@ export const Rating = ({ settings, onSubmit, className }: RatingProps): JSX.Elem
|
|
|
31
31
|
setIsSubmitted(true);
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
-
const displayReasons = !!score && reasonsSettings
|
|
35
|
-
const displayComment = !!score && commentSettings
|
|
34
|
+
const displayReasons = !!score && reasonsSettings && !reasonsSettings.hide;
|
|
35
|
+
const displayComment = !!score && commentSettings && !commentSettings.hide;
|
|
36
36
|
const displaySubmitBnt = !!score && (displayReasons || displayComment);
|
|
37
37
|
|
|
38
38
|
useEffect(() => {
|
|
@@ -41,8 +41,8 @@ export const Scale = ({ settings, onSubmit, className }: ScaleProps): JSX.Elemen
|
|
|
41
41
|
);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
const displayReasons = !!score && reasonsSettings
|
|
45
|
-
const displayComment = !!score && commentSettings
|
|
44
|
+
const displayReasons = !!score && reasonsSettings && !reasonsSettings.hide;
|
|
45
|
+
const displayComment = !!score && commentSettings && !commentSettings.hide;
|
|
46
46
|
const displaySubmitBnt = !!score && (displayReasons || displayComment);
|
|
47
47
|
|
|
48
48
|
const onSubmitScaleForm = () => {
|
|
@@ -18,8 +18,8 @@ export const Sentiment = ({ settings, onSubmit, className }: SentimentProps): JS
|
|
|
18
18
|
const [reasons, setReasons] = React.useState([] as ReasonsProps['settings']['items']);
|
|
19
19
|
const { translate } = useTranslate();
|
|
20
20
|
|
|
21
|
-
const displayReasons = !!score && reasonsSettings
|
|
22
|
-
const displayComment = !!score && commentSettings
|
|
21
|
+
const displayReasons = !!score && reasonsSettings && !reasonsSettings.hide;
|
|
22
|
+
const displayComment = !!score && commentSettings && !commentSettings.hide;
|
|
23
23
|
const displaySubmitBnt = !!score && (displayReasons || displayComment);
|
|
24
24
|
|
|
25
25
|
const commentLabel =
|
|
@@ -6,11 +6,11 @@ export type RatingProps = {
|
|
|
6
6
|
label?: string;
|
|
7
7
|
submitText?: string;
|
|
8
8
|
comment?: {
|
|
9
|
-
|
|
9
|
+
hide?: boolean;
|
|
10
10
|
label?: string;
|
|
11
11
|
};
|
|
12
12
|
reasons?: {
|
|
13
|
-
|
|
13
|
+
hide?: boolean;
|
|
14
14
|
label?: string;
|
|
15
15
|
component?: string;
|
|
16
16
|
items: string[];
|
|
@@ -27,11 +27,11 @@ export type ScaleProps = {
|
|
|
27
27
|
leftScaleLabel?: string;
|
|
28
28
|
rightScaleLabel?: string;
|
|
29
29
|
comment?: {
|
|
30
|
-
|
|
30
|
+
hide?: boolean;
|
|
31
31
|
label?: string;
|
|
32
32
|
};
|
|
33
33
|
reasons?: {
|
|
34
|
-
|
|
34
|
+
hide?: boolean;
|
|
35
35
|
label?: string;
|
|
36
36
|
component?: string;
|
|
37
37
|
items: string[];
|
|
@@ -46,13 +46,13 @@ export type MoodProps = {
|
|
|
46
46
|
label?: string;
|
|
47
47
|
submitText?: string;
|
|
48
48
|
comment?: {
|
|
49
|
-
|
|
49
|
+
hide?: boolean;
|
|
50
50
|
satisfiedLabel?: string;
|
|
51
51
|
neutralLabel?: string;
|
|
52
52
|
dissatisfiedLabel?: string;
|
|
53
53
|
};
|
|
54
54
|
reasons?: {
|
|
55
|
-
|
|
55
|
+
hide?: boolean;
|
|
56
56
|
label?: string;
|
|
57
57
|
component?: string;
|
|
58
58
|
items: string[];
|
|
@@ -67,12 +67,12 @@ export type SentimentProps = {
|
|
|
67
67
|
label?: string;
|
|
68
68
|
submitText?: string;
|
|
69
69
|
comment?: {
|
|
70
|
-
|
|
70
|
+
hide?: boolean;
|
|
71
71
|
likeLabel?: string;
|
|
72
72
|
dislikeLabel?: string;
|
|
73
73
|
};
|
|
74
74
|
reasons?: {
|
|
75
|
-
|
|
75
|
+
hide?: boolean;
|
|
76
76
|
label?: string;
|
|
77
77
|
component?: string;
|
|
78
78
|
items: string[];
|
|
@@ -11,7 +11,7 @@ export type ProductProps = {
|
|
|
11
11
|
export const Product = ({ product, className }: ProductProps): JSX.Element | null => {
|
|
12
12
|
return (
|
|
13
13
|
<ProductWrapper data-component-name="Product/Product" className={className}>
|
|
14
|
-
<ProductLogo src={product.icon} />
|
|
14
|
+
{product.icon && <ProductLogo src={product.icon} />}
|
|
15
15
|
<span>{product.name}</span>
|
|
16
16
|
</ProductWrapper>
|
|
17
17
|
);
|
|
@@ -29,9 +29,9 @@ export function Tabs(props: TabsProps): JSX.Element {
|
|
|
29
29
|
})}
|
|
30
30
|
</TabList>
|
|
31
31
|
<TabContent>
|
|
32
|
-
{children.map((child) => {
|
|
32
|
+
{children.map((child, idx) => {
|
|
33
33
|
if (child.props.label !== activeTab) return undefined;
|
|
34
|
-
return child.props.children
|
|
34
|
+
return <React.Fragment key={idx}> {child.props.children}</React.Fragment>;
|
|
35
35
|
})}
|
|
36
36
|
</TabContent>
|
|
37
37
|
</TabsContainer>
|
package/src/config.ts
CHANGED
|
@@ -269,7 +269,7 @@ const productConfigSchema = {
|
|
|
269
269
|
folder: { type: 'string' },
|
|
270
270
|
},
|
|
271
271
|
additionalProperties: false,
|
|
272
|
-
required: ['name', '
|
|
272
|
+
required: ['name', 'folder'],
|
|
273
273
|
} as const;
|
|
274
274
|
|
|
275
275
|
const suggestedPageSchema = {
|
|
@@ -463,7 +463,10 @@ export const themeConfigSchema = {
|
|
|
463
463
|
reasons: {
|
|
464
464
|
type: 'object',
|
|
465
465
|
properties: {
|
|
466
|
-
|
|
466
|
+
hide: {
|
|
467
|
+
type: 'boolean',
|
|
468
|
+
default: false,
|
|
469
|
+
},
|
|
467
470
|
component: {
|
|
468
471
|
type: 'string',
|
|
469
472
|
enum: ['radio', 'checkbox'],
|
|
@@ -477,7 +480,10 @@ export const themeConfigSchema = {
|
|
|
477
480
|
comment: {
|
|
478
481
|
type: 'object',
|
|
479
482
|
properties: {
|
|
480
|
-
|
|
483
|
+
hide: {
|
|
484
|
+
type: 'boolean',
|
|
485
|
+
default: false,
|
|
486
|
+
},
|
|
481
487
|
label: { type: 'string' },
|
|
482
488
|
likeLabel: { type: 'string' },
|
|
483
489
|
dislikeLabel: { type: 'string' },
|