Skip to content

Commit fdba94d

Browse files
authored
feat(css): update scss for org compatibility (#76)
1 parent e67f87e commit fdba94d

File tree

11 files changed

+507
-1050
lines changed

11 files changed

+507
-1050
lines changed

packages/module/package.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,18 @@
99
"tag": "alpha"
1010
},
1111
"scripts": {
12-
"build": "yarn build:js && yarn build:esm && yarn build:fed:packages && yarn copy:files:esm && yarn copy:files:cjs",
13-
"build:esm": "tsc --build --verbose ./tsconfig.json && yarn build:css && yarn transform:css",
14-
"build:css": "node ../../scripts/build-styles.js",
12+
"build": "yarn build:js && yarn build:esm && yarn build:fed:packages && yarn copy:files:esm && yarn copy:files:cjs && yarn copy:files:css",
13+
"build:esm": "tsc --build --verbose ./tsconfig.json",
1514
"build:fed:packages": "node generate-fed-package-json.js",
1615
"build:js": "tsc -p tsconfig.cjs.json",
1716
"copy:files:esm": "copyfiles -u 1 src/**/*.svg src/**/*.json ./dist/esm",
1817
"copy:files:cjs": "copyfiles -u 1 src/**/*.svg src/**/*.json ./dist/cjs",
18+
"copy:files:css": "copyfiles -u 1 src/Feedback/Feedback.css ./dist/esm",
1919
"clean": "rimraf dist",
2020
"docs:develop": "pf-docs-framework start",
2121
"docs:build": "pf-docs-framework build all --output public",
2222
"docs:serve": "pf-docs-framework serve public --port 5001",
2323
"docs:screenshots": "pf-docs-framework screenshots --urlPrefix http://localhost:5001",
24-
"transform:css": "node ../../scripts/transform-scss.js",
2524
"test:a11y": "patternfly-a11y --config patternfly-a11y.config",
2625
"serve:a11y": "yarn serve coverage"
2726
},

