@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.
Files changed (53) hide show
  1. package/dist/components/Explorer/SelectionExplorer/SelectionExplorer.d.ts +3 -0
  2. package/dist/components/Explorer/SelectionExplorer/SelectionExplorer.d.ts.map +1 -1
  3. package/dist/components/FormElements/Checkbox/Checkbox.d.ts.map +1 -1
  4. package/dist/components/FormElements/Checkbox/CheckboxField.d.ts +1 -1
  5. package/dist/components/FormElements/Checkbox/CheckboxField.d.ts.map +1 -1
  6. package/dist/components/FormElements/CustomTags/CustomTagsField.d.ts.map +1 -1
  7. package/dist/components/FormElements/DateTimeField/DateTimeTextField.d.ts +1 -1
  8. package/dist/components/FormElements/DateTimeField/DateTimeTextField.d.ts.map +1 -1
  9. package/dist/components/FormElements/DynamicDataListControl/DynamicDataListField.d.ts.map +1 -1
  10. package/dist/components/FormElements/FileUploadControl/FileUploadField.d.ts.map +1 -1
  11. package/dist/components/FormElements/MaskedSingleLineText/MaskedSingleLineTextField.d.ts +1 -1
  12. package/dist/components/FormElements/MaskedSingleLineText/MaskedSingleLineTextField.d.ts.map +1 -1
  13. package/dist/components/FormElements/SingleLineText/SingleLineText.d.ts.map +1 -1
  14. package/dist/components/List/ListRow/ListRow.d.ts.map +1 -1
  15. package/dist/index.es.js +3 -3
  16. package/dist/index.es.js.map +1 -1
  17. package/dist/index.js +3 -3
  18. package/dist/index.js.map +1 -1
  19. package/dist/initialize.d.ts +3 -3
  20. package/dist/initialize.d.ts.map +1 -1
  21. package/package.json +3 -3
  22. package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/createInputRenderer/createInputRenderer.spec.tsx +2 -2
  23. package/src/components/Explorer/SelectionExplorer/SelectionExplorer.spec.tsx +49 -0
  24. package/src/components/Explorer/SelectionExplorer/SelectionExplorer.stories.tsx +111 -45
  25. package/src/components/Explorer/SelectionExplorer/SelectionExplorer.tsx +24 -3
  26. package/src/components/FormElements/BooleanView/BooleanViewField.scss +4 -6
  27. package/src/components/FormElements/BooleanView/BooleanViewField.spec.tsx +6 -6
  28. package/src/components/FormElements/BooleanView/BooleanViewField.tsx +1 -1
  29. package/src/components/FormElements/Checkbox/Checkbox.tsx +1 -1
  30. package/src/components/FormElements/Checkbox/CheckboxField.tsx +4 -5
  31. package/src/components/FormElements/CustomTags/CustomTags.scss +15 -4
  32. package/src/components/FormElements/CustomTags/CustomTags.spec.tsx +3 -3
  33. package/src/components/FormElements/CustomTags/CustomTags.tsx +3 -3
  34. package/src/components/FormElements/CustomTags/CustomTagsField.tsx +1 -2
  35. package/src/components/FormElements/DateTimeField/DateTimeTextField.tsx +3 -3
  36. package/src/components/FormElements/DynamicDataListControl/DynamicDataListField.tsx +1 -2
  37. package/src/components/FormElements/FileUploadControl/FileUploadField.tsx +1 -2
  38. package/src/components/FormElements/FormElementContainer/FormElementContainer.scss +0 -1
  39. package/src/components/FormElements/MaskedSingleLineText/MaskedSingleLineTextField.tsx +1 -1
  40. package/src/components/FormElements/Radio/RadioField.tsx +2 -2
  41. package/src/components/FormElements/SingleLineText/SingleLineText.spec.tsx +5 -4
  42. package/src/components/FormElements/SingleLineText/SingleLineText.tsx +6 -1
  43. package/src/components/FormElements/Tags/Tags.scss +1 -1
  44. package/src/components/FormElements/ToggleButton/ToggleButton.scss +18 -7
  45. package/src/components/FormStation/FormStation.spec.tsx +12 -6
  46. package/src/components/FormStation/FormStation.tsx +6 -6
  47. package/src/components/InlineMenu/InlineMenu.scss +20 -5
  48. package/src/components/LandingPageTiles/TileLarge/TileLarge.scss +11 -6
  49. package/src/components/List/ListRow/ListRow.scss +4 -1
  50. package/src/components/List/ListRow/ListRow.spec.tsx +11 -6
  51. package/src/components/List/ListRow/ListRow.tsx +43 -36
  52. package/src/initialize.ts +4 -4
  53. 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 = shallow(
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.prop('value')).toEqual(mockValue);
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({ target: { value: mockValueUpdated } });
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}
@@ -119,7 +119,7 @@
119
119
 
