@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,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { action } from '@storybook/addon-actions';
3
- import { useState } from 'react';
3
+ import { useEffect, useState } from 'react';
4
4
  import { PreviewShell } from '@pega/cosmos-react-tools';
5
5
  import { footerMenuMock, footerTabsMockContent, footerTabsMock } from './PreviewShell.mocks';
6
6
  export default {
@@ -12,6 +12,8 @@ export default {
12
12
  };
13
13
  export const PreviewShellSkeleton = (args) => {
14
14
  const [tabContent, setTabContent] = useState('Tab 1 content');
15
+ const [currentTabId, setCurrentTabId] = useState(footerTabsMock[0].id);
16
+ const [newWindow, setNewWindow] = useState(null);
15
17
  return (_jsx(PreviewShell, { frameurl: '', header: {
16
18
  appName: args.appName,
17
19
  status: {
@@ -32,11 +34,30 @@ export const PreviewShellSkeleton = (args) => {
32
34
  }, footer: {
33
35
  tabs: footerTabsMock,
34
36
  tabContent,
37
+ currentTabId,
35
38
  onTabClick: (id) => {
36
39
  setTabContent(`Tab ${+id + 1} content`);
40
+ setCurrentTabId(id);
37
41
  },
38
42
  expanded: args.expandFooter,
39
- newTabHref: 'https://www.pega.com',
43
+ onContinueDebug: newWindow
44
+ ? () => {
45
+ newWindow?.focus();
46
+ }
47
+ : undefined,
48
+ onNewWindowClick: args.onNewWindowClick ??
49
+ (() => {
50
+ const newWindowObj = window.open(`${window.location.origin}/iframe.html?id=tools-devtools--dev-tools-demo&args=&viewMode=story`);
51
+ setNewWindow(newWindowObj);
52
+ newWindowObj?.addEventListener('load', () => {
53
+ newWindowObj?.addEventListener('beforeunload', () => {
54
+ setNewWindow(null);
55
+ });
56
+ newWindowObj?.addEventListener('unload', () => {
57
+ document.querySelector('button[aria-label="Open in new window"]')?.focus();
58
+ });
59
+ });
60
+ }),
40
61
  menu: { items: footerMenuMock }
41
62
  } }));
42
63
  };
@@ -45,7 +66,8 @@ PreviewShellSkeleton.args = {
45
66
  statusVariant: 'pending',
46
67
  statusText: 'status',
47
68
  operatorName: 'Cindy Turner',
48
- expandFooter: true
69
+ expandFooter: true,
70
+ onNewWindowClick: undefined
49
71
  };
50
72
  PreviewShellSkeleton.argTypes = {
51
73
  appName: { control: { type: 'text' } },
@@ -55,11 +77,26 @@ PreviewShellSkeleton.argTypes = {
55
77
  },
56
78
  statusText: { control: { type: 'text' } },
57
79
  operatorName: { control: { type: 'text' } },
58
- expandFooter: { control: { type: 'boolean' } }
80
+ expandFooter: { control: { type: 'boolean' } },
81
+ onNewWindowClick: { table: { disable: true } }
59
82
  };
60
83
  export const PreviewShellDemo = (args) => {
61
- const [tabContent, setTabContent] = useState(footerTabsMockContent[0]);
62
- return (_jsx(PreviewShell, { frameurl: `${window.location.origin}/iframe.html?id=core-pagetemplates--tabbed-page-demo&args=&viewMode=story`, header: {
84
+ const [tabContent, setTabContent] = useState(footerTabsMockContent[1]);
85
+ const [currentTabId, setCurrentTabId] = useState(footerTabsMock[1].id);
86
+ const [newWindow, setNewWindow] = useState(null);
87
+ useEffect(() => {
88
+ if (newWindow?.self) {
89
+ newWindow.onload = () => {
90
+ newWindow.onbeforeunload = () => {
91
+ setNewWindow(null);
92
+ };
93
+ newWindow.onunload = () => {
94
+ document.querySelector('button[aria-label="Open in new window"]')?.focus();
95
+ };
96
+ };
97
+ }
98
+ }, [newWindow]);
99
+ return (_jsx(PreviewShell, { frameurl: `${window.location.href.split('?')[0]}?id=core-pagetemplates--tabbed-page-demo&args=&viewMode=story`, header: {
63
100
  appName: args.appName,
64
101
  onClick: action('Clicked application name'),
65
102
  status: {
@@ -79,12 +116,21 @@ export const PreviewShellDemo = (args) => {
79
116
  }
80
117
  }, footer: {
81
118
  tabs: footerTabsMock,
119
+ currentTabId,
82
120
  tabContent,
83
121
  onTabClick: (id) => {
84
122
  setTabContent(footerTabsMockContent[Number(id)]);
123
+ setCurrentTabId(id);
85
124
  },
86
125
  expanded: args.expandFooter,
87
- newTabHref: 'https://www.pega.com',
126
+ onContinueDebug: newWindow
127
+ ? () => {
128
+ newWindow?.focus();
129
+ }
130
+ : undefined,
131
+ onNewWindowClick: () => {
132
+ 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'));
133
+ },
88
134
  menu: { items: footerMenuMock }
89
135
  } }));
90
136
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewShell.stories.js","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.js","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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/cosmos-react-demos",
3
- "version": "3.0.0-dev.28.0",
3
+ "version": "3.0.0-dev.29.0",
4
4
  "author": "Pegasystems",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "repository": {
@@ -20,14 +20,14 @@
20
20
  "build": "tsc -b"
21
21
  },
22
22
  "dependencies": {
23
- "@pega/cosmos-react-build": "3.0.0-dev.28.0",
24
- "@pega/cosmos-react-condition-builder": "3.0.0-dev.28.0",
25
- "@pega/cosmos-react-core": "3.0.0-dev.28.0",
26
- "@pega/cosmos-react-cs": "3.0.0-dev.28.0",
27
- "@pega/cosmos-react-dnd": "3.0.0-dev.28.0",
28
- "@pega/cosmos-react-rte": "3.0.0-dev.28.0",
29
- "@pega/cosmos-react-social": "3.0.0-dev.28.0",
30
- "@pega/cosmos-react-work": "3.0.0-dev.28.0",
23
+ "@pega/cosmos-react-build": "3.0.0-dev.29.0",
24
+ "@pega/cosmos-react-condition-builder": "3.0.0-dev.29.0",
25
+ "@pega/cosmos-react-core": "3.0.0-dev.29.0",
26
+ "@pega/cosmos-react-cs": "3.0.0-dev.29.0",
27
+ "@pega/cosmos-react-dnd": "3.0.0-dev.29.0",
28
+ "@pega/cosmos-react-rte": "3.0.0-dev.29.0",
29
+ "@pega/cosmos-react-social": "3.0.0-dev.29.0",
30
+ "@pega/cosmos-react-work": "3.0.0-dev.29.0",
31
31
  "@types/emoji-mart": "^3.0.4",
32
32
  "@types/react": "^16.14.24 || ^17.0.38",
33
33
  "@types/react-dom": "^16.9.14 || ^17.0.11",