@pega/cosmos-react-demos 3.0.0-dev.28.0 → 3.0.0-dev.29.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 (93) hide show
  1. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +4 -0
  2. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -1
  3. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js +23 -1
  4. package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -1
  5. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts +4 -1
  6. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -1
  7. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx +28 -5
  8. package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx.map +1 -1
  9. package/jsx/condition-builder/ConditionBuilder/ConditionBuilder.styles.d.ts +1 -1
  10. package/jsx/condition-builder/ConditionBuilder/ConditionBuilder.styles.d.ts.map +1 -1
  11. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
  12. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js +32 -16
  13. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
  14. package/jsx/core/DateTime/DateTime.stories.d.ts +2 -1
  15. package/jsx/core/DateTime/DateTime.stories.d.ts.map +1 -1
  16. package/jsx/core/DateTime/DateTime.stories.jsx +40 -6
  17. package/jsx/core/DateTime/DateTime.stories.jsx.map +1 -1
  18. package/jsx/core/DateTime/DateTimePicker.stories.d.ts.map +1 -1
  19. package/jsx/core/DateTime/DateTimePicker.stories.jsx +1 -1
  20. package/jsx/core/DateTime/DateTimePicker.stories.jsx.map +1 -1
  21. package/jsx/core/Location/locationTestUtils.d.ts +3 -0
  22. package/jsx/core/Location/locationTestUtils.d.ts.map +1 -0
  23. package/jsx/core/Location/locationTestUtils.js +29 -0
  24. package/jsx/core/Location/locationTestUtils.js.map +1 -0
  25. package/jsx/core/Number/Number.stories.d.ts +2 -1
  26. package/jsx/core/Number/Number.stories.d.ts.map +1 -1
  27. package/jsx/core/Number/Number.stories.jsx +91 -1
  28. package/jsx/core/Number/Number.stories.jsx.map +1 -1
  29. package/jsx/core/Popover/Popover.stories.jsx +6 -6
  30. package/jsx/core/Popover/Popover.stories.jsx.map +1 -1
  31. package/jsx/social/Chat/Chat.stories.jsx +4 -4
  32. package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
  33. package/jsx/social/Email/Email.stories.jsx +2 -2
  34. package/jsx/social/Email/Email.stories.jsx.map +1 -1
  35. package/jsx/tools/DevTools/DevTools.mocks.d.ts +3 -0
  36. package/jsx/tools/DevTools/DevTools.mocks.d.ts.map +1 -0
  37. package/jsx/tools/DevTools/DevTools.mocks.js +3 -0
  38. package/jsx/tools/DevTools/DevTools.mocks.js.map +1 -0
  39. package/jsx/tools/DevTools/DevTools.stories.d.ts +10 -0
  40. package/jsx/tools/DevTools/DevTools.stories.d.ts.map +1 -0
  41. package/jsx/tools/DevTools/DevTools.stories.jsx +35 -0
  42. package/jsx/tools/DevTools/DevTools.stories.jsx.map +1 -0
  43. package/jsx/tools/PreviewShell/PreviewShell.stories.d.ts +1 -0
  44. package/jsx/tools/PreviewShell/PreviewShell.stories.d.ts.map +1 -1
  45. package/jsx/tools/PreviewShell/PreviewShell.stories.jsx +53 -7
  46. package/jsx/tools/PreviewShell/PreviewShell.stories.jsx.map +1 -1
  47. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +4 -0
  48. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -1
  49. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js +23 -1
  50. package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -1
  51. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts +4 -1
  52. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -1
  53. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js +28 -5
  54. package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js.map +1 -1
  55. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.styles.d.ts +1 -1
  56. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.styles.d.ts.map +1 -1
  57. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
  58. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js +32 -16
  59. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
  60. package/lib/core/DateTime/DateTime.stories.d.ts +2 -1
  61. package/lib/core/DateTime/DateTime.stories.d.ts.map +1 -1
  62. package/lib/core/DateTime/DateTime.stories.js +40 -6
  63. package/lib/core/DateTime/DateTime.stories.js.map +1 -1
  64. package/lib/core/DateTime/DateTimePicker.stories.d.ts.map +1 -1
  65. package/lib/core/DateTime/DateTimePicker.stories.js +1 -1
  66. package/lib/core/DateTime/DateTimePicker.stories.js.map +1 -1
  67. package/lib/core/Location/locationTestUtils.d.ts +3 -0
  68. package/lib/core/Location/locationTestUtils.d.ts.map +1 -0
  69. package/lib/core/Location/locationTestUtils.js +30 -0
  70. package/lib/core/Location/locationTestUtils.js.map +1 -0
  71. package/lib/core/Number/Number.stories.d.ts +2 -1
  72. package/lib/core/Number/Number.stories.d.ts.map +1 -1
  73. package/lib/core/Number/Number.stories.js +91 -1
  74. package/lib/core/Number/Number.stories.js.map +1 -1
  75. package/lib/core/Popover/Popover.stories.js +1 -1
  76. package/lib/core/Popover/Popover.stories.js.map +1 -1
  77. package/lib/social/Chat/Chat.stories.js +2 -2
  78. package/lib/social/Chat/Chat.stories.js.map +1 -1
  79. package/lib/social/Email/Email.stories.js +1 -1
  80. package/lib/social/Email/Email.stories.js.map +1 -1
  81. package/lib/tools/DevTools/DevTools.mocks.d.ts +3 -0
  82. package/lib/tools/DevTools/DevTools.mocks.d.ts.map +1 -0
  83. package/lib/tools/DevTools/DevTools.mocks.js +3 -0
  84. package/lib/tools/DevTools/DevTools.mocks.js.map +1 -0
  85. package/lib/tools/DevTools/DevTools.stories.d.ts +10 -0
  86. package/lib/tools/DevTools/DevTools.stories.d.ts.map +1 -0
  87. package/lib/tools/DevTools/DevTools.stories.js +31 -0
  88. package/lib/tools/DevTools/DevTools.stories.js.map +1 -0
  89. package/lib/tools/PreviewShell/PreviewShell.stories.d.ts +1 -0
  90. package/lib/tools/PreviewShell/PreviewShell.stories.d.ts.map +1 -1
  91. package/lib/tools/PreviewShell/PreviewShell.stories.js +53 -7
  92. package/lib/tools/PreviewShell/PreviewShell.stories.js.map +1 -1
  93. package/package.json +9 -9
