@pega/custom-dx-components 23.1.12 → 24.1.10
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/README.md +1 -1
- package/package.json +1 -1
- package/src/cli.js +8 -2
- package/src/constants.js +9 -0
- package/src/tasks/build-all/helper.js +6 -0
- package/src/tasks/build-comp/helper.js +8 -0
- package/src/tasks/build-jest-assets/index.js +171 -0
- package/src/tasks/bundle/builder/webpack.config.js +15 -1
- package/src/tasks/create/index.js +3 -0
- package/src/tasks/create/templates/Constellation/Field/Boolean/demo.stories.tsx.mustache +3 -13
- package/src/tasks/create/templates/Constellation/Field/Boolean/index.tsx.mustache +8 -5
- package/src/tasks/create/templates/Constellation/Field/Date/demo.stories.tsx.mustache +8 -19
- package/src/tasks/create/templates/Constellation/Field/Date/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/DateTime/demo.stories.tsx.mustache +7 -18
- package/src/tasks/create/templates/Constellation/Field/DateTime/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/DateTime/mock.ts.mustache +1 -0
- package/src/tasks/create/templates/Constellation/Field/Decimal/demo.stories.tsx.mustache +1 -7
- package/src/tasks/create/templates/Constellation/Field/Decimal/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/Decimal/mock.ts.mustache +1 -0
- package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/demo.stories.tsx.mustache +2 -9
- package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/mock.ts.mustache +2 -0
- package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/demo.stories.tsx.mustache +2 -6
- package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/mock.ts.mustache +1 -0
- package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/PConnProps.d.ts.mustache +46 -0
- package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/config.json.mustache +64 -0
- package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/demo.stories.tsx.mustache +104 -0
- package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/index.tsx.mustache +218 -0
- package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/mock.ts.mustache +5 -0
- package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/styles.ts.mustache +8 -0
- package/src/tasks/create/templates/Constellation/Field/Integer/demo.stories.tsx.mustache +2 -6
- package/src/tasks/create/templates/Constellation/Field/Integer/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/Picklist/demo.stories.tsx.mustache +2 -6
- package/src/tasks/create/templates/Constellation/Field/Picklist/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/Picklist/mock.ts.mustache +1 -0
- package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/demo.stories.tsx.mustache +2 -8
- package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/index.tsx.mustache +11 -0
- package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/utils.ts.mustache +3 -0
- package/src/tasks/create/templates/Constellation/Field/Picklist-RadioButtons/demo.stories.tsx.mustache +1 -7
- package/src/tasks/create/templates/Constellation/Field/Text/demo.stories.tsx.mustache +0 -3
- package/src/tasks/create/templates/Constellation/Field/Text/index.tsx.mustache +94 -4
- package/src/tasks/create/templates/Constellation/Field/Text-Email/demo.stories.tsx.mustache +1 -5
- package/src/tasks/create/templates/Constellation/Field/Text-Email/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/Text-Input/StatusWork.tsx +3 -9
- package/src/tasks/create/templates/Constellation/Field/Text-Input/demo.stories.tsx.mustache +1 -5
- package/src/tasks/create/templates/Constellation/Field/Text-Input/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/Text-Input/mock.ts.mustache +1 -0
- package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/demo.stories.tsx.mustache +1 -5
- package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/mock.ts.mustache +1 -0
- package/src/tasks/create/templates/Constellation/Field/Text-Phone/demo.stories.tsx.mustache +2 -5
- package/src/tasks/create/templates/Constellation/Field/Text-Phone/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/Text-Phone/mock.ts.mustache +1 -0
- package/src/tasks/create/templates/Constellation/Field/Text-URL/demo.stories.tsx.mustache +1 -5
- package/src/tasks/create/templates/Constellation/Field/Text-URL/mock.ts.mustache +1 -0
- package/src/tasks/create/templates/Constellation/Field/TimeofDay/demo.stories.tsx.mustache +5 -15
- package/src/tasks/create/templates/Constellation/Field/TimeofDay/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Template/DETAILS/Avatar.tsx.mustache +78 -0
- package/src/tasks/create/templates/Constellation/Template/DETAILS/DetailsRender.tsx.mustache +55 -0
- package/src/tasks/create/templates/Constellation/Template/DETAILS/HighlightRender.tsx.mustache +49 -0
- package/src/tasks/create/templates/Constellation/Template/DETAILS/Operator.tsx.mustache +218 -0
- package/src/tasks/create/templates/Constellation/Template/DETAILS/StatusWork.tsx.mustache +17 -19
- package/src/tasks/create/templates/Constellation/Template/DETAILS/demo.stories.tsx.mustache +79 -25
- package/src/tasks/create/templates/Constellation/Template/DETAILS/index.tsx.mustache +51 -40
- package/src/tasks/create/templates/Constellation/Template/DETAILS/mock.ts.mustache +78 -20
- package/src/tasks/create/templates/Constellation/Template/DETAILS/styles.ts.mustache +16 -0
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/Avatar.tsx.mustache +78 -0
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/DetailsRender.tsx.mustache +55 -0
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/HighlightRender.tsx.mustache +49 -0
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/Operator.tsx.mustache +218 -0
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/StatusWork.tsx.mustache +17 -19
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/demo.stories.tsx.mustache +96 -27
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/index.tsx.mustache +42 -39
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/mock.ts.mustache +68 -10
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/styles.ts.mustache +15 -0
- package/src/tasks/create/templates/Constellation/Template/FORM/DetailsRender.tsx +59 -0
- package/src/tasks/create/templates/Constellation/Template/FORM/demo.stories.tsx.mustache +5 -3
- package/src/tasks/create/templates/Constellation/Template/FORM/index.tsx.mustache +31 -5
- package/src/tasks/create/templates/Constellation/Template/FORM-region/DetailsRender.tsx +59 -0
- package/src/tasks/create/templates/Constellation/Template/FORM-region/demo.stories.tsx.mustache +4 -2
- package/src/tasks/create/templates/Constellation/Template/FORM-region/index.tsx.mustache +29 -7
- package/src/tasks/create/templates/Constellation/Template/PAGE/GetNextWork.tsx.mustache +2 -1
- package/src/tasks/create/templates/Constellation/Template/PAGE/demo.stories.tsx.mustache +4 -3
- package/src/tasks/create/templates/Constellation/Template/PAGE/localizations.json.mustache +4 -2
- package/src/tasks/create/templates/Constellation/Widget/CASE/demo.stories.tsx.mustache +3 -2
- package/src/tasks/create/templates/Constellation/Widget/PAGE/demo.stories.tsx.mustache +91 -13
- package/src/tasks/create/templates/Constellation/Widget/PAGE/index.tsx.mustache +67 -5
- package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/demo.stories.tsx.mustache +5 -4
- package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/PConnProps.d.ts.mustache +46 -0
- package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/config.json.mustache +32 -0
- package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/demo.stories.tsx.mustache +103 -0
- package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/index.tsx.mustache +216 -0
- package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/mock.ts.mustache +5 -0
- package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/styles.ts.mustache +8 -0
- package/src/tasks/create/templates/Launchpad/Widget/PAGE/OneColumnPage.svg +36 -0
- package/src/tasks/create/templates/Launchpad/Widget/PAGE/PConnProps.d.ts.mustache +46 -0
- package/src/tasks/create/templates/Launchpad/Widget/PAGE/config.json.mustache +59 -0
- package/src/tasks/create/templates/Launchpad/Widget/PAGE/demo.stories.tsx.mustache +120 -0
- package/src/tasks/create/templates/Launchpad/Widget/PAGE/index.tsx.mustache +109 -0
- package/src/tasks/create/templates/Launchpad/Widget/PAGE/mock.ts.mustache +25 -0
- package/src/tasks/create/templates/Launchpad/Widget/PAGE/styles.ts.mustache +8 -0
- package/src/tasks/create-all/index.js +3 -0
- package/src/tasks/index.js +1 -0
- package/src/tasks/init/template/.storybook/preview.js +3 -0
- package/src/tasks/init/template/package.json.mustache +7 -6
- package/src/tasks/init/template/tsconfig.build.json +3 -1
- package/src/tasks/publish/helper.js +6 -0
- package/src/tasks/publish-all/helper.js +6 -0
- package/src/tasks/validator/index.js +7 -1
- package/src/util.js +18 -0
- package/tests/assets/components/create/Pega_DXIL_MyDetails.zip +0 -0
- package/tests/assets/components/create/Pega_DXIL_MyTestText/demo.stories.tsx +0 -3
- package/tests/assets/components/create/Pega_DXIL_MyTestText/index.tsx +94 -4
- package/tests/assets/components/create/_components.md +1 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyBoolean/demo.stories.tsx +3 -13
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyBoolean/index.tsx +8 -5
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCaseWidget/demo.stories.tsx +3 -2
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCurrency/demo.stories.tsx +2 -9
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCurrency/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCurrency/mock.ts +2 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDate/demo.stories.tsx +8 -19
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDate/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDateTime/demo.stories.tsx +7 -18
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDateTime/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDateTime/mock.ts +1 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDecimal/demo.stories.tsx +1 -7
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDecimal/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDecimal/mock.ts +1 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/Avatar.tsx +78 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/DetailsRender.tsx +52 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/HighlightRender.tsx +46 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/Operator.tsx +215 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/StatusWork.tsx +17 -19
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/demo.stories.tsx +79 -25
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/index.tsx +48 -37
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/mock.ts +78 -20
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/styles.ts +16 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails.zip +0 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyEmail/demo.stories.tsx +1 -5
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyEmail/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyForm/DetailsRender.tsx +59 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyForm/demo.stories.tsx +5 -3
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyForm/index.tsx +28 -5
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/PConnProps.d.ts +46 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/config.json +64 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/demo.stories.tsx +104 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/index.tsx +215 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/mock.ts +5 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/styles.ts +8 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyInteger/demo.stories.tsx +2 -6
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyInteger/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPage/GetNextWork.tsx +2 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPage/demo.stories.tsx +4 -3
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPage/localizations.json +4 -2
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +5 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPageWidget/demo.stories.tsx +91 -13
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPageWidget/index.tsx +67 -5
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyParagraph/demo.stories.tsx +1 -5
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyParagraph/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyParagraph/mock.ts +1 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPercentage/demo.stories.tsx +2 -6
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPercentage/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPercentage/mock.ts +1 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPhone/demo.stories.tsx +2 -5
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPhone/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPhone/mock.ts +1 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPicklist/demo.stories.tsx +2 -6
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPicklist/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPicklist/mock.ts +1 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyRadioButtons/demo.stories.tsx +1 -7
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MySearchbox/demo.stories.tsx +2 -8
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MySearchbox/index.tsx +11 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MySearchbox/utils.ts +3 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyText/demo.stories.tsx +0 -3
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyText/index.tsx +94 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTextInput/StatusWork.tsx +3 -9
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTextInput/demo.stories.tsx +1 -5
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTextInput/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTextInput/mock.ts +1 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +5 -15
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTimeOfDay/index.tsx +1 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/Avatar.tsx +78 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/DetailsRender.tsx +52 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/HighlightRender.tsx +46 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/Operator.tsx +215 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/StatusWork.tsx +17 -19
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +96 -27
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/index.tsx +39 -36
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/mock.ts +68 -10
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/styles.ts +15 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/DetailsRender.tsx +59 -0
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +4 -2
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/index.tsx +23 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyURL/demo.stories.tsx +1 -5
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyURL/mock.ts +1 -0
- package/tests/assets/components/createAll/Constellation/_components.md +1 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyBoolean/demo.stories.tsx +3 -13
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyBoolean/index.tsx +8 -5
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyCurrency/demo.stories.tsx +2 -9
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyCurrency/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyCurrency/mock.ts +2 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDate/demo.stories.tsx +8 -19
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDate/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDateTime/demo.stories.tsx +7 -18
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDateTime/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDateTime/mock.ts +1 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDecimal/demo.stories.tsx +1 -7
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDecimal/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDecimal/mock.ts +1 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/Avatar.tsx +78 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/DetailsRender.tsx +52 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/HighlightRender.tsx +46 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/Operator.tsx +215 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/StatusWork.tsx +17 -19
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/demo.stories.tsx +79 -25
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/index.tsx +48 -37
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/mock.ts +78 -20
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/styles.ts +16 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails.zip +0 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyEmail/demo.stories.tsx +1 -5
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyEmail/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyForm/DetailsRender.tsx +59 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyForm/demo.stories.tsx +5 -3
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyForm/index.tsx +28 -5
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/PConnProps.d.ts +46 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/config.json +32 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/demo.stories.tsx +103 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/index.tsx +213 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/mock.ts +5 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/styles.ts +8 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyInteger/demo.stories.tsx +2 -6
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyInteger/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPage/GetNextWork.tsx +2 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPage/demo.stories.tsx +4 -3
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPage/localizations.json +4 -2
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/demo.stories.tsx +88 -9
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/index.tsx +67 -5
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyParagraph/demo.stories.tsx +1 -5
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyParagraph/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyParagraph/mock.ts +1 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPercentage/demo.stories.tsx +2 -6
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPercentage/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPercentage/mock.ts +1 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPhone/demo.stories.tsx +2 -5
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPhone/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPhone/mock.ts +1 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPicklist/demo.stories.tsx +2 -6
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPicklist/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPicklist/mock.ts +1 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyRadioButtons/demo.stories.tsx +1 -7
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MySearchbox/demo.stories.tsx +2 -8
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MySearchbox/index.tsx +11 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MySearchbox/utils.ts +3 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyText/demo.stories.tsx +0 -3
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyText/index.tsx +94 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTextInput/StatusWork.tsx +3 -9
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTextInput/demo.stories.tsx +1 -5
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTextInput/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTextInput/mock.ts +1 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +5 -15
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/index.tsx +1 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/Avatar.tsx +78 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/DetailsRender.tsx +52 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/HighlightRender.tsx +46 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/Operator.tsx +215 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/StatusWork.tsx +17 -19
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +96 -27
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/index.tsx +39 -36
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/mock.ts +68 -10
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/styles.ts +15 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/DetailsRender.tsx +59 -0
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +4 -2
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/index.tsx +23 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyURL/demo.stories.tsx +1 -5
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyURL/mock.ts +1 -0
- package/tests/assets/components/createAll/Launchpad/_components.md +1 -0
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { Fragment } from 'react';
|
|
2
|
-
import { Grid, Flex, FieldGroup, withConfiguration } from '@pega/cosmos-react-core';
|
|
1
|
+
import { Fragment, Children, ReactElement } from 'react';
|
|
2
|
+
import { Grid, Flex, FieldGroup, withConfiguration, GridContainerProps } from '@pega/cosmos-react-core';
|
|
3
3
|
import type { PConnFieldProps } from './PConnProps';
|
|
4
|
+
import DetailsRender from './DetailsRender';
|
|
5
|
+
import HighlightRender from './HighlightRender';
|
|
4
6
|
|
|
5
|
-
import StyledPegaDxilMyDetailsWrapper from './styles';
|
|
7
|
+
import StyledPegaDxilMyDetailsWrapper, { StyledDetailsGridContainer, StyledHighlightedFieldsHrLine } from './styles';
|
|
6
8
|
|
|
7
9
|
// includes in bundle
|
|
8
10
|
import { getAllFields } from './utils';
|
|
9
11
|
|
|
10
|
-
|
|
11
12
|
// interface for props
|
|
12
13
|
interface PegaDxilMyDetailsProps extends PConnFieldProps {
|
|
13
14
|
// If any, enter additional props that only exist on TextInput here
|
|
@@ -16,31 +17,34 @@ interface PegaDxilMyDetailsProps extends PConnFieldProps {
|
|
|
16
17
|
children: any;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
// Duplicated runtime code from Constellation Design System Component
|
|
20
|
-
|
|
21
20
|
// props passed in combination of props from property panel (config.json) and run time props from Constellation
|
|
22
21
|
// any default values in config.pros should be set in defaultProps at bottom of this file
|
|
23
22
|
function PegaDxilMyDetails(props: PegaDxilMyDetailsProps) {
|
|
24
23
|
|
|
25
|
-
const { getPConnect,
|
|
24
|
+
const { getPConnect, label, showLabel = true, showHighlightedData = false } = props;
|
|
26
25
|
const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
|
|
27
26
|
|
|
27
|
+
// storybook doesn't get children of 1 as an array of 1
|
|
28
|
+
let { children } = props;
|
|
29
|
+
if (!Array.isArray(children)) {
|
|
30
|
+
children = Children.toArray(children);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// update children with readonly
|
|
34
|
+
Children.toArray(children).forEach(child => {
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
child.props.getPConnect().setInheritedProp('readOnly', true);
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
child.props.getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');
|
|
39
|
+
});
|
|
40
|
+
|
|
28
41
|
const numRegions = getAllFields(getPConnect)?.length;
|
|
29
42
|
const gridRepeat = "repeat(".concat(numRegions).concat(", 1fr)");
|
|
30
|
-
|
|
31
|
-
|
|
43
|
+
|
|
44
|
+
const gridContainer: GridContainerProps = { colGap: 6 };
|
|
32
45
|
gridContainer.cols = gridRepeat;
|
|
33
|
-
// @ts-ignore
|
|
34
46
|
gridContainer.alignItems = 'start';
|
|
35
47
|
|
|
36
|
-
const gridHighlightContainer = { "gap": 2};
|
|
37
|
-
// @ts-ignore
|
|
38
|
-
gridHighlightContainer.cols = gridRepeat;
|
|
39
|
-
// @ts-ignore
|
|
40
|
-
gridHighlightContainer.alignItems = 'start';
|
|
41
|
-
// @ts-ignore
|
|
42
|
-
gridHighlightContainer.pad = [0, 0, 2, 0];
|
|
43
|
-
|
|
44
48
|
// Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent
|
|
45
49
|
let highlightedDataArr = [];
|
|
46
50
|
if (showHighlightedData) {
|
|
@@ -48,33 +52,40 @@ function PegaDxilMyDetails(props: PegaDxilMyDetailsProps) {
|
|
|
48
52
|
const { highlightedData = [] } = getPConnect().getRawMetadata().config;
|
|
49
53
|
// @ts-ignore
|
|
50
54
|
highlightedDataArr = highlightedData.map((field) => {
|
|
51
|
-
field
|
|
52
|
-
|
|
53
|
-
// Mark as status display when using pyStatusWork
|
|
54
|
-
if (field.config.value === '@P .pyStatusWork') {
|
|
55
|
-
field.type = 'TextInput';
|
|
56
|
-
field.config.displayAsStatus = true;
|
|
57
|
-
}
|
|
58
|
-
// @ts-ignore
|
|
59
|
-
return getPConnect().createComponent(field);
|
|
55
|
+
return <HighlightRender field={field} getPConnect={props.getPConnect} />;
|
|
60
56
|
});
|
|
61
57
|
}
|
|
62
58
|
|
|
59
|
+
|
|
63
60
|
return (
|
|
64
61
|
<StyledPegaDxilMyDetailsWrapper>
|
|
65
62
|
<FieldGroup name={propsToUse.showLabel ? propsToUse.label : ''}>
|
|
66
63
|
{showHighlightedData && highlightedDataArr.length > 0 && (
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
64
|
+
<>
|
|
65
|
+
<Flex
|
|
66
|
+
// @ts-ignore
|
|
67
|
+
container={{ direction: 'row', alignItems: 'normal', colGap: 10 }}
|
|
68
|
+
data-testid={`highlighted-column-count-${numRegions}`}
|
|
69
|
+
>
|
|
70
|
+
{highlightedDataArr.map((child: ReactElement, i: number) => (
|
|
71
|
+
<Fragment key={`hf-${i + 1}`}>{child}</Fragment>
|
|
72
|
+
))}
|
|
73
|
+
</Flex>
|
|
74
|
+
<StyledHighlightedFieldsHrLine />
|
|
75
|
+
</>
|
|
73
76
|
)}
|
|
74
|
-
<Grid
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
{
|
|
77
|
+
<Grid
|
|
78
|
+
as={StyledDetailsGridContainer}
|
|
79
|
+
container={gridContainer}
|
|
80
|
+
data-testid={`column-count-${numRegions}`} >
|
|
81
|
+
{children.map((child: ReactElement, i: number) => (
|
|
82
|
+
|
|
83
|
+
<Flex
|
|
84
|
+
// @ts-ignore
|
|
85
|
+
container={{ direction: 'column', alignItems: 'normal', colGap: 1, rowGap: 1.5 }}
|
|
86
|
+
key={`r-${i + 1}`}
|
|
87
|
+
>
|
|
88
|
+
<DetailsRender child={child} />
|
|
78
89
|
</Flex>
|
|
79
90
|
))}
|
|
80
91
|
</Grid>
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
3
2
|
// @ts-nocheck
|
|
4
3
|
export const pyReviewRaw = {
|
|
5
4
|
name: 'pyReview',
|
|
@@ -17,6 +16,7 @@ export const pyReviewRaw = {
|
|
|
17
16
|
config: {
|
|
18
17
|
value: '@P .pyStatusWork',
|
|
19
18
|
label: '@L Work Status',
|
|
19
|
+
hideLabel: true,
|
|
20
20
|
displayMode: 'STACKED_LARGE_VAL',
|
|
21
21
|
displayAsStatus: true,
|
|
22
22
|
key: 'pyStatusWork'
|
|
@@ -27,6 +27,7 @@ export const pyReviewRaw = {
|
|
|
27
27
|
config: {
|
|
28
28
|
value: '@P .pyID',
|
|
29
29
|
label: '@L Case ID',
|
|
30
|
+
hideLabel: true,
|
|
30
31
|
displayMode: 'STACKED_LARGE_VAL',
|
|
31
32
|
key: 'pyID'
|
|
32
33
|
}
|
|
@@ -36,6 +37,7 @@ export const pyReviewRaw = {
|
|
|
36
37
|
config: {
|
|
37
38
|
value: '@P .pxCreateDateTime',
|
|
38
39
|
label: '@L Create date/time',
|
|
40
|
+
hideLabel: true,
|
|
39
41
|
displayMode: 'STACKED_LARGE_VAL',
|
|
40
42
|
key: 'pxCreateDateTime'
|
|
41
43
|
}
|
|
@@ -44,6 +46,7 @@ export const pyReviewRaw = {
|
|
|
44
46
|
type: 'UserReference',
|
|
45
47
|
config: {
|
|
46
48
|
label: '@L Create Operator',
|
|
49
|
+
hideLabel: true,
|
|
47
50
|
value: '@USER .pxCreateOperator',
|
|
48
51
|
placeholder: 'Select...',
|
|
49
52
|
displayMode: 'STACKED_LARGE_VAL',
|
|
@@ -66,6 +69,7 @@ export const pyReviewRaw = {
|
|
|
66
69
|
{
|
|
67
70
|
name: 'A',
|
|
68
71
|
type: 'Region',
|
|
72
|
+
key: 'A',
|
|
69
73
|
getPConnect: () => {
|
|
70
74
|
return {
|
|
71
75
|
getRawMetadata: () => {
|
|
@@ -78,17 +82,17 @@ export const pyReviewRaw = {
|
|
|
78
82
|
type: 'DateTime',
|
|
79
83
|
config: {
|
|
80
84
|
value: '@P .pySLADeadline',
|
|
81
|
-
label: '@L SLA Deadline'
|
|
82
|
-
|
|
83
|
-
|
|
85
|
+
label: '@L SLA Deadline',
|
|
86
|
+
key: 'pySLADeadline'
|
|
87
|
+
}
|
|
84
88
|
},
|
|
85
89
|
{
|
|
86
90
|
type: 'DateTime',
|
|
87
91
|
config: {
|
|
88
92
|
value: '@P .pySLAGoal',
|
|
89
|
-
label: '@L SLA Goal'
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
label: '@L SLA Goal',
|
|
94
|
+
key: 'pySLAGoal'
|
|
95
|
+
}
|
|
92
96
|
},
|
|
93
97
|
{
|
|
94
98
|
type: 'RadioButtons',
|
|
@@ -96,9 +100,9 @@ export const pyReviewRaw = {
|
|
|
96
100
|
value: '@P .pySLAStartTime',
|
|
97
101
|
label: '@L SLA Start Time',
|
|
98
102
|
listType: 'associated',
|
|
99
|
-
datasource: '@ASSOCIATED .pySLAStartTime'
|
|
100
|
-
|
|
101
|
-
|
|
103
|
+
datasource: '@ASSOCIATED .pySLAStartTime',
|
|
104
|
+
key: 'pySLAStartTime'
|
|
105
|
+
}
|
|
102
106
|
}
|
|
103
107
|
]
|
|
104
108
|
}
|
|
@@ -120,7 +124,6 @@ export const pyReviewResolved = {
|
|
|
120
124
|
config: {
|
|
121
125
|
value: 'New',
|
|
122
126
|
label: 'Work Status',
|
|
123
|
-
displayMode: 'STACKED_LARGE_VAL',
|
|
124
127
|
displayAsStatus: true
|
|
125
128
|
}
|
|
126
129
|
},
|
|
@@ -128,16 +131,14 @@ export const pyReviewResolved = {
|
|
|
128
131
|
type: 'TextInput',
|
|
129
132
|
config: {
|
|
130
133
|
value: 'M-1002',
|
|
131
|
-
label: 'Case ID'
|
|
132
|
-
displayMode: 'STACKED_LARGE_VAL'
|
|
134
|
+
label: 'Case ID'
|
|
133
135
|
}
|
|
134
136
|
},
|
|
135
137
|
{
|
|
136
138
|
type: 'DateTime',
|
|
137
139
|
config: {
|
|
138
140
|
value: '2022-12-11T20:06:27.232Z',
|
|
139
|
-
label: 'Create date/time'
|
|
140
|
-
displayMode: 'STACKED_LARGE_VAL'
|
|
141
|
+
label: 'Create date/time'
|
|
141
142
|
}
|
|
142
143
|
},
|
|
143
144
|
{
|
|
@@ -148,8 +149,7 @@ export const pyReviewResolved = {
|
|
|
148
149
|
userId: 'conns',
|
|
149
150
|
userName: 'Sara Connor'
|
|
150
151
|
},
|
|
151
|
-
placeholder: 'Select...'
|
|
152
|
-
displayMode: 'STACKED_LARGE_VAL'
|
|
152
|
+
placeholder: 'Select...'
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
],
|
|
@@ -159,22 +159,25 @@ export const pyReviewResolved = {
|
|
|
159
159
|
export const regionChildrenResolved = [
|
|
160
160
|
{
|
|
161
161
|
readOnly: true,
|
|
162
|
-
value: '',
|
|
162
|
+
value: 'Deadline',
|
|
163
163
|
label: 'SLA Deadline',
|
|
164
|
+
hideLabel: true,
|
|
164
165
|
displayMode: 'LABELS_LEFT',
|
|
165
166
|
key: 'SLA Deadline'
|
|
166
167
|
},
|
|
167
168
|
{
|
|
168
169
|
readOnly: true,
|
|
169
|
-
value: '',
|
|
170
|
+
value: 'Goal',
|
|
170
171
|
label: 'SLA Goal',
|
|
172
|
+
hideLabel: true,
|
|
171
173
|
displayMode: 'LABELS_LEFT',
|
|
172
174
|
key: 'SLA Goal'
|
|
173
175
|
},
|
|
174
176
|
{
|
|
175
177
|
readOnly: true,
|
|
176
|
-
value: '',
|
|
178
|
+
value: 'Start Time',
|
|
177
179
|
label: 'SLA Start Time',
|
|
180
|
+
hideLabel: true,
|
|
178
181
|
listType: 'associated',
|
|
179
182
|
datasource: [
|
|
180
183
|
{
|
|
@@ -190,3 +193,58 @@ export const regionChildrenResolved = [
|
|
|
190
193
|
key: 'SLA Start Time'
|
|
191
194
|
}
|
|
192
195
|
];
|
|
196
|
+
|
|
197
|
+
export const operatorDetails = {
|
|
198
|
+
data: {
|
|
199
|
+
pzLoadTime: 'January 18, 2023 10:33:19 AM EST',
|
|
200
|
+
pzPageNameHash: '_pa1519192551088960pz',
|
|
201
|
+
pyOperatorInfo: {
|
|
202
|
+
pyUserName: 'french DigV2',
|
|
203
|
+
pyPosition: '',
|
|
204
|
+
pyImageInsKey: '',
|
|
205
|
+
pySkills: [
|
|
206
|
+
{
|
|
207
|
+
pySkillName: '',
|
|
208
|
+
pzIndexOwnerKey: 'DATA-ADMIN-OPERATOR-ID FRENCHTEST.DIGV2',
|
|
209
|
+
pySkillRating: 0
|
|
210
|
+
}
|
|
211
|
+
],
|
|
212
|
+
pyReportToUserName: '',
|
|
213
|
+
pyReportTo: '',
|
|
214
|
+
pyOrganization: 'DXIL',
|
|
215
|
+
pyTitle: '',
|
|
216
|
+
pyLabel: 'frenchTest.DigV2',
|
|
217
|
+
pyEmailAddress: 'User@DigV2',
|
|
218
|
+
pyTelephone: ''
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
status: 200,
|
|
222
|
+
statusText: '',
|
|
223
|
+
headers: {
|
|
224
|
+
'content-length': '435',
|
|
225
|
+
'content-type': 'application/json;charset=UTF-8'
|
|
226
|
+
},
|
|
227
|
+
request: {}
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export const configProps = {
|
|
231
|
+
label: 'Create operator',
|
|
232
|
+
createLabel: 'Created',
|
|
233
|
+
updateLabel: 'Updated',
|
|
234
|
+
updateDateTime: '2023-01-16T14:53:33.280Z',
|
|
235
|
+
createDateTime: '2023-01-16T14:53:33.198Z',
|
|
236
|
+
updateOperator: {
|
|
237
|
+
userId: 'admin@mediaco',
|
|
238
|
+
userName: 'admin'
|
|
239
|
+
},
|
|
240
|
+
createOperator: {
|
|
241
|
+
userId: 'admin@mediaco',
|
|
242
|
+
userName: 'admin'
|
|
243
|
+
},
|
|
244
|
+
resolveLabel: '',
|
|
245
|
+
resolveOperator: '',
|
|
246
|
+
resolveDateTime: '',
|
|
247
|
+
hideLabel: true,
|
|
248
|
+
key: '_532zx1dah',
|
|
249
|
+
displayMode: 'LABELS_LEFT'
|
|
250
|
+
};
|
|
@@ -6,3 +6,19 @@ export default styled.div(() => {
|
|
|
6
6
|
margin: 0px 0;
|
|
7
7
|
`;
|
|
8
8
|
});
|
|
9
|
+
|
|
10
|
+
export const StyledDetailsGridContainer = styled.div(() => {
|
|
11
|
+
return css`
|
|
12
|
+
margin-line-start: 1;
|
|
13
|
+
`;
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
export const StyledHighlightedFieldsHrLine = styled.hr(() => {
|
|
18
|
+
return css`
|
|
19
|
+
line: {
|
|
20
|
+
margin: '0.75rem 0';
|
|
21
|
+
opacity: '50%'
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
24
|
+
});
|
|
@@ -20,13 +20,8 @@ export const BasePegaDxilMyEmail: Story = args => {
|
|
|
20
20
|
|
|
21
21
|
const props = {
|
|
22
22
|
value: configProps.value,
|
|
23
|
-
label: configProps.label,
|
|
24
|
-
placeholder: configProps.placeholder,
|
|
25
|
-
helperText: configProps.helperText,
|
|
26
|
-
testId: configProps.testId,
|
|
27
23
|
hasSuggestions: configProps.hasSuggestions,
|
|
28
24
|
fieldMetadata,
|
|
29
|
-
validatemessage: '',
|
|
30
25
|
getPConnect: () => {
|
|
31
26
|
return {
|
|
32
27
|
getStateProps: () => {
|
|
@@ -64,5 +59,6 @@ BasePegaDxilMyEmail.args = {
|
|
|
64
59
|
status: configProps.status,
|
|
65
60
|
hideLabel: configProps.hideLabel,
|
|
66
61
|
displayMode: configProps.displayMode,
|
|
62
|
+
variant: configProps.variant,
|
|
67
63
|
validatemessage: configProps.validatemessage
|
|
68
64
|
};
|
|
@@ -128,7 +128,7 @@ function PegaDxilMyEmail(props: PegaDxilMyEmailProps) {
|
|
|
128
128
|
}
|
|
129
129
|
return displayMode === 'DISPLAY_ONLY' ? (
|
|
130
130
|
<StyledPegaDxilMyEmailWrapper>
|
|
131
|
-
displayComp
|
|
131
|
+
{displayComp}
|
|
132
132
|
</StyledPegaDxilMyEmailWrapper>
|
|
133
133
|
) : (
|
|
134
134
|
<StyledPegaDxilMyEmailWrapper>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Fragment, ReactElement } from 'react';
|
|
2
|
+
import { FieldValueList } from '@pega/cosmos-react-core';
|
|
3
|
+
|
|
4
|
+
interface DetailsRenderProps {
|
|
5
|
+
children?: never;
|
|
6
|
+
child: NonNullable<ReactElement>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const DetailsRender = (props: DetailsRenderProps) => {
|
|
10
|
+
const { child } = props;
|
|
11
|
+
|
|
12
|
+
const kids = child.props.getPConnect().getChildren();
|
|
13
|
+
|
|
14
|
+
const displayCompArr: ReactElement[] = [];
|
|
15
|
+
|
|
16
|
+
Object.values(kids).forEach((value: any) => {
|
|
17
|
+
const { type } = value.getPConnect().getRawMetadata();
|
|
18
|
+
const { hideLabel, variant, testId, label } = value
|
|
19
|
+
.getPConnect()
|
|
20
|
+
.resolveConfigProps(value.getPConnect().getConfigProps());
|
|
21
|
+
|
|
22
|
+
let displayComp;
|
|
23
|
+
const key = JSON.stringify(value.getPConnect());
|
|
24
|
+
|
|
25
|
+
if (type === 'reference') {
|
|
26
|
+
const refElement = value.getPConnect().getComponent();
|
|
27
|
+
|
|
28
|
+
displayCompArr.push(refElement);
|
|
29
|
+
} else {
|
|
30
|
+
const element = value.getPConnect().getComponent();
|
|
31
|
+
const displayEl = <Fragment key={key}>{element}</Fragment>;
|
|
32
|
+
|
|
33
|
+
const fvlStyle = {
|
|
34
|
+
myColGap: {
|
|
35
|
+
columnGap: '0',
|
|
36
|
+
marginLineStart: 0
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
// const myEl = <div>boo</div>;
|
|
41
|
+
displayComp = (
|
|
42
|
+
<Fragment key={key}>
|
|
43
|
+
<FieldValueList
|
|
44
|
+
style={fvlStyle.myColGap}
|
|
45
|
+
variant={hideLabel ? 'stacked' : variant}
|
|
46
|
+
data-testid={testId}
|
|
47
|
+
fields={[{ id: '1', name: hideLabel ? '' : label, value: displayEl }]}
|
|
48
|
+
/>
|
|
49
|
+
</Fragment>
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
displayCompArr.push(displayComp);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
return <>{displayCompArr}</>;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export default DetailsRender;
|
|
@@ -139,8 +139,6 @@ const renderField = resolvedProps => {
|
|
|
139
139
|
|
|
140
140
|
export const BasePegaDxilMyForm: Story = args => {
|
|
141
141
|
const props = {
|
|
142
|
-
NumCols: 1,
|
|
143
|
-
template: 'DefaultForm',
|
|
144
142
|
getPConnect: () => {
|
|
145
143
|
return {
|
|
146
144
|
getChildren: () => {
|
|
@@ -181,4 +179,8 @@ export const BasePegaDxilMyForm: Story = args => {
|
|
|
181
179
|
);
|
|
182
180
|
};
|
|
183
181
|
|
|
184
|
-
BasePegaDxilMyForm.args = {
|
|
182
|
+
BasePegaDxilMyForm.args = {
|
|
183
|
+
showLabel: true,
|
|
184
|
+
label: 'Form template',
|
|
185
|
+
NumCols: 1,
|
|
186
|
+
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Grid, FieldGroup, withConfiguration } from '@pega/cosmos-react-core';
|
|
1
|
+
import { Grid, Flex, FieldGroup, withConfiguration } from '@pega/cosmos-react-core';
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
import type { PConnFieldProps } from './PConnProps';
|
|
5
|
+
import DetailsRender from './DetailsRender';
|
|
5
6
|
|
|
6
7
|
import StyledPegaDxilMyFormWrapper from './styles';
|
|
7
8
|
|
|
@@ -13,19 +14,41 @@ interface PegaDxilMyFormProps extends PConnFieldProps {
|
|
|
13
14
|
children: any;
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
// Duplicated runtime code from Constellation Design System Component
|
|
17
|
-
|
|
18
17
|
// props passed in combination of props from property panel (config.json) and run time props from Constellation
|
|
19
18
|
// any default values in config.pros should be set in defaultProps at bottom of this file
|
|
20
19
|
function PegaDxilMyForm(props: PegaDxilMyFormProps) {
|
|
21
20
|
|
|
22
|
-
const { children = [], NumCols = '1', label, showLabel, getPConnect } = props;
|
|
21
|
+
const { children = [], NumCols = '1', label, showLabel, getPConnect, readOnly, displayMode } = props;
|
|
23
22
|
const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
|
|
24
23
|
|
|
25
24
|
const nCols = parseInt(NumCols, 10);
|
|
26
25
|
|
|
27
|
-
// console.log(`Rendering ${getPConnect()?.getComponentName()} with ${template} with ${children?.length} Region(s)`);
|
|
28
26
|
|
|
27
|
+
if (readOnly && readOnly === true && displayMode && displayMode === 'DISPLAY_ONLY') {
|
|
28
|
+
const numRegions = '1';
|
|
29
|
+
const gridRepeat = 'repeat('.concat(numRegions).concat(', 1fr)');
|
|
30
|
+
const gridContainer = { colGap: 0, 'margin-line-start': 0 };
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
gridContainer.cols = gridRepeat;
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<StyledPegaDxilMyFormWrapper>
|
|
36
|
+
<FieldGroup name={propsToUse.showLabel ? propsToUse.label : ''}>
|
|
37
|
+
<Grid container={gridContainer} data-testid={`column-count-${numRegions}`}>
|
|
38
|
+
{children.map((child: any, i: number) => (
|
|
39
|
+
<Flex
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
container={{ direction: 'column', alignItems: 'normal', colGap: 1, rowGap: 1.5 }}
|
|
42
|
+
key={`r-${i + 1}`}
|
|
43
|
+
>
|
|
44
|
+
<DetailsRender child={child} />
|
|
45
|
+
</Flex>
|
|
46
|
+
))}
|
|
47
|
+
</Grid>
|
|
48
|
+
</FieldGroup>
|
|
49
|
+
</StyledPegaDxilMyFormWrapper>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
29
52
|
return (
|
|
30
53
|
<StyledPegaDxilMyFormWrapper>
|
|
31
54
|
<FieldGroup name={propsToUse.showLabel ? propsToUse.label : ''}>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import {PConnect } from '@pega/pcore-pconnect-typedefs';
|
|
2
|
+
|
|
3
|
+
// PConnProps.d.ts
|
|
4
|
+
// This gives us a place to have each component (which is most DX Components) that is
|
|
5
|
+
// expected to have a getPConnect extend its props (from BaseProps)
|
|
6
|
+
// such that every component will be expected to have a getPConnect() function
|
|
7
|
+
// that returns a PConnect object. (new/better way of doing .propTypes).
|
|
8
|
+
// This PConnProps can be extended to include other props that we know are in every component
|
|
9
|
+
export interface PConnProps {
|
|
10
|
+
// getPConnect should exist for every C11n component. (add @ts-ignore in special cases where it isn't)
|
|
11
|
+
getPConnect: () => typeof PConnect;
|
|
12
|
+
|
|
13
|
+
// Allow any/all other key/value pairs in the BaseProps for now
|
|
14
|
+
// TODO: refine which other props are always expected for various component
|
|
15
|
+
// types and consider further interface "subclassing". For example, we may
|
|
16
|
+
// want to create a "BasePropsForm" that gives guidance on required, readonly, etc.
|
|
17
|
+
// and any other props that every Form component expects.
|
|
18
|
+
// For example, see the PConnFieldProps below.
|
|
19
|
+
// NOTE: if you uncomment the line below, the PConnProps type will allow
|
|
20
|
+
// otherwise undefined types to appear. This can be helpful for debugging
|
|
21
|
+
// or when adding new components whose types aren't yet known.
|
|
22
|
+
// [key: string]: any;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
// PConnFieldProps extends PConnProps to bring in the common properties that are
|
|
27
|
+
// associated with most field components (ex: Dropdown, TextInput, etc.) in the
|
|
28
|
+
// components/field directory
|
|
29
|
+
export interface PConnFieldProps extends PConnProps {
|
|
30
|
+
label: string,
|
|
31
|
+
required: boolean,
|
|
32
|
+
disabled: boolean,
|
|
33
|
+
value: any,
|
|
34
|
+
validatemessage: string,
|
|
35
|
+
status?: string,
|
|
36
|
+
onChange?: any,
|
|
37
|
+
onBlur?: any,
|
|
38
|
+
readOnly: boolean,
|
|
39
|
+
testId: string,
|
|
40
|
+
helperText: string,
|
|
41
|
+
displayMode?: string,
|
|
42
|
+
hideLabel: boolean,
|
|
43
|
+
placeholder?: string,
|
|
44
|
+
fieldMetadata?: any,
|
|
45
|
+
additionalProps?: any
|
|
46
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Pega_DXIL_MyIconButtonURL",
|
|
3
|
+
"label": "My Icon Button URL",
|
|
4
|
+
"description": "My Icon Button URL",
|
|
5
|
+
"organization": "Pega",
|
|
6
|
+
"version": "0.0.1",
|
|
7
|
+
"library": "DXIL",
|
|
8
|
+
"allowedApplications": [],
|
|
9
|
+
"componentKey": "Pega_DXIL_MyIconButtonURL",
|
|
10
|
+
"type": "Field",
|
|
11
|
+
"subtype": "Text-URL",
|
|
12
|
+
"icon": "images/pz-url-active.svg",
|
|
13
|
+
"properties": [
|
|
14
|
+
{
|
|
15
|
+
"label": "Advanced",
|
|
16
|
+
"format": "GROUP",
|
|
17
|
+
"collapsible": true,
|
|
18
|
+
"properties": [
|
|
19
|
+
{
|
|
20
|
+
"name": "testId",
|
|
21
|
+
"label": "Test ID",
|
|
22
|
+
"format": "TEXT",
|
|
23
|
+
"ignorePattern": "[^-_\\p{N}\\p{L}]",
|
|
24
|
+
"includeAnnotations": false
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"defaultConfig": {
|
|
30
|
+
"label": "@L $this.label"
|
|
31
|
+
}
|
|
32
|
+
}
|