@axinom/mosaic-ui 0.34.0-rc.9 → 0.34.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.
- package/dist/components/Explorer/SelectionExplorer/SelectionExplorer.d.ts +3 -0
- package/dist/components/Explorer/SelectionExplorer/SelectionExplorer.d.ts.map +1 -1
- package/dist/components/FormElements/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/FormElements/Checkbox/CheckboxField.d.ts +1 -1
- package/dist/components/FormElements/Checkbox/CheckboxField.d.ts.map +1 -1
- package/dist/components/FormElements/CustomTags/CustomTagsField.d.ts.map +1 -1
- package/dist/components/FormElements/DateTimeField/DateTimeTextField.d.ts +1 -1
- package/dist/components/FormElements/DateTimeField/DateTimeTextField.d.ts.map +1 -1
- package/dist/components/FormElements/DynamicDataListControl/DynamicDataListField.d.ts.map +1 -1
- package/dist/components/FormElements/FileUploadControl/FileUploadField.d.ts.map +1 -1
- package/dist/components/FormElements/MaskedSingleLineText/MaskedSingleLineTextField.d.ts +1 -1
- package/dist/components/FormElements/MaskedSingleLineText/MaskedSingleLineTextField.d.ts.map +1 -1
- package/dist/components/FormElements/SingleLineText/SingleLineText.d.ts.map +1 -1
- package/dist/components/List/ListRow/ListRow.d.ts.map +1 -1
- package/dist/index.es.js +3 -3
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/initialize.d.ts +3 -3
- package/dist/initialize.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/createInputRenderer/createInputRenderer.spec.tsx +2 -2
- package/src/components/Explorer/SelectionExplorer/SelectionExplorer.spec.tsx +49 -0
- package/src/components/Explorer/SelectionExplorer/SelectionExplorer.stories.tsx +111 -45
- package/src/components/Explorer/SelectionExplorer/SelectionExplorer.tsx +24 -3
- package/src/components/FormElements/BooleanView/BooleanViewField.scss +4 -6
- package/src/components/FormElements/BooleanView/BooleanViewField.spec.tsx +6 -6
- package/src/components/FormElements/BooleanView/BooleanViewField.tsx +1 -1
- package/src/components/FormElements/Checkbox/Checkbox.tsx +1 -1
- package/src/components/FormElements/Checkbox/CheckboxField.tsx +4 -5
- package/src/components/FormElements/CustomTags/CustomTags.scss +15 -4
- package/src/components/FormElements/CustomTags/CustomTags.spec.tsx +3 -3
- package/src/components/FormElements/CustomTags/CustomTags.tsx +3 -3
- package/src/components/FormElements/CustomTags/CustomTagsField.tsx +1 -2
- package/src/components/FormElements/DateTimeField/DateTimeTextField.tsx +3 -3
- package/src/components/FormElements/DynamicDataListControl/DynamicDataListField.tsx +1 -2
- package/src/components/FormElements/FileUploadControl/FileUploadField.tsx +1 -2
- package/src/components/FormElements/FormElementContainer/FormElementContainer.scss +0 -1
- package/src/components/FormElements/MaskedSingleLineText/MaskedSingleLineTextField.tsx +1 -1
- package/src/components/FormElements/Radio/RadioField.tsx +2 -2
- package/src/components/FormElements/SingleLineText/SingleLineText.spec.tsx +5 -4
- package/src/components/FormElements/SingleLineText/SingleLineText.tsx +6 -1
- package/src/components/FormElements/Tags/Tags.scss +1 -1
- package/src/components/FormElements/ToggleButton/ToggleButton.scss +18 -7
- package/src/components/FormStation/FormStation.spec.tsx +12 -6
- package/src/components/FormStation/FormStation.tsx +6 -6
- package/src/components/InlineMenu/InlineMenu.scss +20 -5
- package/src/components/LandingPageTiles/TileLarge/TileLarge.scss +11 -6
- package/src/components/List/ListRow/ListRow.scss +4 -1
- package/src/components/List/ListRow/ListRow.spec.tsx +11 -6
- package/src/components/List/ListRow/ListRow.tsx +43 -36
- package/src/initialize.ts +4 -4
- package/src/styles/variables.scss +11 -0
|
@@ -24,18 +24,20 @@ describe('SingleLineText', () => {
|
|
|
24
24
|
const spy = jest.fn();
|
|
25
25
|
const mockValue = 'test-value';
|
|
26
26
|
const mockValueUpdated = 'updated-test-value';
|
|
27
|
-
const wrapper =
|
|
27
|
+
const wrapper = mount(
|
|
28
28
|
<SingleLineText name={'test-name'} value={mockValue} onChange={spy} />,
|
|
29
29
|
);
|
|
30
30
|
|
|
31
31
|
const input = wrapper.find('input');
|
|
32
32
|
|
|
33
|
-
expect(input.
|
|
33
|
+
expect(input.getDOMNode<HTMLInputElement>().value).toEqual(mockValue);
|
|
34
34
|
|
|
35
35
|
input.simulate('change', { target: { value: mockValueUpdated } });
|
|
36
36
|
|
|
37
37
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
38
|
-
expect(spy).toHaveBeenCalledWith(
|
|
38
|
+
expect(spy).toHaveBeenCalledWith(
|
|
39
|
+
expect.objectContaining({ target: { value: mockValueUpdated } }),
|
|
40
|
+
);
|
|
39
41
|
});
|
|
40
42
|
|
|
41
43
|
it('uses optional props when passed in', () => {
|
|
@@ -48,7 +50,6 @@ describe('SingleLineText', () => {
|
|
|
48
50
|
name: 'test-name',
|
|
49
51
|
placeholder: 'test-placeholder',
|
|
50
52
|
type: 'number',
|
|
51
|
-
value: '',
|
|
52
53
|
} as Record<string, unknown>;
|
|
53
54
|
|
|
54
55
|
const wrapper = shallow(
|
|
@@ -57,6 +57,12 @@ export const SingleLineText: React.FC<SingleLineTextProps> = ({
|
|
|
57
57
|
const DUMMY_PWD = '0000000000';
|
|
58
58
|
const isPasswordField = type === 'password' ? true : false;
|
|
59
59
|
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
if (innerRef.current) {
|
|
62
|
+
innerRef.current.value = String(value || '');
|
|
63
|
+
}
|
|
64
|
+
}, [innerRef, value]);
|
|
65
|
+
|
|
60
66
|
useEffect(() => {
|
|
61
67
|
if (isPasswordField && isSet) {
|
|
62
68
|
executeIfRefAvailable(innerRef, (input) => {
|
|
@@ -99,7 +105,6 @@ export const SingleLineText: React.FC<SingleLineTextProps> = ({
|
|
|
99
105
|
name={name}
|
|
100
106
|
type={type}
|
|
101
107
|
ref={innerRef}
|
|
102
|
-
value={value ?? ''}
|
|
103
108
|
defaultValue={defaultValue}
|
|
104
109
|
disabled={disabled}
|
|
105
110
|
placeholder={disabled ? undefined : placeholder}
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
|
|
19
19
|
&:hover:enabled {
|
|
20
20
|
transition: box-shadow 0.15s ease-in-out 0s;
|
|
21
|
-
box-shadow: 0 0 0 2px
|
|
21
|
+
box-shadow: 0 0 0 2px
|
|
22
|
+
var(--toggle-button-stroke-color, $toggle-button-stroke-color);
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
div {
|
|
@@ -44,25 +45,35 @@
|
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
&.off {
|
|
47
|
-
border-top: 1px solid
|
|
48
|
-
|
|
49
|
-
border-
|
|
48
|
+
border-top: 1px solid
|
|
49
|
+
var(--toggle-button-stroke-color, $toggle-button-stroke-color);
|
|
50
|
+
border-bottom: 1px solid
|
|
51
|
+
var(--toggle-button-stroke-color, $toggle-button-stroke-color);
|
|
52
|
+
border-left: 1px solid
|
|
53
|
+
var(--toggle-button-stroke-color, $toggle-button-stroke-color);
|
|
50
54
|
}
|
|
51
55
|
&.on {
|
|
52
|
-
border: 1px solid
|
|
56
|
+
border: 1px solid
|
|
57
|
+
var(--toggle-button-stroke-color, $toggle-button-stroke-color);
|
|
53
58
|
}
|
|
54
59
|
}
|
|
55
60
|
|
|
56
61
|
div.active.off {
|
|
57
62
|
svg {
|
|
58
63
|
.svgText {
|
|
59
|
-
fill:
|
|
64
|
+
fill: var(
|
|
65
|
+
--toggle-button-off-text-color,
|
|
66
|
+
$toggle-button-off-text-color
|
|
67
|
+
);
|
|
60
68
|
}
|
|
61
69
|
}
|
|
62
70
|
}
|
|
63
71
|
|
|
64
72
|
div.active.on {
|
|
65
|
-
background-color:
|
|
73
|
+
background-color: var(
|
|
74
|
+
--toggle-button-on-bg-color,
|
|
75
|
+
$toggle-button-on-bg-color
|
|
76
|
+
) !important;
|
|
66
77
|
}
|
|
67
78
|
|
|
68
79
|
&:disabled {
|
|
@@ -5,7 +5,7 @@ import { act } from 'react-dom/test-utils';
|
|
|
5
5
|
import { MemoryRouter, Route } from 'react-router-dom';
|
|
6
6
|
import * as Yup from 'yup';
|
|
7
7
|
import { noop } from '../../helpers/utils';
|
|
8
|
-
import {
|
|
8
|
+
import { SaveIndicatorType, setSaveIndicator } from '../../initialize';
|
|
9
9
|
import { ActionData, Actions } from '../Actions';
|
|
10
10
|
import { Action } from '../Actions/Action';
|
|
11
11
|
import { MessageBar } from '../MessageBar/MessageBar';
|
|
@@ -677,9 +677,12 @@ describe('Details', () => {
|
|
|
677
677
|
);
|
|
678
678
|
expect(setSaveIndicator).toHaveBeenNthCalledWith(
|
|
679
679
|
1,
|
|
680
|
-
|
|
681
|
-
); // 1. inactive
|
|
682
|
-
expect(setSaveIndicator).toHaveBeenNthCalledWith(
|
|
680
|
+
SaveIndicatorType.Inactive,
|
|
681
|
+
); // 1. inactive
|
|
682
|
+
expect(setSaveIndicator).toHaveBeenNthCalledWith(
|
|
683
|
+
3,
|
|
684
|
+
SaveIndicatorType.Dirty,
|
|
685
|
+
); // 3. dirty
|
|
683
686
|
|
|
684
687
|
// submit form
|
|
685
688
|
const actionSelected = wrapper
|
|
@@ -697,7 +700,10 @@ describe('Details', () => {
|
|
|
697
700
|
|
|
698
701
|
wrapper.update();
|
|
699
702
|
|
|
700
|
-
expect(setSaveIndicator).toHaveBeenNthCalledWith(
|
|
703
|
+
expect(setSaveIndicator).toHaveBeenNthCalledWith(
|
|
704
|
+
4,
|
|
705
|
+
SaveIndicatorType.Saving,
|
|
706
|
+
);
|
|
701
707
|
|
|
702
708
|
// complete form submission
|
|
703
709
|
await act(async () => {
|
|
@@ -707,7 +713,7 @@ describe('Details', () => {
|
|
|
707
713
|
|
|
708
714
|
expect(setSaveIndicator).toHaveBeenNthCalledWith(
|
|
709
715
|
5,
|
|
710
|
-
|
|
716
|
+
SaveIndicatorType.Inactive,
|
|
711
717
|
);
|
|
712
718
|
|
|
713
719
|
console.warn((setSaveIndicator as jest.Mock).mock.calls);
|
|
@@ -16,7 +16,7 @@ import React, {
|
|
|
16
16
|
} from 'react';
|
|
17
17
|
import { useHistory } from 'react-router-dom';
|
|
18
18
|
import { OptionalObjectSchema } from 'yup/lib/object';
|
|
19
|
-
import {
|
|
19
|
+
import { SaveIndicatorType, setSaveIndicator } from '../../initialize';
|
|
20
20
|
import { Data } from '../../types/data';
|
|
21
21
|
import { ErrorTypeToStationError } from '../../utils/ErrorTypeToStationError';
|
|
22
22
|
import { Actions, ActionsProps } from '../Actions';
|
|
@@ -155,7 +155,7 @@ export const FormStation = <TValues extends Data, TSubmitResponse = unknown>({
|
|
|
155
155
|
|
|
156
156
|
try {
|
|
157
157
|
setIsFormSubmitting(true);
|
|
158
|
-
setSaveIndicator(
|
|
158
|
+
setSaveIndicator(SaveIndicatorType.Saving);
|
|
159
159
|
setStationError(undefined);
|
|
160
160
|
if (!initialData.loading && saveData) {
|
|
161
161
|
const response = await saveData(values, initialData, formikHelpers);
|
|
@@ -171,7 +171,7 @@ export const FormStation = <TValues extends Data, TSubmitResponse = unknown>({
|
|
|
171
171
|
),
|
|
172
172
|
);
|
|
173
173
|
|
|
174
|
-
setSaveIndicator(
|
|
174
|
+
setSaveIndicator(SaveIndicatorType.Dirty);
|
|
175
175
|
|
|
176
176
|
// We still throw the error, to make sure that navigation or action execution
|
|
177
177
|
// will not continue after a failed save.
|
|
@@ -449,15 +449,15 @@ const FormStationHeader: React.FC<
|
|
|
449
449
|
useEffect(() => {
|
|
450
450
|
// Set the save indicator to dirty depending on the form state
|
|
451
451
|
if (dirty) {
|
|
452
|
-
setSaveIndicator(
|
|
452
|
+
setSaveIndicator(SaveIndicatorType.Dirty);
|
|
453
453
|
} else {
|
|
454
|
-
setSaveIndicator(
|
|
454
|
+
setSaveIndicator(SaveIndicatorType.Inactive);
|
|
455
455
|
}
|
|
456
456
|
return () => {
|
|
457
457
|
// The form is not always considered "not dirty" after the save
|
|
458
458
|
// so this code will make sure that the indicator is set to inactive
|
|
459
459
|
// when the station is left.
|
|
460
|
-
setSaveIndicator(
|
|
460
|
+
setSaveIndicator(SaveIndicatorType.Inactive);
|
|
461
461
|
};
|
|
462
462
|
}, [dirty]);
|
|
463
463
|
|
|
@@ -85,10 +85,16 @@ $pop-up-arrow-extrusion: -7px;
|
|
|
85
85
|
.buttonDefault {
|
|
86
86
|
background-color: transparent !important;
|
|
87
87
|
svg * {
|
|
88
|
-
stroke:
|
|
88
|
+
stroke: var(
|
|
89
|
+
--inline-menu-button-stroke-color,
|
|
90
|
+
$inline-menu-button-stroke-color
|
|
91
|
+
) !important;
|
|
89
92
|
}
|
|
90
93
|
&:hover {
|
|
91
|
-
background-color:
|
|
94
|
+
background-color: var(
|
|
95
|
+
--inline-menu-button-hover-bg-color,
|
|
96
|
+
$inline-menu-button-hover-bg-color
|
|
97
|
+
) !important;
|
|
92
98
|
svg * {
|
|
93
99
|
stroke: white !important;
|
|
94
100
|
}
|
|
@@ -98,10 +104,16 @@ $pop-up-arrow-extrusion: -7px;
|
|
|
98
104
|
.buttonDefaultOpacity {
|
|
99
105
|
background-color: rgba(white, 0.7) !important;
|
|
100
106
|
svg * {
|
|
101
|
-
stroke:
|
|
107
|
+
stroke: var(
|
|
108
|
+
--inline-menu-button-stroke-color,
|
|
109
|
+
$inline-menu-button-stroke-color
|
|
110
|
+
) !important;
|
|
102
111
|
}
|
|
103
112
|
&:hover {
|
|
104
|
-
background-color:
|
|
113
|
+
background-color: var(
|
|
114
|
+
--inline-menu-button-hover-bg-color,
|
|
115
|
+
$inline-menu-button-hover-bg-color
|
|
116
|
+
) !important;
|
|
105
117
|
svg * {
|
|
106
118
|
stroke: white !important;
|
|
107
119
|
}
|
|
@@ -109,7 +121,10 @@ $pop-up-arrow-extrusion: -7px;
|
|
|
109
121
|
}
|
|
110
122
|
|
|
111
123
|
.buttonSelected {
|
|
112
|
-
background-color:
|
|
124
|
+
background-color: var(
|
|
125
|
+
--inline-menu-button-selected-bg-color,
|
|
126
|
+
$inline-menu-button-selected-bg-color
|
|
127
|
+
) !important;
|
|
113
128
|
svg * {
|
|
114
129
|
stroke: white !important;
|
|
115
130
|
}
|
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
height: 100%;
|
|
5
5
|
display: grid;
|
|
6
6
|
grid-template-columns: 1fr;
|
|
7
|
-
grid-template-rows:
|
|
7
|
+
grid-template-rows: 130px 1fr;
|
|
8
8
|
grid-column: span 4;
|
|
9
9
|
grid-row: span 2;
|
|
10
10
|
place-items: center;
|
|
11
11
|
|
|
12
12
|
text-decoration: none;
|
|
13
|
+
overflow: hidden;
|
|
13
14
|
|
|
14
15
|
color: var(--landingpage-largetile-color, $landingpage-largetile-color);
|
|
15
16
|
background-color: var(
|
|
@@ -41,25 +42,29 @@
|
|
|
41
42
|
$landingpage-largetile-stroke-color
|
|
42
43
|
);
|
|
43
44
|
}
|
|
45
|
+
|
|
46
|
+
> * {
|
|
47
|
+
width: 100%;
|
|
48
|
+
height: 100%;
|
|
49
|
+
}
|
|
44
50
|
}
|
|
45
51
|
|
|
46
52
|
.titlesSection {
|
|
47
53
|
display: grid;
|
|
48
|
-
|
|
49
|
-
grid-template-rows: 1fr 1fr;
|
|
54
|
+
padding: 0 15px 15px 15px;
|
|
50
55
|
place-items: center;
|
|
51
56
|
align-self: stretch;
|
|
52
57
|
|
|
53
58
|
text-align: center;
|
|
54
59
|
|
|
55
60
|
.label {
|
|
56
|
-
font-size:
|
|
57
|
-
|
|
61
|
+
font-size: 23px;
|
|
62
|
+
overflow: hidden;
|
|
58
63
|
}
|
|
59
64
|
|
|
60
65
|
.subtitle {
|
|
61
66
|
font-size: 16px;
|
|
62
|
-
|
|
67
|
+
align-self: end;
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
}
|
|
@@ -229,7 +229,7 @@ describe('ListRow', () => {
|
|
|
229
229
|
it('calls the "onItemClicked" event with data', () => {
|
|
230
230
|
const spy = jest.fn();
|
|
231
231
|
const wrapper = shallow(<ListRow {...mockProps} onItemClicked={spy} />);
|
|
232
|
-
wrapper.simulate('click');
|
|
232
|
+
wrapper.find('.content').simulate('click');
|
|
233
233
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
234
234
|
expect(spy).toHaveBeenCalledWith(mockExplorerData);
|
|
235
235
|
});
|
|
@@ -258,9 +258,14 @@ describe('ListRow', () => {
|
|
|
258
258
|
});
|
|
259
259
|
|
|
260
260
|
it('raises checkBoxHandler', () => {
|
|
261
|
-
const spy = jest.fn();
|
|
261
|
+
const spy = jest.fn().mockImplementation(() => null);
|
|
262
262
|
const wrapper = mount(
|
|
263
|
-
<ListRow
|
|
263
|
+
<ListRow
|
|
264
|
+
{...mockProps}
|
|
265
|
+
onItemSelected={spy}
|
|
266
|
+
showItemCheckbox={true}
|
|
267
|
+
selectionMode={ListSelectMode.Multi}
|
|
268
|
+
/>,
|
|
264
269
|
);
|
|
265
270
|
|
|
266
271
|
const chk = wrapper.find(ListCheckBox);
|
|
@@ -366,7 +371,7 @@ describe('ListRow', () => {
|
|
|
366
371
|
/>,
|
|
367
372
|
);
|
|
368
373
|
|
|
369
|
-
const row = wrapper.find('.
|
|
374
|
+
const row = wrapper.find('.content');
|
|
370
375
|
|
|
371
376
|
row.simulate('click');
|
|
372
377
|
|
|
@@ -388,7 +393,7 @@ describe('ListRow', () => {
|
|
|
388
393
|
/>,
|
|
389
394
|
);
|
|
390
395
|
|
|
391
|
-
const row = wrapper.find('.
|
|
396
|
+
const row = wrapper.find('.content');
|
|
392
397
|
|
|
393
398
|
row.simulate('click');
|
|
394
399
|
|
|
@@ -411,7 +416,7 @@ describe('ListRow', () => {
|
|
|
411
416
|
/>,
|
|
412
417
|
);
|
|
413
418
|
|
|
414
|
-
const row = wrapper.find('.
|
|
419
|
+
const row = wrapper.find('.content');
|
|
415
420
|
|
|
416
421
|
row.simulate('click');
|
|
417
422
|
|
|
@@ -230,32 +230,37 @@ export const ListRow = <T extends Data>({
|
|
|
230
230
|
[classes.disabled]: isRowDisabled,
|
|
231
231
|
})}
|
|
232
232
|
style={customRootStyles}
|
|
233
|
-
onClick={() => {
|
|
234
|
-
onItemClickedHandler(data);
|
|
235
|
-
}}
|
|
236
233
|
ref={isTrigger ? elementRef : null}
|
|
237
234
|
data-test-id="list-entry"
|
|
238
235
|
>
|
|
239
236
|
{/* Items */}
|
|
240
237
|
{isLinkable ? (
|
|
241
|
-
<Link
|
|
238
|
+
<Link
|
|
239
|
+
to={onItemClicked as string}
|
|
240
|
+
className={clsx(classes.content, classes.link)}
|
|
241
|
+
>
|
|
242
242
|
{generateCells}
|
|
243
243
|
</Link>
|
|
244
244
|
) : (
|
|
245
|
-
|
|
245
|
+
<div
|
|
246
|
+
className={classes.content}
|
|
247
|
+
onClick={() => onItemClickedHandler(data)}
|
|
248
|
+
>
|
|
249
|
+
{generateCells}
|
|
250
|
+
</div>
|
|
246
251
|
)}
|
|
247
|
-
{
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
252
|
+
<div className={classes.actions}>
|
|
253
|
+
{inlineMenuActions &&
|
|
254
|
+
inlineActionMenuData &&
|
|
255
|
+
inlineActionMenuData.length > 0 && (
|
|
256
|
+
<InlineMenu
|
|
257
|
+
actions={inlineActionMenuData}
|
|
258
|
+
showArrow={false}
|
|
259
|
+
placement="bottom-end"
|
|
260
|
+
/>
|
|
261
|
+
)}
|
|
262
|
+
{showActionButton && selectionMode === ListSelectMode.None && (
|
|
263
|
+
<>
|
|
259
264
|
{showActionButton &&
|
|
260
265
|
(typeof onItemClicked !== 'function' ? (
|
|
261
266
|
<Button
|
|
@@ -273,27 +278,29 @@ export const ListRow = <T extends Data>({
|
|
|
273
278
|
dataTestId="list-entry-action"
|
|
274
279
|
/>
|
|
275
280
|
))}
|
|
276
|
-
|
|
281
|
+
</>
|
|
277
282
|
)}
|
|
278
283
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
284
|
+
{showCheckMark && (
|
|
285
|
+
<Button
|
|
286
|
+
icon={IconName.Checkmark}
|
|
287
|
+
height={actionSize}
|
|
288
|
+
width={actionSize}
|
|
289
|
+
dataTestId="list-entry-select-button"
|
|
290
|
+
className={classes.selectionCheckMark}
|
|
291
|
+
onButtonClicked={() => onItemClickedHandler(data)}
|
|
292
|
+
/>
|
|
293
|
+
)}
|
|
294
|
+
{showItemCheckbox && (
|
|
295
|
+
<ListCheckBox
|
|
296
|
+
height={actionSize}
|
|
297
|
+
width={actionSize}
|
|
298
|
+
onCheckBoxToggled={() => onItemClickedHandler(data)}
|
|
299
|
+
isChecked={itemSelected}
|
|
300
|
+
isDisabled={isRowDisabled}
|
|
301
|
+
/>
|
|
302
|
+
)}
|
|
303
|
+
</div>
|
|
297
304
|
</div>
|
|
298
305
|
);
|
|
299
306
|
|
package/src/initialize.ts
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
ShowNotification,
|
|
6
6
|
} from './types/ui-config';
|
|
7
7
|
|
|
8
|
-
export enum
|
|
8
|
+
export enum SaveIndicatorType {
|
|
9
9
|
Saving = 'saving',
|
|
10
10
|
Inactive = 'inactive',
|
|
11
11
|
Dirty = 'dirty',
|
|
@@ -21,8 +21,8 @@ export let removeIndicator: RemoveIndicator | (() => void) =
|
|
|
21
21
|
|
|
22
22
|
export let on: CustomEventEmitter['on'] | (() => void) = polyfill('on');
|
|
23
23
|
|
|
24
|
-
export let setSaveIndicator: (type:
|
|
25
|
-
polyfill('
|
|
24
|
+
export let setSaveIndicator: (type: SaveIndicatorType) => void =
|
|
25
|
+
polyfill('setSaveIndicator');
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Passes the PiralApi methods to the UI library.
|
|
@@ -43,7 +43,7 @@ export interface UiConfig {
|
|
|
43
43
|
addIndicator: AddIndicator;
|
|
44
44
|
removeIndicator: RemoveIndicator;
|
|
45
45
|
on: CustomEventEmitter['on'];
|
|
46
|
-
setSaveIndicator: (type:
|
|
46
|
+
setSaveIndicator: (type: SaveIndicatorType) => void;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
function polyfill(methodName: string): () => void {
|
|
@@ -183,6 +183,9 @@ $tag-border-color-2: $blue;
|
|
|
183
183
|
$tag-icon-color: $blue;
|
|
184
184
|
$tag-font-color: $dark-gray;
|
|
185
185
|
$tag-background-color: $light-gray-2;
|
|
186
|
+
$tag-enter-color: rgba($blue, 0.25);
|
|
187
|
+
$tag-plus-button-bg-color: $blue;
|
|
188
|
+
$tag-plus-button-hover-stroke-color: $blue;
|
|
186
189
|
$form-error-color: $red;
|
|
187
190
|
$select-arrow-color: $blue;
|
|
188
191
|
$select-disabled-arrow-color: $gray;
|
|
@@ -201,6 +204,14 @@ $select-background-color: white;
|
|
|
201
204
|
$form-indicator-color: $green;
|
|
202
205
|
$radio-hover-stroke-color: $blue;
|
|
203
206
|
$radio-checked-fill-color: $blue;
|
|
207
|
+
$toggle-button-stroke-color: $blue;
|
|
208
|
+
$toggle-button-off-text-color: $blue;
|
|
209
|
+
$toggle-button-on-bg-color: $blue;
|
|
210
|
+
|
|
211
|
+
/* Inline Menu */
|
|
212
|
+
$inline-menu-button-stroke-color: $blue;
|
|
213
|
+
$inline-menu-button-hover-bg-color: $blue;
|
|
214
|
+
$inline-menu-button-selected-bg-color: $blue;
|
|
204
215
|
|
|
205
216
|
/* Date Time Picker*/
|
|
206
217
|
$calendar-tile-active: $blue;
|