@@ -1,5 +1,5 @@
1
1
  import { action } from '@storybook/addon-actions';
2
- import { useState } from 'react';
2
+ import { useEffect, useState } from 'react';
3
3
  import { PreviewShell } from '@pega/cosmos-react-tools';
4
4
  import { footerMenuMock, footerTabsMockContent, footerTabsMock } from './PreviewShell.mocks';
5
5
  export default {
@@ -11,6 +11,8 @@ export default {
11
11
  };
12
12
  export const PreviewShellSkeleton = (args) => {
13
13
  const [tabContent, setTabContent] = useState('Tab 1 content');
14
+ const [currentTabId, setCurrentTabId] = useState(footerTabsMock[0].id);
15
+ const [newWindow, setNewWindow] = useState(null);
14
16
  return (<PreviewShell frameurl='' header={{
15
17
  appName: args.appName,
16
18
  status: {
@@ -31,11 +33,30 @@ export const PreviewShellSkeleton = (args) => {
31
33
  }} footer={{
32
34
  tabs: footerTabsMock,
33
35
  tabContent,
36
+ currentTabId,
34
37
  onTabClick: (id) => {
35
38
  setTabContent(`Tab ${+id + 1} content`);
39
+ setCurrentTabId(id);
36
40
  },
37
41
  expanded: args.expandFooter,
38
- newTabHref: 'https://www.pega.com',
42
+ onContinueDebug: newWindow
43
+ ? () => {
44
+ newWindow?.focus();
45
+ }
46
+ : undefined,
47
+ onNewWindowClick: args.onNewWindowClick ??
48
+ (() => {
49
+ const newWindowObj = window.open(`${window.location.origin}/iframe.html?id=tools-devtools--dev-tools-demo&args=&viewMode=story`);
50
+ setNewWindow(newWindowObj);
51
+ newWindowObj?.addEventListener('load', () => {
52
+ newWindowObj?.addEventListener('beforeunload', () => {
53
+ setNewWindow(null);
54
+ });
55
+ newWindowObj?.addEventListener('unload', () => {
56
+ document.querySelector('button[aria-label="Open in new window"]')?.focus();
57
+ });
58
+ });
59
+ }),
39
60
  menu: { items: footerMenuMock }
40
61
  }}/>);
41
62
  };
@@ -44,7 +65,8 @@ PreviewShellSkeleton.args = {
44
65
  statusVariant: 'pending',
45
66
  statusText: 'status',
46
67
  operatorName: 'Cindy Turner',
47
- expandFooter: true
68
+ expandFooter: true,
69
+ onNewWindowClick: undefined
48
70
  };
49
71
  PreviewShellSkeleton.argTypes = {
50
72
  appName: { control: { type: 'text' } },
@@ -54,11 +76,26 @@ PreviewShellSkeleton.argTypes = {
54
76
  },
55
77
  statusText: { control: { type: 'text' } },
56
78
  operatorName: { control: { type: 'text' } },
57
- expandFooter: { control: { type: 'boolean' } }
79
+ expandFooter: { control: { type: 'boolean' } },
80
+ onNewWindowClick: { table: { disable: true } }
58
81
  };
59
82
  export const PreviewShellDemo = (args) => {
60
- const [tabContent, setTabContent] = useState(footerTabsMockContent[0]);
61
- return (<PreviewShell frameurl={`${window.location.origin}/iframe.html?id=core-pagetemplates--tabbed-page-demo&args=&viewMode=story`} header={{
83
+ const [tabContent, setTabContent] = useState(footerTabsMockContent[1]);
84
+ const [currentTabId, setCurrentTabId] = useState(footerTabsMock[1].id);
85
+ const [newWindow, setNewWindow] = useState(null);
86
+ useEffect(() => {
87
+ if (newWindow?.self) {
88
+ newWindow.onload = () => {
89
+ newWindow.onbeforeunload = () => {
90
+ setNewWindow(null);
91
+ };
92
+ newWindow.onunload = () => {
93
+ document.querySelector('button[aria-label="Open in new window"]')?.focus();
94
+ };
95
+ };
96
+ }
97
+ }, [newWindow]);
98
+ return (<PreviewShell frameurl={`${window.location.href.split('?')[0]}?id=core-pagetemplates--tabbed-page-demo&args=&viewMode=story`} header={{
62
99
  appName: args.appName,
63
100
  onClick: action('Clicked application name'),
64
101
  status: {
@@ -78,12 +115,21 @@ export const PreviewShellDemo = (args) => {
78
115
  }
79
116
  }} footer={{
80
117
  tabs: footerTabsMock,
118
+ currentTabId,
81
119
  tabContent,
82
120
  onTabClick: (id) => {
83
121
  setTabContent(footerTabsMockContent[Number(id)]);
122
+ setCurrentTabId(id);
84
123
  },
85
124
  expanded: args.expandFooter,
86
- newTabHref: 'https://www.pega.com',
125
+ onContinueDebug: newWindow
126
+ ? () => {
127
+ newWindow?.focus();
128
+ }
129
+ : undefined,
130
+ onNewWindowClick: () => {
131
+ setNewWindow(window.open(`${window.location.href.split('?')[0]}?id=tools-devtools--dev-tools-demo&args=&viewMode=story`, 'Dev Tools', 'popup=true,width=800,height=500'));
132
+ },
87
133
  menu: { items: footerMenuMock }
88
134
  }}/>);
89
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewShell.stories.jsx","sourceRoot":"","sources":["../../../src/tools/PreviewShell/PreviewShell.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\nimport { useState } from 'react';\n\nimport { PreviewShell, PreviewShellProps } from '@pega/cosmos-react-tools';\nimport { StatusProps } from '@pega/cosmos-react-core';\n\nimport { footerMenuMock, footerTabsMockContent, footerTabsMock } from './PreviewShell.mocks';\n\nexport default {\n title: 'Tools/PreviewShell',\n component: PreviewShell,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\ninterface PreviewShellStoryProps extends PreviewShellProps {\n appName: PreviewShellProps['header']['appName'];\n statusVariant: StatusProps['variant'];\n statusText: string;\n operatorName: PreviewShellProps['header']['operator']['avatar']['name'];\n expandFooter: PreviewShellProps['footer']['expanded'];\n}\n\nexport const PreviewShellSkeleton: Story<PreviewShellStoryProps> = (\n args: PreviewShellStoryProps\n) => {\n const [tabContent, setTabContent] = useState('Tab 1 content');\n\n return (\n <PreviewShell\n frameurl=''\n header={{\n appName: args.appName,\n status: {\n variant: args.statusVariant,\n children: args.statusText\n },\n operator: {\n avatar: { name: args.operatorName || '' },\n actions: [\n { primary: 'Profile', id: 'profile' },\n { primary: 'Settings', id: 'settings' },\n { primary: 'My applications', id: 'apps' },\n { primary: 'Help center', id: 'help' },\n { primary: 'Log out', id: 'logout' }\n ],\n name: args.operatorName\n }\n }}\n footer={{\n tabs: footerTabsMock,\n tabContent,\n onTabClick: (id: string) => {\n setTabContent(`Tab ${+id + 1} content`);\n },\n expanded: args.expandFooter,\n newTabHref: 'https://www.pega.com',\n menu: { items: footerMenuMock }\n }}\n />\n );\n};\n\nPreviewShellSkeleton.args = {\n appName: 'Title',\n statusVariant: 'pending',\n statusText: 'status',\n operatorName: 'Cindy Turner',\n expandFooter: true\n};\n\nPreviewShellSkeleton.argTypes = {\n appName: { control: { type: 'text' } },\n statusVariant: {\n options: ['success', 'urgent', 'warn', 'pending', 'info'],\n control: { type: 'select' }\n },\n statusText: { control: { type: 'text' } },\n operatorName: { control: { type: 'text' } },\n expandFooter: { control: { type: 'boolean' } }\n};\n\nexport const PreviewShellDemo: Story<PreviewShellStoryProps> = (args: PreviewShellStoryProps) => {\n const [tabContent, setTabContent] = useState(footerTabsMockContent[0]);\n\n return (\n <PreviewShell\n frameurl={`${window.location.origin}/iframe.html?id=core-pagetemplates--tabbed-page-demo&args=&viewMode=story`}\n header={{\n appName: args.appName,\n onClick: action('Clicked application name'),\n status: {\n variant: args.statusVariant,\n children: args.statusText\n },\n operator: {\n avatar: { name: args.operatorName },\n actions: [\n { primary: 'Profile', id: 'profile' },\n { primary: 'Settings', id: 'settings' },\n { primary: 'My applications', id: 'apps' },\n { primary: 'Help center', id: 'help' },\n { primary: 'Log out', id: 'logout' }\n ],\n name: args.operatorName\n }\n }}\n footer={{\n tabs: footerTabsMock,\n tabContent,\n onTabClick: (id: string) => {\n setTabContent(footerTabsMockContent[Number(id)]);\n },\n expanded: args.expandFooter,\n newTabHref: 'https://www.pega.com',\n menu: { items: footerMenuMock }\n }}\n />\n );\n};\n\nPreviewShellDemo.args = {\n appName: 'U+ Desk',\n statusVariant: 'pending',\n statusText: 'development',\n operatorName: 'Cindy Turner',\n expandFooter: false\n};\n\nPreviewShellDemo.argTypes = {\n appName: { control: { type: 'text' } },\n statusVariant: {\n options: ['success', 'urgent', 'warn', 'pending', 'info'],\n control: { type: 'select' }\n },\n statusText: { control: { type: 'text' } },\n operatorName: { control: { type: 'text' } },\n expandFooter: { control: { type: 'boolean' } }\n};\n"]}
1
+ {"version":3,"file":"PreviewShell.stories.jsx","sourceRoot":"","sources":["../../../src/tools/PreviewShell/PreviewShell.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\nimport { useEffect, useState } from 'react';\n\nimport { PreviewShell, PreviewShellProps } from '@pega/cosmos-react-tools';\nimport { StatusProps } from '@pega/cosmos-react-core';\n\nimport { footerMenuMock, footerTabsMockContent, footerTabsMock } from './PreviewShell.mocks';\n\nexport default {\n title: 'Tools/PreviewShell',\n component: PreviewShell,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\ninterface PreviewShellStoryProps extends PreviewShellProps {\n appName: PreviewShellProps['header']['appName'];\n statusVariant: StatusProps['variant'];\n statusText: string;\n operatorName: PreviewShellProps['header']['operator']['avatar']['name'];\n expandFooter: PreviewShellProps['footer']['expanded'];\n onNewWindowClick: PreviewShellProps['footer']['onNewWindowClick'];\n}\n\nexport const PreviewShellSkeleton: Story<PreviewShellStoryProps> = (\n args: PreviewShellStoryProps\n) => {\n const [tabContent, setTabContent] = useState('Tab 1 content');\n const [currentTabId, setCurrentTabId] = useState(footerTabsMock[0].id);\n const [newWindow, setNewWindow] = useState<Window | null>(null);\n\n return (\n <PreviewShell\n frameurl=''\n header={{\n appName: args.appName,\n status: {\n variant: args.statusVariant,\n children: args.statusText\n },\n operator: {\n avatar: { name: args.operatorName || '' },\n actions: [\n { primary: 'Profile', id: 'profile' },\n { primary: 'Settings', id: 'settings' },\n { primary: 'My applications', id: 'apps' },\n { primary: 'Help center', id: 'help' },\n { primary: 'Log out', id: 'logout' }\n ],\n name: args.operatorName\n }\n }}\n footer={{\n tabs: footerTabsMock,\n tabContent,\n currentTabId,\n onTabClick: (id: string) => {\n setTabContent(`Tab ${+id + 1} content`);\n setCurrentTabId(id);\n },\n expanded: args.expandFooter,\n onContinueDebug: newWindow\n ? () => {\n newWindow?.focus();\n }\n : undefined,\n onNewWindowClick:\n args.onNewWindowClick ??\n (() => {\n const newWindowObj = window.open(\n `${window.location.origin}/iframe.html?id=tools-devtools--dev-tools-demo&args=&viewMode=story`\n );\n setNewWindow(newWindowObj);\n newWindowObj?.addEventListener('load', () => {\n newWindowObj?.addEventListener('beforeunload', () => {\n setNewWindow(null);\n });\n newWindowObj?.addEventListener('unload', () => {\n (\n document.querySelector('button[aria-label=\"Open in new window\"]') as HTMLElement\n )?.focus();\n });\n });\n }),\n menu: { items: footerMenuMock }\n }}\n />\n );\n};\n\nPreviewShellSkeleton.args = {\n appName: 'Title',\n statusVariant: 'pending',\n statusText: 'status',\n operatorName: 'Cindy Turner',\n expandFooter: true,\n onNewWindowClick: undefined\n};\n\nPreviewShellSkeleton.argTypes = {\n appName: { control: { type: 'text' } },\n statusVariant: {\n options: ['success', 'urgent', 'warn', 'pending', 'info'],\n control: { type: 'select' }\n },\n statusText: { control: { type: 'text' } },\n operatorName: { control: { type: 'text' } },\n expandFooter: { control: { type: 'boolean' } },\n onNewWindowClick: { table: { disable: true } }\n};\n\nexport const PreviewShellDemo: Story<PreviewShellStoryProps> = (args: PreviewShellStoryProps) => {\n const [tabContent, setTabContent] = useState(footerTabsMockContent[1]);\n const [currentTabId, setCurrentTabId] = useState(footerTabsMock[1].id);\n const [newWindow, setNewWindow] = useState<Window | null>(null);\n\n useEffect(() => {\n if (newWindow?.self) {\n newWindow.onload = () => {\n newWindow.onbeforeunload = () => {\n setNewWindow(null);\n };\n newWindow.onunload = () => {\n (\n document.querySelector('button[aria-label=\"Open in new window\"]') as HTMLElement\n )?.focus();\n };\n };\n }\n }, [newWindow]);\n\n return (\n <PreviewShell\n frameurl={`${\n window.location.href.split('?')[0]\n }?id=core-pagetemplates--tabbed-page-demo&args=&viewMode=story`}\n header={{\n appName: args.appName,\n onClick: action('Clicked application name'),\n status: {\n variant: args.statusVariant,\n children: args.statusText\n },\n operator: {\n avatar: { name: args.operatorName },\n actions: [\n { primary: 'Profile', id: 'profile' },\n { primary: 'Settings', id: 'settings' },\n { primary: 'My applications', id: 'apps' },\n { primary: 'Help center', id: 'help' },\n { primary: 'Log out', id: 'logout' }\n ],\n name: args.operatorName\n }\n }}\n footer={{\n tabs: footerTabsMock,\n currentTabId,\n tabContent,\n onTabClick: (id: string) => {\n setTabContent(footerTabsMockContent[Number(id)]);\n setCurrentTabId(id);\n },\n expanded: args.expandFooter,\n onContinueDebug: newWindow\n ? () => {\n newWindow?.focus();\n }\n : undefined,\n onNewWindowClick: () => {\n setNewWindow(\n window.open(\n `${\n window.location.href.split('?')[0]\n }?id=tools-devtools--dev-tools-demo&args=&viewMode=story`,\n 'Dev Tools',\n 'popup=true,width=800,height=500'\n )\n );\n },\n menu: { items: footerMenuMock }\n }}\n />\n );\n};\n\nPreviewShellDemo.args = {\n appName: 'U+ Desk',\n statusVariant: 'pending',\n statusText: 'development',\n operatorName: 'Cindy Turner',\n expandFooter: false\n};\n\nPreviewShellDemo.argTypes = {\n appName: { control: { type: 'text' } },\n statusVariant: {\n options: ['success', 'urgent', 'warn', 'pending', 'info'],\n control: { type: 'select' }\n },\n statusText: { control: { type: 'text' } },\n operatorName: { control: { type: 'text' } },\n expandFooter: { control: { type: 'boolean' } }\n};\n"]}
@@ -53,4 +53,8 @@ export declare const suggestedFunctions: {
53
53
  label: string;
54
54
  value: string;
55
55
  }[];
56
+ export declare const mockEmbeddedProperties: {
57
+ label: string;
58
+ value: string;
59
+ }[];
56
60
  //# sourceMappingURL=ExpressionBuilder.mocks.d.ts.map
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0ZjB,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;;;GAa3B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;GAa9B,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0ZjB,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;;;GAyB3B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;GAa9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;GASlC,CAAC"}
@@ -483,6 +483,18 @@ export const suggestedFields = [
483
483
  {
484
484
  label: 'field3',
485
485
  value: '.field3'
486
+ },
487
+ {
488
+ label: 'somepage',
489
+ value: '.somePage'
490
+ },
491
+ {
492
+ label: 'property1',
493
+ value: '.property1'
494
+ },
495
+ {
496
+ label: 'property2',
497
+ value: '.property2'
486
498
  }
487
499
  ];
488
500
  export const suggestedFunctions = [
@@ -495,8 +507,18 @@ export const suggestedFunctions = [
495
507
  value: '@max()'
496
508
  },
497
509
  {
498
- label: 'min3',
510
+ label: 'min',
499
511
  value: '@min()'
500
512
  }
501
513
  ];
514
+ export const mockEmbeddedProperties = [
515
+ {
516
+ label: 'pagelist1',
517
+ value: '.pageList1'
518
+ },
519
+ {
520
+ label: 'pagelist2',
521
+ value: '.pageList2'
522
+ }
523
+ ];
502
524
  //# sourceMappingURL=ExpressionBuilder.mocks.js.map
@@ -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: '@max()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Returns max of two numbers'\n },\n {\n field: 'Scope',\n value: 'base'\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: '@min()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return min of two numbers'\n },\n {\n field: 'Scope',\n value: 'base'\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: '@sum()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return sum of two numbers'\n },\n {\n field: 'Scope',\n value: 'base'\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: '@abs()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return absolute value of a number'\n },\n {\n field: 'Scope',\n value: 'base'\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: '@sqrt()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return square root of a number'\n },\n {\n field: 'Scope',\n value: 'base'\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: '@average()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return average value of two number'\n },\n {\n field: 'Scope',\n value: 'base'\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: '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 = [\n {\n label: 'field1',\n value: '.field1'\n },\n {\n label: 'field2',\n value: '.field2'\n },\n {\n label: 'field3',\n value: '.field3'\n }\n];\n\nexport const suggestedFunctions = [\n {\n label: 'validateLoanValue',\n value: '@validateLoanValue()'\n },\n {\n label: 'max',\n value: '@max()'\n },\n {\n label: 'min3',\n value: '@min()'\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 { 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: '@max()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Returns max of two numbers'\n },\n {\n field: 'Scope',\n value: 'base'\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: '@min()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return min of two numbers'\n },\n {\n field: 'Scope',\n value: 'base'\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: '@sum()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return sum of two numbers'\n },\n {\n field: 'Scope',\n value: 'base'\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: '@abs()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return absolute value of a number'\n },\n {\n field: 'Scope',\n value: 'base'\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: '@sqrt()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return square root of a number'\n },\n {\n field: 'Scope',\n value: 'base'\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: '@average()',\n details: {\n primary: [\n {\n field: 'Description',\n value: 'Return average value of two number'\n },\n {\n field: 'Scope',\n value: 'base'\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: '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 = [\n {\n label: 'field1',\n value: '.field1'\n },\n {\n label: 'field2',\n value: '.field2'\n },\n {\n label: 'field3',\n value: '.field3'\n },\n {\n label: 'somepage',\n value: '.somePage'\n },\n {\n label: 'property1',\n value: '.property1'\n },\n {\n label: 'property2',\n value: '.property2'\n }\n];\n\nexport const suggestedFunctions = [\n {\n label: 'validateLoanValue',\n value: '@validateLoanValue()'\n },\n {\n label: 'max',\n value: '@max()'\n },\n {\n label: 'min',\n value: '@min()'\n }\n];\n\nexport const mockEmbeddedProperties = [\n {\n label: 'pagelist1',\n value: '.pageList1'\n },\n {\n label: 'pagelist2',\n value: '.pageList2'\n }\n];\n"]}
@@ -17,5 +17,8 @@ interface ExpressionBuilderStoryProps {
17
17
  defaultValue?: string;
18
18
  }
19
19
  export declare const ExpressionBuilderDemo: Story<ExpressionBuilderStoryProps>;
20
- export declare const CodeEditorDemo: Story;
20
+ interface CodeEditorDemoProps {
21
+ showErrors?: boolean;
22
+ }
23
+ export declare const CodeEditorDemo: Story<CodeEditorDemoProps>;
21
24
  //# sourceMappingURL=ExpressionBuilder.stories.d.ts.map
@@ -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;AAI/C,OAAO,EAKL,sBAAsB,EAMvB,MAAM,0BAA0B,CAAC;;AAoBlC,wBAGU;AAEV,eAAO,MAAM,kBAAkB,EAAE,KA6DhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAoCnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAwEhC,CAAC;AAEF,UAAU,2BAA2B;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,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;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,2BAA2B,CA4LpE,CAAC;AAUF,eAAO,MAAM,cAAc,EAAE,KA+B5B,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;AAI/C,OAAO,EAKL,sBAAsB,EAMvB,MAAM,0BAA0B,CAAC;;AAqBlC,wBAGU;AAEV,eAAO,MAAM,kBAAkB,EAAE,KA6DhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAoCnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAwEhC,CAAC;AAEF,UAAU,2BAA2B;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,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;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,2BAA2B,CA2MpE,CAAC;AAUF,UAAU,mBAAmB;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAsCrD,CAAC"}
@@ -3,7 +3,7 @@ import { action } from '@storybook/addon-actions';
3
3
  import { useState, useEffect, useRef, useMemo } from 'react';
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
- import { errors, getFilterRegex, items, primaryDetails, StyledExpressionBuilderDemo, suggestedFields, suggestedFunctions } from './ExpressionBuilder.mocks';
6
+ import { errors, getFilterRegex, items, primaryDetails, StyledExpressionBuilderDemo, suggestedFields, suggestedFunctions, mockEmbeddedProperties } from './ExpressionBuilder.mocks';
7
7
  export default {
8
8
  title: 'Build/ExpressionBuilder',
9
9
  component: ExpressionBuilder
@@ -140,6 +140,7 @@ export const ExpressionBuilderDemo = (args) => {
140
140
  const [searchValue, setSearchValue] = useState('');
141
141
  const [searchFilter, setSearchFilter] = useState('');
142
142
  const [expressionItems, setExpressionItems] = useState(items);
143
+ const [loading, setLoading] = useState(false);
143
144
  const handle = useRef(null);
144
145
  const [expressionDetails, setExpressionDetails] = useState({});
145
146
  const [expressionDetailsValues, setExpressionDetailsValues] = useState({});
@@ -247,16 +248,27 @@ export const ExpressionBuilderDemo = (args) => {
247
248
  return newValues;
248
249
  });
249
250
  };
250
- const fetchSuggestions = autoCompleteTrigger => {
251
+ const fetchSuggestions = (autoCompleteTrigger, queryString) => {
251
252
  if (autoCompleteTrigger === '@') {
253
+ setLoading(true);
252
254
  return new Promise(resolve => {
253
255
  setTimeout(() => {
256
+ setLoading(false);
254
257
  resolve(suggestedFunctions);
255
258
  }, 1000);
256
259
  });
257
260
  }
261
+ let embeddedProperties = queryString.split('.');
262
+ embeddedProperties = embeddedProperties.slice(1, embeddedProperties.length - 1);
263
+ if (embeddedProperties[embeddedProperties.length - 1] === 'somePage') {
264
+ return new Promise(resolve => {
265
+ resolve(mockEmbeddedProperties);
266
+ });
267
+ }
268
+ setLoading(true);
258
269
  return new Promise(resolve => {
259
270
  setTimeout(() => {
271
+ setLoading(false);
260
272
  resolve(suggestedFields);
261
273
  }, 1000);
262
274
  });
@@ -277,7 +289,7 @@ export const ExpressionBuilderDemo = (args) => {
277
289
  : value => setSearchValue(value),
278
290
  value: searchValue,
279
291
  accent: filterRegex
280
- }, errors: args.showErrors ? args.errors || errors : undefined, defaultValue: args.defaultValue === undefined ? '@testExp(arg1, arg2)' : args.defaultValue, handle: args.handle || handle, fetchSuggestions: fetchSuggestions }) }));
292
+ }, errors: args.showErrors ? args.errors || errors : undefined, defaultValue: args.defaultValue === undefined ? '@testExp()' : args.defaultValue, handle: args.handle || handle, fetchSuggestions: fetchSuggestions, loading: loading }) }));
281
293
  };
