@pega/cosmos-react-demos 4.0.0-dev.8.3 → 4.0.0-dev.9.0
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/jsx/build/AppShell/AppShell.mocks.d.ts +16 -14
- package/jsx/build/AppShell/AppShell.mocks.d.ts.map +1 -1
- package/jsx/build/AppShell/AppShell.mocks.jsx +144 -101
- package/jsx/build/AppShell/AppShell.mocks.jsx.map +1 -1
- package/jsx/build/AppShell/AppShell.stories.d.ts +1 -0
- package/jsx/build/AppShell/AppShell.stories.d.ts.map +1 -1
- package/jsx/build/AppShell/AppShell.stories.jsx +7 -3
- package/jsx/build/AppShell/AppShell.stories.jsx.map +1 -1
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +2 -0
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -1
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js +23 -0
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -1
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -1
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx +4 -4
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx.map +1 -1
- package/jsx/build/PageBanner/PageBanner.stories.d.ts +15 -0
- package/jsx/build/PageBanner/PageBanner.stories.d.ts.map +1 -0
- package/jsx/build/PageBanner/PageBanner.stories.jsx +41 -0
- package/jsx/build/PageBanner/PageBanner.stories.jsx.map +1 -0
- package/jsx/build/PageTemplates/GalleryPage.stories.d.ts +7 -3
- package/jsx/build/PageTemplates/GalleryPage.stories.d.ts.map +1 -1
- package/jsx/build/PageTemplates/GalleryPage.stories.jsx +29 -19
- package/jsx/build/PageTemplates/GalleryPage.stories.jsx.map +1 -1
- package/jsx/build/PageTemplates/ShowcasePage.stories.d.ts +17 -0
- package/jsx/build/PageTemplates/ShowcasePage.stories.d.ts.map +1 -0
- package/jsx/build/PageTemplates/ShowcasePage.stories.jsx +42 -0
- package/jsx/build/PageTemplates/ShowcasePage.stories.jsx.map +1 -0
- package/jsx/condition-builder/ConditionBuilder/props.mock.js +4 -4
- package/jsx/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
- package/jsx/core/AppShell/AppShell.mocks.jsx +1 -1
- package/jsx/core/AppShell/AppShell.mocks.jsx.map +1 -1
- package/jsx/core/AppShell/AppShell.stories.d.ts +1 -0
- package/jsx/core/AppShell/AppShell.stories.d.ts.map +1 -1
- package/jsx/core/AppShell/AppShell.stories.jsx +21 -6
- package/jsx/core/AppShell/AppShell.stories.jsx.map +1 -1
- package/jsx/core/Banner/Banner.stories.d.ts +1 -0
- package/jsx/core/Banner/Banner.stories.d.ts.map +1 -1
- package/jsx/core/Banner/Banner.stories.jsx +3 -3
- package/jsx/core/Banner/Banner.stories.jsx.map +1 -1
- package/jsx/cs/CSAppShell/CSAppShell.mocks.d.ts +1 -0
- package/jsx/cs/CSAppShell/CSAppShell.mocks.d.ts.map +1 -1
- package/jsx/cs/CSAppShell/CSAppShell.mocks.jsx +46 -1
- package/jsx/cs/CSAppShell/CSAppShell.mocks.jsx.map +1 -1
- package/jsx/cs/CSAppShell/CSAppShell.stories.d.ts.map +1 -1
- package/jsx/cs/CSAppShell/CSAppShell.stories.jsx +2 -2
- package/jsx/cs/CSAppShell/CSAppShell.stories.jsx.map +1 -1
- package/jsx/social/Chat/Chat.mocks.d.ts +2 -1
- package/jsx/social/Chat/Chat.mocks.d.ts.map +1 -1
- package/jsx/social/Chat/Chat.mocks.js +26 -0
- package/jsx/social/Chat/Chat.mocks.js.map +1 -1
- package/jsx/social/Chat/Chat.stories.d.ts +5 -2
- package/jsx/social/Chat/Chat.stories.d.ts.map +1 -1
- package/jsx/social/Chat/Chat.stories.jsx +35 -101
- package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
- package/jsx/social/Email/Email.mocks.d.ts +49 -7
- package/jsx/social/Email/Email.mocks.d.ts.map +1 -1
- package/jsx/social/Email/Email.mocks.jsx +127 -15
- package/jsx/social/Email/Email.mocks.jsx.map +1 -1
- package/jsx/social/Email/Email.stories.d.ts +10 -0
- package/jsx/social/Email/Email.stories.d.ts.map +1 -1
- package/jsx/social/Email/Email.stories.jsx +129 -12
- package/jsx/social/Email/Email.stories.jsx.map +1 -1
- package/jsx/tools/DevTools/DevTools.stories.d.ts.map +1 -1
- package/jsx/tools/DevTools/DevTools.stories.jsx +2 -4
- package/jsx/tools/DevTools/DevTools.stories.jsx.map +1 -1
- package/jsx/tools/PreviewShell/PreviewShell.mocks.d.ts +3 -1
- package/jsx/tools/PreviewShell/PreviewShell.mocks.d.ts.map +1 -1
- package/jsx/tools/PreviewShell/PreviewShell.mocks.jsx +7 -4
- package/jsx/tools/PreviewShell/PreviewShell.mocks.jsx.map +1 -1
- package/jsx/tools/PreviewShell/PreviewShell.stories.d.ts.map +1 -1
- package/jsx/tools/PreviewShell/PreviewShell.stories.jsx +16 -12
- package/jsx/tools/PreviewShell/PreviewShell.stories.jsx.map +1 -1
- package/jsx/work/Stages/Stages.mocks.jsx +6 -6
- package/jsx/work/Stages/Stages.mocks.jsx.map +1 -1
- package/jsx/work/Tasks/Tasks.stories.d.ts.map +1 -1
- package/jsx/work/Tasks/Tasks.stories.jsx +15 -13
- package/jsx/work/Tasks/Tasks.stories.jsx.map +1 -1
- package/lib/build/AppShell/AppShell.mocks.d.ts +16 -14
- package/lib/build/AppShell/AppShell.mocks.d.ts.map +1 -1
- package/lib/build/AppShell/AppShell.mocks.js +144 -101
- package/lib/build/AppShell/AppShell.mocks.js.map +1 -1
- package/lib/build/AppShell/AppShell.stories.d.ts +1 -0
- package/lib/build/AppShell/AppShell.stories.d.ts.map +1 -1
- package/lib/build/AppShell/AppShell.stories.js +7 -3
- package/lib/build/AppShell/AppShell.stories.js.map +1 -1
- package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +2 -0
- package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -1
- package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js +23 -0
- package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -1
- package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -1
- package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js +4 -4
- package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js.map +1 -1
- package/lib/build/PageBanner/PageBanner.stories.d.ts +15 -0
- package/lib/build/PageBanner/PageBanner.stories.d.ts.map +1 -0
- package/lib/build/PageBanner/PageBanner.stories.js +42 -0
- package/lib/build/PageBanner/PageBanner.stories.js.map +1 -0
- package/lib/build/PageTemplates/GalleryPage.stories.d.ts +7 -3
- package/lib/build/PageTemplates/GalleryPage.stories.d.ts.map +1 -1
- package/lib/build/PageTemplates/GalleryPage.stories.js +29 -19
- package/lib/build/PageTemplates/GalleryPage.stories.js.map +1 -1
- package/lib/build/PageTemplates/ShowcasePage.stories.d.ts +17 -0
- package/lib/build/PageTemplates/ShowcasePage.stories.d.ts.map +1 -0
- package/lib/build/PageTemplates/ShowcasePage.stories.js +43 -0
- package/lib/build/PageTemplates/ShowcasePage.stories.js.map +1 -0
- package/lib/condition-builder/ConditionBuilder/props.mock.js +4 -4
- package/lib/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
- package/lib/core/AppShell/AppShell.mocks.js +1 -1
- package/lib/core/AppShell/AppShell.mocks.js.map +1 -1
- package/lib/core/AppShell/AppShell.stories.d.ts +1 -0
- package/lib/core/AppShell/AppShell.stories.d.ts.map +1 -1
- package/lib/core/AppShell/AppShell.stories.js +21 -6
- package/lib/core/AppShell/AppShell.stories.js.map +1 -1
- package/lib/core/Banner/Banner.stories.d.ts +1 -0
- package/lib/core/Banner/Banner.stories.d.ts.map +1 -1
- package/lib/core/Banner/Banner.stories.js +1 -1
- package/lib/core/Banner/Banner.stories.js.map +1 -1
- package/lib/cs/CSAppShell/CSAppShell.mocks.d.ts +1 -0
- package/lib/cs/CSAppShell/CSAppShell.mocks.d.ts.map +1 -1
- package/lib/cs/CSAppShell/CSAppShell.mocks.js +37 -1
- package/lib/cs/CSAppShell/CSAppShell.mocks.js.map +1 -1
- package/lib/cs/CSAppShell/CSAppShell.stories.d.ts.map +1 -1
- package/lib/cs/CSAppShell/CSAppShell.stories.js +2 -2
- package/lib/cs/CSAppShell/CSAppShell.stories.js.map +1 -1
- package/lib/social/Chat/Chat.mocks.d.ts +2 -1
- package/lib/social/Chat/Chat.mocks.d.ts.map +1 -1
- package/lib/social/Chat/Chat.mocks.js +26 -0
- package/lib/social/Chat/Chat.mocks.js.map +1 -1
- package/lib/social/Chat/Chat.stories.d.ts +5 -2
- package/lib/social/Chat/Chat.stories.d.ts.map +1 -1
- package/lib/social/Chat/Chat.stories.js +36 -76
- package/lib/social/Chat/Chat.stories.js.map +1 -1
- package/lib/social/Email/Email.mocks.d.ts +49 -7
- package/lib/social/Email/Email.mocks.d.ts.map +1 -1
- package/lib/social/Email/Email.mocks.js +127 -15
- package/lib/social/Email/Email.mocks.js.map +1 -1
- package/lib/social/Email/Email.stories.d.ts +10 -0
- package/lib/social/Email/Email.stories.d.ts.map +1 -1
- package/lib/social/Email/Email.stories.js +134 -12
- package/lib/social/Email/Email.stories.js.map +1 -1
- package/lib/tools/DevTools/DevTools.stories.d.ts.map +1 -1
- package/lib/tools/DevTools/DevTools.stories.js +2 -4
- package/lib/tools/DevTools/DevTools.stories.js.map +1 -1
- package/lib/tools/PreviewShell/PreviewShell.mocks.d.ts +3 -1
- package/lib/tools/PreviewShell/PreviewShell.mocks.d.ts.map +1 -1
- package/lib/tools/PreviewShell/PreviewShell.mocks.js +5 -4
- package/lib/tools/PreviewShell/PreviewShell.mocks.js.map +1 -1
- package/lib/tools/PreviewShell/PreviewShell.stories.d.ts.map +1 -1
- package/lib/tools/PreviewShell/PreviewShell.stories.js +11 -13
- package/lib/tools/PreviewShell/PreviewShell.stories.js.map +1 -1
- package/lib/work/Stages/Stages.mocks.js +6 -6
- package/lib/work/Stages/Stages.mocks.js.map +1 -1
- package/lib/work/Tasks/Tasks.stories.d.ts.map +1 -1
- package/lib/work/Tasks/Tasks.stories.js +2 -2
- package/lib/work/Tasks/Tasks.stories.js.map +1 -1
- package/package.json +10 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.stories.d.ts","sourceRoot":"","sources":["../../../src/build/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAEL,UAAU,EACV,MAAM,EAKP,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,aAAa,EAEb,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;;
|
|
1
|
+
{"version":3,"file":"AppShell.stories.d.ts","sourceRoot":"","sources":["../../../src/build/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAEL,UAAU,EACV,MAAM,EAKP,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,aAAa,EAEb,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;;AAUlC,wBAMU;AAEV,MAAM,WAAW,kBAAmB,SAAQ,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAwLlD,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { useMemo, useState } from 'react';
|
|
|
2
2
|
import { action } from '@storybook/addon-actions';
|
|
3
3
|
import { Icon, useModalManager, Input, Button, Modal } from '@pega/cosmos-react-core';
|
|
4
4
|
import { AppShell } from '@pega/cosmos-react-build';
|
|
5
|
-
import { contents, defaultNavItems, TabbedPageComp } from './AppShell.mocks';
|
|
5
|
+
import { contents, defaultNavItems, ShowcasePageComp, TabbedPageComp } from './AppShell.mocks';
|
|
6
6
|
export default {
|
|
7
7
|
title: 'Build/AppShell',
|
|
8
8
|
component: AppShell,
|
|
@@ -157,17 +157,20 @@ export const AppShellDemo = (args) => {
|
|
|
157
157
|
]
|
|
158
158
|
: []
|
|
159
159
|
};
|
|
160
|
+
const mainContent = pageContent.data.template === 'showcase' ? (<ShowcasePageComp {...pageContent.data}/>) : (<TabbedPageComp pageContent={pageContent.data} showBreadcrumbs={!!args.showBreadcrumbs}/>);
|
|
160
161
|
return (<>
|
|
161
|
-
<AppShell main={args.main ||
|
|
162
|
+
<AppShell main={args.main || mainContent} appHeader={appHeaderProps} nav={args.hideNav
|
|
162
163
|
? undefined
|
|
163
164
|
: {
|
|
164
165
|
items: items,
|
|
165
|
-
currentItemId
|
|
166
|
+
currentItemId,
|
|
167
|
+
defaultExpanded: args.defaultExpanded
|
|
166
168
|
}}/>
|
|
167
169
|
</>);
|
|
168
170
|
};
|
|
169
171
|
AppShellDemo.args = {
|
|
170
172
|
hideNav: false,
|
|
173
|
+
defaultExpanded: true,
|
|
171
174
|
showBreadcrumbs: true,
|
|
172
175
|
variant: undefined,
|
|
173
176
|
text: 'Launchpad (Main)',
|
|
@@ -182,6 +185,7 @@ AppShellDemo.args = {
|
|
|
182
185
|
};
|
|
183
186
|
AppShellDemo.argTypes = {
|
|
184
187
|
hideNav: { control: { type: 'boolean' } },
|
|
188
|
+
defaultExpanded: { control: { type: 'boolean' } },
|
|
185
189
|
showBreadcrumbs: { control: { type: 'boolean' } },
|
|
186
190
|
variant: { options: ['success', 'urgent'], control: { type: 'radio' } },
|
|
187
191
|
text: { control: { type: 'text' } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.stories.jsx","sourceRoot":"","sources":["../../../src/build/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { KeyboardEvent, MouseEvent, useMemo, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport {\n Icon,\n OmitStrict,\n Action,\n useModalManager,\n Input,\n Button,\n Modal\n} from '@pega/cosmos-react-core';\nimport {\n AppShell,\n AppHeaderProps,\n AppShellProps,\n NavItemProps,\n BranchButtonProps,\n NestedNavItemProps\n} from '@pega/cosmos-react-build';\n\nimport { contents, defaultNavItems, PageContentProps, TabbedPageComp } from './AppShell.mocks';\n\nexport default {\n title: 'Build/AppShell',\n component: AppShell,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\nexport interface AppShellStoryProps extends OmitStrict<BranchButtonProps, 'items'> {\n appName: string;\n hideNav?: boolean;\n showPreview?: boolean;\n showLinks?: boolean;\n showBranch?: boolean;\n showAppNameAndVersion?: boolean;\n onPreviewClick?: Action['onClick'];\n showBreadcrumbs?: boolean;\n main?: AppShellProps['main'];\n currentItemId?: string;\n}\n\nexport const AppShellDemo: Story<AppShellStoryProps> = (args: AppShellStoryProps) => {\n const initialId = defaultNavItems[0].id;\n const [pageContent, setPageContent] = useState<PageContentProps>(\n contents.find(content => content.id === initialId) || contents[0]\n );\n const [currentItemId, setCurrentItemId] = useState(args.currentItemId || initialId);\n const [searchText, setSearchText] = useState('');\n const { create } = useModalManager();\n\n const addHandlersToItems = (\n navItems: NavItemProps[] | NestedNavItemProps[]\n ): NavItemProps[] | NestedNavItemProps[] => {\n return (navItems || []).map(item => {\n const mutatedItem = { ...item };\n if (!mutatedItem.items) {\n mutatedItem.onClick = (\n itemId: string,\n e: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>\n ) => {\n e.preventDefault();\n setCurrentItemId(itemId);\n setPageContent(contents.find(content => content.id === itemId) || contents[0]);\n };\n } else if (mutatedItem.items) {\n mutatedItem.items = addHandlersToItems(mutatedItem.items);\n }\n return mutatedItem;\n });\n };\n\n const items = useMemo<NavItemProps[] | NestedNavItemProps[]>(() => {\n return addHandlersToItems(defaultNavItems);\n }, [defaultNavItems]);\n\n const openAddBranchModal = () => {\n const { dismiss, update } = create(Modal, {\n children: <Input label='Branch' />,\n heading: 'Add branch'\n });\n update({\n actions: [\n <Button onClick={dismiss}>Cancel</Button>,\n <Button onClick={dismiss} variant='primary'>\n Finish\n </Button>\n ]\n });\n };\n\n const [contexts, setContexts] = useState<AppHeaderProps['contexts']>([\n {\n id: '1',\n primary: 'Studio',\n selected: true,\n visual: <Icon name='app' />,\n href: 'www.pega.com'\n },\n {\n id: '2',\n primary: 'Administration',\n selected: false,\n visual: <Icon name='cloud' />,\n href: 'www.pega.com'\n }\n ]);\n\n const appHeaderProps: AppHeaderProps = {\n brand: {\n label: 'Launchpad',\n logo: 'https://www.pega.com/themes/custom/pegawww_theme/images/pega-logo.svg',\n href: '/',\n onClick: e => {\n e.preventDefault();\n action('Navigated to root');\n }\n },\n contexts,\n onContextClick: (id: string) =>\n setContexts(cur => cur.map(ctx => ({ ...ctx, selected: id === ctx.id }))),\n utils: {\n search: {\n value: searchText,\n placeholder: 'Search',\n onSearchChange: setSearchText\n },\n appInfo: args.showAppNameAndVersion\n ? {\n name: args.appName,\n version: '1.0.0'\n }\n : undefined,\n avatar: { name: 'Cindy Turner' },\n branch: args.showBranch\n ? {\n text: args.text,\n variant: args.variant,\n count: args.count,\n compact: args.compact,\n items: [\n {\n primary: 'Commit to branch',\n id: 'commitToBranch',\n onClick: action('Clicked commitToBranch')\n },\n {\n primary: 'Merge branch',\n id: 'mergeBranch',\n onClick: action('Clicked mergeBranch')\n },\n {\n primary: 'View branch',\n id: 'viewBranch',\n onClick: action('Clicked viewBranch')\n },\n {\n primary: 'Switch branch',\n id: 'switchBranch',\n onClick: action('Clicked switchBranch')\n },\n {\n primary: 'Add branch',\n id: 'addBranch',\n onClick: () => {\n action('Clicked addBranch')();\n openAddBranchModal();\n }\n },\n {\n primary: 'View all branches',\n id: 'viewAllBranches',\n onClick: action('Clicked viewAllBranches')\n }\n ]\n }\n : undefined,\n action: args.showPreview\n ? {\n id: 'preview',\n text: 'Preview',\n onClick: args.onPreviewClick,\n icon: 'play-solid'\n }\n : undefined\n },\n links: args.showLinks\n ? [\n {\n id: '1',\n name: 'Applications',\n onClick: action('Clicked Applications')\n },\n {\n id: '2',\n name: 'Shared resources',\n onClick: action('Clicked Shared resources')\n }\n ]\n : []\n };\n\n return (\n <>\n <AppShell\n main={\n args.main || (\n <TabbedPageComp pageContent={pageContent} showBreadcrumbs={!!args.showBreadcrumbs} />\n )\n }\n appHeader={appHeaderProps}\n nav={\n args.hideNav\n ? undefined\n : {\n items: items as NavItemProps[],\n currentItemId\n }\n }\n />\n </>\n );\n};\n\nAppShellDemo.args = {\n hideNav: false,\n showBreadcrumbs: true,\n variant: undefined,\n text: 'Launchpad (Main)',\n count: null,\n compact: false,\n showPreview: true,\n // eslint-disable-next-line demo-patterns/literal-args\n onPreviewClick: action('Clicked preview button'),\n showLinks: false,\n showAppNameAndVersion: true,\n showBranch: true,\n appName: 'Launchpad'\n};\n\nAppShellDemo.argTypes = {\n hideNav: { control: { type: 'boolean' } },\n showBreadcrumbs: { control: { type: 'boolean' } },\n variant: { options: ['success', 'urgent'], control: { type: 'radio' } },\n text: { control: { type: 'text' } },\n count: { control: { type: 'number' } },\n compact: { control: { type: 'boolean' } },\n onPreviewClick: { table: { disable: true } },\n showLinks: { control: { type: 'boolean' } },\n showAppNameAndVersion: { control: { type: 'boolean' } },\n showBranch: { control: { type: 'boolean' } },\n showPreview: { control: { type: 'boolean' } },\n appName: { control: { type: 'text' } }\n};\n"]}
|
|
1
|
+
{"version":3,"file":"AppShell.stories.jsx","sourceRoot":"","sources":["../../../src/build/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { KeyboardEvent, MouseEvent, useMemo, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport {\n Icon,\n OmitStrict,\n Action,\n useModalManager,\n Input,\n Button,\n Modal\n} from '@pega/cosmos-react-core';\nimport {\n AppShell,\n AppHeaderProps,\n AppShellProps,\n NavItemProps,\n BranchButtonProps,\n NestedNavItemProps\n} from '@pega/cosmos-react-build';\n\nimport {\n contents,\n defaultNavItems,\n PageContentProps,\n ShowcasePageComp,\n TabbedPageComp\n} from './AppShell.mocks';\n\nexport default {\n title: 'Build/AppShell',\n component: AppShell,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\nexport interface AppShellStoryProps extends OmitStrict<BranchButtonProps, 'items'> {\n appName: string;\n hideNav?: boolean;\n defaultExpanded?: boolean;\n showPreview?: boolean;\n showLinks?: boolean;\n showBranch?: boolean;\n showAppNameAndVersion?: boolean;\n onPreviewClick?: Action['onClick'];\n showBreadcrumbs?: boolean;\n main?: AppShellProps['main'];\n currentItemId?: string;\n}\n\nexport const AppShellDemo: Story<AppShellStoryProps> = (args: AppShellStoryProps) => {\n const initialId = defaultNavItems[0].id;\n const [pageContent, setPageContent] = useState<PageContentProps>(\n contents.find(content => content.id === initialId) || contents[0]\n );\n const [currentItemId, setCurrentItemId] = useState(args.currentItemId || initialId);\n const [searchText, setSearchText] = useState('');\n const { create } = useModalManager();\n\n const addHandlersToItems = (\n navItems: NavItemProps[] | NestedNavItemProps[]\n ): NavItemProps[] | NestedNavItemProps[] => {\n return (navItems || []).map(item => {\n const mutatedItem = { ...item };\n if (!mutatedItem.items) {\n mutatedItem.onClick = (\n itemId: string,\n e: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>\n ) => {\n e.preventDefault();\n setCurrentItemId(itemId);\n setPageContent(contents.find(content => content.id === itemId) || contents[0]);\n };\n } else if (mutatedItem.items) {\n mutatedItem.items = addHandlersToItems(mutatedItem.items);\n }\n return mutatedItem;\n });\n };\n\n const items = useMemo<NavItemProps[] | NestedNavItemProps[]>(() => {\n return addHandlersToItems(defaultNavItems);\n }, [defaultNavItems]);\n\n const openAddBranchModal = () => {\n const { dismiss, update } = create(Modal, {\n children: <Input label='Branch' />,\n heading: 'Add branch'\n });\n update({\n actions: [\n <Button onClick={dismiss}>Cancel</Button>,\n <Button onClick={dismiss} variant='primary'>\n Finish\n </Button>\n ]\n });\n };\n\n const [contexts, setContexts] = useState<AppHeaderProps['contexts']>([\n {\n id: '1',\n primary: 'Studio',\n selected: true,\n visual: <Icon name='app' />,\n href: 'www.pega.com'\n },\n {\n id: '2',\n primary: 'Administration',\n selected: false,\n visual: <Icon name='cloud' />,\n href: 'www.pega.com'\n }\n ]);\n\n const appHeaderProps: AppHeaderProps = {\n brand: {\n label: 'Launchpad',\n logo: 'https://www.pega.com/themes/custom/pegawww_theme/images/pega-logo.svg',\n href: '/',\n onClick: e => {\n e.preventDefault();\n action('Navigated to root');\n }\n },\n contexts,\n onContextClick: (id: string) =>\n setContexts(cur => cur.map(ctx => ({ ...ctx, selected: id === ctx.id }))),\n utils: {\n search: {\n value: searchText,\n placeholder: 'Search',\n onSearchChange: setSearchText\n },\n appInfo: args.showAppNameAndVersion\n ? {\n name: args.appName,\n version: '1.0.0'\n }\n : undefined,\n avatar: { name: 'Cindy Turner' },\n branch: args.showBranch\n ? {\n text: args.text,\n variant: args.variant,\n count: args.count,\n compact: args.compact,\n items: [\n {\n primary: 'Commit to branch',\n id: 'commitToBranch',\n onClick: action('Clicked commitToBranch')\n },\n {\n primary: 'Merge branch',\n id: 'mergeBranch',\n onClick: action('Clicked mergeBranch')\n },\n {\n primary: 'View branch',\n id: 'viewBranch',\n onClick: action('Clicked viewBranch')\n },\n {\n primary: 'Switch branch',\n id: 'switchBranch',\n onClick: action('Clicked switchBranch')\n },\n {\n primary: 'Add branch',\n id: 'addBranch',\n onClick: () => {\n action('Clicked addBranch')();\n openAddBranchModal();\n }\n },\n {\n primary: 'View all branches',\n id: 'viewAllBranches',\n onClick: action('Clicked viewAllBranches')\n }\n ]\n }\n : undefined,\n action: args.showPreview\n ? {\n id: 'preview',\n text: 'Preview',\n onClick: args.onPreviewClick,\n icon: 'play-solid'\n }\n : undefined\n },\n links: args.showLinks\n ? [\n {\n id: '1',\n name: 'Applications',\n onClick: action('Clicked Applications')\n },\n {\n id: '2',\n name: 'Shared resources',\n onClick: action('Clicked Shared resources')\n }\n ]\n : []\n };\n\n const mainContent =\n pageContent.data.template === 'showcase' ? (\n <ShowcasePageComp {...pageContent.data} />\n ) : (\n <TabbedPageComp pageContent={pageContent.data} showBreadcrumbs={!!args.showBreadcrumbs} />\n );\n\n return (\n <>\n <AppShell\n main={args.main || mainContent}\n appHeader={appHeaderProps}\n nav={\n args.hideNav\n ? undefined\n : {\n items: items as NavItemProps[],\n currentItemId,\n defaultExpanded: args.defaultExpanded\n }\n }\n />\n </>\n );\n};\n\nAppShellDemo.args = {\n hideNav: false,\n defaultExpanded: true,\n showBreadcrumbs: true,\n variant: undefined,\n text: 'Launchpad (Main)',\n count: null,\n compact: false,\n showPreview: true,\n // eslint-disable-next-line demo-patterns/literal-args\n onPreviewClick: action('Clicked preview button'),\n showLinks: false,\n showAppNameAndVersion: true,\n showBranch: true,\n appName: 'Launchpad'\n};\n\nAppShellDemo.argTypes = {\n hideNav: { control: { type: 'boolean' } },\n defaultExpanded: { control: { type: 'boolean' } },\n showBreadcrumbs: { control: { type: 'boolean' } },\n variant: { options: ['success', 'urgent'], control: { type: 'radio' } },\n text: { control: { type: 'text' } },\n count: { control: { type: 'number' } },\n compact: { control: { type: 'boolean' } },\n onPreviewClick: { table: { disable: true } },\n showLinks: { control: { type: 'boolean' } },\n showAppNameAndVersion: { control: { type: 'boolean' } },\n showBranch: { control: { type: 'boolean' } },\n showPreview: { control: { type: 'boolean' } },\n appName: { control: { type: 'text' } }\n};\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AutoCompleteTriggerChar, CursorPosition } from '@pega/cosmos-react-build';
|
|
1
2
|
import { MenuProps } from '@pega/cosmos-react-core';
|
|
2
3
|
export declare const getFilterRegex: (inputValue: string) => RegExp;
|
|
3
4
|
export declare const errors = "Error message 1. Some unrealistic error message. Server unreachable. Check your network connection and try again";
|
|
@@ -50,6 +51,7 @@ export declare const suggestedFields: {
|
|
|
50
51
|
id: string;
|
|
51
52
|
secondary: string[];
|
|
52
53
|
}[];
|
|
54
|
+
export declare const getScopeFromPosition: (cursorPosition: CursorPosition, autoCompleteTrigger: AutoCompleteTriggerChar, value: string) => string;
|
|
53
55
|
export declare const getSuggestedFunction: (scope: string) => {
|
|
54
56
|
primary: string;
|
|
55
57
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressionBuilder.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/ExpressionBuilder/ExpressionBuilder.mocks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE/D,eAAO,MAAM,cAAc,eAAgB,MAAM,WAEhD,CAAC;AAEF,eAAO,MAAM,MAAM,qHACiG,CAAC;AAErH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgejB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,OAAO,CA+B/C,CAAC;AAEF,eAAO,MAAM,2BAA2B,yGAMtC,CAAC;AAEH,eAAO,MAAM,cAAc;;;;GAgB1B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;GAMvB,CAAC;AAEN,eAAO,MAAM,oBAAoB,UAAW,MAAM;;;;GAyBjD,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;GAK7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"ExpressionBuilder.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/ExpressionBuilder/ExpressionBuilder.mocks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAa,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE/D,eAAO,MAAM,cAAc,eAAgB,MAAM,WAEhD,CAAC;AAEF,eAAO,MAAM,MAAM,qHACiG,CAAC;AAErH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgejB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,OAAO,CA+B/C,CAAC;AAEF,eAAO,MAAM,2BAA2B,yGAMtC,CAAC;AAEH,eAAO,MAAM,cAAc;;;;GAgB1B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;GAMvB,CAAC;AAEN,eAAO,MAAM,oBAAoB,mBACf,cAAc,uBACT,uBAAuB,SACrC,MAAM,KACZ,MAuBF,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAAW,MAAM;;;;GAyBjD,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;GAK7B,CAAC"}
|
|
@@ -547,6 +547,29 @@ export const suggestedFields = items
|
|
|
547
547
|
id: item.expression,
|
|
548
548
|
secondary: [`class: ${item.details.primary.find(({ field }) => field === 'Scope')?.value}`]
|
|
549
549
|
}));
|
|
550
|
+
export const getScopeFromPosition = (cursorPosition, autoCompleteTrigger, value) => {
|
|
551
|
+
const cursorLineText = value.split('\n')[cursorPosition.line];
|
|
552
|
+
const textTillCursorPos = cursorLineText.substring(0, cursorPosition.ch);
|
|
553
|
+
let start = textTillCursorPos?.lastIndexOf(' ');
|
|
554
|
+
if (start === -1) {
|
|
555
|
+
start = 0;
|
|
556
|
+
}
|
|
557
|
+
const currentWord = textTillCursorPos.substring(start, cursorPosition.ch);
|
|
558
|
+
let regexp;
|
|
559
|
+
if (autoCompleteTrigger === '.') {
|
|
560
|
+
regexp = /[\w$]*(\.+[\w$)[\](]*)+/g;
|
|
561
|
+
}
|
|
562
|
+
else {
|
|
563
|
+
regexp = /[\w@'-]*[@:]/g;
|
|
564
|
+
}
|
|
565
|
+
const tokenArray = [...currentWord.matchAll(regexp)];
|
|
566
|
+
let queryToken = '';
|
|
567
|
+
if (tokenArray.length > 0) {
|
|
568
|
+
const queryString = tokenArray[tokenArray.length - 1][0];
|
|
569
|
+
queryToken = queryString.substring(0, queryString.length - 1);
|
|
570
|
+
}
|
|
571
|
+
return queryToken;
|
|
572
|
+
};
|
|
550
573
|
export const getSuggestedFunction = (scope) => {
|
|
551
574
|
const functionList = items.filter(item => item.type === 'Function');
|
|
552
575
|
let scopeBasedList = functionList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressionBuilder.mocks.js","sourceRoot":"","sources":["../../../src/build/ExpressionBuilder/ExpressionBuilder.mocks.ts"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words O1XPTI\n\nimport styled, { css } from 'styled-components';\n\nimport { createUID, MenuProps } from '@pega/cosmos-react-core';\n\nexport const getFilterRegex = (inputValue: string) => {\n return new RegExp(`${inputValue.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, '\\\\$&')}`, 'i');\n};\n\nexport const errors =\n 'Error message 1. Some unrealistic error message. Server unreachable. Check your network connection and try again';\n\nexport const items = [\n {\n id: createUID(),\n primary: 'Validate loan value',\n type: 'Decision',\n expression: '@validateLoanValue()',\n details: {\n primary: [\n {\n field: 'Description',\n value:\n 'Function to validate loan value through simple interest or compound interest based on user choice'\n },\n {\n field: 'Scope',\n value: 'CCDBankLoan'\n },\n {\n field: 'Namespace',\n value: 'px'\n }\n ],\n output: [\n {\n field: 'isValid',\n value: 'Boolean'\n }\n ],\n input: [\n {\n id: 'accountNumber',\n field: 'Account number',\n type: 'text'\n },\n {\n id: 'term',\n field: 'Term in years',\n type: 'number'\n },\n {\n id: 'accountType',\n field: 'Account type',\n type: 'text'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Loan amount under 100k',\n type: 'When',\n expression: '@isLoanAmountUnder100k()',\n details: {\n primary: [\n {\n field: 'Scope',\n value: 'CCDBankLoan'\n },\n {\n field: 'Namespace',\n value: 'px'\n }\n ],\n output: [\n {\n field: 'isUnder100k',\n value: 'Boolean'\n }\n ],\n input: [\n {\n id: 'accountNumber',\n field: 'Account number',\n type: 'text'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Loan number',\n type: 'Field',\n expression: '.loanNumber',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Loan account number of current customer'\n },\n {\n field: 'Scope',\n value: 'CCDBankLoan'\n },\n {\n field: 'Namespace',\n value: 'px'\n }\n ],\n output: []\n }\n },\n {\n id: createUID(),\n primary: 'Customer name',\n type: 'Field',\n expression: '.customerName',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Fullname of current customer'\n },\n {\n field: 'Scope',\n value: 'CCDBankLoan'\n },\n {\n field: 'Namespace',\n value: 'px'\n }\n ],\n output: []\n }\n },\n {\n id: createUID(),\n primary: 'Max',\n type: 'Function',\n expression: 'Math@Function:max()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Returns max of two numbers'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'max',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n },\n {\n id: 'param2',\n field: 'Param 2',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Min',\n type: 'Function',\n expression: 'Math@Function:min()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return min of two numbers'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'min',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n },\n {\n id: 'param2',\n field: 'Param 2',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Sum',\n type: 'Function',\n expression: 'Math@Function:sum()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return sum of two numbers'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'sum',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n },\n {\n id: 'param2',\n field: 'Param 2',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Absolute',\n type: 'Function',\n expression: 'Math@Function:abs()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return absolute value of a number'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'abs',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Square root',\n type: 'Function',\n expression: 'Math@Function:sqrt()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return square root of a number'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'squareRoot',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Average',\n type: 'Function',\n expression: 'Math@Function:average()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return average value of two number'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'average',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n },\n {\n id: 'param2',\n field: 'Param 2',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Year',\n type: 'Function',\n expression: 'Date@Function:Year()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Returns the integer year value of given date/datetime'\n },\n {\n field: 'Scope',\n value: 'Date'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'Date',\n value: 'Date'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'Date'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Month',\n type: 'Function',\n expression: 'Date@Function:Month()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Returns the integer month value of given date/datetime'\n },\n {\n field: 'Scope',\n value: 'Date'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'Date',\n value: 'Date'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'Date'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Is the current browser Firefox',\n type: 'When',\n expression: '@isFirefox',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return true if the current browser is Firefox'\n },\n {\n field: 'Scope',\n value: 'base'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'isFirefox',\n value: 'Boolean'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Is the current browser Internet Explorer',\n type: 'When',\n expression: '@isIE',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return true if the current browser is IE'\n },\n {\n field: 'Scope',\n value: 'base'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'isIE',\n value: 'Boolean'\n }\n ]\n }\n }\n];\n\nexport const filterCategories: MenuProps['items'] = [\n {\n id: 'item_0',\n primary: 'All',\n selected: true\n },\n {\n id: 'item_1',\n primary: 'Automation',\n selected: false\n },\n {\n id: 'item_2',\n primary: 'Configuration',\n selected: false\n },\n {\n id: 'item_3',\n primary: 'Decision',\n selected: false\n },\n {\n id: 'item_4',\n primary: 'Data page',\n selected: false\n },\n {\n id: 'item_5',\n primary: 'Function',\n selected: false\n }\n];\n\nexport const StyledExpressionBuilderDemo = styled.div(() => {\n return css`\n max-width: 95%;\n height: 80vh;\n position: relative;\n `;\n});\n\nexport const primaryDetails = [\n {\n id: 'desc',\n name: 'Description',\n value: 'Send email to recipients'\n },\n {\n id: 'scope',\n name: 'Scope',\n value: 'Email'\n },\n {\n id: 'namespace',\n name: 'Namespace',\n value: 'px'\n }\n];\n\nexport const suggestedFields = items\n .filter(item => item.type === 'Field')\n .map(item => ({\n primary: item.expression.substring(1),\n id: item.expression,\n secondary: [`class: ${item.details.primary.find(({ field }) => field === 'Scope')?.value}`]\n }));\n\nexport const getSuggestedFunction = (scope: string) => {\n const functionList = items.filter(item => item.type === 'Function');\n\n let scopeBasedList = functionList;\n if (scope !== '') {\n scopeBasedList = functionList.filter(\n item => item.details.primary.find(obj => obj.field === 'Scope')?.value === scope\n );\n }\n\n return scopeBasedList.map(item => {\n const expressionList = item.expression.split(':');\n const paramString = item.details.input\n ?.map(param => {\n return param.id;\n })\n .join(',');\n const expression = expressionList[expressionList.length - 1];\n const id = `${expression.slice(0, expression.length - 1)}${paramString})`;\n return {\n primary: expression.substring(0, expression.length - 2),\n id: `:${id}`,\n secondary: [`Scope: ${item.details.primary.find(({ field }) => field === 'Scope')?.value}`]\n };\n });\n};\n\nexport const suggestedRuleType = ['@Automation:', '@Function:', '@Decision:', '@When:'].map(\n item => ({\n primary: item.substring(1, item.length - 1),\n id: item\n })\n);\n"]}
|
|
1
|
+
{"version":3,"file":"ExpressionBuilder.mocks.js","sourceRoot":"","sources":["../../../src/build/ExpressionBuilder/ExpressionBuilder.mocks.ts"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words O1XPTI\n\nimport styled, { css } from 'styled-components';\n\nimport { AutoCompleteTriggerChar, CursorPosition } from '@pega/cosmos-react-build';\nimport { createUID, MenuProps } from '@pega/cosmos-react-core';\n\nexport const getFilterRegex = (inputValue: string) => {\n return new RegExp(`${inputValue.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, '\\\\$&')}`, 'i');\n};\n\nexport const errors =\n 'Error message 1. Some unrealistic error message. Server unreachable. Check your network connection and try again';\n\nexport const items = [\n {\n id: createUID(),\n primary: 'Validate loan value',\n type: 'Decision',\n expression: '@validateLoanValue()',\n details: {\n primary: [\n {\n field: 'Description',\n value:\n 'Function to validate loan value through simple interest or compound interest based on user choice'\n },\n {\n field: 'Scope',\n value: 'CCDBankLoan'\n },\n {\n field: 'Namespace',\n value: 'px'\n }\n ],\n output: [\n {\n field: 'isValid',\n value: 'Boolean'\n }\n ],\n input: [\n {\n id: 'accountNumber',\n field: 'Account number',\n type: 'text'\n },\n {\n id: 'term',\n field: 'Term in years',\n type: 'number'\n },\n {\n id: 'accountType',\n field: 'Account type',\n type: 'text'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Loan amount under 100k',\n type: 'When',\n expression: '@isLoanAmountUnder100k()',\n details: {\n primary: [\n {\n field: 'Scope',\n value: 'CCDBankLoan'\n },\n {\n field: 'Namespace',\n value: 'px'\n }\n ],\n output: [\n {\n field: 'isUnder100k',\n value: 'Boolean'\n }\n ],\n input: [\n {\n id: 'accountNumber',\n field: 'Account number',\n type: 'text'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Loan number',\n type: 'Field',\n expression: '.loanNumber',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Loan account number of current customer'\n },\n {\n field: 'Scope',\n value: 'CCDBankLoan'\n },\n {\n field: 'Namespace',\n value: 'px'\n }\n ],\n output: []\n }\n },\n {\n id: createUID(),\n primary: 'Customer name',\n type: 'Field',\n expression: '.customerName',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Fullname of current customer'\n },\n {\n field: 'Scope',\n value: 'CCDBankLoan'\n },\n {\n field: 'Namespace',\n value: 'px'\n }\n ],\n output: []\n }\n },\n {\n id: createUID(),\n primary: 'Max',\n type: 'Function',\n expression: 'Math@Function:max()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Returns max of two numbers'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'max',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n },\n {\n id: 'param2',\n field: 'Param 2',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Min',\n type: 'Function',\n expression: 'Math@Function:min()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return min of two numbers'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'min',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n },\n {\n id: 'param2',\n field: 'Param 2',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Sum',\n type: 'Function',\n expression: 'Math@Function:sum()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return sum of two numbers'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'sum',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n },\n {\n id: 'param2',\n field: 'Param 2',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Absolute',\n type: 'Function',\n expression: 'Math@Function:abs()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return absolute value of a number'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'abs',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Square root',\n type: 'Function',\n expression: 'Math@Function:sqrt()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return square root of a number'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'squareRoot',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Average',\n type: 'Function',\n expression: 'Math@Function:average()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return average value of two number'\n },\n {\n field: 'Scope',\n value: 'Math'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'average',\n value: 'Number'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'number'\n },\n {\n id: 'param2',\n field: 'Param 2',\n type: 'number'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Year',\n type: 'Function',\n expression: 'Date@Function:Year()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Returns the integer year value of given date/datetime'\n },\n {\n field: 'Scope',\n value: 'Date'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'Date',\n value: 'Date'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'Date'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Month',\n type: 'Function',\n expression: 'Date@Function:Month()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Returns the integer month value of given date/datetime'\n },\n {\n field: 'Scope',\n value: 'Date'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'Date',\n value: 'Date'\n }\n ],\n input: [\n {\n id: 'param1',\n field: 'Param 1',\n type: 'Date'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Is the current browser Firefox',\n type: 'When',\n expression: '@isFirefox',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return true if the current browser is Firefox'\n },\n {\n field: 'Scope',\n value: 'base'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'isFirefox',\n value: 'Boolean'\n }\n ]\n }\n },\n {\n id: createUID(),\n primary: 'Is the current browser Internet Explorer',\n type: 'When',\n expression: '@isIE',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return true if the current browser is IE'\n },\n {\n field: 'Scope',\n value: 'base'\n },\n {\n field: 'Namespace',\n value: 'py'\n }\n ],\n output: [\n {\n field: 'isIE',\n value: 'Boolean'\n }\n ]\n }\n }\n];\n\nexport const filterCategories: MenuProps['items'] = [\n {\n id: 'item_0',\n primary: 'All',\n selected: true\n },\n {\n id: 'item_1',\n primary: 'Automation',\n selected: false\n },\n {\n id: 'item_2',\n primary: 'Configuration',\n selected: false\n },\n {\n id: 'item_3',\n primary: 'Decision',\n selected: false\n },\n {\n id: 'item_4',\n primary: 'Data page',\n selected: false\n },\n {\n id: 'item_5',\n primary: 'Function',\n selected: false\n }\n];\n\nexport const StyledExpressionBuilderDemo = styled.div(() => {\n return css`\n max-width: 95%;\n height: 80vh;\n position: relative;\n `;\n});\n\nexport const primaryDetails = [\n {\n id: 'desc',\n name: 'Description',\n value: 'Send email to recipients'\n },\n {\n id: 'scope',\n name: 'Scope',\n value: 'Email'\n },\n {\n id: 'namespace',\n name: 'Namespace',\n value: 'px'\n }\n];\n\nexport const suggestedFields = items\n .filter(item => item.type === 'Field')\n .map(item => ({\n primary: item.expression.substring(1),\n id: item.expression,\n secondary: [`class: ${item.details.primary.find(({ field }) => field === 'Scope')?.value}`]\n }));\n\nexport const getScopeFromPosition = (\n cursorPosition: CursorPosition,\n autoCompleteTrigger: AutoCompleteTriggerChar,\n value: string\n): string => {\n const cursorLineText = value.split('\\n')[cursorPosition.line];\n const textTillCursorPos = cursorLineText.substring(0, cursorPosition.ch);\n let start = textTillCursorPos?.lastIndexOf(' ');\n if (start === -1) {\n start = 0;\n }\n const currentWord = textTillCursorPos.substring(start, cursorPosition.ch);\n\n let regexp;\n if (autoCompleteTrigger === '.') {\n regexp = /[\\w$]*(\\.+[\\w$)[\\](]*)+/g;\n } else {\n regexp = /[\\w@'-]*[@:]/g;\n }\n\n const tokenArray = [...currentWord.matchAll(regexp)];\n let queryToken = '';\n if (tokenArray.length > 0) {\n const queryString = tokenArray[tokenArray.length - 1][0];\n queryToken = queryString.substring(0, queryString.length - 1);\n }\n return queryToken;\n};\n\nexport const getSuggestedFunction = (scope: string) => {\n const functionList = items.filter(item => item.type === 'Function');\n\n let scopeBasedList = functionList;\n if (scope !== '') {\n scopeBasedList = functionList.filter(\n item => item.details.primary.find(obj => obj.field === 'Scope')?.value === scope\n );\n }\n\n return scopeBasedList.map(item => {\n const expressionList = item.expression.split(':');\n const paramString = item.details.input\n ?.map(param => {\n return param.id;\n })\n .join(',');\n const expression = expressionList[expressionList.length - 1];\n const id = `${expression.slice(0, expression.length - 1)}${paramString})`;\n return {\n primary: expression.substring(0, expression.length - 2),\n id: `:${id}`,\n secondary: [`Scope: ${item.details.primary.find(({ field }) => field === 'Scope')?.value}`]\n };\n });\n};\n\nexport const suggestedRuleType = ['@Automation:', '@Function:', '@Decision:', '@When:'].map(\n item => ({\n primary: item.substring(1, item.length - 1),\n id: item\n })\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressionBuilder.stories.d.ts","sourceRoot":"","sources":["../../../src/build/ExpressionBuilder/ExpressionBuilder.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAK/C,OAAO,EAGL,mBAAmB,EAEnB,sBAAsB,EAMvB,MAAM,0BAA0B,CAAC;;
|
|
1
|
+
{"version":3,"file":"ExpressionBuilder.stories.d.ts","sourceRoot":"","sources":["../../../src/build/ExpressionBuilder/ExpressionBuilder.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAK/C,OAAO,EAGL,mBAAmB,EAEnB,sBAAsB,EAMvB,MAAM,0BAA0B,CAAC;;AAuBlC,wBAGU;AAEV,UAAU,uBAAuB;IAC/B,MAAM,CAAC,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpD,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;CACpD;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,uBAAuB,CAkE7D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAoCnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAwEhC,CAAC;AAEF,UAAU,2BAA2B;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;IACxD,YAAY,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IAC9D,cAAc,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACpE,cAAc,CAAC,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,2BAA2B,CAmOpE,CAAC;AAUF,UAAU,mBAAmB;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,mBAAmB,CA+BrD,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { debounce } from '@pega/cosmos-react-core/lib/utils';
|
|
|
4
4
|
import { ExpressionBuilder, ExpressionItem, ExpressionList, ExpressionDetails, CodeEditor } from '@pega/cosmos-react-build';
|
|
5
5
|
import { BuildTheme, Configuration, createUID, Input } from '@pega/cosmos-react-core';
|
|
6
6
|
import ExpressionBuilderContext from '@pega/cosmos-react-build/lib/components/ExpressionBuilder/ExpressionBuilderContext';
|
|
7
|
-
import { errors, getFilterRegex, items, primaryDetails, StyledExpressionBuilderDemo, suggestedFields, suggestedRuleType, getSuggestedFunction } from './ExpressionBuilder.mocks';
|
|
7
|
+
import { errors, getFilterRegex, items, primaryDetails, StyledExpressionBuilderDemo, suggestedFields, suggestedRuleType, getSuggestedFunction, getScopeFromPosition } from './ExpressionBuilder.mocks';
|
|
8
8
|
export default {
|
|
9
9
|
title: 'Build/ExpressionBuilder',
|
|
10
10
|
component: ExpressionBuilder
|
|
@@ -252,8 +252,8 @@ export const ExpressionBuilderDemo = (args) => {
|
|
|
252
252
|
return newValues;
|
|
253
253
|
});
|
|
254
254
|
};
|
|
255
|
-
const fetchSuggestions = (autoCompleteTrigger,
|
|
256
|
-
action('
|
|
255
|
+
const fetchSuggestions = (autoCompleteTrigger, cursorPosition) => {
|
|
256
|
+
action('cursorPosition')(cursorPosition);
|
|
257
257
|
if (autoCompleteTrigger === '@') {
|
|
258
258
|
setLoading(true);
|
|
259
259
|
return new Promise(resolve => {
|
|
@@ -264,7 +264,7 @@ export const ExpressionBuilderDemo = (args) => {
|
|
|
264
264
|
});
|
|
265
265
|
}
|
|
266
266
|
if (autoCompleteTrigger === ':') {
|
|
267
|
-
const scope =
|
|
267
|
+
const scope = getScopeFromPosition(cursorPosition, autoCompleteTrigger, handle.current?.getExpression() ?? '').split('@')[0];
|
|
268
268
|
const suggestedFunctions = getSuggestedFunction(scope);
|
|
269
269
|
setLoading(true);
|
|
270
270
|
return new Promise(resolve => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressionBuilder.stories.jsx","sourceRoot":"","sources":["../../../src/build/ExpressionBuilder/ExpressionBuilder.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\nimport { useState, useEffect, useRef, ChangeEvent, useMemo } from 'react';\n\nimport { debounce } from '@pega/cosmos-react-core/lib/utils';\nimport {\n ExpressionBuilder,\n ExpressionItem,\n ExpressionItemProps,\n ExpressionList,\n ExpressionBuilderProps,\n ExpressionDetails,\n HandleValue,\n InputParams,\n CodeEditor,\n EditorState\n} from '@pega/cosmos-react-build';\nimport {\n BuildTheme,\n Configuration,\n createUID,\n ForwardProps,\n Input,\n InputProps\n} from '@pega/cosmos-react-core';\nimport ExpressionBuilderContext from '@pega/cosmos-react-build/lib/components/ExpressionBuilder/ExpressionBuilderContext';\n\nimport {\n errors,\n getFilterRegex,\n items,\n primaryDetails,\n StyledExpressionBuilderDemo,\n suggestedFields,\n suggestedRuleType,\n getSuggestedFunction\n} from './ExpressionBuilder.mocks';\n\nexport default {\n title: 'Build/ExpressionBuilder',\n component: ExpressionBuilder\n} as Meta;\n\ninterface ExpressionItemDemoProps {\n accent?: ExpressionBuilderProps['search']['accent'];\n matchedField?: ExpressionItemProps['matchedField'];\n}\n\nexport const ExpressionItemDemo: Story<ExpressionItemDemoProps> = (\n args: ExpressionItemDemoProps\n) => {\n const [expanded, setExpanded] = useState<ExpressionItemProps['expanded']>(false);\n const onAdd = (id: ExpressionItemProps['id']) => {\n action(`${id} clicked`);\n };\n\n const onExpand = (id: ExpressionItemProps['id']) => {\n setExpanded(true);\n action(`${id} expanded`);\n };\n\n const onCollapse = (id: ExpressionItemProps['id']) => {\n setExpanded(false);\n action(`${id} collapsed`);\n };\n\n const handleChange = (id: string, field: string, value: any) => {\n action('Input param change')(id, field, value);\n };\n\n return (\n <ExpressionBuilderContext.Provider value={{ accent: args.accent }}>\n <ExpressionItem\n id={createUID()}\n primary='Loan to value validation'\n type='Decision'\n onAdd={onAdd}\n onExpand={onExpand}\n onCollapse={onCollapse}\n expanded={expanded}\n matchedField={args.matchedField}\n details={{\n primary: primaryDetails,\n outputParams: [\n {\n id: 'type',\n name: 'Type',\n value: 'Text'\n }\n ],\n inputParams: [\n {\n id: 'firstParam',\n renderer: Input,\n rendererProps: {\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n handleChange('Test Expression Id', 'Test Input Field', e.target.value),\n label: 'Test Input'\n }\n },\n {\n id: 'secondParam',\n renderer: Input,\n rendererProps: {\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n handleChange('Test Expression Id', 'Test Input Field 2', e.target.value),\n label: 'Test Input2'\n }\n }\n ]\n }}\n />\n </ExpressionBuilderContext.Provider>\n );\n};\n\nexport const ExpressionDetailsDemo: Story = () => {\n const handleChange = (id: string, field: string, value: any) => {\n action('Input param change')(id, field, value);\n };\n return (\n <ExpressionDetails\n primary={primaryDetails}\n outputParams={[\n {\n id: 'type',\n name: 'Type',\n value: 'Text'\n }\n ]}\n inputParams={[\n {\n id: 'firstParam',\n renderer: Input,\n rendererProps: {\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n handleChange('Test Expression Id', 'Test Input Field', e.target.value),\n label: 'Test Input'\n }\n },\n {\n id: 'secondParam',\n renderer: Input,\n rendererProps: {\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n handleChange('Test Expression Id', 'Test Input Field 2', e.target.value),\n label: 'Test Input2'\n }\n }\n ]}\n />\n );\n};\n\nexport const ExpressionListDemo: Story = () => {\n const [expressionDetails, setExpressionDetails] = useState<\n ExpressionBuilderProps['list']['details']\n >({});\n const onInputParamChange = (id: string, field: string, value: any) => {\n action('Input param change')(id, field, value);\n };\n\n const onItemExpand = (id: string) => {\n action('onItemExpand')(id);\n const itemDetails = items.find(item => item.id === id)?.details;\n\n const fieldValueMapper = ({ field, value }: { field: string; value: string }) => {\n return {\n id: `${id}-${field}`,\n name: field,\n value\n };\n };\n\n if (itemDetails) {\n const primary = itemDetails.primary.map(fieldValueMapper);\n\n const outputParams = itemDetails.output?.map(fieldValueMapper);\n\n const inputParams = itemDetails.input?.map(({ id: fieldId, field, type }) => {\n const inputParam: InputParams<InputProps & ForwardProps> = {\n id: `${id}-${fieldId}`,\n renderer: Input,\n rendererProps: {\n label: field,\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n onInputParamChange(id, fieldId, e.target.value),\n type: type as InputProps['type']\n }\n };\n return inputParam;\n });\n\n setExpressionDetails(prev => {\n return {\n ...prev,\n [id]: {\n primary,\n outputParams,\n inputParams\n }\n };\n });\n }\n };\n\n const onItemCollapse = (id: string) => {\n action('onItemCollapse')(id);\n setTimeout(() => {\n setExpressionDetails(prev => {\n const newExpressionDetails = { ...prev };\n delete newExpressionDetails[id];\n return newExpressionDetails;\n });\n }, 500);\n };\n\n return (\n <ExpressionList\n items={items}\n onItemAdd={action('onItemAdd')}\n onItemExpand={onItemExpand}\n onItemCollapse={onItemCollapse}\n details={expressionDetails}\n />\n );\n};\n\ninterface ExpressionBuilderStoryProps {\n readOnly?: boolean;\n errors?: ExpressionBuilderProps['errors'];\n onItemAdd?: ExpressionBuilderProps['list']['onItemAdd'];\n onItemExpand?: ExpressionBuilderProps['list']['onItemExpand'];\n onItemCollapse?: ExpressionBuilderProps['list']['onItemCollapse'];\n onFilterChange?: ExpressionBuilderProps['search']['onFilterChange'];\n onSearchChange?: ExpressionBuilderProps['search']['onSearchChange'];\n handle?: ExpressionBuilderProps['handle'];\n defaultValue?: string;\n}\nexport const ExpressionBuilderDemo: Story<ExpressionBuilderStoryProps> = (\n args: ExpressionBuilderStoryProps\n) => {\n const [searchValue, setSearchValue] = useState('');\n const [searchFilter, setSearchFilter] = useState('');\n const [expressionItems, setExpressionItems] = useState(items);\n const [loading, setLoading] = useState(false);\n const handle = useRef<HandleValue>(null);\n const [validationErrors, setErrors] = useState('');\n const [expressionDetails, setExpressionDetails] = useState<\n ExpressionBuilderProps['list']['details']\n >({});\n const [expressionDetailsValues, setExpressionDetailsValues] = useState<{\n [id: string]: {\n [field: string]: any;\n };\n }>({});\n\n const filterRegex = useMemo(() => getFilterRegex(searchValue), [searchValue]);\n\n const detailsFilter = (location: { field: string; value: string }[], filterValue: string) =>\n location.find(field => field.value.toLowerCase().includes(filterValue));\n\n useEffect(() => {\n const lowerSearchFilter = searchFilter.toLowerCase();\n const lowerSearchValue = searchValue.toLowerCase();\n const filteredItems = items.filter(item => {\n return (\n item.type.toLowerCase().includes(lowerSearchFilter === 'all' ? '' : lowerSearchFilter) &&\n (item.primary.toLowerCase().includes(lowerSearchValue) ||\n detailsFilter(item.details.primary, lowerSearchValue) ||\n detailsFilter(item.details.output, lowerSearchValue))\n );\n });\n\n const matchedItems = filteredItems.map(item => {\n if (item.primary.toLowerCase().includes(lowerSearchValue)) return item;\n\n let matchedField;\n\n const primaryField = detailsFilter(item.details.primary, lowerSearchValue);\n if (primaryField) matchedField = primaryField;\n\n const outputField = detailsFilter(item.details.output, lowerSearchValue);\n if (outputField && !primaryField) matchedField = outputField;\n\n return {\n ...item,\n matchedField: { name: matchedField?.field, value: matchedField?.value }\n };\n });\n\n setExpressionItems(matchedItems);\n }, [searchValue, searchFilter]);\n\n const onItemAdd = (\n id: ExpressionItemProps['id'],\n addExpression: (expression: string) => void\n ) => {\n const item = items.find(instance => instance.id === id);\n if (!item) return;\n if (item.type.toLowerCase() === 'field') {\n addExpression(item.expression);\n } else {\n addExpression(\n `${item.expression.slice(0, item.expression.length - 1)}${\n expressionDetailsValues[item.id]\n ? Object.keys(expressionDetailsValues[item.id])\n .map(field => `${expressionDetailsValues[item.id][field]}`)\n .join(', ')\n : ''\n })`\n );\n }\n };\n\n const onInputParamChange = (id: string, field: string, value: any) => {\n action('Input param change')(id, field, value);\n setExpressionDetailsValues(prev => {\n return {\n ...prev,\n [id]: { ...prev[id], [field]: value }\n };\n });\n };\n\n const onItemExpand = (id: string) => {\n action('onItemExpand')(id);\n const itemDetails = expressionItems.find(item => item.id === id)?.details;\n\n const fieldValueMapper = ({ field, value }: { field: string; value: string }) => {\n return {\n id: `${id}-${field}`,\n name: field,\n value\n };\n };\n\n if (itemDetails) {\n const primary = itemDetails.primary.map(fieldValueMapper);\n\n const outputParams = itemDetails.output?.map(fieldValueMapper);\n\n const inputParams = itemDetails.input?.map(({ id: fieldId, field, type }) => {\n const inputParam: InputParams<InputProps & ForwardProps> = {\n id: `${id}-${fieldId}`,\n renderer: Input,\n rendererProps: {\n label: field,\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n onInputParamChange(id, fieldId, e.target.value),\n type: type as InputProps['type']\n }\n };\n return inputParam;\n });\n\n setExpressionDetails(prev => {\n return {\n ...prev,\n [id]: {\n primary,\n outputParams,\n inputParams\n }\n };\n });\n }\n };\n\n const onItemCollapse = (id: string) => {\n action('onItemCollapse')(id);\n setTimeout(() => {\n setExpressionDetails(prev => {\n const newExpressionDetails = { ...prev };\n delete newExpressionDetails[id];\n return newExpressionDetails;\n });\n }, 500);\n\n setExpressionDetailsValues(prev => {\n const newValues = { ...prev };\n delete newValues[id];\n return newValues;\n });\n };\n\n const fetchSuggestions: ExpressionBuilderProps['fetchSuggestions'] = (\n autoCompleteTrigger,\n queryString\n ) => {\n action('queryString')(queryString);\n if (autoCompleteTrigger === '@') {\n setLoading(true);\n return new Promise(resolve => {\n setTimeout(() => {\n setLoading(false);\n resolve(suggestedRuleType);\n }, 1000);\n });\n }\n if (autoCompleteTrigger === ':') {\n const scope = queryString.split('@')[0];\n const suggestedFunctions = getSuggestedFunction(scope);\n\n setLoading(true);\n return new Promise(resolve => {\n setTimeout(() => {\n setLoading(false);\n resolve(suggestedFunctions);\n }, 1000);\n });\n }\n setLoading(true);\n return new Promise(resolve => {\n setTimeout(() => {\n setLoading(false);\n resolve(suggestedFields);\n }, 1000);\n });\n };\n\n const debouncedHandler = useRef(\n debounce(expression => {\n if (expression.includes('undefined'))\n setErrors('Correct the invalid expression, expression cannot contain \"undefined\" ');\n else setErrors('');\n }, 600)\n ).current;\n\n return (\n <StyledExpressionBuilderDemo>\n <ExpressionBuilder\n list={{\n items: expressionItems,\n onItemAdd: args.onItemAdd || onItemAdd,\n onItemExpand: args.onItemExpand || onItemExpand,\n onItemCollapse: args.onItemCollapse || onItemCollapse,\n details: expressionDetails\n }}\n search={{\n filters: ['Field', 'Function', 'Decision', 'When'],\n onFilterChange: args.onFilterChange\n ? args.onFilterChange\n : value => setSearchFilter(value),\n onSearchChange: args.onSearchChange\n ? args.onSearchChange\n : value => setSearchValue(value),\n value: searchValue,\n accent: filterRegex\n }}\n onChange={debouncedHandler}\n errors={validationErrors && !args.readOnly ? validationErrors : undefined}\n readOnly={args.readOnly}\n defaultValue={\n args.defaultValue === undefined ? 'Math@Function:max(param1,param2)' : args.defaultValue\n }\n handle={args.handle || handle}\n fetchSuggestions={fetchSuggestions}\n loading={loading}\n />\n </StyledExpressionBuilderDemo>\n );\n};\n\nExpressionBuilderDemo.args = {\n readOnly: false\n};\n\nExpressionBuilderDemo.argTypes = {\n readOnly: { control: { type: 'boolean' } }\n};\n\ninterface CodeEditorDemoProps {\n showErrors?: boolean;\n readOnly?: boolean;\n}\n\nexport const CodeEditorDemo: Story<CodeEditorDemoProps> = (args: CodeEditorDemoProps) => {\n const codeEditorHandle = useRef<EditorState | null>(null);\n const [loading, setLoading] = useState(false);\n\n const fetchSuggestions: ExpressionBuilderProps['fetchSuggestions'] = () => {\n setLoading(true);\n return new Promise(resolve => {\n setTimeout(() => {\n setLoading(false);\n resolve(suggestedFields);\n }, 1000);\n });\n };\n\n return (\n <Configuration theme={BuildTheme}>\n <CodeEditor\n fetchSuggestions={fetchSuggestions}\n autoCompleteTriggers={['.', '@']}\n editorConfigProps={{\n mode: 'expression',\n readOnly: args.readOnly\n }}\n codeEditorHandle={codeEditorHandle}\n defaultValue='Math@Function:max(param1,param2)'\n loading={loading}\n errors={args.showErrors && !args.readOnly ? errors : undefined}\n readOnly={args.readOnly}\n />\n </Configuration>\n );\n};\n\nCodeEditorDemo.args = {\n showErrors: false,\n readOnly: false\n};\n\nCodeEditorDemo.argTypes = {\n showErrors: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } }\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ExpressionBuilder.stories.jsx","sourceRoot":"","sources":["../../../src/build/ExpressionBuilder/ExpressionBuilder.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\nimport { useState, useEffect, useRef, ChangeEvent, useMemo } from 'react';\n\nimport { debounce } from '@pega/cosmos-react-core/lib/utils';\nimport {\n ExpressionBuilder,\n ExpressionItem,\n ExpressionItemProps,\n ExpressionList,\n ExpressionBuilderProps,\n ExpressionDetails,\n HandleValue,\n InputParams,\n CodeEditor,\n EditorState\n} from '@pega/cosmos-react-build';\nimport {\n BuildTheme,\n Configuration,\n createUID,\n ForwardProps,\n Input,\n InputProps\n} from '@pega/cosmos-react-core';\nimport ExpressionBuilderContext from '@pega/cosmos-react-build/lib/components/ExpressionBuilder/ExpressionBuilderContext';\n\nimport {\n errors,\n getFilterRegex,\n items,\n primaryDetails,\n StyledExpressionBuilderDemo,\n suggestedFields,\n suggestedRuleType,\n getSuggestedFunction,\n getScopeFromPosition\n} from './ExpressionBuilder.mocks';\n\nexport default {\n title: 'Build/ExpressionBuilder',\n component: ExpressionBuilder\n} as Meta;\n\ninterface ExpressionItemDemoProps {\n accent?: ExpressionBuilderProps['search']['accent'];\n matchedField?: ExpressionItemProps['matchedField'];\n}\n\nexport const ExpressionItemDemo: Story<ExpressionItemDemoProps> = (\n args: ExpressionItemDemoProps\n) => {\n const [expanded, setExpanded] = useState<ExpressionItemProps['expanded']>(false);\n const onAdd = (id: ExpressionItemProps['id']) => {\n action(`${id} clicked`);\n };\n\n const onExpand = (id: ExpressionItemProps['id']) => {\n setExpanded(true);\n action(`${id} expanded`);\n };\n\n const onCollapse = (id: ExpressionItemProps['id']) => {\n setExpanded(false);\n action(`${id} collapsed`);\n };\n\n const handleChange = (id: string, field: string, value: any) => {\n action('Input param change')(id, field, value);\n };\n\n return (\n <ExpressionBuilderContext.Provider value={{ accent: args.accent }}>\n <ExpressionItem\n id={createUID()}\n primary='Loan to value validation'\n type='Decision'\n onAdd={onAdd}\n onExpand={onExpand}\n onCollapse={onCollapse}\n expanded={expanded}\n matchedField={args.matchedField}\n details={{\n primary: primaryDetails,\n outputParams: [\n {\n id: 'type',\n name: 'Type',\n value: 'Text'\n }\n ],\n inputParams: [\n {\n id: 'firstParam',\n renderer: Input,\n rendererProps: {\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n handleChange('Test Expression Id', 'Test Input Field', e.target.value),\n label: 'Test Input'\n }\n },\n {\n id: 'secondParam',\n renderer: Input,\n rendererProps: {\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n handleChange('Test Expression Id', 'Test Input Field 2', e.target.value),\n label: 'Test Input2'\n }\n }\n ]\n }}\n />\n </ExpressionBuilderContext.Provider>\n );\n};\n\nexport const ExpressionDetailsDemo: Story = () => {\n const handleChange = (id: string, field: string, value: any) => {\n action('Input param change')(id, field, value);\n };\n return (\n <ExpressionDetails\n primary={primaryDetails}\n outputParams={[\n {\n id: 'type',\n name: 'Type',\n value: 'Text'\n }\n ]}\n inputParams={[\n {\n id: 'firstParam',\n renderer: Input,\n rendererProps: {\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n handleChange('Test Expression Id', 'Test Input Field', e.target.value),\n label: 'Test Input'\n }\n },\n {\n id: 'secondParam',\n renderer: Input,\n rendererProps: {\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n handleChange('Test Expression Id', 'Test Input Field 2', e.target.value),\n label: 'Test Input2'\n }\n }\n ]}\n />\n );\n};\n\nexport const ExpressionListDemo: Story = () => {\n const [expressionDetails, setExpressionDetails] = useState<\n ExpressionBuilderProps['list']['details']\n >({});\n const onInputParamChange = (id: string, field: string, value: any) => {\n action('Input param change')(id, field, value);\n };\n\n const onItemExpand = (id: string) => {\n action('onItemExpand')(id);\n const itemDetails = items.find(item => item.id === id)?.details;\n\n const fieldValueMapper = ({ field, value }: { field: string; value: string }) => {\n return {\n id: `${id}-${field}`,\n name: field,\n value\n };\n };\n\n if (itemDetails) {\n const primary = itemDetails.primary.map(fieldValueMapper);\n\n const outputParams = itemDetails.output?.map(fieldValueMapper);\n\n const inputParams = itemDetails.input?.map(({ id: fieldId, field, type }) => {\n const inputParam: InputParams<InputProps & ForwardProps> = {\n id: `${id}-${fieldId}`,\n renderer: Input,\n rendererProps: {\n label: field,\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n onInputParamChange(id, fieldId, e.target.value),\n type: type as InputProps['type']\n }\n };\n return inputParam;\n });\n\n setExpressionDetails(prev => {\n return {\n ...prev,\n [id]: {\n primary,\n outputParams,\n inputParams\n }\n };\n });\n }\n };\n\n const onItemCollapse = (id: string) => {\n action('onItemCollapse')(id);\n setTimeout(() => {\n setExpressionDetails(prev => {\n const newExpressionDetails = { ...prev };\n delete newExpressionDetails[id];\n return newExpressionDetails;\n });\n }, 500);\n };\n\n return (\n <ExpressionList\n items={items}\n onItemAdd={action('onItemAdd')}\n onItemExpand={onItemExpand}\n onItemCollapse={onItemCollapse}\n details={expressionDetails}\n />\n );\n};\n\ninterface ExpressionBuilderStoryProps {\n readOnly?: boolean;\n errors?: ExpressionBuilderProps['errors'];\n onItemAdd?: ExpressionBuilderProps['list']['onItemAdd'];\n onItemExpand?: ExpressionBuilderProps['list']['onItemExpand'];\n onItemCollapse?: ExpressionBuilderProps['list']['onItemCollapse'];\n onFilterChange?: ExpressionBuilderProps['search']['onFilterChange'];\n onSearchChange?: ExpressionBuilderProps['search']['onSearchChange'];\n handle?: ExpressionBuilderProps['handle'];\n defaultValue?: string;\n}\nexport const ExpressionBuilderDemo: Story<ExpressionBuilderStoryProps> = (\n args: ExpressionBuilderStoryProps\n) => {\n const [searchValue, setSearchValue] = useState('');\n const [searchFilter, setSearchFilter] = useState('');\n const [expressionItems, setExpressionItems] = useState(items);\n const [loading, setLoading] = useState(false);\n const handle = useRef<HandleValue>(null);\n const [validationErrors, setErrors] = useState('');\n const [expressionDetails, setExpressionDetails] = useState<\n ExpressionBuilderProps['list']['details']\n >({});\n const [expressionDetailsValues, setExpressionDetailsValues] = useState<{\n [id: string]: {\n [field: string]: any;\n };\n }>({});\n\n const filterRegex = useMemo(() => getFilterRegex(searchValue), [searchValue]);\n\n const detailsFilter = (location: { field: string; value: string }[], filterValue: string) =>\n location.find(field => field.value.toLowerCase().includes(filterValue));\n\n useEffect(() => {\n const lowerSearchFilter = searchFilter.toLowerCase();\n const lowerSearchValue = searchValue.toLowerCase();\n const filteredItems = items.filter(item => {\n return (\n item.type.toLowerCase().includes(lowerSearchFilter === 'all' ? '' : lowerSearchFilter) &&\n (item.primary.toLowerCase().includes(lowerSearchValue) ||\n detailsFilter(item.details.primary, lowerSearchValue) ||\n detailsFilter(item.details.output, lowerSearchValue))\n );\n });\n\n const matchedItems = filteredItems.map(item => {\n if (item.primary.toLowerCase().includes(lowerSearchValue)) return item;\n\n let matchedField;\n\n const primaryField = detailsFilter(item.details.primary, lowerSearchValue);\n if (primaryField) matchedField = primaryField;\n\n const outputField = detailsFilter(item.details.output, lowerSearchValue);\n if (outputField && !primaryField) matchedField = outputField;\n\n return {\n ...item,\n matchedField: { name: matchedField?.field, value: matchedField?.value }\n };\n });\n\n setExpressionItems(matchedItems);\n }, [searchValue, searchFilter]);\n\n const onItemAdd = (\n id: ExpressionItemProps['id'],\n addExpression: (expression: string) => void\n ) => {\n const item = items.find(instance => instance.id === id);\n if (!item) return;\n if (item.type.toLowerCase() === 'field') {\n addExpression(item.expression);\n } else {\n addExpression(\n `${item.expression.slice(0, item.expression.length - 1)}${\n expressionDetailsValues[item.id]\n ? Object.keys(expressionDetailsValues[item.id])\n .map(field => `${expressionDetailsValues[item.id][field]}`)\n .join(', ')\n : ''\n })`\n );\n }\n };\n\n const onInputParamChange = (id: string, field: string, value: any) => {\n action('Input param change')(id, field, value);\n setExpressionDetailsValues(prev => {\n return {\n ...prev,\n [id]: { ...prev[id], [field]: value }\n };\n });\n };\n\n const onItemExpand = (id: string) => {\n action('onItemExpand')(id);\n const itemDetails = expressionItems.find(item => item.id === id)?.details;\n\n const fieldValueMapper = ({ field, value }: { field: string; value: string }) => {\n return {\n id: `${id}-${field}`,\n name: field,\n value\n };\n };\n\n if (itemDetails) {\n const primary = itemDetails.primary.map(fieldValueMapper);\n\n const outputParams = itemDetails.output?.map(fieldValueMapper);\n\n const inputParams = itemDetails.input?.map(({ id: fieldId, field, type }) => {\n const inputParam: InputParams<InputProps & ForwardProps> = {\n id: `${id}-${fieldId}`,\n renderer: Input,\n rendererProps: {\n label: field,\n onChange: (e: ChangeEvent<HTMLInputElement>) =>\n onInputParamChange(id, fieldId, e.target.value),\n type: type as InputProps['type']\n }\n };\n return inputParam;\n });\n\n setExpressionDetails(prev => {\n return {\n ...prev,\n [id]: {\n primary,\n outputParams,\n inputParams\n }\n };\n });\n }\n };\n\n const onItemCollapse = (id: string) => {\n action('onItemCollapse')(id);\n setTimeout(() => {\n setExpressionDetails(prev => {\n const newExpressionDetails = { ...prev };\n delete newExpressionDetails[id];\n return newExpressionDetails;\n });\n }, 500);\n\n setExpressionDetailsValues(prev => {\n const newValues = { ...prev };\n delete newValues[id];\n return newValues;\n });\n };\n\n const fetchSuggestions: ExpressionBuilderProps['fetchSuggestions'] = (\n autoCompleteTrigger,\n cursorPosition\n ) => {\n action('cursorPosition')(cursorPosition);\n if (autoCompleteTrigger === '@') {\n setLoading(true);\n return new Promise(resolve => {\n setTimeout(() => {\n setLoading(false);\n resolve(suggestedRuleType);\n }, 1000);\n });\n }\n if (autoCompleteTrigger === ':') {\n const scope = getScopeFromPosition(\n cursorPosition,\n autoCompleteTrigger,\n handle.current?.getExpression() ?? ''\n ).split('@')[0];\n const suggestedFunctions = getSuggestedFunction(scope);\n\n setLoading(true);\n return new Promise(resolve => {\n setTimeout(() => {\n setLoading(false);\n resolve(suggestedFunctions);\n }, 1000);\n });\n }\n setLoading(true);\n return new Promise(resolve => {\n setTimeout(() => {\n setLoading(false);\n resolve(suggestedFields);\n }, 1000);\n });\n };\n\n const debouncedHandler = useRef(\n debounce(expression => {\n if (expression.includes('undefined'))\n setErrors('Correct the invalid expression, expression cannot contain \"undefined\" ');\n else setErrors('');\n }, 600)\n ).current;\n\n return (\n <StyledExpressionBuilderDemo>\n <ExpressionBuilder\n list={{\n items: expressionItems,\n onItemAdd: args.onItemAdd || onItemAdd,\n onItemExpand: args.onItemExpand || onItemExpand,\n onItemCollapse: args.onItemCollapse || onItemCollapse,\n details: expressionDetails\n }}\n search={{\n filters: ['Field', 'Function', 'Decision', 'When'],\n onFilterChange: args.onFilterChange\n ? args.onFilterChange\n : value => setSearchFilter(value),\n onSearchChange: args.onSearchChange\n ? args.onSearchChange\n : value => setSearchValue(value),\n value: searchValue,\n accent: filterRegex\n }}\n onChange={debouncedHandler}\n errors={validationErrors && !args.readOnly ? validationErrors : undefined}\n readOnly={args.readOnly}\n defaultValue={\n args.defaultValue === undefined ? 'Math@Function:max(param1,param2)' : args.defaultValue\n }\n handle={args.handle || handle}\n fetchSuggestions={fetchSuggestions}\n loading={loading}\n />\n </StyledExpressionBuilderDemo>\n );\n};\n\nExpressionBuilderDemo.args = {\n readOnly: false\n};\n\nExpressionBuilderDemo.argTypes = {\n readOnly: { control: { type: 'boolean' } }\n};\n\ninterface CodeEditorDemoProps {\n showErrors?: boolean;\n readOnly?: boolean;\n}\n\nexport const CodeEditorDemo: Story<CodeEditorDemoProps> = (args: CodeEditorDemoProps) => {\n const codeEditorHandle = useRef<EditorState | null>(null);\n const [loading, setLoading] = useState(false);\n\n const fetchSuggestions: ExpressionBuilderProps['fetchSuggestions'] = () => {\n setLoading(true);\n return new Promise(resolve => {\n setTimeout(() => {\n setLoading(false);\n resolve(suggestedFields);\n }, 1000);\n });\n };\n\n return (\n <Configuration theme={BuildTheme}>\n <CodeEditor\n fetchSuggestions={fetchSuggestions}\n autoCompleteTriggers={['.', '@']}\n editorConfigProps={{\n mode: 'expression',\n readOnly: args.readOnly\n }}\n codeEditorHandle={codeEditorHandle}\n defaultValue='Math@Function:max(param1,param2)'\n loading={loading}\n errors={args.showErrors && !args.readOnly ? errors : undefined}\n readOnly={args.readOnly}\n />\n </Configuration>\n );\n};\n\nCodeEditorDemo.args = {\n showErrors: false,\n readOnly: false\n};\n\nCodeEditorDemo.argTypes = {\n showErrors: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } }\n};\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Meta, Story } from '@storybook/react';
|
|
2
|
+
import { PageBannerProps } from '@pega/cosmos-react-build';
|
|
3
|
+
import { ImageProps } from '@pega/cosmos-react-core';
|
|
4
|
+
declare const _default: Meta<import("@storybook/react").Args>;
|
|
5
|
+
export default _default;
|
|
6
|
+
interface PageBannerDemoProps {
|
|
7
|
+
title: PageBannerProps['title'];
|
|
8
|
+
description: PageBannerProps['description'];
|
|
9
|
+
imageSrc?: ImageProps['src'];
|
|
10
|
+
imageAlt?: ImageProps['alt'];
|
|
11
|
+
showImage?: boolean;
|
|
12
|
+
showActions?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const PageBannerDemo: Story<PageBannerDemoProps>;
|
|
15
|
+
//# sourceMappingURL=PageBanner.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageBanner.stories.d.ts","sourceRoot":"","sources":["../../../src/build/PageBanner/PageBanner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAc,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;;AAErD,wBAMU;AAEV,UAAU,mBAAmB;IAC3B,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,mBAAmB,CA8BrD,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { action } from '@storybook/addon-actions';
|
|
2
|
+
import { PageBanner } from '@pega/cosmos-react-build';
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Build/PageBanner',
|
|
5
|
+
component: PageBanner,
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: 'fullscreen'
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
export const PageBannerDemo = (args) => {
|
|
11
|
+
return (<PageBanner title={args.title || 'Live Data'} description={args.description} image={args.showImage
|
|
12
|
+
? {
|
|
13
|
+
src: args.imageSrc || './build-live-data.svg',
|
|
14
|
+
alt: args.imageAlt || 'Image for the banner'
|
|
15
|
+
}
|
|
16
|
+
: undefined} actions={args.showActions
|
|
17
|
+
? [
|
|
18
|
+
{
|
|
19
|
+
label: 'Add Data Type',
|
|
20
|
+
onClick: action('Banner action clicked!')
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
label: 'View Data Types',
|
|
24
|
+
onClick: action('Banner action clicked!')
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
: undefined} link={args.showActions ? { label: 'Learn more', href: '#' } : undefined}/>);
|
|
28
|
+
};
|
|
29
|
+
PageBannerDemo.args = {
|
|
30
|
+
title: 'Live Data',
|
|
31
|
+
description: 'Live Data allows users to quickly and easily define the data required to build the apps they need, and then access that data in their running application - all without having to worry about how and where the data is actually stored and accessed.',
|
|
32
|
+
showImage: true,
|
|
33
|
+
showActions: true
|
|
34
|
+
};
|
|
35
|
+
PageBannerDemo.argTypes = {
|
|
36
|
+
title: { control: { type: 'text' } },
|
|
37
|
+
description: { control: { type: 'text' } },
|
|
38
|
+
showImage: { control: { type: 'boolean' } },
|
|
39
|
+
showActions: { control: { type: 'boolean' } }
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=PageBanner.stories.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageBanner.stories.jsx","sourceRoot":"","sources":["../../../src/build/PageBanner/PageBanner.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,UAAU,EAAmB,MAAM,0BAA0B,CAAC;AAGvE,eAAe;IACb,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,UAAU;IACrB,UAAU,EAAE;QACV,MAAM,EAAE,YAAY;KACrB;CACM,CAAC;AAWV,MAAM,CAAC,MAAM,cAAc,GAA+B,CAAC,IAAyB,EAAE,EAAE;IACtF,OAAO,CACL,CAAC,UAAU,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,CACjC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,KAAK,CAAC,CACJ,IAAI,CAAC,SAAS;YACZ,CAAC,CAAC;gBACE,GAAG,EAAE,IAAI,CAAC,QAAQ,IAAI,uBAAuB;gBAC7C,GAAG,EAAE,IAAI,CAAC,QAAQ,IAAI,sBAAsB;aAC7C;YACH,CAAC,CAAC,SAAS,CACd,CACD,OAAO,CAAC,CACN,IAAI,CAAC,WAAW;YACd,CAAC,CAAC;gBACE;oBACE,KAAK,EAAE,eAAe;oBACtB,OAAO,EAAE,MAAM,CAAC,wBAAwB,CAAC;iBAC1C;gBACD;oBACE,KAAK,EAAE,iBAAiB;oBACxB,OAAO,EAAE,MAAM,CAAC,wBAAwB,CAAC;iBAC1C;aACF;YACH,CAAC,CAAC,SAAS,CACd,CACD,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACxE,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,cAAc,CAAC,IAAI,GAAG;IACpB,KAAK,EAAE,WAAW;IAClB,WAAW,EACT,uPAAuP;IACzP,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,cAAc,CAAC,QAAQ,GAAG;IACxB,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACpC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC1C,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC3C,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CAC9C,CAAC","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { PageBanner, PageBannerProps } from '@pega/cosmos-react-build';\nimport { ImageProps } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Build/PageBanner',\n component: PageBanner,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\ninterface PageBannerDemoProps {\n title: PageBannerProps['title'];\n description: PageBannerProps['description'];\n imageSrc?: ImageProps['src'];\n imageAlt?: ImageProps['alt'];\n showImage?: boolean;\n showActions?: boolean;\n}\n\nexport const PageBannerDemo: Story<PageBannerDemoProps> = (args: PageBannerDemoProps) => {\n return (\n <PageBanner\n title={args.title || 'Live Data'}\n description={args.description}\n image={\n args.showImage\n ? {\n src: args.imageSrc || './build-live-data.svg',\n alt: args.imageAlt || 'Image for the banner'\n }\n : undefined\n }\n actions={\n args.showActions\n ? [\n {\n label: 'Add Data Type',\n onClick: action('Banner action clicked!')\n },\n {\n label: 'View Data Types',\n onClick: action('Banner action clicked!')\n }\n ]\n : undefined\n }\n link={args.showActions ? { label: 'Learn more', href: '#' } : undefined}\n />\n );\n};\n\nPageBannerDemo.args = {\n title: 'Live Data',\n description:\n 'Live Data allows users to quickly and easily define the data required to build the apps they need, and then access that data in their running application - all without having to worry about how and where the data is actually stored and accessed.',\n showImage: true,\n showActions: true\n};\n\nPageBannerDemo.argTypes = {\n title: { control: { type: 'text' } },\n description: { control: { type: 'text' } },\n showImage: { control: { type: 'boolean' } },\n showActions: { control: { type: 'boolean' } }\n};\n"]}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { Meta, Story } from '@storybook/react';
|
|
2
|
+
import { PageBannerProps } from '@pega/cosmos-react-build';
|
|
2
3
|
declare const _default: Meta<import("@storybook/react").Args>;
|
|
3
4
|
export default _default;
|
|
4
5
|
interface GalleryPageArgs {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
title: PageBannerProps['title'];
|
|
7
|
+
description: PageBannerProps['description'];
|
|
8
|
+
showImage?: boolean;
|
|
9
|
+
showActions?: boolean;
|
|
7
10
|
showEmptyState: boolean;
|
|
8
11
|
emptyStateHeading: string;
|
|
9
12
|
emptyStateDescription: string;
|
|
13
|
+
disableCrossLinking?: boolean;
|
|
10
14
|
}
|
|
11
|
-
export declare const
|
|
15
|
+
export declare const GalleryPageDemo: Story<GalleryPageArgs>;
|
|
12
16
|
//# sourceMappingURL=GalleryPage.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalleryPage.stories.d.ts","sourceRoot":"","sources":["../../../src/build/PageTemplates/GalleryPage.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC
|
|
1
|
+
{"version":3,"file":"GalleryPage.stories.d.ts","sourceRoot":"","sources":["../../../src/build/PageTemplates/GalleryPage.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAAe,eAAe,EAAE,MAAM,0BAA0B,CAAC;;AAMxE,wBAMU;AAEV,UAAU,eAAe;IACvB,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,eAAe,CAyClD,CAAC"}
|