@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.
Files changed (155) hide show
  1. package/jsx/build/AppShell/AppShell.mocks.d.ts +16 -14
  2. package/jsx/build/AppShell/AppShell.mocks.d.ts.map +1 -1
  3. package/jsx/build/AppShell/AppShell.mocks.jsx +144 -101
  4. package/jsx/build/AppShell/AppShell.mocks.jsx.map +1 -1
  5. package/jsx/build/AppShell/AppShell.stories.d.ts +1 -0
  6. package/jsx/build/AppShell/AppShell.stories.d.ts.map +1 -1
  7. package/jsx/build/AppShell/AppShell.stories.jsx +7 -3
  8. package/jsx/build/AppShell/AppShell.stories.jsx.map +1 -1
  9. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +2 -0
  10. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -1
  11. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js +23 -0
  12. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -1
  13. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -1
  14. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx +4 -4
  15. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx.map +1 -1
  16. package/jsx/build/PageBanner/PageBanner.stories.d.ts +15 -0
  17. package/jsx/build/PageBanner/PageBanner.stories.d.ts.map +1 -0
  18. package/jsx/build/PageBanner/PageBanner.stories.jsx +41 -0
  19. package/jsx/build/PageBanner/PageBanner.stories.jsx.map +1 -0
  20. package/jsx/build/PageTemplates/GalleryPage.stories.d.ts +7 -3
  21. package/jsx/build/PageTemplates/GalleryPage.stories.d.ts.map +1 -1
  22. package/jsx/build/PageTemplates/GalleryPage.stories.jsx +29 -19
  23. package/jsx/build/PageTemplates/GalleryPage.stories.jsx.map +1 -1
  24. package/jsx/build/PageTemplates/ShowcasePage.stories.d.ts +17 -0
  25. package/jsx/build/PageTemplates/ShowcasePage.stories.d.ts.map +1 -0
  26. package/jsx/build/PageTemplates/ShowcasePage.stories.jsx +42 -0
  27. package/jsx/build/PageTemplates/ShowcasePage.stories.jsx.map +1 -0
  28. package/jsx/condition-builder/ConditionBuilder/props.mock.js +4 -4
  29. package/jsx/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
  30. package/jsx/core/AppShell/AppShell.mocks.jsx +1 -1
  31. package/jsx/core/AppShell/AppShell.mocks.jsx.map +1 -1
  32. package/jsx/core/AppShell/AppShell.stories.d.ts +1 -0
  33. package/jsx/core/AppShell/AppShell.stories.d.ts.map +1 -1
  34. package/jsx/core/AppShell/AppShell.stories.jsx +21 -6
  35. package/jsx/core/AppShell/AppShell.stories.jsx.map +1 -1
  36. package/jsx/core/Banner/Banner.stories.d.ts +1 -0
  37. package/jsx/core/Banner/Banner.stories.d.ts.map +1 -1
  38. package/jsx/core/Banner/Banner.stories.jsx +3 -3
  39. package/jsx/core/Banner/Banner.stories.jsx.map +1 -1
  40. package/jsx/cs/CSAppShell/CSAppShell.mocks.d.ts +1 -0
  41. package/jsx/cs/CSAppShell/CSAppShell.mocks.d.ts.map +1 -1
  42. package/jsx/cs/CSAppShell/CSAppShell.mocks.jsx +46 -1
  43. package/jsx/cs/CSAppShell/CSAppShell.mocks.jsx.map +1 -1
  44. package/jsx/cs/CSAppShell/CSAppShell.stories.d.ts.map +1 -1
  45. package/jsx/cs/CSAppShell/CSAppShell.stories.jsx +2 -2
  46. package/jsx/cs/CSAppShell/CSAppShell.stories.jsx.map +1 -1
  47. package/jsx/social/Chat/Chat.mocks.d.ts +2 -1
  48. package/jsx/social/Chat/Chat.mocks.d.ts.map +1 -1
  49. package/jsx/social/Chat/Chat.mocks.js +26 -0
  50. package/jsx/social/Chat/Chat.mocks.js.map +1 -1
  51. package/jsx/social/Chat/Chat.stories.d.ts +5 -2
  52. package/jsx/social/Chat/Chat.stories.d.ts.map +1 -1
  53. package/jsx/social/Chat/Chat.stories.jsx +35 -101
  54. package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
  55. package/jsx/social/Email/Email.mocks.d.ts +49 -7
  56. package/jsx/social/Email/Email.mocks.d.ts.map +1 -1
  57. package/jsx/social/Email/Email.mocks.jsx +127 -15
  58. package/jsx/social/Email/Email.mocks.jsx.map +1 -1
  59. package/jsx/social/Email/Email.stories.d.ts +10 -0
  60. package/jsx/social/Email/Email.stories.d.ts.map +1 -1
  61. package/jsx/social/Email/Email.stories.jsx +129 -12
  62. package/jsx/social/Email/Email.stories.jsx.map +1 -1
  63. package/jsx/tools/DevTools/DevTools.stories.d.ts.map +1 -1
  64. package/jsx/tools/DevTools/DevTools.stories.jsx +2 -4
  65. package/jsx/tools/DevTools/DevTools.stories.jsx.map +1 -1
  66. package/jsx/tools/PreviewShell/PreviewShell.mocks.d.ts +3 -1
  67. package/jsx/tools/PreviewShell/PreviewShell.mocks.d.ts.map +1 -1
  68. package/jsx/tools/PreviewShell/PreviewShell.mocks.jsx +7 -4
  69. package/jsx/tools/PreviewShell/PreviewShell.mocks.jsx.map +1 -1
  70. package/jsx/tools/PreviewShell/PreviewShell.stories.d.ts.map +1 -1
  71. package/jsx/tools/PreviewShell/PreviewShell.stories.jsx +16 -12
  72. package/jsx/tools/PreviewShell/PreviewShell.stories.jsx.map +1 -1
  73. package/jsx/work/Stages/Stages.mocks.jsx +6 -6
  74. package/jsx/work/Stages/Stages.mocks.jsx.map +1 -1
  75. package/jsx/work/Tasks/Tasks.stories.d.ts.map +1 -1
  76. package/jsx/work/Tasks/Tasks.stories.jsx +15 -13
  77. package/jsx/work/Tasks/Tasks.stories.jsx.map +1 -1
  78. package/lib/build/AppShell/AppShell.mocks.d.ts +16 -14
  79. package/lib/build/AppShell/AppShell.mocks.d.ts.map +1 -1
  80. package/lib/build/AppShell/AppShell.mocks.js +144 -101
  81. package/lib/build/AppShell/AppShell.mocks.js.map +1 -1
  82. package/lib/build/AppShell/AppShell.stories.d.ts +1 -0
  83. package/lib/build/AppShell/AppShell.stories.d.ts.map +1 -1
  84. package/lib/build/AppShell/AppShell.stories.js +7 -3
  85. package/lib/build/AppShell/AppShell.stories.js.map +1 -1
  86. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +2 -0
  87. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -1
  88. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js +23 -0
  89. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -1
  90. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -1
  91. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js +4 -4
  92. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js.map +1 -1
  93. package/lib/build/PageBanner/PageBanner.stories.d.ts +15 -0
  94. package/lib/build/PageBanner/PageBanner.stories.d.ts.map +1 -0
  95. package/lib/build/PageBanner/PageBanner.stories.js +42 -0
  96. package/lib/build/PageBanner/PageBanner.stories.js.map +1 -0
  97. package/lib/build/PageTemplates/GalleryPage.stories.d.ts +7 -3
  98. package/lib/build/PageTemplates/GalleryPage.stories.d.ts.map +1 -1
  99. package/lib/build/PageTemplates/GalleryPage.stories.js +29 -19
  100. package/lib/build/PageTemplates/GalleryPage.stories.js.map +1 -1
  101. package/lib/build/PageTemplates/ShowcasePage.stories.d.ts +17 -0
  102. package/lib/build/PageTemplates/ShowcasePage.stories.d.ts.map +1 -0
  103. package/lib/build/PageTemplates/ShowcasePage.stories.js +43 -0
  104. package/lib/build/PageTemplates/ShowcasePage.stories.js.map +1 -0
  105. package/lib/condition-builder/ConditionBuilder/props.mock.js +4 -4
  106. package/lib/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
  107. package/lib/core/AppShell/AppShell.mocks.js +1 -1
  108. package/lib/core/AppShell/AppShell.mocks.js.map +1 -1
  109. package/lib/core/AppShell/AppShell.stories.d.ts +1 -0
  110. package/lib/core/AppShell/AppShell.stories.d.ts.map +1 -1
  111. package/lib/core/AppShell/AppShell.stories.js +21 -6
  112. package/lib/core/AppShell/AppShell.stories.js.map +1 -1
  113. package/lib/core/Banner/Banner.stories.d.ts +1 -0
  114. package/lib/core/Banner/Banner.stories.d.ts.map +1 -1
  115. package/lib/core/Banner/Banner.stories.js +1 -1
  116. package/lib/core/Banner/Banner.stories.js.map +1 -1
  117. package/lib/cs/CSAppShell/CSAppShell.mocks.d.ts +1 -0
  118. package/lib/cs/CSAppShell/CSAppShell.mocks.d.ts.map +1 -1
  119. package/lib/cs/CSAppShell/CSAppShell.mocks.js +37 -1
  120. package/lib/cs/CSAppShell/CSAppShell.mocks.js.map +1 -1
  121. package/lib/cs/CSAppShell/CSAppShell.stories.d.ts.map +1 -1
  122. package/lib/cs/CSAppShell/CSAppShell.stories.js +2 -2
  123. package/lib/cs/CSAppShell/CSAppShell.stories.js.map +1 -1
  124. package/lib/social/Chat/Chat.mocks.d.ts +2 -1
  125. package/lib/social/Chat/Chat.mocks.d.ts.map +1 -1
  126. package/lib/social/Chat/Chat.mocks.js +26 -0
  127. package/lib/social/Chat/Chat.mocks.js.map +1 -1
  128. package/lib/social/Chat/Chat.stories.d.ts +5 -2
  129. package/lib/social/Chat/Chat.stories.d.ts.map +1 -1
  130. package/lib/social/Chat/Chat.stories.js +36 -76
  131. package/lib/social/Chat/Chat.stories.js.map +1 -1
  132. package/lib/social/Email/Email.mocks.d.ts +49 -7
  133. package/lib/social/Email/Email.mocks.d.ts.map +1 -1
  134. package/lib/social/Email/Email.mocks.js +127 -15
  135. package/lib/social/Email/Email.mocks.js.map +1 -1
  136. package/lib/social/Email/Email.stories.d.ts +10 -0
  137. package/lib/social/Email/Email.stories.d.ts.map +1 -1
  138. package/lib/social/Email/Email.stories.js +134 -12
  139. package/lib/social/Email/Email.stories.js.map +1 -1
  140. package/lib/tools/DevTools/DevTools.stories.d.ts.map +1 -1
  141. package/lib/tools/DevTools/DevTools.stories.js +2 -4
  142. package/lib/tools/DevTools/DevTools.stories.js.map +1 -1
  143. package/lib/tools/PreviewShell/PreviewShell.mocks.d.ts +3 -1
  144. package/lib/tools/PreviewShell/PreviewShell.mocks.d.ts.map +1 -1
  145. package/lib/tools/PreviewShell/PreviewShell.mocks.js +5 -4
  146. package/lib/tools/PreviewShell/PreviewShell.mocks.js.map +1 -1
  147. package/lib/tools/PreviewShell/PreviewShell.stories.d.ts.map +1 -1
  148. package/lib/tools/PreviewShell/PreviewShell.stories.js +11 -13
  149. package/lib/tools/PreviewShell/PreviewShell.stories.js.map +1 -1
  150. package/lib/work/Stages/Stages.mocks.js +6 -6
  151. package/lib/work/Stages/Stages.mocks.js.map +1 -1
  152. package/lib/work/Tasks/Tasks.stories.d.ts.map +1 -1
  153. package/lib/work/Tasks/Tasks.stories.js +2 -2
  154. package/lib/work/Tasks/Tasks.stories.js.map +1 -1
  155. package/package.json +10 -9
@@ -6,6 +6,7 @@ export default _default;
6
6
  export interface AppShellStoryProps extends OmitStrict<BranchButtonProps, 'items'> {
7
7
  appName: string;
8
8
  hideNav?: boolean;
9
+ defaultExpanded?: boolean;
9
10
  showPreview?: boolean;
10
11
  showLinks?: boolean;
11
12
  showBranch?: boolean;
@@ -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;;AAIlC,wBAMU;AAEV,MAAM,WAAW,kBAAmB,SAAQ,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,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,CAoLlD,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 || (<TabbedPageComp pageContent={pageContent} showBreadcrumbs={!!args.showBreadcrumbs}/>)} appHeader={appHeaderProps} nav={args.hideNav
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;;AAsBlC,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,CA+NpE,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"}
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, queryString) => {
256
- action('queryString')(queryString);
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 = queryString.split('@')[0];
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
- bannerHeading: string;
6
- bannerDescription: string;
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 AppShellWithGalleryPage: Story<GalleryPageArgs>;
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;;AAS/C,wBAMU;AAEV,UAAU,eAAe;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,eAAe,CAuC1D,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"}