@pega/cosmos-react-demos 3.0.0-dev.3.0 → 3.0.0-dev.4.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 (79) hide show
  1. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts +4 -1
  2. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts.map +1 -1
  3. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.jsx +17 -2
  4. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.jsx.map +1 -1
  5. package/jsx/build/ObjectSelect/ObjectSelect.mocks.d.ts +16 -0
  6. package/jsx/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -0
  7. package/jsx/build/ObjectSelect/ObjectSelect.mocks.js +136 -0
  8. package/jsx/build/ObjectSelect/ObjectSelect.mocks.js.map +1 -0
  9. package/jsx/build/ObjectSelect/ObjectSelect.stories.d.ts +14 -0
  10. package/jsx/build/ObjectSelect/ObjectSelect.stories.d.ts.map +1 -0
  11. package/jsx/build/ObjectSelect/ObjectSelect.stories.jsx +312 -0
  12. package/jsx/build/ObjectSelect/ObjectSelect.stories.jsx.map +1 -0
  13. package/jsx/build/ObjectSelect/ObjectSelect.styles.d.ts +4 -0
  14. package/jsx/build/ObjectSelect/ObjectSelect.styles.d.ts.map +1 -0
  15. package/jsx/build/ObjectSelect/ObjectSelect.styles.js +27 -0
  16. package/jsx/build/ObjectSelect/ObjectSelect.styles.js.map +1 -0
  17. package/jsx/build/Workbench/Workbench.stories.d.ts.map +1 -1
  18. package/jsx/build/Workbench/Workbench.stories.jsx +2 -5
  19. package/jsx/build/Workbench/Workbench.stories.jsx.map +1 -1
  20. package/jsx/core/AppShell/AppShell.stories.d.ts +1 -0
  21. package/jsx/core/AppShell/AppShell.stories.d.ts.map +1 -1
  22. package/jsx/core/AppShell/AppShell.stories.jsx +3 -1
  23. package/jsx/core/AppShell/AppShell.stories.jsx.map +1 -1
  24. package/jsx/core/FieldGroup/FieldGroup.stories.d.ts +2 -0
  25. package/jsx/core/FieldGroup/FieldGroup.stories.d.ts.map +1 -1
  26. package/jsx/core/FieldGroup/FieldGroup.stories.jsx +8 -4
  27. package/jsx/core/FieldGroup/FieldGroup.stories.jsx.map +1 -1
  28. package/jsx/core/File/FileDisplay.stories.d.ts.map +1 -1
  29. package/jsx/core/File/FileDisplay.stories.jsx +16 -38
  30. package/jsx/core/File/FileDisplay.stories.jsx.map +1 -1
  31. package/jsx/core/HTML/HTML.stories.d.ts +6 -0
  32. package/jsx/core/HTML/HTML.stories.d.ts.map +1 -0
  33. package/jsx/core/HTML/HTML.stories.jsx +13 -0
  34. package/jsx/core/HTML/HTML.stories.jsx.map +1 -0
  35. package/jsx/rte/Editor/Editor.stories.jsx +1 -1
  36. package/jsx/rte/Editor/Editor.stories.jsx.map +1 -1
  37. package/jsx/social/Email/Email.stories.d.ts.map +1 -1
  38. package/jsx/social/Email/Email.stories.jsx +23 -1
  39. package/jsx/social/Email/Email.stories.jsx.map +1 -1
  40. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts +4 -1
  41. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts.map +1 -1
  42. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.js +17 -2
  43. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.js.map +1 -1
  44. package/lib/build/ObjectSelect/ObjectSelect.mocks.d.ts +16 -0
  45. package/lib/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -0
  46. package/lib/build/ObjectSelect/ObjectSelect.mocks.js +136 -0
  47. package/lib/build/ObjectSelect/ObjectSelect.mocks.js.map +1 -0
  48. package/lib/build/ObjectSelect/ObjectSelect.stories.d.ts +14 -0
  49. package/lib/build/ObjectSelect/ObjectSelect.stories.d.ts.map +1 -0
  50. package/lib/build/ObjectSelect/ObjectSelect.stories.js +247 -0
  51. package/lib/build/ObjectSelect/ObjectSelect.stories.js.map +1 -0
  52. package/lib/build/ObjectSelect/ObjectSelect.styles.d.ts +4 -0
  53. package/lib/build/ObjectSelect/ObjectSelect.styles.d.ts.map +1 -0
  54. package/lib/build/ObjectSelect/ObjectSelect.styles.js +27 -0
  55. package/lib/build/ObjectSelect/ObjectSelect.styles.js.map +1 -0
  56. package/lib/build/Workbench/Workbench.stories.d.ts.map +1 -1
  57. package/lib/build/Workbench/Workbench.stories.js +2 -5
  58. package/lib/build/Workbench/Workbench.stories.js.map +1 -1
  59. package/lib/core/AppShell/AppShell.stories.d.ts +1 -0
  60. package/lib/core/AppShell/AppShell.stories.d.ts.map +1 -1
  61. package/lib/core/AppShell/AppShell.stories.js +3 -1
  62. package/lib/core/AppShell/AppShell.stories.js.map +1 -1
  63. package/lib/core/FieldGroup/FieldGroup.stories.d.ts +2 -0
  64. package/lib/core/FieldGroup/FieldGroup.stories.d.ts.map +1 -1
  65. package/lib/core/FieldGroup/FieldGroup.stories.js +7 -3
  66. package/lib/core/FieldGroup/FieldGroup.stories.js.map +1 -1
  67. package/lib/core/File/FileDisplay.stories.d.ts.map +1 -1
  68. package/lib/core/File/FileDisplay.stories.js +17 -29
  69. package/lib/core/File/FileDisplay.stories.js.map +1 -1
  70. package/lib/core/HTML/HTML.stories.d.ts +6 -0
  71. package/lib/core/HTML/HTML.stories.d.ts.map +1 -0
  72. package/lib/core/HTML/HTML.stories.js +14 -0
  73. package/lib/core/HTML/HTML.stories.js.map +1 -0
  74. package/lib/rte/Editor/Editor.stories.js +1 -1
  75. package/lib/rte/Editor/Editor.stories.js.map +1 -1
  76. package/lib/social/Email/Email.stories.d.ts.map +1 -1
  77. package/lib/social/Email/Email.stories.js +23 -1
  78. package/lib/social/Email/Email.stories.js.map +1 -1
  79. package/package.json +16 -16
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectSelect.mocks.js","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.ts"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words XPTI\nimport { DateFunctionsByType, Field } from '@pega/cosmos-react-condition-builder';\n\nexport const skeletonData = [\n {\n id: '01-1',\n primary: 'primary-link-1',\n secondary: ['secondary-1'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'primary-link-2',\n secondary: [\n 'secondary-1',\n 'secondary-2',\n 'secondary-3',\n 'secondary-4',\n 'secondary-5',\n 'secondary-6',\n 'secondary-7',\n 'secondary-8',\n 'secondary-9'\n ],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'primary-link-3',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'primary-link-4',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n }\n];\n\nexport const dataPages = [\n {\n id: '01-1',\n primary: 'MortgageRequestList-DataSource',\n secondary: ['Scope', 'O1XPTI-CCompass-Work-MortgageRequest'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'Credit Scores List Data Source',\n secondary: ['Scope', 'CreditScore'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'GetAutoLoanByIDDataSource',\n secondary: ['Scope', 'O1XPTI-CCompass-Work-AutoLoan'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'DS_pyMyWorkList',\n secondary: ['Scope', 'Assign-Worklist'],\n href: 'http://www.pega.com'\n }\n];\n\nexport const demoFields: Field[] = [\n { name: 'employeeId', label: 'Employee ID', type: 'TEXT' },\n { name: 'firstName', label: 'First Name', type: 'TEXT' },\n { name: 'lastName', label: 'Last Name', type: 'TEXT' },\n { name: 'gender', label: 'Gender', type: 'TEXT' },\n {\n name: 'department',\n label: 'Department',\n type: 'TEXT',\n possibleValues: [\n 'Customer Service',\n 'Engineering',\n 'Facilities',\n 'Finance',\n 'HR',\n 'IT',\n 'Sales'\n ]\n },\n { name: 'age', label: 'Age', type: 'NUMBER' },\n { name: 'experience', label: 'Experience (yrs)', type: 'NUMBER' },\n { name: 'salary', label: 'Salary', type: 'NUMBER' },\n { name: 'hireDate', label: 'Hire Date', type: 'DATE_ONLY' },\n { name: 'dateOfBirth', label: 'Date of Birth', type: 'DATE_ONLY' },\n {\n name: 'shiftStartTime',\n label: 'Shift start time',\n type: 'TIME_ONLY',\n groupLabel: 'Technical details'\n },\n {\n name: 'shiftEndTime',\n label: 'Shift end time',\n type: 'TIME_ONLY',\n groupLabel: 'Technical details'\n },\n {\n name: 'lastActivityAt',\n label: 'Last activity at',\n type: 'DATE_TIME',\n groupLabel: 'Technical details'\n },\n {\n name: 'nextPasswordReset',\n label: 'Next password reset',\n type: 'DATE_TIME',\n groupLabel: 'Technical details'\n },\n { name: 'isSeniorCitizen', label: 'Is Senior Citizen', type: 'BOOLEAN' },\n { name: 'isRemoteEmployee', label: 'Is Remote Employee', type: 'BOOLEAN' }\n];\n\nexport const demoDateFunctions: DateFunctionsByType = {\n DATE_TIME: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'DAYS',\n 'HOURS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ],\n DATE_ONLY: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ]\n};\n"]}
@@ -0,0 +1,14 @@
1
+ import { Meta, Story } from '@storybook/react';
2
+ import { MouseEvent } from 'react';
3
+ import { ObjectSelectProps } from '@pega/cosmos-react-build';
4
+ declare const _default: Meta<import("@storybook/react").Args>;
5
+ export default _default;
6
+ export interface ObjectSelectStoryProps extends ObjectSelectProps {
7
+ onSubmit?: (id: string, e: MouseEvent<HTMLElement>) => void;
8
+ onCancel?: (id: string, e: MouseEvent<HTMLElement>) => void;
9
+ popoverContent?: string;
10
+ }
11
+ export declare const ObjectSelectSkeleton: Story<ObjectSelectStoryProps>;
12
+ export declare const ObjectSelectDemo: Story<ObjectSelectStoryProps>;
13
+ export declare const ObjectSelectDemoInForm: () => JSX.Element | null;
14
+ //# sourceMappingURL=ObjectSelect.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectSelect.stories.d.ts","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAOL,UAAU,EAEX,MAAM,OAAO,CAAC;AAuBf,OAAO,EAAgB,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;;AAoB3E,wBAGU;AAcV,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,sBAAsB,CA2C9D,CAAC;AA6PF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,sBAAsB,CAK1D,CAAC;AAqFF,eAAO,MAAM,sBAAsB,0BA8ElC,CAAC"}
@@ -0,0 +1,247 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useReducer, useContext, useState } from 'react';
3
+ import { action } from '@storybook/addon-actions';
4
+ import { Form, Button, Flex, Input, ToasterContext, TextArea, Card, CardContent, Drawer, Text, FieldValueList, Icon, registerIcon, menuHelpers, useI18n, StyledRegion } from '@pega/cosmos-react-core';
5
+ import { ObjectSelect } from '@pega/cosmos-react-build';
6
+ import { AtomicCondition, getInitConditionForLhs, formatCondition } from '@pega/cosmos-react-condition-builder';
7
+ import * as times from '@pega/cosmos-react-core/lib/components/Icon/icons/times.icon';
8
+ import { StyledDrawerContent, StyledCodeBlock, StyledConfigurationContent } from './ObjectSelect.styles';
9
+ import { skeletonData, dataPages, demoFields, demoDateFunctions } from './ObjectSelect.mocks';
10
+ registerIcon(times);
11
+ export default {
12
+ title: 'Build/ObjectSelect',
13
+ component: ObjectSelect
14
+ };
15
+ export const ObjectSelectSkeleton = (args) => {
16
+ const [value, setValue] = useState(args.value);
17
+ return (_jsx(ObjectSelect, { ...args, items: skeletonData, value: value, onChange: id => {
18
+ const data = menuHelpers.getItem(skeletonData, id);
19
+ if (data) {
20
+ setValue({
21
+ id: data.id,
22
+ primary: data.primary,
23
+ href: data.href ?? '#',
24
+ meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''
25
+ });
26
+ }
27
+ else
28
+ setValue(undefined);
29
+ }, configuration: {
30
+ label: 'Gear button label',
31
+ heading: 'Popover heading',
32
+ primaryAction: {
33
+ id: 'primaryAction',
34
+ text: 'Primary action text',
35
+ onClick: args.onSubmit
36
+ },
37
+ secondaryAction: {
38
+ id: 'secondaryAction',
39
+ text: 'Secondary action text',
40
+ onClick: args.onCancel
41
+ },
42
+ content: (_jsx(StyledConfigurationContent, { children: _jsx(StyledRegion, { style: { minHeight: '20vh' } }, void 0) }, void 0))
43
+ }, onPreview: args.onPreview }, void 0));
44
+ };
45
+ ObjectSelectSkeleton.args = {
46
+ label: 'Object select label',
47
+ labelHidden: false,
48
+ info: 'Object select info text',
49
+ placeholder: '',
50
+ status: undefined,
51
+ required: false,
52
+ disabled: false,
53
+ readOnly: false,
54
+ onPreview: action('Clicked preview link'),
55
+ onSubmit: action('Clicked submit button'),
56
+ onCancel: action('Clicked cancel button')
57
+ };
58
+ ObjectSelectSkeleton.argTypes = {
59
+ label: { control: { type: 'text' } },
60
+ labelHidden: { control: { type: 'boolean' } },
61
+ info: { control: { type: 'text' } },
62
+ placeholder: { control: { type: 'text' } },
63
+ status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },
64
+ required: { control: { type: 'boolean' } },
65
+ disabled: { control: { type: 'boolean' } },
66
+ readOnly: { control: { type: 'boolean' } },
67
+ onPreview: { table: { disable: true } },
68
+ onSubmit: { table: { disable: true } },
69
+ onCancel: { table: { disable: true } }
70
+ };
71
+ const ViewportDrawer = ({ drawerData, drawerOpen, setDrawerOpen }) => {
72
+ const fields = drawerData?.secondary?.map((data, index) => {
73
+ return {
74
+ id: (index + 1).toString(),
75
+ name: data?.toString() ?? '',
76
+ value: data
77
+ };
78
+ });
79
+ return (_jsx(Drawer, { open: drawerOpen, onOuterClick: () => {
80
+ setDrawerOpen(false);
81
+ }, position: 'fixed', size: '30rem', nullWhenClosed: true, shadow: true, children: _jsx(Flex, { as: StyledDrawerContent, container: {
82
+ direction: 'column',
83
+ alignItems: 'start',
84
+ gap: 2,
85
+ pad: 4
86
+ }, children: _jsxs(Flex, { container: { direction: 'column', gap: 1 }, children: [_jsxs(Flex, { container: { gap: 2, alignItems: 'center' }, children: [_jsx(Button, { variant: 'simple', label: 'Close drawer', icon: true, onClick: () => setDrawerOpen(false), children: _jsx(Icon, { name: 'times' }, void 0) }, void 0), _jsx(Text, { variant: 'h3', children: drawerData?.primary }, void 0)] }, void 0), _jsxs(Flex, { container: { direction: 'column', gap: 2, pad: 1 }, children: [_jsxs(Text, { as: 'p', children: ["This is a mock representation for the parameters of the ", drawerData?.primary, " rule"] }, void 0), _jsx(FieldValueList, { variant: 'inline', fields: fields }, void 0)] }, void 0)] }, void 0) }, void 0) }, void 0));
87
+ };
88
+ const ConfigurationContent = (args) => {
89
+ const [showErrorIndicators] = useState(false);
90
+ const ConditionBuilder = (_jsx(AtomicCondition, { condition: args.condition, fields: demoFields, indicateErrors: showErrorIndicators, dateFunctions: demoDateFunctions, onChange: c => args.setCondition(c), itemDirection: 'row', showLhsAsLabel: false, validRhsTypes: args.validRHSTypes }, void 0));
91
+ const Inputs = (_jsxs(Flex, { container: { direction: 'column', gap: 2 }, children: [_jsx(Text, { variant: 'h4', children: "Inputs" }, void 0), _jsxs(Flex, { container: { direction: 'column', gap: 1 }, children: [_jsxs(Flex, { container: { alignItems: 'end', gap: 1 }, children: [_jsx(Input, { label: 'Name', type: 'text', defaultValue: 'Sample key 1', disabled: true, readOnly: args.readOnly }, void 0), _jsx(Input, { label: 'Value', type: 'text', defaultValue: 'Sample value 1', readOnly: args.readOnly, disabled: args.disabled }, void 0)] }, void 0), _jsxs(Flex, { container: { alignItems: 'end', gap: 1 }, children: [_jsx(Input, { label: 'Name 2', labelHidden: true, type: 'text', defaultValue: 'Sample key 2', disabled: true, readOnly: args.readOnly }, void 0), _jsx(Input, { label: 'Value 2', labelHidden: true, type: 'text', defaultValue: 'Sample value 2', readOnly: args.readOnly, disabled: args.disabled }, void 0)] }, void 0)] }, void 0)] }, void 0));
92
+ return args.popoverContent === 'advanced' ? ConditionBuilder : Inputs;
93
+ };
94
+ const ObjectSelectComp = ({ popoverContent, ...args }) => {
95
+ const t = useI18n();
96
+ const [drawerOpen, setDrawerOpen] = useState(false);
97
+ const [drawerData, setDrawerData] = useState(dataPages[0]);
98
+ const [value, setValue] = useState(args.value);
99
+ const convertRhsTypes = (useLiteralRHSType, useFieldRHSType, useRelativeDatesType, dateFunctions) => {
100
+ const setRhsTypes = new Set();
101
+ if (useLiteralRHSType)
102
+ setRhsTypes.add('LITERAL');
103
+ if (useFieldRHSType)
104
+ setRhsTypes.add('FIELD');
105
+ if (dateFunctions)
106
+ setRhsTypes.add('DATE_FUNCTION');
107
+ if (useRelativeDatesType)
108
+ setRhsTypes.add('RELATIVE_DATE');
109
+ return setRhsTypes;
110
+ };
111
+ const validRHSTypes = convertRhsTypes(true, true, true, demoDateFunctions);
112
+ const [submitCondition, setSubmitCondition] = useState(undefined);
113
+ const [condition, setCondition] = useState(() => submitCondition ||
114
+ getInitConditionForLhs({ field: 'age' }, demoFields, validRHSTypes, undefined, demoDateFunctions));
115
+ const handleSubmission = () => {
116
+ setSubmitCondition(condition);
117
+ };
118
+ return (_jsxs(Flex, { container: { direction: 'column', gap: 1 }, children: [_jsx(ObjectSelect, { ...args, onChange: id => {
119
+ const data = menuHelpers.getItem(dataPages, id);
120
+ if (data) {
121
+ setValue({
122
+ id: data.id,
123
+ primary: data.primary,
124
+ href: data.href ?? '#',
125
+ meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''
126
+ });
127
+ }
128
+ else
129
+ setValue(undefined);
130
+ }, items: dataPages, configuration: {
131
+ label: args.disabled || args.readOnly ? 'View Configuration' : 'Edit Configuration',
132
+ heading: 'Map Parameters',
133
+ primaryAction: {
134
+ id: 'submit',
135
+ text: 'Submit',
136
+ onClick: popoverContent === 'advanced' ? handleSubmission : args.onSubmit
137
+ },
138
+ secondaryAction: {
139
+ id: 'cancel',
140
+ text: 'Cancel',
141
+ onClick: args.onCancel
142
+ },
143
+ content: (_jsx(ConfigurationContent, { ...args, popoverContent: popoverContent, condition: condition, setCondition: setCondition, validRHSTypes: validRHSTypes }, void 0))
144
+ }, value: value, onPreview: (id, e) => {
145
+ const data = menuHelpers.getItem(dataPages, id);
146
+ if (data)
147
+ setDrawerData(data);
148
+ setDrawerOpen(true);
149
+ args.onPreview?.(id, e);
150
+ } }, void 0), _jsx(ViewportDrawer, { drawerData: drawerData, drawerOpen: drawerOpen, setDrawerOpen: setDrawerOpen }, void 0), popoverContent === 'advanced' && (_jsx(Card, { children: _jsxs(CardContent, { children: [_jsx(Text, { variant: 'h4', children: "Output:" }, void 0), _jsx(StyledCodeBlock, { children: submitCondition ? JSON.stringify(submitCondition, null, 2) : '(No condition)' }, void 0), _jsx(Text, { variant: 'h4', children: "Formatted Output:" }, void 0), _jsx(StyledCodeBlock, { children: submitCondition
151
+ ? formatCondition({ condition: submitCondition }, demoFields, t)
152
+ : '(No condition)' }, void 0)] }, void 0) }, void 0))] }, void 0));
153
+ };
154
+ export const ObjectSelectDemo = ({ popoverContent, ...args }) => {
155
+ return _jsx(ObjectSelectComp, { ...args, popoverContent: popoverContent }, void 0);
156
+ };
157
+ ObjectSelectDemo.args = {
158
+ label: 'Data source',
159
+ labelHidden: false,
160
+ info: 'Select an appropriate data source',
161
+ placeholder: '',
162
+ status: undefined,
163
+ required: false,
164
+ disabled: false,
165
+ readOnly: false,
166
+ popoverContent: 'simple',
167
+ onPreview: () => { },
168
+ onSubmit: action('Clicked submit button'),
169
+ onCancel: action('Clicked cancel button')
170
+ };
171
+ ObjectSelectDemo.argTypes = {
172
+ label: { control: { type: 'text' } },
173
+ labelHidden: { control: { type: 'boolean' } },
174
+ info: { control: { type: 'text' } },
175
+ placeholder: { control: { type: 'text' } },
176
+ status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },
177
+ required: { control: { type: 'boolean' } },
178
+ disabled: { control: { type: 'boolean' } },
179
+ readOnly: { control: { type: 'boolean' } },
180
+ popoverContent: { options: ['simple', 'advanced'], control: { type: 'radio' } },
181
+ onPreview: { table: { disable: true } },
182
+ onSubmit: { table: { disable: true } },
183
+ onCancel: { table: { disable: true } }
184
+ };
185
+ const initFields = () => {
186
+ const common = { value: undefined, status: undefined };
187
+ return [
188
+ {
189
+ ...common,
190
+ name: 'name',
191
+ required: true,
192
+ error: 'Please enter a valid name for table',
193
+ validator() {
194
+ if (!this.value)
195
+ return false;
196
+ return /^[a-z]{1}[a-z0-9]+$/i.test(this.value);
197
+ }
198
+ },
199
+ {
200
+ ...common,
201
+ name: 'description',
202
+ required: true,
203
+ help: 'Give an appropriate description for the table',
204
+ error: 'Field cannot be empty',
205
+ validator() {
206
+ if (!this.value)
207
+ return false;
208
+ return true;
209
+ }
210
+ }
211
+ ];
212
+ };
213
+ const fieldReducer = (fields, { target, type }) => {
214
+ return fields.map(field => {
215
+ if (field.name === target.name) {
216
+ field.value = target.value;
217
+ if (type === 'blur' || field.status === 'error') {
218
+ if ((field.required || field.value) && !field.validator()) {
219
+ field.status = 'error';
220
+ field.info = field.error;
221
+ }
222
+ else {
223
+ field.status = undefined;
224
+ field.info = field.help;
225
+ }
226
+ }
227
+ }
228
+ return field;
229
+ });
230
+ };
231
+ export const ObjectSelectDemoInForm = () => {
232
+ const [fields, setField] = useReducer(fieldReducer, undefined, initFields);
233
+ const { push } = useContext(ToasterContext);
234
+ const name = fields.find(field => field.name === 'name');
235
+ const description = fields.find(field => field.name === 'description');
236
+ if (!name || !description)
237
+ return null;
238
+ const canSubmit = fields.every(field => field.value && field.validator());
239
+ const actions = (_jsxs(_Fragment, { children: [_jsx(Button, { name: 'Cancel', variant: 'secondary', onClick: () => {
240
+ push({ content: 'Form cancelled!' });
241
+ }, children: "Cancel" }, void 0), _jsx(Button, { name: 'Submit', type: 'submit', variant: 'primary', disabled: !canSubmit, children: "Submit" }, void 0)] }, void 0));
242
+ return (_jsx(Card, { style: { margin: 'auto', maxWidth: '37.5rem' }, children: _jsx(CardContent, { children: _jsx(Form, { actions: actions, onSubmit: (e) => {
243
+ e.preventDefault();
244
+ push({ content: 'Form submitted!' });
245
+ }, heading: 'Configure Table', children: _jsxs(Flex, { container: { direction: 'column', gap: 2 }, item: { grow: 1 }, children: [_jsx(Input, { name: 'name', label: 'Table name', value: name.value, required: name.required, status: name.status, info: 'Enter a valid table name', onChange: (e) => setField({ ...e }), onBlur: (e) => setField({ ...e }), autoComplete: 'off' }, void 0), _jsx(TextArea, { name: 'description', required: description.required, label: 'Table description', status: description.status, info: description.info || description.help, onChange: (e) => setField({ ...e }), onBlur: (e) => setField({ ...e }) }, void 0), _jsx(ObjectSelectComp, { label: 'Data page', info: 'Select an appropriate data page', items: [], onChange: () => { } }, void 0), _jsx(ObjectSelectComp, { label: 'Visibility condition', info: 'Choose a when condition from list', items: [], onChange: () => { } }, void 0)] }, void 0) }, void 0) }, void 0) }, void 0));
246
+ };
247
+ //# sourceMappingURL=ObjectSelect.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectSelect.stories.js","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport {\n FormEvent,\n useReducer,\n useContext,\n ChangeEvent,\n FocusEvent,\n useState,\n MouseEvent,\n FC\n} from 'react';\nimport { action } from '@storybook/addon-actions';\n\nimport {\n Form,\n Button,\n Flex,\n Input,\n FormControlProps,\n ToasterContext,\n TextArea,\n Card,\n CardContent,\n Drawer,\n Text,\n FieldValueList,\n Icon,\n registerIcon,\n menuHelpers,\n MenuItemProps,\n useI18n,\n StyledRegion\n} from '@pega/cosmos-react-core';\nimport { ObjectSelect, ObjectSelectProps } from '@pega/cosmos-react-build';\nimport {\n AtomicCondition,\n LeafCondition,\n getInitConditionForLhs,\n RHSType,\n DateFunctionsByType,\n formatCondition\n} from '@pega/cosmos-react-condition-builder';\nimport * as times from '@pega/cosmos-react-core/lib/components/Icon/icons/times.icon';\n\nimport {\n StyledDrawerContent,\n StyledCodeBlock,\n StyledConfigurationContent\n} from './ObjectSelect.styles';\nimport { skeletonData, dataPages, demoFields, demoDateFunctions } from './ObjectSelect.mocks';\n\nregisterIcon(times);\n\nexport default {\n title: 'Build/ObjectSelect',\n component: ObjectSelect\n} as Meta;\n\ninterface Field extends FormControlProps {\n help?: string;\n error?: string;\n validator: (this: Field) => boolean;\n}\n\ninterface DrawerProps {\n drawerData?: MenuItemProps;\n drawerOpen: boolean;\n setDrawerOpen: (value: boolean) => void;\n}\n\nexport interface ObjectSelectStoryProps extends ObjectSelectProps {\n onSubmit?: (id: string, e: MouseEvent<HTMLElement>) => void;\n onCancel?: (id: string, e: MouseEvent<HTMLElement>) => void;\n popoverContent?: string;\n}\n\nexport const ObjectSelectSkeleton: Story<ObjectSelectStoryProps> = (\n args: ObjectSelectStoryProps\n) => {\n const [value, setValue] = useState<ObjectSelectProps['value']>(args.value);\n\n return (\n <ObjectSelect\n {...args}\n items={skeletonData}\n value={value}\n onChange={id => {\n const data = menuHelpers.getItem(skeletonData, id);\n if (data) {\n setValue({\n id: data.id,\n primary: data.primary,\n href: data.href ?? '#',\n meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''\n });\n } else setValue(undefined);\n }}\n configuration={{\n label: 'Gear button label',\n heading: 'Popover heading',\n primaryAction: {\n id: 'primaryAction',\n text: 'Primary action text',\n onClick: args.onSubmit\n },\n secondaryAction: {\n id: 'secondaryAction',\n text: 'Secondary action text',\n onClick: args.onCancel\n },\n content: (\n <StyledConfigurationContent>\n <StyledRegion style={{ minHeight: '20vh' }} />\n </StyledConfigurationContent>\n )\n }}\n onPreview={args.onPreview}\n />\n );\n};\n\nObjectSelectSkeleton.args = {\n label: 'Object select label',\n labelHidden: false,\n info: 'Object select info text',\n placeholder: '',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n onPreview: action('Clicked preview link'),\n onSubmit: action('Clicked submit button'),\n onCancel: action('Clicked cancel button')\n};\n\nObjectSelectSkeleton.argTypes = {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n onPreview: { table: { disable: true } },\n onSubmit: { table: { disable: true } },\n onCancel: { table: { disable: true } }\n};\n\nconst ViewportDrawer = ({ drawerData, drawerOpen, setDrawerOpen }: DrawerProps) => {\n const fields = drawerData?.secondary?.map((data, index) => {\n return {\n id: (index + 1).toString(),\n name: data?.toString() ?? '',\n value: data\n };\n });\n\n return (\n <Drawer\n open={drawerOpen}\n onOuterClick={() => {\n setDrawerOpen(false);\n }}\n position='fixed'\n size='30rem'\n nullWhenClosed\n shadow\n >\n <Flex\n as={StyledDrawerContent}\n container={{\n direction: 'column',\n alignItems: 'start',\n gap: 2,\n pad: 4\n }}\n >\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Flex container={{ gap: 2, alignItems: 'center' }}>\n <Button variant='simple' label='Close drawer' icon onClick={() => setDrawerOpen(false)}>\n <Icon name='times' />\n </Button>\n <Text variant='h3'>{drawerData?.primary}</Text>\n </Flex>\n <Flex container={{ direction: 'column', gap: 2, pad: 1 }}>\n <Text as='p'>\n This is a mock representation for the parameters of the {drawerData?.primary} rule\n </Text>\n <FieldValueList variant='inline' fields={fields!} />\n </Flex>\n </Flex>\n </Flex>\n </Drawer>\n );\n};\n\nconst ConfigurationContent = (args: any) => {\n const [showErrorIndicators] = useState(false);\n\n const ConditionBuilder = (\n <AtomicCondition\n condition={args.condition}\n fields={demoFields}\n indicateErrors={showErrorIndicators}\n dateFunctions={demoDateFunctions}\n onChange={c => args.setCondition(c)}\n itemDirection='row'\n showLhsAsLabel={false}\n validRhsTypes={args.validRHSTypes}\n />\n );\n\n const Inputs = (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Text variant='h4'>Inputs</Text>\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Flex container={{ alignItems: 'end', gap: 1 }}>\n <Input\n label='Name'\n type='text'\n defaultValue='Sample key 1'\n disabled\n readOnly={args.readOnly}\n />\n <Input\n label='Value'\n type='text'\n defaultValue='Sample value 1'\n readOnly={args.readOnly}\n disabled={args.disabled}\n />\n </Flex>\n <Flex container={{ alignItems: 'end', gap: 1 }}>\n <Input\n label='Name 2'\n labelHidden\n type='text'\n defaultValue='Sample key 2'\n disabled\n readOnly={args.readOnly}\n />\n <Input\n label='Value 2'\n labelHidden\n type='text'\n defaultValue='Sample value 2'\n readOnly={args.readOnly}\n disabled={args.disabled}\n />\n </Flex>\n </Flex>\n </Flex>\n );\n\n return args.popoverContent === 'advanced' ? ConditionBuilder : Inputs;\n};\n\nconst ObjectSelectComp: FC<ObjectSelectStoryProps> = ({\n popoverContent,\n ...args\n}: ObjectSelectStoryProps) => {\n const t = useI18n();\n const [drawerOpen, setDrawerOpen] = useState(false);\n const [drawerData, setDrawerData] = useState<MenuItemProps>(dataPages[0]);\n const [value, setValue] = useState<ObjectSelectProps['value']>(args.value);\n\n const convertRhsTypes = (\n useLiteralRHSType: boolean,\n useFieldRHSType: boolean,\n useRelativeDatesType: boolean,\n dateFunctions?: DateFunctionsByType\n ) => {\n const setRhsTypes: Set<RHSType> = new Set<RHSType>();\n if (useLiteralRHSType) setRhsTypes.add('LITERAL');\n if (useFieldRHSType) setRhsTypes.add('FIELD');\n if (dateFunctions) setRhsTypes.add('DATE_FUNCTION');\n if (useRelativeDatesType) setRhsTypes.add('RELATIVE_DATE');\n return setRhsTypes;\n };\n\n const validRHSTypes: Set<RHSType> = convertRhsTypes(true, true, true, demoDateFunctions);\n const [submitCondition, setSubmitCondition] = useState<LeafCondition | undefined>(undefined);\n const [condition, setCondition] = useState(\n () =>\n submitCondition ||\n getInitConditionForLhs(\n { field: 'age' },\n demoFields,\n validRHSTypes,\n undefined,\n demoDateFunctions\n )\n );\n\n const handleSubmission = () => {\n setSubmitCondition(condition);\n };\n\n return (\n <Flex container={{ direction: 'column', gap: 1 }}>\n <ObjectSelect\n {...args}\n onChange={id => {\n const data = menuHelpers.getItem(dataPages, id);\n if (data) {\n setValue({\n id: data.id,\n primary: data.primary,\n href: data.href ?? '#',\n meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''\n });\n } else setValue(undefined);\n }}\n items={dataPages}\n configuration={{\n label: args.disabled || args.readOnly ? 'View Configuration' : 'Edit Configuration',\n heading: 'Map Parameters',\n primaryAction: {\n id: 'submit',\n text: 'Submit',\n onClick: popoverContent === 'advanced' ? handleSubmission : args.onSubmit\n },\n secondaryAction: {\n id: 'cancel',\n text: 'Cancel',\n onClick: args.onCancel\n },\n content: (\n <ConfigurationContent\n {...args}\n popoverContent={popoverContent}\n condition={condition}\n setCondition={setCondition}\n validRHSTypes={validRHSTypes}\n />\n )\n }}\n value={value}\n onPreview={(id, e: { href: string }) => {\n const data = menuHelpers.getItem(dataPages, id);\n if (data) setDrawerData(data);\n setDrawerOpen(true);\n args.onPreview?.(id, e);\n }}\n />\n <ViewportDrawer\n drawerData={drawerData}\n drawerOpen={drawerOpen}\n setDrawerOpen={setDrawerOpen}\n />\n {popoverContent === 'advanced' && (\n <Card>\n <CardContent>\n <Text variant='h4'>Output:</Text>\n <StyledCodeBlock>\n {submitCondition ? JSON.stringify(submitCondition, null, 2) : '(No condition)'}\n </StyledCodeBlock>\n\n <Text variant='h4'>Formatted Output:</Text>\n <StyledCodeBlock>\n {submitCondition\n ? formatCondition({ condition: submitCondition }, demoFields, t)\n : '(No condition)'}\n </StyledCodeBlock>\n </CardContent>\n </Card>\n )}\n </Flex>\n );\n};\n\nexport const ObjectSelectDemo: Story<ObjectSelectStoryProps> = ({\n popoverContent,\n ...args\n}: ObjectSelectStoryProps) => {\n return <ObjectSelectComp {...args} popoverContent={popoverContent} />;\n};\n\nObjectSelectDemo.args = {\n label: 'Data source',\n labelHidden: false,\n info: 'Select an appropriate data source',\n placeholder: '',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n popoverContent: 'simple',\n onPreview: () => {},\n onSubmit: action('Clicked submit button'),\n onCancel: action('Clicked cancel button')\n};\n\nObjectSelectDemo.argTypes = {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n popoverContent: { options: ['simple', 'advanced'], control: { type: 'radio' } },\n onPreview: { table: { disable: true } },\n onSubmit: { table: { disable: true } },\n onCancel: { table: { disable: true } }\n};\n\nconst initFields = (): Field[] => {\n const common = { value: undefined, status: undefined };\n return [\n {\n ...common,\n name: 'name',\n required: true,\n error: 'Please enter a valid name for table',\n validator() {\n if (!this.value) return false;\n return /^[a-z]{1}[a-z0-9]+$/i.test(this.value);\n }\n },\n {\n ...common,\n name: 'description',\n required: true,\n help: 'Give an appropriate description for the table',\n error: 'Field cannot be empty',\n validator() {\n if (!this.value) return false;\n return true;\n }\n }\n ];\n};\n\nconst fieldReducer = (\n fields: Field[],\n {\n target,\n type\n }:\n | ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n | FocusEvent<HTMLInputElement | HTMLTextAreaElement>\n) => {\n return fields.map(field => {\n if (field.name === target.name) {\n field.value = target.value;\n if (type === 'blur' || field.status === 'error') {\n if ((field.required || field.value) && !field.validator()) {\n field.status = 'error';\n field.info = field.error;\n } else {\n field.status = undefined;\n field.info = field.help;\n }\n }\n }\n return field;\n });\n};\n\nexport const ObjectSelectDemoInForm = () => {\n const [fields, setField] = useReducer(fieldReducer, undefined, initFields);\n const { push } = useContext(ToasterContext);\n\n const name = fields.find(field => field.name === 'name');\n const description = fields.find(field => field.name === 'description');\n\n if (!name || !description) return null;\n\n const canSubmit = fields.every(field => field.value && field.validator());\n\n const actions = (\n <>\n <Button\n name='Cancel'\n variant='secondary'\n onClick={() => {\n push({ content: 'Form cancelled!' });\n }}\n >\n Cancel\n </Button>\n <Button name='Submit' type='submit' variant='primary' disabled={!canSubmit}>\n Submit\n </Button>\n </>\n );\n\n return (\n <Card style={{ margin: 'auto', maxWidth: '37.5rem' }}>\n <CardContent>\n <Form\n actions={actions}\n onSubmit={(e: FormEvent) => {\n e.preventDefault();\n push({ content: 'Form submitted!' });\n }}\n heading='Configure Table'\n >\n <Flex container={{ direction: 'column', gap: 2 }} item={{ grow: 1 }}>\n <Input\n name='name'\n label='Table name'\n value={name.value}\n required={name.required}\n status={name.status}\n info='Enter a valid table name'\n onChange={(e: ChangeEvent<HTMLInputElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n autoComplete='off'\n />\n\n <TextArea\n name='description'\n required={description.required}\n label='Table description'\n status={description.status}\n info={description.info || description.help}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n />\n <ObjectSelectComp\n label='Data page'\n info='Select an appropriate data page'\n items={[]}\n onChange={() => {}}\n />\n <ObjectSelectComp\n label='Visibility condition'\n info='Choose a when condition from list'\n items={[]}\n onChange={() => {}}\n />\n </Flex>\n </Form>\n </CardContent>\n </Card>\n );\n};\n"]}
@@ -0,0 +1,4 @@
1
+ export declare const StyledDrawerContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
2
+ export declare const StyledCodeBlock: import("styled-components").StyledComponent<"pre", import("styled-components").DefaultTheme, {}, never>;
3
+ export declare const StyledConfigurationContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
4
+ //# sourceMappingURL=ObjectSelect.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectSelect.styles.d.ts","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,yGAS9B,CAAC;AAIH,eAAO,MAAM,eAAe,yGAK1B,CAAC;AAIH,eAAO,MAAM,0BAA0B,yGAOrC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { defaultThemeProp, StyledRegion } from '@pega/cosmos-react-core';
3
+ export const StyledDrawerContent = styled.div(props => {
4
+ const { theme: { base } } = props;
5
+ return css `
6
+ height: 100%;
7
+ background-color: ${base.palette['primary-background']};
8
+ `;
9
+ });
10
+ StyledDrawerContent.defaultProps = defaultThemeProp;
11
+ export const StyledCodeBlock = styled.pre(({ theme }) => {
12
+ return css `
13
+ padding: ${theme.base.spacing};
14
+ margin-bottom: ${theme.base.spacing};
15
+ `;
16
+ });
17
+ StyledCodeBlock.defaultProps = defaultThemeProp;
18
+ export const StyledConfigurationContent = styled.div(({ theme }) => {
19
+ return css `
20
+ ${StyledRegion} {
21
+ border: 0.0625rem dashed ${theme.base.palette['border-line']};
22
+ background-color: ${theme.base.palette['secondary-background']};
23
+ }
24
+ `;
25
+ });
26
+ StyledConfigurationContent.defaultProps = defaultThemeProp;
27
+ //# sourceMappingURL=ObjectSelect.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectSelect.styles.js","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;IACpD,MAAM,EACJ,KAAK,EAAE,EAAE,IAAI,EAAE,EAChB,GAAG,KAAK,CAAC;IAEV,OAAO,GAAG,CAAA;;wBAEY,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;GACvD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,mBAAmB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEpD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACtD,OAAO,GAAG,CAAA;eACG,KAAK,CAAC,IAAI,CAAC,OAAO;qBACZ,KAAK,CAAC,IAAI,CAAC,OAAO;GACpC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACjE,OAAO,GAAG,CAAA;MACN,YAAY;iCACe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;0BACxC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;;GAEjE,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,0BAA0B,CAAC,YAAY,GAAG,gBAAgB,CAAC","sourcesContent":["import styled, { css } from 'styled-components';\n\nimport { defaultThemeProp, StyledRegion } from '@pega/cosmos-react-core';\n\nexport const StyledDrawerContent = styled.div(props => {\n const {\n theme: { base }\n } = props;\n\n return css`\n height: 100%;\n background-color: ${base.palette['primary-background']};\n `;\n});\n\nStyledDrawerContent.defaultProps = defaultThemeProp;\n\nexport const StyledCodeBlock = styled.pre(({ theme }) => {\n return css`\n padding: ${theme.base.spacing};\n margin-bottom: ${theme.base.spacing};\n `;\n});\n\nStyledCodeBlock.defaultProps = defaultThemeProp;\n\nexport const StyledConfigurationContent = styled.div(({ theme }) => {\n return css`\n ${StyledRegion} {\n border: 0.0625rem dashed ${theme.base.palette['border-line']};\n background-color: ${theme.base.palette['secondary-background']};\n }\n `;\n});\n\nStyledConfigurationContent.defaultProps = defaultThemeProp;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Workbench.stories.d.ts","sourceRoot":"","sources":["../../../src/build/Workbench/Workbench.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AAuC/C,wBAYU;AAEV,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAWD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,mBAAmB,CAgIpD,CAAC"}
1
+ {"version":3,"file":"Workbench.stories.d.ts","sourceRoot":"","sources":["../../../src/build/Workbench/Workbench.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AAuC/C,wBAYU;AAEV,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAWD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,mBAAmB,CA+HpD,CAAC"}
@@ -88,7 +88,6 @@ export const WorkbenchDemo = (args) => {
88
88
  redo: { id: 'redo', disabled: true, onClick: () => { } }
89
89
  };
90
90
  return (_jsx(Configuration, { theme: BuildTheme, children: _jsx(Workbench, { utilityPanels: utilityPanels, initiallyVisiblePanelId: utilityPanels[0].id, toolbar: {
91
- zoom: args.zoom,
92
91
  toolbarActions: args.showActions ? toolbarActions : undefined
93
92
  }, configurationPanel: {
94
93
  open,
@@ -101,12 +100,10 @@ export const WorkbenchDemo = (args) => {
101
100
  };
102
101
  WorkbenchDemo.args = {
103
102
  showActions: true,
104
- hideSidePanel: false,
105
- zoom: true
103
+ hideSidePanel: false
106
104
  };
107
105
  WorkbenchDemo.argTypes = {
108
106
  showActions: { control: { type: 'boolean' } },
109
- hideSidePanel: { control: { type: 'boolean' } },
110
- zoom: { control: { type: 'boolean' } }
107
+ hideSidePanel: { control: { type: 'boolean' } }
111
108
  };
112
109
  //# sourceMappingURL=Workbench.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Workbench.stories.js","sourceRoot":"","sources":["../../../src/build/Workbench/Workbench.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n StandardTreeProps,\n treeHelpers,\n StandardTree,\n Flex,\n SearchInput,\n TextArea,\n defaultThemeProp,\n Input,\n Configuration,\n BuildTheme\n} from '@pega/cosmos-react-core';\nimport { FlowModeller, Workbench } from '@pega/cosmos-react-build';\nimport { IconNames } from '@pega/cosmos-react-core/lib/components/Icon/iconNames';\nimport {\n NodeProps,\n NodeType\n} from '@pega/cosmos-react-build/lib/components/FlowModeller/Node/Node.types';\nimport {\n DirectedGraph,\n GraphData,\n ConnectorProps\n} from '@pega/cosmos-react-build/lib/components/FlowModeller/Renderer/Utils/Graph';\nimport FlowModellerHelper from '@pega/cosmos-react-build/lib/components/FlowModeller/helper';\nimport { AddNodeHandlerParams } from '@pega/cosmos-react-build/lib/components/FlowModeller/Renderer/Renderer.types';\n\nimport {\n nodeLibrary,\n nodeActions,\n exampleCRMNodesData as nodesData,\n exampleCRMConnectorsData as connectorsData\n} from '../FlowModeller/FlowModeller.mocks';\n\nimport { sideList } from './Workbench.mocks';\n\nexport default {\n title: 'Build/Workbench',\n parameters: {\n layout: 'fullscreen'\n },\n decorators: [\n StoryComp => (\n <div style={{ height: '100vh' }}>\n <StoryComp />\n </div>\n )\n ]\n} as Meta;\n\nexport interface WorkbenchStoryProps {\n showActions?: boolean;\n hideSidePanel?: boolean;\n zoom?: boolean;\n}\n\nconst StyledSearch = styled.div(({ theme }) => {\n return css`\n margin: 0 calc(2 * ${theme.base.spacing}) calc(2 * ${theme.base.spacing})\n calc(2 * ${theme.base.spacing});\n `;\n});\n\nStyledSearch.defaultProps = defaultThemeProp;\n\nexport const WorkbenchDemo: Story<WorkbenchStoryProps> = (args: WorkbenchStoryProps) => {\n const [open, setOpen] = useState(false);\n const [heading, setHeading] = useState('');\n const [description, setDescription] = useState('');\n const Content = () => {\n const [currentNodeId, setCurrentNodeId] = useState<string | undefined>();\n const [allNodes, setAllNodes] = useState<StandardTreeProps['nodes']>(sideList);\n\n return (\n <>\n <SearchInput />\n <StandardTree\n currentNodeId={currentNodeId}\n nodes={allNodes}\n onNodeClick={id => {\n const clickedNode = treeHelpers.getNode(allNodes, id);\n setCurrentNodeId(id);\n // If a leaf node, just set to current\n if (!clickedNode?.nodes) return;\n\n setAllNodes(tree =>\n treeHelpers.mapNode(tree, id, node => {\n return {\n ...node,\n expanded: !node.expanded\n };\n })\n );\n }}\n />\n </>\n );\n };\n\n const ConfigContent = () => {\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input defaultValue={heading} />\n <TextArea\n name='Description'\n required\n label='Description'\n displayCharCount\n maxLength={300}\n value={description}\n />\n </Flex>\n );\n };\n\n const FlowChartView = () => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: nodesData,\n connectors: connectorsData\n });\n\n const launchPropertyModal = (node: NodeProps) => {\n setHeading(node.label);\n setDescription(node.description || '');\n setOpen(true);\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n metaData\n });\n if (UpdatedData) {\n const newGraphData: GraphData<NodeProps, ConnectorProps> = UpdatedData;\n setGraphData(newGraphData);\n }\n };\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const node = graph.getNode(nodeId);\n launchPropertyModal(node);\n };\n\n return (\n <FlowModeller\n graphData={graphData}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n />\n );\n };\n\n const ExplorerContent = () => {\n return <SearchInput />;\n };\n\n const utilityPanels = [\n { title: 'Steps', id: '1', icon: 'plus' as IconNames, content: <Content /> },\n { title: 'Explorer', id: '2', icon: 'app' as IconNames, content: <ExplorerContent /> },\n { title: 'Views', id: '3', icon: 'headline' as IconNames, content: <Content /> }\n ];\n\n const toolbarActions = {\n undo: { id: 'undo', disabled: false, onClick: () => {} },\n redo: { id: 'redo', disabled: true, onClick: () => {} }\n };\n\n return (\n <Configuration theme={BuildTheme}>\n <Workbench\n utilityPanels={utilityPanels}\n initiallyVisiblePanelId={utilityPanels[0].id}\n toolbar={{\n zoom: args.zoom,\n toolbarActions: args.showActions ? toolbarActions : undefined\n }}\n configurationPanel={{\n open,\n content: <ConfigContent />,\n header: heading,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowChartView />\n </Workbench>\n </Configuration>\n );\n};\n\nWorkbenchDemo.args = {\n showActions: true,\n hideSidePanel: false,\n zoom: true\n};\n\nWorkbenchDemo.argTypes = {\n showActions: { control: { type: 'boolean' } },\n hideSidePanel: { control: { type: 'boolean' } },\n zoom: { control: { type: 'boolean' } }\n};\n"]}
1
+ {"version":3,"file":"Workbench.stories.js","sourceRoot":"","sources":["../../../src/build/Workbench/Workbench.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n StandardTreeProps,\n treeHelpers,\n StandardTree,\n Flex,\n SearchInput,\n TextArea,\n defaultThemeProp,\n Input,\n Configuration,\n BuildTheme\n} from '@pega/cosmos-react-core';\nimport { FlowModeller, Workbench } from '@pega/cosmos-react-build';\nimport { IconNames } from '@pega/cosmos-react-core/lib/components/Icon/iconNames';\nimport {\n NodeProps,\n NodeType\n} from '@pega/cosmos-react-build/lib/components/FlowModeller/Node/Node.types';\nimport {\n DirectedGraph,\n GraphData,\n ConnectorProps\n} from '@pega/cosmos-react-build/lib/components/FlowModeller/Renderer/Utils/Graph';\nimport FlowModellerHelper from '@pega/cosmos-react-build/lib/components/FlowModeller/helper';\nimport { AddNodeHandlerParams } from '@pega/cosmos-react-build/lib/components/FlowModeller/Renderer/Renderer.types';\n\nimport {\n nodeLibrary,\n nodeActions,\n exampleCRMNodesData as nodesData,\n exampleCRMConnectorsData as connectorsData\n} from '../FlowModeller/FlowModeller.mocks';\n\nimport { sideList } from './Workbench.mocks';\n\nexport default {\n title: 'Build/Workbench',\n parameters: {\n layout: 'fullscreen'\n },\n decorators: [\n StoryComp => (\n <div style={{ height: '100vh' }}>\n <StoryComp />\n </div>\n )\n ]\n} as Meta;\n\nexport interface WorkbenchStoryProps {\n showActions?: boolean;\n hideSidePanel?: boolean;\n zoom?: boolean;\n}\n\nconst StyledSearch = styled.div(({ theme }) => {\n return css`\n margin: 0 calc(2 * ${theme.base.spacing}) calc(2 * ${theme.base.spacing})\n calc(2 * ${theme.base.spacing});\n `;\n});\n\nStyledSearch.defaultProps = defaultThemeProp;\n\nexport const WorkbenchDemo: Story<WorkbenchStoryProps> = (args: WorkbenchStoryProps) => {\n const [open, setOpen] = useState(false);\n const [heading, setHeading] = useState('');\n const [description, setDescription] = useState('');\n const Content = () => {\n const [currentNodeId, setCurrentNodeId] = useState<string | undefined>();\n const [allNodes, setAllNodes] = useState<StandardTreeProps['nodes']>(sideList);\n\n return (\n <>\n <SearchInput />\n <StandardTree\n currentNodeId={currentNodeId}\n nodes={allNodes}\n onNodeClick={id => {\n const clickedNode = treeHelpers.getNode(allNodes, id);\n setCurrentNodeId(id);\n // If a leaf node, just set to current\n if (!clickedNode?.nodes) return;\n\n setAllNodes(tree =>\n treeHelpers.mapNode(tree, id, node => {\n return {\n ...node,\n expanded: !node.expanded\n };\n })\n );\n }}\n />\n </>\n );\n };\n\n const ConfigContent = () => {\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input defaultValue={heading} />\n <TextArea\n name='Description'\n required\n label='Description'\n displayCharCount\n maxLength={300}\n value={description}\n />\n </Flex>\n );\n };\n\n const FlowChartView = () => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: nodesData,\n connectors: connectorsData\n });\n\n const launchPropertyModal = (node: NodeProps) => {\n setHeading(node.label);\n setDescription(node.description || '');\n setOpen(true);\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n metaData\n });\n if (UpdatedData) {\n const newGraphData: GraphData<NodeProps, ConnectorProps> = UpdatedData;\n setGraphData(newGraphData);\n }\n };\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const node = graph.getNode(nodeId);\n launchPropertyModal(node);\n };\n\n return (\n <FlowModeller\n graphData={graphData}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n />\n );\n };\n\n const ExplorerContent = () => {\n return <SearchInput />;\n };\n\n const utilityPanels = [\n { title: 'Steps', id: '1', icon: 'plus' as IconNames, content: <Content /> },\n { title: 'Explorer', id: '2', icon: 'app' as IconNames, content: <ExplorerContent /> },\n { title: 'Views', id: '3', icon: 'headline' as IconNames, content: <Content /> }\n ];\n\n const toolbarActions = {\n undo: { id: 'undo', disabled: false, onClick: () => {} },\n redo: { id: 'redo', disabled: true, onClick: () => {} }\n };\n\n return (\n <Configuration theme={BuildTheme}>\n <Workbench\n utilityPanels={utilityPanels}\n initiallyVisiblePanelId={utilityPanels[0].id}\n toolbar={{\n toolbarActions: args.showActions ? toolbarActions : undefined\n }}\n configurationPanel={{\n open,\n content: <ConfigContent />,\n header: heading,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowChartView />\n </Workbench>\n </Configuration>\n );\n};\n\nWorkbenchDemo.args = {\n showActions: true,\n hideSidePanel: false\n};\n\nWorkbenchDemo.argTypes = {\n showActions: { control: { type: 'boolean' } },\n hideSidePanel: { control: { type: 'boolean' } }\n};\n"]}
@@ -25,6 +25,7 @@ interface AppShellStoryProps {
25
25
  environmentColor?: string;
26
26
  notificationsEmpty?: boolean;
27
27
  notificationsLoading?: boolean;
28
+ casesTypesEmpty?: boolean;
28
29
  recentsEmpty?: boolean;
29
30
  recentsLoading?: boolean;
30
31
  pinsLoading?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.stories.d.ts","sourceRoot":"","sources":["../../../src/core/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAEL,aAAa,EAmBd,MAAM,yBAAyB,CAAC;;AAcjC,wBAOU;AAEV,UAAU,kBAAkB;IAC1B,iBAAiB;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,yBAAyB;IACzB,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9C,UAAU,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAqPlD,CAAC;AAoCF,UAAU,yBAAyB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,yBAAyB,CAqBjE,CAAC"}
1
+ {"version":3,"file":"AppShell.stories.d.ts","sourceRoot":"","sources":["../../../src/core/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAEL,aAAa,EAmBd,MAAM,yBAAyB,CAAC;;AAcjC,wBAOU;AAEV,UAAU,kBAAkB;IAC1B,iBAAiB;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,yBAAyB;IACzB,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9C,UAAU,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAqPlD,CAAC;AAsCF,UAAU,yBAAyB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,yBAAyB,CAqBjE,CAAC"}
@@ -149,7 +149,7 @@ export const AppShellDemo = (args) => {
149
149
  },
150
150
  value: searchVal
151
151
  }
152
- : undefined, appHeader: args.appHeader, caseTypes: args.createLinks || defaultCreateLinks, links: linksWithHandlers, main: args.main || defaultMainContent, cases: args.cases, banners: args.banners, operator: operatorData, utils: args.utils || defaultUtils, environment: args.environmentName
152
+ : undefined, appHeader: args.appHeader, caseTypes: args.casesTypesEmpty ? [] : args.createLinks || defaultCreateLinks, links: linksWithHandlers, main: args.main || defaultMainContent, cases: args.cases, banners: args.banners, operator: operatorData, utils: args.utils || defaultUtils, environment: args.environmentName
153
153
  ? {
154
154
  name: args.environmentName,
155
155
  color: args.environmentColor
@@ -168,6 +168,7 @@ AppShellDemo.args = {
168
168
  environmentColor: '#FFDBDE',
169
169
  notificationsEmpty: false,
170
170
  notificationsLoading: false,
171
+ casesTypesEmpty: false,
171
172
  recentsEmpty: false,
172
173
  recentsLoading: false,
173
174
  pinsLoading: false
@@ -184,6 +185,7 @@ AppShellDemo.argTypes = {
184
185
  environmentColor: { control: { type: 'color' } },
185
186
  notificationsEmpty: { control: { type: 'boolean' } },
186
187
  notificationsLoading: { control: { type: 'boolean' } },
188
+ casesTypesEmpty: { control: { type: 'boolean' } },
187
189
  recentsEmpty: { control: { type: 'boolean' } },
188
190
  recentsLoading: { control: { type: 'boolean' } },
189
191
  pinsLoading: { control: { type: 'boolean' } }