282
294
  ExpressionBuilderDemo.args = {
283
295
  showErrors: false
@@ -285,24 +297,35 @@ ExpressionBuilderDemo.args = {
285
297
  ExpressionBuilderDemo.argTypes = {
286
298
  showErrors: { control: { type: 'boolean' } }
287
299
  };
288
- export const CodeEditorDemo = () => {
300
+ export const CodeEditorDemo = (args) => {
289
301
  const codeEditorHandle = useRef(null);
302
+ const [loading, setLoading] = useState(false);
290
303
  const fetchSuggestions = autoCompleteTrigger => {
291
304
  if (autoCompleteTrigger === '@') {
305
+ setLoading(true);
292
306
  return new Promise(resolve => {
293
307
  setTimeout(() => {
308
+ setLoading(false);
294
309
  resolve(suggestedFunctions);
295
310
  }, 1000);
296
311
  });
297
312
  }
313
+ setLoading(true);
298
314
  return new Promise(resolve => {
299
315
  setTimeout(() => {
316
+ setLoading(false);
300
317
  resolve(suggestedFields);
301
318
  }, 1000);
302
319
  });
303
320
  };
304
321
  return (_jsx(Configuration, { theme: BuildTheme, children: _jsx(CodeEditor, { fetchSuggestions: fetchSuggestions, autoCompleteTriggers: ['.', '@'], editorConfigProps: {
305
322
  mode: 'expression'
306
- }, codeEditorHandle: codeEditorHandle, defaultValue: '@testing()' }) }));
323
+ }, codeEditorHandle: codeEditorHandle, defaultValue: '@testing()', loading: loading, errors: args.showErrors ? errors : undefined }) }));
324
+ };
325
+ CodeEditorDemo.args = {
326
+ showErrors: false
327
+ };
328
+ CodeEditorDemo.argTypes = {
329
+ showErrors: { control: { type: 'boolean' } }
307
330
  };