packages/module/patternfly-docs/generated/extensions/user-feedback/react.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ const pageData = {
7676
"Basic modal",
7777
"Advanced modal",
7878
"Advanced that autofills an email address",
79-
"Modal with asynchronous call support"
79+
"Modal with asynchronous call support",
80+
"Modal with internationalization support"
8081
]
8182
};
8283
pageData.liveContext = {
@@ -139,6 +140,23 @@ pageData.examples = {
139140
</code>
140141
{` function to send data to a backend service.`}
141142
</p>
143+
</Example>,
144+
'Modal with internationalization support': props =>
145+
<Example {...pageData} {...props} {...{"code":"const i18nExample = {\n getSupport: 'Lorem ipsum dolor sit amet support',\n back: 'Lorem ipsum dolor sit amet back',\n bugReported: 'Lorem ipsum dolor sit amet Bug Reported',\n cancel: 'Cancel',\n close: 'Close',\n describeBug: \n 'Lorem ipsum dolor sit amet Describe the bug you encountered. For urgent issues, open a support case instead.',\n describeBugUrgentCases: \n 'Lorem ipsum dolor sit amet Describe the bug you encountered. For urgent issues, open a support case instead.',\n describeReportBug: \n 'Lorem ipsum dolor sit amet Describe the bug you encountered. Include where it is located and what action caused it. If this issue is urgent or blocking your workflow,',\n directInfluence:\n 'Lorem ipsum dolor sit amet your feedback will directly influence the future of Red Hat’s products. Opt in below to hear about future research opportunities via email.',\n email: 'Lorem ipsum dolor sit amet Email',\n enterFeedback: 'Lorem ipsum dolor sit amet Enter your feedback',\n feedback: 'Lorem ipsum dolor sit amet Feedback',\n feedbackSent: 'Lorem ipsum dolor sit amet Feedback Sent',\n helpUsImproveHCC: 'Lorem ipsum dolor sit amet Help us improve the Red Hat OpenShift.',\n howIsConsoleExperience: 'Lorem ipsum dolor sit amet What has your experience been like so far?',\n joinMailingList: 'Lorem ipsum dolor sit ametJoin mailing list',\n informDirectionDescription: \n 'Lorem ipsum dolor sit ametBy participating in feedback sessions, usability tests, and interviews with our',\n informDirection: 'Lorem ipsum dolor sit ametInform the direction of Red Hat',\n learnAboutResearchOpportunities: 'Lorem ipsum dolor sit ametLearn about opportunities to share your feedback with our User Research Team.',\n openSupportCase: 'Lorem ipsum dolor sit amet Support Case',\n problemProcessingRequest: \n 'Lorem ipsum dolor sit ametThere was a problem processing the request. Try reloading the page. If the problem persists, contact',\n support: 'Lorem ipsum dolor sit ametRed Hat support',\n reportABug: 'Lorem ipsum dolor sit ametReport a bug',\n responseSent: 'Lorem ipsum dolor sit ametResponse sent',\n researchOpportunities: 'Lorem ipsum dolor sit ametYes, I would like to hear about research opportunities',\n shareFeedback: 'Lorem ipsum dolor sit ametShare feedback',\n shareYourFeedback: 'Lorem ipsum dolor sit ametShare your feedback with us!',\n somethingWentWrong: 'Lorem ipsum dolor sit ametSomething went wrong',\n submitFeedback: 'Submit feedback',\n teamWillReviewBug: 'Lorem ipsum dolor sit ametWe appreciate your feedback and our team will review your report shortly',\n tellAboutExperience: 'Lorem ipsum dolor sit ametTell us about your experience',\n thankYouForFeedback: 'Lorem ipsum dolor sit ametThank you, we appreciate your feedback.',\n thankYouForInterest: \n 'Lorem ipsum dolor sit ametThank you for your interest in user research. You have been added to our mailing list.',\n userResearchTeam: 'Lorem ipsum dolor sit ametUser Research Team',\n weNeverSharePersonalInformation: \n 'Lorem ipsum dolor sit ametWe never share your personal information, and you can opt out at any time.',\n };\n\n\n /* eslint-disable no-debugger */\nimport React from 'react';\nimport { FeedbackModal} from '@patternfly/react-user-feedback';\nimport { Button } from '@patternfly/react-core';\n\nexport const AdvancedExample: React.FunctionComponent = () => {\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const handleButtonClicked = () => {setIsOpen(true)}; \n return <>\n <Button onClick={handleButtonClicked}>Show Modal</Button>\n <FeedbackModal \n feedbackLocale={i18nExample}\n email= \"[email protected]\" \n onShareFeedback={()=>\n // Example of a successful callback\n true\n }\n onJoinMailingList={()=>\n true\n }\n onOpenSupportCase='https://pf-user-feedback-extension-form-demos.surge.sh/requestSupport.html'\n onReportABug={()=>true}\n isOpen={isOpen}\n onClose={()=>setIsOpen(false)}/>\n </>\n}","title":"Modal with internationalization support","lang":"js","className":""}}>
146+
147+
<p {...{"className":"pf-v6-c-content--p ws-p "}}>
148+
{`To customize the content displayed in the feedback modal, pass in a custom `}
149+
150+
<code {...{"className":"ws-code "}}>
151+
{`i18n`}
152+
</code>
153+
{` object with values for each property of`}
154+
155+
<code {...{"className":"ws-code "}}>
156+
{`<FeedbackModal>`}
157+
</code>
158+
{`. This allows you to prepare a modal for different languages and requirements.`}
159+
</p>
142160
</Example>
143161
};
144162

@@ -157,6 +175,7 @@ const Component = () => (
157175
{React.createElement(pageData.examples["Advanced modal"])}
158176
{React.createElement(pageData.examples["Advanced that autofills an email address"])}
159177
{React.createElement(pageData.examples["Modal with asynchronous call support"])}
178+
{React.createElement(pageData.examples["Modal with internationalization support"])}
160179
</React.Fragment>
161180
);
162181
Component.displayName = 'ExtensionsUserFeedbackReactDocs';

packages/module/patternfly-docs/generated/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ module.exports = {
22
'/extensions/user-feedback/react': {
33
id: "User feedback",
44
title: "User feedback",
5-
toc: [{"text":"About"},{"text":"Examples"},[{"text":"Basic modal"},{"text":"Advanced modal"},{"text":"Advanced that autofills an email address"},{"text":"Modal with asynchronous call support"}]],
6-
examples: ["Basic modal","Advanced modal","Advanced that autofills an email address","Modal with asynchronous call support"],
5+
toc: [{"text":"About"},{"text":"Examples"},[{"text":"Basic modal"},{"text":"Advanced modal"},{"text":"Advanced that autofills an email address"},{"text":"Modal with asynchronous call support"},{"text":"Modal with internationalization support"}]],
6+
examples: ["Basic modal","Advanced modal","Advanced that autofills an email address","Modal with asynchronous call support","Modal with internationalization support"],
77
section: "extensions",
88
subsection: "",
99
source: "react",

packages/module/patternfly-docs/patternfly-docs.css.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ import '@patternfly/patternfly/patternfly-addons.css';
66
import '@patternfly/documentation-framework/global.css';
77

88
// Add your extension CSS below
9+
import '@patternfly/react-user-feedback/src/Feedback/Feedback.css';

packages/module/src/Feedback/Feedback.scss renamed to packages/module/src/Feedback/Feedback.css

Lines changed: 16 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/module/src/Feedback/FeedbackError.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ import { Button, Content, ContentVariants } from '@patternfly/react-core';
33
import ErrorIcon from '@patternfly/react-icons/dist/esm/icons/error-circle-o-icon';
44
import { LocaleContext } from '../context/LocaleContext';
55

6-
import './Feedback.scss';
7-
86
export interface FeedbackErrorProps {
97
onCloseModal: () => void;
108
}

packages/module/src/Feedback/FeedbackForm.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ import {
1616
} from '@patternfly/react-core';
1717
import { LocaleContext } from '../context/LocaleContext';
1818

19-
import './Feedback.scss';
20-
2119
export interface FeedbackFormProps {
2220
email?: string;
2321
onCloseModal: () => void;

packages/module/src/Feedback/FeedbackModalInternal.tsx

Lines changed: 43 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
11
import React, { memo, useState, useRef } from 'react';
22
import {
3-
Button,
4-
Card,
5-
CardBody,
6-
CardHeader,
7-
CardTitle,
8-
Flex,
9-
FlexItem,
10-
Panel,
11-
PanelFooter,
12-
PanelHeader,
13-
PanelMain,
14-
PanelMainBody,
15-
Content,
16-
ContentVariants
3+
Button,
4+
Card,
5+
CardBody,
6+
CardHeader,
7+
CardTitle,
8+
Flex,
9+
FlexItem,
10+
Panel,
11+
PanelFooter,
12+
PanelHeader,
13+
PanelMain,
14+
PanelMainBody,
15+
Content,
16+
ContentVariants
1717
} from '@patternfly/react-core';
18-
import {
19-
Modal,
20-
ModalVariant
21-
} from '@patternfly/react-core/deprecated';
18+
import { Modal, ModalVariant } from '@patternfly/react-core/deprecated';
2219
import { ExternalLinkAltIcon } from '@patternfly/react-icons';
2320

2421
import feedbackImage from '../images/pf_feedback.svg';
@@ -27,7 +24,6 @@ import FeedbackSuccess from './FeedbackSuccess';
2724
import FeedbackError from './FeedbackError';
2825
import { FeedbackModalProps } from './FeedbackModal';
2926

30-
import './Feedback.scss';
3127
import { LocaleContext } from '../context/LocaleContext';
3228

3329
export type FeedbackPages =
@@ -83,21 +79,16 @@ export const FeedbackModalInternal = memo(
8379
return (
8480
<Panel isScrollable className="chr-c-feedback-content">
8581
<PanelHeader className="chr-c-feedback-heading">
86-
<FlexItem>
87-
<Content component={ContentVariants.h1}>{intl.tellAboutExperience}</Content>
88-
</FlexItem>
89-
<FlexItem>
90-
<Content component="p">{intl.helpUsImproveHCC}</Content>
91-
</FlexItem>
92-
82+
<FlexItem>
83+
<Content component={ContentVariants.h1}>{intl.tellAboutExperience}</Content>
84+
</FlexItem>
85+
<FlexItem>
86+
<Content component="p">{intl.helpUsImproveHCC}</Content>
87+
</FlexItem>
9388
</PanelHeader>
94-
<PanelMain tabIndex={0} className='chr-c-feedback-content-main'>
89+
<PanelMain tabIndex={0} className="chr-c-feedback-content-main">
9590
<PanelMainBody className="chr-c-feedback-cards">
96-
<Card
97-
isCompact
98-
isClickable
99-
variant="secondary"
100-
>
91+
<Card isCompact isClickable variant="secondary">
10192
<CardHeader
10293
selectableActions={{
10394
// eslint-disable-next-line no-console
@@ -106,7 +97,7 @@ export const FeedbackModalInternal = memo(
10697
? window.open(onShareFeedback, '_blank')
10798
: setModalPage('feedbackOne');
10899
},
109-
selectableActionId: "feedback-card-1",
100+
selectableActionId: 'feedback-card-1',
110101
selectableActionAriaLabelledby: 'feedback-card-1',
111102
name: 'feedback-card'
112103
}}
@@ -117,24 +108,20 @@ export const FeedbackModalInternal = memo(
117108
<CardBody>{intl.howIsConsoleExperience} </CardBody>
118109
</Card>
119110
{onReportABug && (
120-
<Card
121-
isCompact
122-
isClickable
123-
variant='secondary'
124-
>
125-
<CardHeader
126-
selectableActions={{
127-
// eslint-disable-next-line no-console
128-
onClickAction: () => {
129-
typeof onReportABug === 'string'
130-
? window.open(onReportABug, '_blank')
131-
: setModalPage('reportBugOne');
132-
},
133-
selectableActionId: "report-bug-card-1",
134-
selectableActionAriaLabelledby: 'report-bug-card-1',
135-
name: 'report-bug-card'
136-
}}
137-
></CardHeader>
111+
<Card isCompact isClickable variant="secondary">
112+
<CardHeader
113+
selectableActions={{
114+
// eslint-disable-next-line no-console
115+
onClickAction: () => {
116+
typeof onReportABug === 'string'
117+
? window.open(onReportABug, '_blank')
118+
: setModalPage('reportBugOne');
119+
},
120+
selectableActionId: 'report-bug-card-1',
121+
selectableActionAriaLabelledby: 'report-bug-card-1',
122+
name: 'report-bug-card'
123+
}}
124+
></CardHeader>
138125

139126
<CardTitle>
140127
{intl.reportABug} {typeof onReportABug === 'string' ? <ExternalLinkAltIcon /> : null}{' '}
@@ -143,18 +130,14 @@ export const FeedbackModalInternal = memo(
143130
</Card>
144131
)}
145132
{onOpenSupportCase && (
146-
<Card
147-
isCompact
148-
isClickable
149-
variant="secondary"
150-
>
133+
<Card isCompact isClickable variant="secondary">
151134
<CardHeader
152135
selectableActions={{
153136
// eslint-disable-next-line no-console
154137
onClickAction: () => {
155138
window.open(onOpenSupportCase, '_blank');
156139
},
157-
selectableActionId: "open-support-case-card-1",
140+
selectableActionId: 'open-support-case-card-1',
158141
selectableActionAriaLabelledby: 'open-support-case-card-1',
159142
name: 'open-support-case-card'
160143
}}
@@ -168,11 +151,7 @@ export const FeedbackModalInternal = memo(
168151
</Card>
169152
)}
170153
{onJoinMailingList && (
171-
<Card
172-
isCompact
173-
isClickable
174-
variant="secondary"
175-
>
154+
<Card isCompact isClickable variant="secondary">
176155
<CardHeader
177156
selectableActions={{
178157
// eslint-disable-next-line no-console
@@ -181,7 +160,7 @@ export const FeedbackModalInternal = memo(
181160
? window.open(onJoinMailingList, '_blank')
182161
: setModalPage('informDirection');
183162
},
184-
selectableActionId: "join-mailing-list-card-1",
163+
selectableActionId: 'join-mailing-list-card-1',
185164
selectableActionAriaLabelledby: 'join-mailing-list-card-1',
186165
name: 'join-mailing-list-card'
187166
}}
@@ -198,12 +177,7 @@ export const FeedbackModalInternal = memo(
198177
</PanelMainBody>
199178
</PanelMain>
200179
<PanelFooter className="chr-c-feedback-footer">
201-
<Button
202-
ouiaId="cancel-feedback"
203-
key="cancel"
204-
variant="link"
205-
onClick={handleCloseModal}
206-
>
180+
<Button ouiaId="cancel-feedback" key="cancel" variant="link" onClick={handleCloseModal}>
207181
{intl.cancel}
208182
</Button>
209183
</PanelFooter>

packages/module/src/Feedback/FeedbackSuccess.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import React from 'react';
22
import { Button, Content, ContentVariants } from '@patternfly/react-core';
33
import CheckIcon from '@patternfly/react-icons/dist/js/icons/check-icon';
44

5-
import './Feedback.scss';
65
import { LocaleContext } from '../context/LocaleContext';
76

87
export interface FeedbackSuccessProps {
@@ -16,8 +15,8 @@ const FeedbackSuccess = ({ onCloseModal, successTitle, successDescription }: Fee
1615
return (
1716
<div className="chr-c-feedback-success-content">
1817
<CheckIcon color="var(--pf-global--success-color--100)" className="pf-u-mx-auto" />
19-
<Content component={ContentVariants.h1}>{successTitle}</Content>
20-
<Content>{successDescription}</Content>
18+
<Content component={ContentVariants.h1}>{successTitle}</Content>
19+
<Content>{successDescription}</Content>
2120
<Button variant="primary" onClick={onCloseModal}>
2221
{intl.close}
2322
</Button>

0 commit comments

Comments
 (0)