@pega/cosmos-react-demos 3.0.0-dev.25.0 → 3.0.0-dev.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +51 -2
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -1
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js +380 -47
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -1
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts +3 -1
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -1
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx +206 -23
- package/jsx/build/ExpressionBuilder/ExpressionBuilder.stories.jsx.map +1 -1
- package/jsx/core/FieldGroup/FieldGroup.stories.d.ts +2 -0
- package/jsx/core/FieldGroup/FieldGroup.stories.d.ts.map +1 -1
- package/jsx/core/FieldGroup/FieldGroup.stories.jsx +12 -4
- package/jsx/core/FieldGroup/FieldGroup.stories.jsx.map +1 -1
- package/jsx/core/Link/Link.stories.d.ts.map +1 -1
- package/jsx/core/Link/Link.stories.jsx +2 -1
- package/jsx/core/Link/Link.stories.jsx.map +1 -1
- package/jsx/core/ListToolbar/ListToolbar.stories.d.ts +2 -1
- package/jsx/core/ListToolbar/ListToolbar.stories.d.ts.map +1 -1
- package/jsx/core/ListToolbar/ListToolbar.stories.jsx +9 -5
- package/jsx/core/ListToolbar/ListToolbar.stories.jsx.map +1 -1
- package/jsx/core/Modal/Modal.stories.d.ts +10 -1
- package/jsx/core/Modal/Modal.stories.d.ts.map +1 -1
- package/jsx/core/Modal/Modal.stories.jsx +33 -6
- package/jsx/core/Modal/Modal.stories.jsx.map +1 -1
- package/jsx/core/SkipLinks/SkipLinks.stories.d.ts +6 -0
- package/jsx/core/SkipLinks/SkipLinks.stories.d.ts.map +1 -0
- package/jsx/core/SkipLinks/SkipLinks.stories.jsx +29 -0
- package/jsx/core/SkipLinks/SkipLinks.stories.jsx.map +1 -0
- package/jsx/core/SkipLinks/SkipLinks.styles.d.ts +2 -0
- package/jsx/core/SkipLinks/SkipLinks.styles.d.ts.map +1 -0
- package/jsx/core/SkipLinks/SkipLinks.styles.js +16 -0
- package/jsx/core/SkipLinks/SkipLinks.styles.js.map +1 -0
- package/jsx/core/Tree/Tree.stories.d.ts.map +1 -1
- package/jsx/core/Tree/Tree.stories.jsx +14 -0
- package/jsx/core/Tree/Tree.stories.jsx.map +1 -1
- package/jsx/cs/TaskManager/TaskManager.stories.d.ts.map +1 -1
- package/jsx/cs/TaskManager/TaskManager.stories.jsx +17 -10
- package/jsx/cs/TaskManager/TaskManager.stories.jsx.map +1 -1
- package/jsx/social/Chat/Chat.mocks.d.ts +14 -1
- package/jsx/social/Chat/Chat.mocks.d.ts.map +1 -1
- package/jsx/social/Chat/Chat.mocks.js +5 -5
- package/jsx/social/Chat/Chat.mocks.js.map +1 -1
- package/jsx/social/Chat/Chat.stories.d.ts.map +1 -1
- package/jsx/social/Chat/Chat.stories.jsx +87 -7
- package/jsx/social/Chat/Chat.stories.jsx.map +1 -1
- package/jsx/social/Email/Email.mocks.d.ts +10 -1
- package/jsx/social/Email/Email.mocks.d.ts.map +1 -1
- package/jsx/social/Email/Email.mocks.jsx +12 -15
- package/jsx/social/Email/Email.mocks.jsx.map +1 -1
- package/jsx/social/Email/Email.stories.d.ts +15 -1
- package/jsx/social/Email/Email.stories.d.ts.map +1 -1
- package/jsx/social/Email/Email.stories.jsx +279 -108
- package/jsx/social/Email/Email.stories.jsx.map +1 -1
- package/jsx/tools/Clipboard/Clipboard.mocks.d.ts +2 -2
- package/jsx/tools/Clipboard/Clipboard.mocks.d.ts.map +1 -1
- package/jsx/tools/Clipboard/Clipboard.mocks.jsx +42 -43
- package/jsx/tools/Clipboard/Clipboard.mocks.jsx.map +1 -1
- package/jsx/tools/Clipboard/Clipboard.stories.d.ts.map +1 -1
- package/jsx/tools/Clipboard/Clipboard.stories.jsx +32 -31
- package/jsx/tools/Clipboard/Clipboard.stories.jsx.map +1 -1
- package/jsx/work/Details/Details.stories.d.ts.map +1 -1
- package/jsx/work/Details/Details.stories.jsx +7 -0
- package/jsx/work/Details/Details.stories.jsx.map +1 -1
- package/jsx/work/SearchResults/SearchResults.mocks.d.ts +6 -0
- package/jsx/work/SearchResults/SearchResults.mocks.d.ts.map +1 -1
- package/jsx/work/SearchResults/SearchResults.mocks.jsx +39 -38
- package/jsx/work/SearchResults/SearchResults.mocks.jsx.map +1 -1
- package/jsx/work/SearchResults/SearchResults.stories.d.ts.map +1 -1
- package/jsx/work/SearchResults/SearchResults.stories.jsx +71 -43
- package/jsx/work/SearchResults/SearchResults.stories.jsx.map +1 -1
- package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts +51 -2
- package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.d.ts.map +1 -1
- package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js +380 -47
- package/lib/build/ExpressionBuilder/ExpressionBuilder.mocks.js.map +1 -1
- package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts +3 -1
- package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.d.ts.map +1 -1
- package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js +215 -26
- package/lib/build/ExpressionBuilder/ExpressionBuilder.stories.js.map +1 -1
- package/lib/core/FieldGroup/FieldGroup.stories.d.ts +2 -0
- package/lib/core/FieldGroup/FieldGroup.stories.d.ts.map +1 -1
- package/lib/core/FieldGroup/FieldGroup.stories.js +11 -3
- package/lib/core/FieldGroup/FieldGroup.stories.js.map +1 -1
- package/lib/core/Link/Link.stories.d.ts.map +1 -1
- package/lib/core/Link/Link.stories.js +2 -1
- package/lib/core/Link/Link.stories.js.map +1 -1
- package/lib/core/ListToolbar/ListToolbar.stories.d.ts +2 -1
- package/lib/core/ListToolbar/ListToolbar.stories.d.ts.map +1 -1
- package/lib/core/ListToolbar/ListToolbar.stories.js +9 -5
- package/lib/core/ListToolbar/ListToolbar.stories.js.map +1 -1
- package/lib/core/Modal/Modal.stories.d.ts +10 -1
- package/lib/core/Modal/Modal.stories.d.ts.map +1 -1
- package/lib/core/Modal/Modal.stories.js +33 -6
- package/lib/core/Modal/Modal.stories.js.map +1 -1
- package/lib/core/SkipLinks/SkipLinks.stories.d.ts +6 -0
- package/lib/core/SkipLinks/SkipLinks.stories.d.ts.map +1 -0
- package/lib/core/SkipLinks/SkipLinks.stories.js +28 -0
- package/lib/core/SkipLinks/SkipLinks.stories.js.map +1 -0
- package/lib/core/SkipLinks/SkipLinks.styles.d.ts +2 -0
- package/lib/core/SkipLinks/SkipLinks.styles.d.ts.map +1 -0
- package/lib/core/SkipLinks/SkipLinks.styles.js +16 -0
- package/lib/core/SkipLinks/SkipLinks.styles.js.map +1 -0
- package/lib/core/Tree/Tree.stories.d.ts.map +1 -1
- package/lib/core/Tree/Tree.stories.js +16 -0
- package/lib/core/Tree/Tree.stories.js.map +1 -1
- package/lib/cs/TaskManager/TaskManager.stories.d.ts.map +1 -1
- package/lib/cs/TaskManager/TaskManager.stories.js +17 -10
- package/lib/cs/TaskManager/TaskManager.stories.js.map +1 -1
- package/lib/social/Chat/Chat.mocks.d.ts +14 -1
- package/lib/social/Chat/Chat.mocks.d.ts.map +1 -1
- package/lib/social/Chat/Chat.mocks.js +5 -5
- package/lib/social/Chat/Chat.mocks.js.map +1 -1
- package/lib/social/Chat/Chat.stories.d.ts.map +1 -1
- package/lib/social/Chat/Chat.stories.js +68 -6
- package/lib/social/Chat/Chat.stories.js.map +1 -1
- package/lib/social/Email/Email.mocks.d.ts +10 -1
- package/lib/social/Email/Email.mocks.d.ts.map +1 -1
- package/lib/social/Email/Email.mocks.js +12 -15
- package/lib/social/Email/Email.mocks.js.map +1 -1
- package/lib/social/Email/Email.stories.d.ts +15 -1
- package/lib/social/Email/Email.stories.d.ts.map +1 -1
- package/lib/social/Email/Email.stories.js +246 -85
- package/lib/social/Email/Email.stories.js.map +1 -1
- package/lib/tools/Clipboard/Clipboard.mocks.d.ts +2 -2
- package/lib/tools/Clipboard/Clipboard.mocks.d.ts.map +1 -1
- package/lib/tools/Clipboard/Clipboard.mocks.js +35 -40
- package/lib/tools/Clipboard/Clipboard.mocks.js.map +1 -1
- package/lib/tools/Clipboard/Clipboard.stories.d.ts.map +1 -1
- package/lib/tools/Clipboard/Clipboard.stories.js +40 -31
- package/lib/tools/Clipboard/Clipboard.stories.js.map +1 -1
- package/lib/work/Details/Details.stories.d.ts.map +1 -1
- package/lib/work/Details/Details.stories.js +1 -1
- package/lib/work/Details/Details.stories.js.map +1 -1
- package/lib/work/SearchResults/SearchResults.mocks.d.ts +6 -0
- package/lib/work/SearchResults/SearchResults.mocks.d.ts.map +1 -1
- package/lib/work/SearchResults/SearchResults.mocks.js +39 -38
- package/lib/work/SearchResults/SearchResults.mocks.js.map +1 -1
- package/lib/work/SearchResults/SearchResults.stories.d.ts.map +1 -1
- package/lib/work/SearchResults/SearchResults.stories.js +71 -43
- package/lib/work/SearchResults/SearchResults.stories.js.map +1 -1
- package/package.json +9 -9
|
@@ -1,32 +1,148 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { action } from '@storybook/addon-actions';
|
|
3
3
|
import { useState, useEffect, useRef } from 'react';
|
|
4
|
-
import { ExpressionBuilder, ExpressionItem, ExpressionList } from '@pega/cosmos-react-build';
|
|
5
|
-
import {
|
|
6
|
-
import { errors, items, StyledExpressionBuilderDemo } from './ExpressionBuilder.mocks';
|
|
4
|
+
import { ExpressionBuilder, ExpressionItem, ExpressionList, ExpressionDetails } from '@pega/cosmos-react-build';
|
|
5
|
+
import { createUID, Input } from '@pega/cosmos-react-core';
|
|
6
|
+
import { errors, items, primaryDetails, StyledExpressionBuilderDemo } from './ExpressionBuilder.mocks';
|
|
7
7
|
export default {
|
|
8
8
|
title: 'Build/ExpressionBuilder',
|
|
9
9
|
component: ExpressionBuilder
|
|
10
10
|
};
|
|
11
11
|
export const ExpressionItemDemo = () => {
|
|
12
|
-
const [
|
|
13
|
-
const
|
|
12
|
+
const [expanded, setExpanded] = useState(false);
|
|
13
|
+
const onAdd = (id) => {
|
|
14
14
|
action(`${id} clicked`);
|
|
15
15
|
};
|
|
16
16
|
const onExpand = (id) => {
|
|
17
|
-
|
|
18
|
-
action(`${id}
|
|
17
|
+
setExpanded(true);
|
|
18
|
+
action(`${id} expanded`);
|
|
19
|
+
};
|
|
20
|
+
const onCollapse = (id) => {
|
|
21
|
+
setExpanded(false);
|
|
22
|
+
action(`${id} collapsed`);
|
|
23
|
+
};
|
|
24
|
+
const handleChange = (id, field, value) => {
|
|
25
|
+
action('Input param change')(id, field, value);
|
|
19
26
|
};
|
|
20
|
-
return (_jsx(
|
|
27
|
+
return (_jsx(ExpressionItem, { id: createUID(), primary: 'Loan to value validation', type: 'Decision', onAdd: onAdd, onExpand: onExpand, onCollapse: onCollapse, expanded: expanded, details: {
|
|
28
|
+
primary: primaryDetails,
|
|
29
|
+
outputParams: [
|
|
30
|
+
{
|
|
31
|
+
id: 'type',
|
|
32
|
+
name: 'Type',
|
|
33
|
+
value: 'Text'
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
inputParams: [
|
|
37
|
+
{
|
|
38
|
+
id: 'firstParam',
|
|
39
|
+
renderer: Input,
|
|
40
|
+
rendererProps: {
|
|
41
|
+
onChange: (e) => handleChange('Test Expression Id', 'Test Input Field', e.target.value),
|
|
42
|
+
label: 'Test Input'
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 'secondParam',
|
|
47
|
+
renderer: Input,
|
|
48
|
+
rendererProps: {
|
|
49
|
+
onChange: (e) => handleChange('Test Expression Id', 'Test Input Field 2', e.target.value),
|
|
50
|
+
label: 'Test Input2'
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
} }));
|
|
55
|
+
};
|
|
56
|
+
export const ExpressionDetailsDemo = () => {
|
|
57
|
+
const handleChange = (id, field, value) => {
|
|
58
|
+
action('Input param change')(id, field, value);
|
|
59
|
+
};
|
|
60
|
+
return (_jsx(ExpressionDetails, { primary: primaryDetails, outputParams: [
|
|
61
|
+
{
|
|
62
|
+
id: 'type',
|
|
63
|
+
name: 'Type',
|
|
64
|
+
value: 'Text'
|
|
65
|
+
}
|
|
66
|
+
], inputParams: [
|
|
67
|
+
{
|
|
68
|
+
id: 'firstParam',
|
|
69
|
+
renderer: Input,
|
|
70
|
+
rendererProps: {
|
|
71
|
+
onChange: (e) => handleChange('Test Expression Id', 'Test Input Field', e.target.value),
|
|
72
|
+
label: 'Test Input'
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: 'secondParam',
|
|
77
|
+
renderer: Input,
|
|
78
|
+
rendererProps: {
|
|
79
|
+
onChange: (e) => handleChange('Test Expression Id', 'Test Input Field 2', e.target.value),
|
|
80
|
+
label: 'Test Input2'
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
] }));
|
|
21
84
|
};
|
|
22
85
|
export const ExpressionListDemo = () => {
|
|
23
|
-
|
|
86
|
+
const [expressionDetails, setExpressionDetails] = useState({});
|
|
87
|
+
const onInputParamChange = (id, field, value) => {
|
|
88
|
+
action('Input param change')(id, field, value);
|
|
89
|
+
};
|
|
90
|
+
const onItemExpand = (id) => {
|
|
91
|
+
action('onItemExpand')(id);
|
|
92
|
+
const itemDetails = items.find(item => item.id === id)?.details;
|
|
93
|
+
const fieldValueMapper = ({ field, value }) => {
|
|
94
|
+
return {
|
|
95
|
+
id: `${id}-${field}`,
|
|
96
|
+
name: field,
|
|
97
|
+
value
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
if (itemDetails) {
|
|
101
|
+
const primary = itemDetails.primary.map(fieldValueMapper);
|
|
102
|
+
const outputParams = itemDetails.output?.map(fieldValueMapper);
|
|
103
|
+
const inputParams = itemDetails.input?.map(({ id: fieldId, field, type }) => {
|
|
104
|
+
const inputParam = {
|
|
105
|
+
id: `${id}-${fieldId}`,
|
|
106
|
+
renderer: Input,
|
|
107
|
+
rendererProps: {
|
|
108
|
+
label: field,
|
|
109
|
+
onChange: (e) => onInputParamChange(id, fieldId, e.target.value),
|
|
110
|
+
type: type
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
return inputParam;
|
|
114
|
+
});
|
|
115
|
+
setExpressionDetails(prev => {
|
|
116
|
+
return {
|
|
117
|
+
...prev,
|
|
118
|
+
[id]: {
|
|
119
|
+
primary,
|
|
120
|
+
outputParams,
|
|
121
|
+
inputParams
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
const onItemCollapse = (id) => {
|
|
128
|
+
action('onItemCollapse')(id);
|
|
129
|
+
setTimeout(() => {
|
|
130
|
+
setExpressionDetails(prev => {
|
|
131
|
+
const newExpressionDetails = { ...prev };
|
|
132
|
+
delete newExpressionDetails[id];
|
|
133
|
+
return newExpressionDetails;
|
|
134
|
+
});
|
|
135
|
+
}, 500);
|
|
136
|
+
};
|
|
137
|
+
return (_jsx(ExpressionList, { items: items, onItemAdd: action('onItemAdd'), onItemExpand: onItemExpand, onItemCollapse: onItemCollapse, details: expressionDetails }));
|
|
24
138
|
};
|
|
25
139
|
export const ExpressionBuilderDemo = (args) => {
|
|
26
140
|
const [searchValue, setSearchValue] = useState('');
|
|
27
141
|
const [searchFilter, setSearchFilter] = useState('');
|
|
28
142
|
const [expressionItems, setExpressionItems] = useState(items);
|
|
29
143
|
const handle = useRef(null);
|
|
144
|
+
const [expressionDetails, setExpressionDetails] = useState({});
|
|
145
|
+
const [expressionDetailsValues, setExpressionDetailsValues] = useState({});
|
|
30
146
|
useEffect(() => {
|
|
31
147
|
const lowerSearchFilter = searchFilter.toLowerCase();
|
|
32
148
|
const lowerSearchValue = searchValue.toLowerCase();
|
|
@@ -35,27 +151,100 @@ export const ExpressionBuilderDemo = (args) => {
|
|
|
35
151
|
item.primary.toLowerCase().includes(lowerSearchValue));
|
|
36
152
|
}));
|
|
37
153
|
}, [searchValue, searchFilter]);
|
|
38
|
-
const
|
|
154
|
+
const onItemAdd = (id, addExpression) => {
|
|
39
155
|
const item = items.find(instance => instance.id === id);
|
|
40
|
-
if (item)
|
|
41
|
-
|
|
156
|
+
if (!item)
|
|
157
|
+
return;
|
|
158
|
+
if (item.type.toLowerCase() === 'field') {
|
|
159
|
+
addExpression(item.expression);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
addExpression(`${item.expression.slice(0, item.expression.length - 1)}${expressionDetailsValues[item.id]
|
|
163
|
+
? Object.keys(expressionDetailsValues[item.id])
|
|
164
|
+
.map(field => `${expressionDetailsValues[item.id][field]}`)
|
|
165
|
+
.join(', ')
|
|
166
|
+
: ''})`);
|
|
167
|
+
}
|
|
42
168
|
// Added this action to demonstrate the usage of getExpression
|
|
43
169
|
action('Current expression')(handle.current?.getExpression());
|
|
44
170
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
171
|
+
const onInputParamChange = (id, field, value) => {
|
|
172
|
+
action('Input param change')(id, field, value);
|
|
173
|
+
setExpressionDetailsValues(prev => {
|
|
174
|
+
return {
|
|
175
|
+
...prev,
|
|
176
|
+
[id]: { ...prev[id], [field]: value }
|
|
177
|
+
};
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
const onItemExpand = (id) => {
|
|
181
|
+
action('onItemExpand')(id);
|
|
182
|
+
const itemDetails = expressionItems.find(item => item.id === id)?.details;
|
|
183
|
+
const fieldValueMapper = ({ field, value }) => {
|
|
184
|
+
return {
|
|
185
|
+
id: `${id}-${field}`,
|
|
186
|
+
name: field,
|
|
187
|
+
value
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
if (itemDetails) {
|
|
191
|
+
const primary = itemDetails.primary.map(fieldValueMapper);
|
|
192
|
+
const outputParams = itemDetails.output?.map(fieldValueMapper);
|
|
193
|
+
const inputParams = itemDetails.input?.map(({ id: fieldId, field, type }) => {
|
|
194
|
+
const inputParam = {
|
|
195
|
+
id: `${id}-${fieldId}`,
|
|
196
|
+
renderer: Input,
|
|
197
|
+
rendererProps: {
|
|
198
|
+
label: field,
|
|
199
|
+
onChange: (e) => onInputParamChange(id, fieldId, e.target.value),
|
|
200
|
+
type: type
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
return inputParam;
|
|
204
|
+
});
|
|
205
|
+
setExpressionDetails(prev => {
|
|
206
|
+
return {
|
|
207
|
+
...prev,
|
|
208
|
+
[id]: {
|
|
209
|
+
primary,
|
|
210
|
+
outputParams,
|
|
211
|
+
inputParams
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
const onItemCollapse = (id) => {
|
|
218
|
+
action('onItemCollapse')(id);
|
|
219
|
+
setTimeout(() => {
|
|
220
|
+
setExpressionDetails(prev => {
|
|
221
|
+
const newExpressionDetails = { ...prev };
|
|
222
|
+
delete newExpressionDetails[id];
|
|
223
|
+
return newExpressionDetails;
|
|
224
|
+
});
|
|
225
|
+
}, 500);
|
|
226
|
+
setExpressionDetailsValues(prev => {
|
|
227
|
+
const newValues = { ...prev };
|
|
228
|
+
delete newValues[id];
|
|
229
|
+
return newValues;
|
|
230
|
+
});
|
|
231
|
+
};
|
|
232
|
+
return (_jsx(StyledExpressionBuilderDemo, { children: _jsx(ExpressionBuilder, { list: {
|
|
233
|
+
items: expressionItems,
|
|
234
|
+
onItemAdd: args.onItemAdd || onItemAdd,
|
|
235
|
+
onItemExpand: args.onItemExpand || onItemExpand,
|
|
236
|
+
onItemCollapse: args.onItemCollapse || onItemCollapse,
|
|
237
|
+
details: expressionDetails
|
|
238
|
+
}, search: {
|
|
239
|
+
filters: ['Field', 'Function', 'Decision'],
|
|
240
|
+
onFilterChange: args.onFilterChange
|
|
241
|
+
? args.onFilterChange
|
|
242
|
+
: value => setSearchFilter(value),
|
|
243
|
+
onSearchChange: args.onSearchChange
|
|
244
|
+
? args.onSearchChange
|
|
245
|
+
: value => setSearchValue(value),
|
|
246
|
+
value: searchValue
|
|
247
|
+
}, errors: args.showErrors ? args.errors || errors : undefined, defaultValue: args.defaultValue === undefined ? 'testExp(arg1, arg2)' : args.defaultValue, handle: args.handle || handle }) }));
|
|
59
248
|
};
|
|
60
249
|
ExpressionBuilderDemo.args = {
|
|
61
250
|
showErrors: false
|
|
@@ -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 } from 'react';\n\nimport {\n ExpressionBuilder,\n ExpressionItem,\n ExpressionItemProps,\n ExpressionList,\n ExpressionBuilderProps,\n HandleValue\n} from '@pega/cosmos-react-build';\nimport { BuildTheme, Configuration, createUID } from '@pega/cosmos-react-core';\n\nimport { errors, items, StyledExpressionBuilderDemo } from './ExpressionBuilder.mocks';\n\nexport default {\n title: 'Build/ExpressionBuilder',\n component: ExpressionBuilder\n} as Meta;\n\nexport const ExpressionItemDemo: Story = () => {\n const [isExpanded, setIsExpanded] = useState<ExpressionItemProps['isExpanded']>(false);\n const onInsert = (id: ExpressionItemProps['id']) => {\n action(`${id} clicked`);\n };\n\n const onExpand = (id: ExpressionItemProps['id']) => {\n setIsExpanded(prev => !prev);\n action(`${id} clicked`);\n };\n\n return (\n <Configuration theme={BuildTheme}>\n <ExpressionItem\n id={createUID()}\n primary='Loan to value validation'\n type='Decision'\n onInsert={onInsert}\n expression='@Decision'\n isExpanded={isExpanded}\n onExpand={onExpand}\n />\n </Configuration>\n );\n};\n\nexport const ExpressionListDemo: Story = () => {\n return (\n <Configuration theme={BuildTheme}>\n <ExpressionList\n items={items}\n onItemInsert={action('onItemInsert')}\n onItemExpand={action('onItemExpand')}\n />\n </Configuration>\n );\n};\ninterface ExpressionBuilderStoryProps {\n showErrors?: boolean;\n errors?: ExpressionBuilderProps['errors'];\n onItemInsert?: ExpressionBuilderProps['list']['onItemInsert'];\n onItemExpand?: ExpressionBuilderProps['list']['onItemExpand'];\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\n useEffect(() => {\n const lowerSearchFilter = searchFilter.toLowerCase();\n const lowerSearchValue = searchValue.toLowerCase();\n setExpressionItems(\n items.filter(item => {\n return (\n item.type.toLowerCase().includes(lowerSearchFilter === 'all' ? '' : lowerSearchFilter) &&\n item.primary.toLowerCase().includes(lowerSearchValue)\n );\n })\n );\n }, [searchValue, searchFilter]);\n\n const onItemInsert = (\n id: ExpressionItemProps['id'],\n insertExpression: (expression: string) => void\n ) => {\n const item = items.find(instance => instance.id === id);\n if (item) insertExpression(item.expression);\n\n // Added this action to demonstrate the usage of getExpression\n action('Current expression')(handle.current?.getExpression());\n };\n\n return (\n <Configuration theme={BuildTheme}>\n <StyledExpressionBuilderDemo>\n <ExpressionBuilder\n list={{\n items: expressionItems,\n onItemInsert: args.onItemInsert || onItemInsert,\n onItemExpand: args.onItemExpand || action('onItemExpand')\n }}\n search={{\n filters: ['Field', 'Function', 'Decision'],\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 }}\n errors={args.showErrors ? args.errors || errors : undefined}\n defaultValue={args.defaultValue === undefined ? 'testExp(arg1, arg2)' : args.defaultValue}\n handle={args.handle || handle}\n />\n </StyledExpressionBuilderDemo>\n </Configuration>\n );\n};\n\nExpressionBuilderDemo.args = {\n showErrors: false\n};\n\nExpressionBuilderDemo.argTypes = {\n showErrors: { control: { type: 'boolean' } }\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 } from 'react';\n\nimport {\n ExpressionBuilder,\n ExpressionItem,\n ExpressionItemProps,\n ExpressionList,\n ExpressionBuilderProps,\n ExpressionDetails,\n HandleValue,\n InputParams\n} from '@pega/cosmos-react-build';\nimport { createUID, ForwardProps, Input, InputProps } from '@pega/cosmos-react-core';\n\nimport {\n errors,\n items,\n primaryDetails,\n StyledExpressionBuilderDemo\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 useEffect(() => {\n const lowerSearchFilter = searchFilter.toLowerCase();\n const lowerSearchValue = searchValue.toLowerCase();\n setExpressionItems(\n items.filter(item => {\n return (\n item.type.toLowerCase().includes(lowerSearchFilter === 'all' ? '' : lowerSearchFilter) &&\n item.primary.toLowerCase().includes(lowerSearchValue)\n );\n })\n );\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 // Added this action to demonstrate the usage of getExpression\n action('Current expression')(handle.current?.getExpression());\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 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'],\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 }}\n errors={args.showErrors ? args.errors || errors : undefined}\n defaultValue={args.defaultValue === undefined ? 'testExp(arg1, arg2)' : args.defaultValue}\n handle={args.handle || handle}\n />\n </StyledExpressionBuilderDemo>\n );\n};\n\nExpressionBuilderDemo.args = {\n showErrors: false\n};\n\nExpressionBuilderDemo.argTypes = {\n showErrors: { control: { type: 'boolean' } }\n};\n"]}
|
|
@@ -5,9 +5,11 @@ interface FieldGroupStoryProps {
|
|
|
5
5
|
firstGroupName?: string;
|
|
6
6
|
firstGroupCollapsible?: boolean;
|
|
7
7
|
firstGroupDescription?: string;
|
|
8
|
+
showFirstAdditionalInfo?: boolean;
|
|
8
9
|
secondGroupName?: string;
|
|
9
10
|
secondGroupCollapsible?: boolean;
|
|
10
11
|
secondGroupDescription?: string;
|
|
12
|
+
showSecondAdditionalInfo?: boolean;
|
|
11
13
|
}
|
|
12
14
|
export declare const FieldGroupDemo: Story<FieldGroupStoryProps>;
|
|
13
15
|
//# sourceMappingURL=FieldGroup.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldGroup.stories.d.ts","sourceRoot":"","sources":["../../../src/core/FieldGroup/FieldGroup.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AAY/C,wBAGU;AAEV,UAAU,oBAAoB;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"FieldGroup.stories.d.ts","sourceRoot":"","sources":["../../../src/core/FieldGroup/FieldGroup.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AAY/C,wBAGU;AAEV,UAAU,oBAAoB;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAqDtD,CAAC"}
|
|
@@ -5,22 +5,30 @@ export default {
|
|
|
5
5
|
component: FieldGroup
|
|
6
6
|
};
|
|
7
7
|
export const FieldGroupDemo = (args) => {
|
|
8
|
-
return (_jsxs(Grid, { container: { rowGap: 1 }, children: [_jsx(FieldGroup, { name: args.firstGroupName, description: args.firstGroupDescription, collapsible: args.firstGroupCollapsible,
|
|
8
|
+
return (_jsxs(Grid, { container: { rowGap: 1 }, children: [_jsx(FieldGroup, { name: args.firstGroupName, description: args.firstGroupDescription, collapsible: args.firstGroupCollapsible, additionalInfo: args.showFirstAdditionalInfo
|
|
9
|
+
? { heading: 'Additional Info', content: 'This is a field group' }
|
|
10
|
+
: undefined, children: _jsxs(Grid, { container: { gap: 1, cols: 'repeat(auto-fit, minmax(min(40ch, 100%), 1fr))' }, children: [_jsx(Input, { type: 'text', label: 'Text 1' }), _jsxs(Select, { label: 'Select 1', children: [_jsx(Option, { value: 'A', children: "Option 1A" }), _jsx(Option, { value: 'B', children: "Option 1B" })] }), _jsx(DateInput, { label: 'Date 1' }), _jsx(Grid, { item: { colStart: '1', colEnd: '-1' }, children: _jsx(TextArea, { label: 'TextArea 1' }) }), _jsx(Input, { required: true, type: 'text', label: 'Required 1' }), _jsx(Input, { disabled: true, type: 'text', label: 'Disabled 1' })] }) }), _jsx(FieldGroup, { name: args.secondGroupName, description: args.secondGroupDescription, collapsible: args.secondGroupCollapsible, additionalInfo: args.showSecondAdditionalInfo
|
|
11
|
+
? { heading: 'Additional Info', content: 'This is another field group' }
|
|
12
|
+
: undefined, children: _jsxs(Grid, { container: { gap: 1, cols: 'repeat(auto-fill, minmax(min(40ch, 100%), 1fr))' }, children: [_jsx(Input, { type: 'text', label: 'Text 2' }), _jsxs(Select, { label: 'Select 2', children: [_jsx(Option, { value: 'A', children: "Option 2A" }), _jsx(Option, { value: 'B', children: "Option 2B" })] }), _jsx(DateInput, { label: 'Date 2' }), _jsx(Grid, { item: { colStart: '1', colEnd: '-1' }, children: _jsx(TextArea, { label: 'TextArea 2' }) }), _jsx(Input, { required: true, type: 'text', label: 'Required 2' }), _jsx(Input, { disabled: true, type: 'text', label: 'Disabled 2' })] }) })] }));
|
|
9
13
|
};
|
|
10
14
|
FieldGroupDemo.args = {
|
|
11
15
|
firstGroupName: 'Field group 1',
|
|
12
16
|
firstGroupCollapsible: true,
|
|
13
17
|
firstGroupDescription: '',
|
|
18
|
+
showFirstAdditionalInfo: true,
|
|
14
19
|
secondGroupName: 'Field group 2',
|
|
15
20
|
secondGroupCollapsible: true,
|
|
16
|
-
secondGroupDescription: ''
|
|
21
|
+
secondGroupDescription: '',
|
|
22
|
+
showSecondAdditionalInfo: true
|
|
17
23
|
};
|
|
18
24
|
FieldGroupDemo.argTypes = {
|
|
19
25
|
firstGroupName: { control: { type: 'text' } },
|
|
20
26
|
firstGroupCollapsible: { control: { type: 'boolean' } },
|
|
21
27
|
firstGroupDescription: { control: { type: 'text' } },
|
|
28
|
+
showFirstAdditionalInfo: { control: { type: 'boolean' } },
|
|
22
29
|
secondGroupName: { control: { type: 'text' } },
|
|
23
30
|
secondGroupCollapsible: { control: { type: 'boolean' } },
|
|
24
|
-
secondGroupDescription: { control: { type: 'text' } }
|
|
31
|
+
secondGroupDescription: { control: { type: 'text' } },
|
|
32
|
+
showSecondAdditionalInfo: { control: { type: 'boolean' } }
|
|
25
33
|
};
|
|
26
34
|
//# sourceMappingURL=FieldGroup.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldGroup.stories.js","sourceRoot":"","sources":["../../../src/core/FieldGroup/FieldGroup.stories.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,SAAS,EACT,UAAU,EACV,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAEjC,eAAe;IACb,KAAK,EAAE,iBAAiB;IACxB,SAAS,EAAE,UAAU;CACd,CAAC;
|
|
1
|
+
{"version":3,"file":"FieldGroup.stories.js","sourceRoot":"","sources":["../../../src/core/FieldGroup/FieldGroup.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\n\nimport {\n DateInput,\n FieldGroup,\n Grid,\n Input,\n Select,\n Option,\n TextArea\n} from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/FieldGroup',\n component: FieldGroup\n} as Meta;\n\ninterface FieldGroupStoryProps {\n firstGroupName?: string;\n firstGroupCollapsible?: boolean;\n firstGroupDescription?: string;\n showFirstAdditionalInfo?: boolean;\n secondGroupName?: string;\n secondGroupCollapsible?: boolean;\n secondGroupDescription?: string;\n showSecondAdditionalInfo?: boolean;\n}\n\nexport const FieldGroupDemo: Story<FieldGroupStoryProps> = (args: FieldGroupStoryProps) => {\n return (\n <Grid container={{ rowGap: 1 }}>\n <FieldGroup\n name={args.firstGroupName}\n description={args.firstGroupDescription}\n collapsible={args.firstGroupCollapsible}\n additionalInfo={\n args.showFirstAdditionalInfo\n ? { heading: 'Additional Info', content: 'This is a field group' }\n : undefined\n }\n >\n <Grid container={{ gap: 1, cols: 'repeat(auto-fit, minmax(min(40ch, 100%), 1fr))' }}>\n <Input type='text' label='Text 1' />\n <Select label='Select 1'>\n <Option value='A'>Option 1A</Option>\n <Option value='B'>Option 1B</Option>\n </Select>\n <DateInput label='Date 1' />\n <Grid item={{ colStart: '1', colEnd: '-1' }}>\n <TextArea label='TextArea 1' />\n </Grid>\n <Input required type='text' label='Required 1' />\n <Input disabled type='text' label='Disabled 1' />\n </Grid>\n </FieldGroup>\n <FieldGroup\n name={args.secondGroupName}\n description={args.secondGroupDescription}\n collapsible={args.secondGroupCollapsible}\n additionalInfo={\n args.showSecondAdditionalInfo\n ? { heading: 'Additional Info', content: 'This is another field group' }\n : undefined\n }\n >\n <Grid container={{ gap: 1, cols: 'repeat(auto-fill, minmax(min(40ch, 100%), 1fr))' }}>\n <Input type='text' label='Text 2' />\n <Select label='Select 2'>\n <Option value='A'>Option 2A</Option>\n <Option value='B'>Option 2B</Option>\n </Select>\n <DateInput label='Date 2' />\n <Grid item={{ colStart: '1', colEnd: '-1' }}>\n <TextArea label='TextArea 2' />\n </Grid>\n <Input required type='text' label='Required 2' />\n <Input disabled type='text' label='Disabled 2' />\n </Grid>\n </FieldGroup>\n </Grid>\n );\n};\n\nFieldGroupDemo.args = {\n firstGroupName: 'Field group 1',\n firstGroupCollapsible: true,\n firstGroupDescription: '',\n showFirstAdditionalInfo: true,\n secondGroupName: 'Field group 2',\n secondGroupCollapsible: true,\n secondGroupDescription: '',\n showSecondAdditionalInfo: true\n};\n\nFieldGroupDemo.argTypes = {\n firstGroupName: { control: { type: 'text' } },\n firstGroupCollapsible: { control: { type: 'boolean' } },\n firstGroupDescription: { control: { type: 'text' } },\n showFirstAdditionalInfo: { control: { type: 'boolean' } },\n secondGroupName: { control: { type: 'text' } },\n secondGroupCollapsible: { control: { type: 'boolean' } },\n secondGroupDescription: { control: { type: 'text' } },\n showSecondAdditionalInfo: { control: { type: 'boolean' } }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Link/Link.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Link.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Link/Link.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAkC,SAAS,EAAE,MAAM,yBAAyB,CAAC;;AAKpF,wBAYU;AAEV,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,SAAS,CAMrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAoB9B,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,SAAS,CAY5C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { action } from '@storybook/addon-actions';
|
|
2
3
|
import { Icon, registerIcon, Flex, Link } from '@pega/cosmos-react-core';
|
|
3
4
|
import * as plusIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/plus.icon';
|
|
4
5
|
registerIcon(plusIcon);
|
|
@@ -25,6 +26,6 @@ LinkWithIconDemo.argTypes = {
|
|
|
25
26
|
variant: { table: { disable: true } }
|
|
26
27
|
};
|
|
27
28
|
export const PreviewableLink = (args) => {
|
|
28
|
-
return (_jsx(Link, { href: 'http://www.pega.com', variant: args.variant, previewable: true, target: '_blank', children: "Visit Pega!" }));
|
|
29
|
+
return (_jsx(Link, { href: 'http://www.pega.com', variant: args.variant, previewable: true, target: '_blank', onPreview: action('Preview activated'), children: "Visit Pega!" }));
|
|
29
30
|
};
|
|
30
31
|
//# sourceMappingURL=Link.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.stories.js","sourceRoot":"","sources":["../../../src/core/Link/Link.stories.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Link.stories.js","sourceRoot":"","sources":["../../../src/core/Link/Link.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAa,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,QAAQ,MAAM,6DAA6D,CAAC;AAExF,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEvB,eAAe;IACb,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,IAAI;IACf,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;KAChB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC3D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;KACF;CACM,CAAC;AAEV,MAAM,CAAC,MAAM,QAAQ,GAAqB,CAAC,IAAe,EAAE,EAAE;IAC5D,OAAO,CACL,KAAC,IAAI,IAAC,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAC,QAAQ,4BAEhE,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAU,GAAG,EAAE;IAC1C,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,aACvC,KAAC,IAAI,IAAC,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAC,SAAS,EAAC,IAAI,QAAC,MAAM,EAAC,QAAQ,YACrE,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GACf,EACP,KAAC,IAAI,IAAC,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,QAAC,MAAM,EAAC,QAAQ,YACvE,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GACf,EACP,KAAC,IAAI,IAAC,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,QAAC,MAAM,EAAC,QAAQ,YACpE,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GACf,EACP,KAAC,IAAI,IAAC,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAC,MAAM,EAAC,IAAI,QAAC,MAAM,EAAC,QAAQ,YAClE,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GACf,EACP,KAAC,IAAI,IAAC,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAC,MAAM,EAAC,IAAI,QAAC,MAAM,EAAC,QAAQ,YAClE,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GACf,IACF,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,gBAAgB,CAAC,QAAQ,GAAG;IAC1B,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAqB,CAAC,IAAe,EAAE,EAAE;IACnE,OAAO,CACL,KAAC,IAAI,IACH,IAAI,EAAC,qBAAqB,EAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,QACX,MAAM,EAAC,QAAQ,EACf,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,4BAGjC,CACR,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { Icon, registerIcon, Flex, Link, LinkProps } from '@pega/cosmos-react-core';\nimport * as plusIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/plus.icon';\n\nregisterIcon(plusIcon);\n\nexport default {\n title: 'Core/Link',\n component: Link,\n args: {\n variant: 'link'\n },\n argTypes: {\n variant: {\n options: ['link', 'primary', 'secondary', 'simple', 'text'],\n control: { type: 'select' }\n }\n }\n} as Meta;\n\nexport const LinkDemo: Story<LinkProps> = (args: LinkProps) => {\n return (\n <Link href='http://www.pega.com' variant={args.variant} target='_blank'>\n Visit Pega!\n </Link>\n );\n};\n\nexport const LinkWithIconDemo: Story = () => {\n return (\n <Flex container={{ alignItems: 'center' }}>\n <Link href='http://www.pega.com' variant='primary' icon target='_blank'>\n <Icon name='plus' />\n </Link>\n <Link href='http://www.pega.com' variant='secondary' icon target='_blank'>\n <Icon name='plus' />\n </Link>\n <Link href='http://www.pega.com' variant='simple' icon target='_blank'>\n <Icon name='plus' />\n </Link>\n <Link href='http://www.pega.com' variant='link' icon target='_blank'>\n <Icon name='plus' />\n </Link>\n <Link href='http://www.pega.com' variant='text' icon target='_blank'>\n <Icon name='plus' />\n </Link>\n </Flex>\n );\n};\n\nLinkWithIconDemo.argTypes = {\n variant: { table: { disable: true } }\n};\n\nexport const PreviewableLink: Story<LinkProps> = (args: LinkProps) => {\n return (\n <Link\n href='http://www.pega.com'\n variant={args.variant}\n previewable\n target='_blank'\n onPreview={action('Preview activated')}\n >\n Visit Pega!\n </Link>\n );\n};\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Meta, Story } from '@storybook/react';
|
|
2
|
-
import { ListToolbarProps } from '@pega/cosmos-react-core';
|
|
2
|
+
import { ListToolbarProps, FormControlProps } from '@pega/cosmos-react-core';
|
|
3
3
|
declare const _default: Meta<import("@storybook/react").Args>;
|
|
4
4
|
export default _default;
|
|
5
5
|
interface ListToolbarStoryProps {
|
|
6
6
|
condensed: ListToolbarProps['condensed'];
|
|
7
7
|
createNewLabel: string;
|
|
8
|
+
required: FormControlProps['required'];
|
|
8
9
|
}
|
|
9
10
|
export declare const ListToolbarDemo: Story<ListToolbarStoryProps>;
|
|
10
11
|
export declare const SimpleToolbarDemo: Story;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListToolbar.stories.d.ts","sourceRoot":"","sources":["../../../src/core/ListToolbar/ListToolbar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAGL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ListToolbar.stories.d.ts","sourceRoot":"","sources":["../../../src/core/ListToolbar/ListToolbar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAGL,gBAAgB,EAGhB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;;AAWjC,wBAGU;AAIV,UAAU,qBAAqB;IAC7B,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,qBAAqB,CA8FxD,CAAC;AAcF,eAAO,MAAM,iBAAiB,EAAE,KAc/B,CAAC"}
|
|
@@ -67,24 +67,28 @@ export const ListToolbarDemo = (args) => {
|
|
|
67
67
|
setViews(cur => {
|
|
68
68
|
return cur.map(view => ({ ...view, selected: view.id === id }));
|
|
69
69
|
});
|
|
70
|
-
}
|
|
70
|
+
},
|
|
71
|
+
defaultId: '1',
|
|
72
|
+
appDefaultId: '2'
|
|
71
73
|
}, createNew: {
|
|
72
74
|
onClick: action('Clicked Create New'),
|
|
73
75
|
label: args.createNewLabel
|
|
74
76
|
}, search: { onSearchSubmit: action('Search submit') }, count: {
|
|
75
77
|
total: 32,
|
|
76
78
|
selected: 4
|
|
77
|
-
}, filter: filterProp, sort: sortProp, group: groupProp, actions: actions, additionalActions: _jsx(MenuButton, { text: 'Edit' }), condensed: args.condensed }) }) }) }));
|
|
79
|
+
}, filter: filterProp, sort: sortProp, group: groupProp, actions: actions, additionalActions: _jsx(MenuButton, { text: 'Edit' }), condensed: args.condensed, formControlProps: { required: args.required } }) }) }) }));
|
|
78
80
|
};
|
|
79
81
|
ListToolbarDemo.args = {
|
|
80
82
|
condensed: false,
|
|
81
|
-
createNewLabel: undefined
|
|
83
|
+
createNewLabel: undefined,
|
|
84
|
+
required: false
|
|
82
85
|
};
|
|
83
86
|
ListToolbarDemo.argTypes = {
|
|
84
87
|
condensed: { control: { type: 'boolean' } },
|
|
85
|
-
createNewLabel: { control: { type: 'text' } }
|
|
88
|
+
createNewLabel: { control: { type: 'text' } },
|
|
89
|
+
required: { control: { type: 'boolean' } }
|
|
86
90
|
};
|
|
87
91
|
export const SimpleToolbarDemo = () => {
|
|
88
|
-
return (_jsx(Card, { children: _jsx(CardHeader, { children: _jsx(ListToolbar, { heading: 'Top accounts in California', search: { onSearchSubmit: action('Search submit') }, count: { total: 212, totalHasMore: true }, actions: actions }) }) }));
|
|
92
|
+
return (_jsx(Card, { children: _jsx(CardHeader, { children: _jsx(ListToolbar, { heading: 'Top accounts in California', search: { onSearchSubmit: action('Search submit') }, count: { total: 212, totalHasMore: true }, actions: actions, formControlProps: { required: true } }) }) }));
|
|
89
93
|
};
|
|
90
94
|
//# sourceMappingURL=ListToolbar.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListToolbar.stories.js","sourceRoot":"","sources":["../../../src/core/ListToolbar/ListToolbar.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EACL,IAAI,EACJ,UAAU,EAEV,WAAW,EACX,UAAU,
|
|
1
|
+
{"version":3,"file":"ListToolbar.stories.js","sourceRoot":"","sources":["../../../src/core/ListToolbar/ListToolbar.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EACL,IAAI,EACJ,UAAU,EAEV,WAAW,EACX,UAAU,EAEX,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,SAAS,EACT,OAAO,EACP,cAAc,EACd,0BAA0B,EAC1B,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,eAAe;IACb,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,WAAW;CACf,CAAC;AAUV,MAAM,CAAC,MAAM,eAAe,GAAiC,CAAC,IAA2B,EAAE,EAAE;IAC3F,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAoB,IAAI,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,OAAO;YACL,KAAK,EAAE,sBAAsB;YAC7B,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,GAAG,EAAE;gBACb,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,yBAAyB,CAAC,GAAG,CAAC,EAAE;oBAC9B,sCAAsC;oBACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACnB,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAE7B,MAAM,QAAQ,GAAoB,OAAO,CAAC,GAAG,EAAE;QAC7C,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAClC,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,WAAW,KAAK,KAAK;iBAChC;gBACD;oBACE,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,WAAW,KAAK,MAAM;iBACjC;aACF;YACD,WAAW,EAAE,EAAE,CAAC,EAAE;gBAChB,cAAc,CAAC,GAAG,CAAC,EAAE;oBACnB,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,EAAiB,CAAC;gBAChD,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;YAClB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;SACnB,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,IAAI,cACH,KAAC,UAAU,cACT,KAAC,0BAA0B,CAAC,QAAQ,IAAC,KAAK,EAAE,yBAAyB,YACnE,KAAC,WAAW,IACV,OAAO,EAAE;wBACP,KAAK;wBACL,YAAY,EAAE,EAAE,CAAC,EAAE;4BACjB,QAAQ,CAAC,GAAG,CAAC,EAAE;gCACb,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;4BAClE,CAAC,CAAC,CAAC;wBACL,CAAC;wBACD,SAAS,EAAE,GAAG;wBACd,YAAY,EAAE,GAAG;qBAClB,EACD,SAAS,EAAE;wBACT,OAAO,EAAE,MAAM,CAAC,oBAAoB,CAAC;wBACrC,KAAK,EAAE,IAAI,CAAC,cAAc;qBAC3B,EACD,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,EACnD,KAAK,EAAE;wBACL,KAAK,EAAE,EAAE;wBACT,QAAQ,EAAE,CAAC;qBACZ,EACD,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,KAAC,UAAU,IAAC,IAAI,EAAC,MAAM,GAAG,EAC7C,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAC7C,GACkC,GAC3B,GACR,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,CAAC,IAAI,GAAG;IACrB,SAAS,EAAE,KAAK;IAChB,cAAc,EAAE,SAAS;IACzB,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF,eAAe,CAAC,QAAQ,GAAG;IACzB,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC3C,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAC7C,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAU,GAAG,EAAE;IAC3C,OAAO,CACL,KAAC,IAAI,cACH,KAAC,UAAU,cACT,KAAC,WAAW,IACV,OAAO,EAAC,4BAA4B,EACpC,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,EACnD,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,EACzC,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GACpC,GACS,GACR,CACR,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useMemo, useState } from 'react';\nimport { action } from '@storybook/addon-actions';\n\nimport {\n Card,\n CardHeader,\n ListToolbarProps,\n ListToolbar,\n MenuButton,\n FormControlProps\n} from '@pega/cosmos-react-core';\nimport { PresetMenuProps } from '@pega/cosmos-react-core/lib/components/ListToolbar/ListToolbar.types';\n\nimport {\n mockViews,\n actions,\n FilterRenderer,\n StagedStateDispatchContext,\n GroupRenderer\n} from './ListToolbar.mocks';\n\nexport default {\n title: 'Core/ListToolbar',\n component: ListToolbar\n} as Meta;\n\ntype SortString = 'asc' | 'desc';\n\ninterface ListToolbarStoryProps {\n condensed: ListToolbarProps['condensed'];\n createNewLabel: string;\n required: FormControlProps['required'];\n}\n\nexport const ListToolbarDemo: Story<ListToolbarStoryProps> = (args: ListToolbarStoryProps) => {\n const [stagedQueryOptionState, setStagedQueryOptionState] = useState<object | null>(null);\n const [views, setViews] = useState(mockViews);\n const [currentSort, setCurrentSort] = useState<SortString | null>(null);\n\n const filterProp = useMemo(() => {\n return {\n value: stagedQueryOptionState,\n count: undefined,\n renderer: FilterRenderer,\n onCancel: () => {\n setStagedQueryOptionState(null);\n },\n onSubmit: () => {\n setStagedQueryOptionState(cur => {\n // eslint-disable-next-line no-console\n console.table(cur);\n return null;\n });\n }\n };\n }, [stagedQueryOptionState]);\n\n const sortProp: PresetMenuProps = useMemo(() => {\n return {\n mode: 'single-select',\n count: currentSort ? 1 : undefined,\n items: [\n {\n id: 'asc',\n text: 'Ascending',\n icon: 'arrow-up',\n selected: currentSort === 'asc'\n },\n {\n id: 'desc',\n text: 'Descending',\n icon: 'arrow-down',\n selected: currentSort === 'desc'\n }\n ],\n onItemClick: id => {\n setCurrentSort(cur => {\n return cur === id ? null : (id as SortString);\n });\n }\n };\n }, [currentSort]);\n\n const groupProp = useMemo(() => {\n return {\n count: undefined,\n renderer: GroupRenderer,\n onCancel: () => {},\n onSubmit: () => {}\n };\n }, []);\n\n return (\n <Card>\n <CardHeader>\n <StagedStateDispatchContext.Provider value={setStagedQueryOptionState}>\n <ListToolbar\n heading={{\n views,\n onViewSelect: id => {\n setViews(cur => {\n return cur.map(view => ({ ...view, selected: view.id === id }));\n });\n },\n defaultId: '1',\n appDefaultId: '2'\n }}\n createNew={{\n onClick: action('Clicked Create New'),\n label: args.createNewLabel\n }}\n search={{ onSearchSubmit: action('Search submit') }}\n count={{\n total: 32,\n selected: 4\n }}\n filter={filterProp}\n sort={sortProp}\n group={groupProp}\n actions={actions}\n additionalActions={<MenuButton text='Edit' />}\n condensed={args.condensed}\n formControlProps={{ required: args.required }}\n />\n </StagedStateDispatchContext.Provider>\n </CardHeader>\n </Card>\n );\n};\n\nListToolbarDemo.args = {\n condensed: false,\n createNewLabel: undefined,\n required: false\n};\n\nListToolbarDemo.argTypes = {\n condensed: { control: { type: 'boolean' } },\n createNewLabel: { control: { type: 'text' } },\n required: { control: { type: 'boolean' } }\n};\n\nexport const SimpleToolbarDemo: Story = () => {\n return (\n <Card>\n <CardHeader>\n <ListToolbar\n heading='Top accounts in California'\n search={{ onSearchSubmit: action('Search submit') }}\n count={{ total: 212, totalHasMore: true }}\n actions={actions}\n formControlProps={{ required: true }}\n />\n </CardHeader>\n </Card>\n );\n};\n"]}
|
|
@@ -7,10 +7,19 @@ interface ModalDemoProps {
|
|
|
7
7
|
autoWidth: ModalProps['autoWidth'];
|
|
8
8
|
center: ModalProps['center'];
|
|
9
9
|
stretch: ModalProps['stretch'];
|
|
10
|
+
onDismiss?: (id: string) => void;
|
|
11
|
+
onMinimize?: (id: string) => void;
|
|
12
|
+
onActivate?: (id: string) => void;
|
|
13
|
+
onRequestDismiss?: () => boolean;
|
|
14
|
+
onRequestMinimize?: () => boolean;
|
|
15
|
+
onRequestActivate?: () => boolean;
|
|
16
|
+
}
|
|
17
|
+
interface AlertModalDemoProps extends ModalDemoProps {
|
|
18
|
+
onKeyDown?: (e: KeyboardEvent) => void;
|
|
10
19
|
}
|
|
11
20
|
export declare const ModalDemo: Story<ModalDemoProps>;
|
|
12
21
|
export declare const ModalUpdates: Story<ModalDemoProps>;
|
|
13
|
-
export declare const AlertModal: Story<
|
|
22
|
+
export declare const AlertModal: Story<AlertModalDemoProps>;
|
|
14
23
|
export declare const ProgressState: Story;
|
|
15
24
|
export declare const MinimizableModal: Story<ModalDemoProps>;
|
|
16
25
|
export declare const DockedModal: Story;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Modal/Modal.stories.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Modal.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Modal/Modal.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAML,UAAU,EAMX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;;AAEzD,wBA4BU;AAEV,UAAU,cAAc;IACtB,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC;CACnC;AAED,UAAU,mBAAoB,SAAQ,cAAc;IAClD,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CACxC;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,cAAc,CA6B3C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,cAAc,CA+D9C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,mBAAmB,CA0GjD,CAAC;AAUF,eAAO,MAAM,aAAa,EAAE,KA0F3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAyClD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KA+BzB,CAAC;AAQF,UAAU,0BAA0B;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,0BAA0B,CA6DnE,CAAC"}
|