308
331
  //# sourceMappingURL=ExpressionBuilder.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionBuilder.stories.js","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 {\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';\n\nimport {\n errors,\n getFilterRegex,\n items,\n primaryDetails,\n StyledExpressionBuilderDemo,\n suggestedFields,\n suggestedFunctions\n} from './ExpressionBuilder.mocks';\n\nexport default {\n title: 'Build/ExpressionBuilder',\n component: ExpressionBuilder\n} as Meta;\n\nexport const ExpressionItemDemo: Story = () => {\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 <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 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 );\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 showErrors?: 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}\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 handle = useRef<HandleValue>(null);\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'] = autoCompleteTrigger => {\n if (autoCompleteTrigger === '@') {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(suggestedFunctions);\n }, 1000);\n });\n }\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(suggestedFields);\n }, 1000);\n });\n };\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 errors={args.showErrors ? args.errors || errors : undefined}\n defaultValue={args.defaultValue === undefined ? '@testExp(arg1, arg2)' : args.defaultValue}\n handle={args.handle || handle}\n fetchSuggestions={fetchSuggestions}\n />\n </StyledExpressionBuilderDemo>\n );\n};\n\nExpressionBuilderDemo.args = {\n showErrors: false\n};\n\nExpressionBuilderDemo.argTypes = {\n showErrors: { control: { type: 'boolean' } }\n};\n\nexport const CodeEditorDemo: Story = () => {\n const codeEditorHandle = useRef<EditorState | null>(null);\n\n const fetchSuggestions: ExpressionBuilderProps['fetchSuggestions'] = autoCompleteTrigger => {\n if (autoCompleteTrigger === '@') {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(suggestedFunctions);\n }, 1000);\n });\n }\n return new Promise(resolve => {\n setTimeout(() => {\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 }}\n codeEditorHandle={codeEditorHandle}\n defaultValue='@testing()'\n />\n </Configuration>\n );\n};\n"]}