120
120
  .tagEnter {
121
121
  opacity: 0;
122
- background-color: rgba($blue, 0.25) !important;
122
+ background-color: var(--tag-enter-color, $tag-enter-color) !important;
123
123
  }
124
124
 
125
125
  .tagEnterActive {
@@ -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 $blue;
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 $blue;
48
- border-bottom: 1px solid $blue;
49
- border-left: 1px solid $blue;
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 $blue;
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: $blue;
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: $blue !important;
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 { IndicatorType, setSaveIndicator } from '../../initialize';
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
- IndicatorType.Inactive,
681
- ); // 1. inactive 2. dirty
682
- expect(setSaveIndicator).toHaveBeenNthCalledWith(3, IndicatorType.Dirty); // 1. inactive 2. dirty
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(4, IndicatorType.Saving);
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
- IndicatorType.Inactive,
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 { IndicatorType, setSaveIndicator } from '../../initialize';
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(IndicatorType.Saving);
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(IndicatorType.Dirty);
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(IndicatorType.Dirty);
452
+ setSaveIndicator(SaveIndicatorType.Dirty);
453
453
  } else {
454
- setSaveIndicator(IndicatorType.Inactive);
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(IndicatorType.Inactive);
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: $blue !important;
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: $blue !important;
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: $blue !important;
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: $blue !important;
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: $blue !important;
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: 2fr 1fr;
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
- grid-template-columns: 1fr;
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: 26px;
57
- font-weight: regular;
61
+ font-size: 23px;
62
+ overflow: hidden;
58
63
  }
59
64
 
60
65
  .subtitle {
61
66
  font-size: 16px;
62
- margin-bottom: 30px;
67
+ align-self: end;
63
68
  }
64
69
  }
65
70
  }
@@ -50,8 +50,11 @@
50
50
  margin-left: auto;
51
51
  }
52
52
 
53
- .link {
53
+ .content {
54
54
  display: contents;
55
+ }
56
+
57
+ .link {
55
58
  color: inherit;
56
59
  text-decoration: none;
57
60
  }
@@ -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 {...mockProps} onItemSelected={spy} showItemCheckbox={true} />,
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('.columnsRoot');
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('.columnsRoot');
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('.columnsRoot');
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 to={onItemClicked as string} className={classes.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
- <>{generateCells}</>
245
+ <div
246
+ className={classes.content}
247
+ onClick={() => onItemClickedHandler(data)}
248
+ >
249
+ {generateCells}
250
+ </div>
246
251
  )}
247
- {(inlineMenuActions || showActionButton) &&
248
- selectionMode === ListSelectMode.None && (
249
- <div className={classes.actions}>
250
- {inlineActionMenuData && inlineActionMenuData.length > 0 && (
251
- <InlineMenu
252
- actions={inlineActionMenuData}
253
- showArrow={false}
254
- placement="bottom-end"
255
- onButtonClicked={(e) => e.stopPropagation()}
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
- </div>
281
+ </>
277
282
  )}
278
283
 
279
- {showCheckMark && (
280
- <Button
281
- icon={IconName.Checkmark}
282
- height={actionSize}
283
- width={actionSize}
284
- dataTestId="list-entry-select-button"
285
- className={clsx(classes.selectionCheckMark)}
286
- />
287
- )}
288
- {showItemCheckbox && (
289
- <ListCheckBox
290
- height={actionSize}
291
- width={actionSize}
292
- onCheckBoxToggled={onItemSelected}
293
- isChecked={itemSelected}
294
- isDisabled={isRowDisabled}
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 IndicatorType {
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: IndicatorType) => void =
25
- polyfill('showSaveIndicator');
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: IndicatorType) => void;
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;