1
+ {"version":3,"file":"ExpressionBuilder.stories.js","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 {\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';\n\nimport {\n errors,\n getFilterRegex,\n items,\n primaryDetails,\n StyledExpressionBuilderDemo,\n suggestedFields,\n suggestedFunctions,\n mockEmbeddedProperties\n} from './ExpressionBuilder.mocks';\n\nexport default {\n title: 'Build/ExpressionBuilder',\n component: ExpressionBuilder\n} as Meta;\n\nexport const ExpressionItemDemo: Story = () => {\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 <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 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 );\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 showErrors?: 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}\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 [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 if (autoCompleteTrigger === '@') {\n setLoading(true);\n return new Promise(resolve => {\n setTimeout(() => {\n setLoading(false);\n resolve(suggestedFunctions);\n }, 1000);\n });\n }\n let embeddedProperties = queryString.split('.');\n embeddedProperties = embeddedProperties.slice(1, embeddedProperties.length - 1);\n if (embeddedProperties[embeddedProperties.length - 1] === 'somePage') {\n return new Promise(resolve => {\n resolve(mockEmbeddedProperties);\n });\n }\n setLoading(true);\n return new Promise(resolve => {\n setTimeout(() => {\n setLoading(false);\n resolve(suggestedFields);\n }, 1000);\n });\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 errors={args.showErrors ? args.errors || errors : undefined}\n defaultValue={args.defaultValue === undefined ? '@testExp()' : args.defaultValue}\n handle={args.handle || handle}\n fetchSuggestions={fetchSuggestions}\n loading={loading}\n />\n </StyledExpressionBuilderDemo>\n );\n};\n\nExpressionBuilderDemo.args = {\n showErrors: false\n};\n\nExpressionBuilderDemo.argTypes = {\n showErrors: { control: { type: 'boolean' } }\n};\n\ninterface CodeEditorDemoProps {\n showErrors?: 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'] = autoCompleteTrigger => {\n if (autoCompleteTrigger === '@') {\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 return (\n <Configuration theme={BuildTheme}>\n <CodeEditor\n fetchSuggestions={fetchSuggestions}\n autoCompleteTriggers={['.', '@']}\n editorConfigProps={{\n mode: 'expression'\n }}\n codeEditorHandle={codeEditorHandle}\n defaultValue='@testing()'\n loading={loading}\n errors={args.showErrors ? errors : undefined}\n />\n </Configuration>\n );\n};\n\nCodeEditorDemo.args = {\n showErrors: false\n};\n\nCodeEditorDemo.argTypes = {\n showErrors: { control: { type: 'boolean' } }\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare const StyledGrid: import("styled-components").StyledComponent<import("react").FunctionComponent<import("@pega/cosmos-react-core").GridProps & import("@pega/cosmos-react-core").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
2
+ export declare const StyledGrid: import("styled-components").StyledComponent<import("react").FunctionComponent<import("@pega/cosmos-react-core/lib/components/Grid/Grid.types").default & import("@pega/cosmos-react-core").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
3
3
  export declare const StyledCodeBlock: import("styled-components").StyledComponent<"pre", import("styled-components").DefaultTheme, {}, never>;
4
4
  export declare const StyledList: import("styled-components").StyledComponent<"ul", import("styled-components").DefaultTheme, {}, never>;
5
5
  //# sourceMappingURL=ConditionBuilder.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBuilder.styles.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/ConditionBuilder/ConditionBuilder.styles.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,UAAU,mOAEtB,CAAC;AAEF,eAAO,MAAM,eAAe,yGAG3B,CAAC;AAGF,eAAO,MAAM,UAAU,wGAEtB,CAAC"}
1
+ {"version":3,"file":"ConditionBuilder.styles.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/ConditionBuilder/ConditionBuilder.styles.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,UAAU,gQAEtB,CAAC;AAEF,eAAO,MAAM,eAAe,yGAG3B,CAAC;AAGF,eAAO,MAAM,UAAU,wGAEtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PromotedFilters.mocks.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/PromotedFilters/PromotedFilters.mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEvF,eAAO,MAAM,aAAa,EAAE,SA6B3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,oBAAoB,CAAC,SAAS,CAsIvD,CAAC"}
1
+ {"version":3,"file":"PromotedFilters.mocks.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/PromotedFilters/PromotedFilters.mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEvF,eAAO,MAAM,aAAa,EAAE,SAoB3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,oBAAoB,CAAC,SAAS,CA+JvD,CAAC"}