@axinom/mosaic-ui 0.66.0-rc.11 → 0.66.0-rc.12

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 (76) hide show
  1. package/dist/components/DynamicDataList/DynamicListDataEntry/DynamicListDataEntry.d.ts.map +1 -1
  2. package/dist/components/DynamicDataList/DynamicListRow/DynamicListRow.d.ts.map +1 -1
  3. package/dist/components/Filters/Filter/Filter.d.ts.map +1 -1
  4. package/dist/components/Filters/Filters.model.d.ts +5 -0
  5. package/dist/components/Filters/Filters.model.d.ts.map +1 -1
  6. package/dist/components/Filters/SelectionTypes/DateTimeFilter/DateTimeFilter.d.ts +2 -0
  7. package/dist/components/Filters/SelectionTypes/DateTimeFilter/DateTimeFilter.d.ts.map +1 -1
  8. package/dist/components/Filters/SelectionTypes/FreeTextFilter/FreeTextFilter.d.ts +2 -0
  9. package/dist/components/Filters/SelectionTypes/FreeTextFilter/FreeTextFilter.d.ts.map +1 -1
  10. package/dist/components/Filters/SelectionTypes/MultiOptionFilter/MultiOptionFilter.d.ts +2 -0
  11. package/dist/components/Filters/SelectionTypes/MultiOptionFilter/MultiOptionFilter.d.ts.map +1 -1
  12. package/dist/components/Filters/SelectionTypes/NumericTextFilter/NumericTextFilter.d.ts +2 -0
  13. package/dist/components/Filters/SelectionTypes/NumericTextFilter/NumericTextFilter.d.ts.map +1 -1
  14. package/dist/components/Filters/SelectionTypes/OptionsFilter/OptionsFilter.d.ts +2 -0
  15. package/dist/components/Filters/SelectionTypes/OptionsFilter/OptionsFilter.d.ts.map +1 -1
  16. package/dist/components/Filters/SelectionTypes/SearcheableOptionsFilter/SearcheableOptionsFilter.d.ts +2 -0
  17. package/dist/components/Filters/SelectionTypes/SearcheableOptionsFilter/SearcheableOptionsFilter.d.ts.map +1 -1
  18. package/dist/components/FormElements/Radio/Radio.d.ts.map +1 -1
  19. package/dist/components/FormElements/ToggleButton/ToggleButton.d.ts.map +1 -1
  20. package/dist/components/Hub/Tile/Tile.d.ts.map +1 -1
  21. package/dist/components/Icons/Icons.d.ts +4 -9
  22. package/dist/components/Icons/Icons.d.ts.map +1 -1
  23. package/dist/components/LandingPageTiles/TileLarge/TileLarge.d.ts.map +1 -1
  24. package/dist/components/LandingPageTiles/TileSmall/TileSmall.d.ts.map +1 -1
  25. package/dist/components/List/ListHeader/ColumnLabel/ColumnLabel.d.ts.map +1 -1
  26. package/dist/components/Loaders/ImageLoader/ImageLoader.d.ts.map +1 -1
  27. package/dist/components/PageHeader/PageHeaderAction/PageHeaderAction.d.ts.map +1 -1
  28. package/dist/components/VisualElements/ImgElement.d.ts +50 -0
  29. package/dist/components/VisualElements/ImgElement.d.ts.map +1 -0
  30. package/dist/components/VisualElements/SvgElement.d.ts +14 -0
  31. package/dist/components/VisualElements/SvgElement.d.ts.map +1 -0
  32. package/dist/components/VisualElements/index.d.ts +3 -0
  33. package/dist/components/VisualElements/index.d.ts.map +1 -0
  34. package/dist/components/index.d.ts +1 -0
  35. package/dist/components/index.d.ts.map +1 -1
  36. package/dist/index.es.js +4 -4
  37. package/dist/index.es.js.map +1 -1
  38. package/dist/index.js +4 -4
  39. package/dist/index.js.map +1 -1
  40. package/package.json +2 -2
  41. package/src/components/DynamicDataList/DynamicListDataEntry/DynamicListDataEntry.spec.tsx +3 -3
  42. package/src/components/DynamicDataList/DynamicListDataEntry/DynamicListDataEntry.tsx +4 -1
  43. package/src/components/DynamicDataList/DynamicListRow/DynamicListRow.tsx +4 -1
  44. package/src/components/Filters/Filter/Filter.scss +1 -1
  45. package/src/components/Filters/Filter/Filter.tsx +27 -1
  46. package/src/components/Filters/Filters.model.ts +6 -0
  47. package/src/components/Filters/SelectionTypes/DateTimeFilter/DateTimeFilter.tsx +5 -0
  48. package/src/components/Filters/SelectionTypes/FreeTextFilter/FreeTextFilter.tsx +4 -0
  49. package/src/components/Filters/SelectionTypes/MultiOptionFilter/MultiOptionFilter.tsx +9 -1
  50. package/src/components/Filters/SelectionTypes/NumericTextFilter/NumericTextFilter.tsx +5 -0
  51. package/src/components/Filters/SelectionTypes/OptionsFilter/OptionsFilter.tsx +8 -0
  52. package/src/components/Filters/SelectionTypes/SearcheableOptionsFilter/SearcheableOptionsFilter.tsx +6 -1
  53. package/src/components/FormElements/Radio/Radio.tsx +3 -2
  54. package/src/components/FormElements/ToggleButton/ToggleButton.tsx +32 -27
  55. package/src/components/Hub/Hub.stories.tsx +3 -2
  56. package/src/components/Hub/Tile/Tile.spec.tsx +7 -2
  57. package/src/components/Hub/Tile/Tile.tsx +2 -1
  58. package/src/components/Icons/Icons.scss +1 -0
  59. package/src/components/Icons/Icons.spec.tsx +90 -41
  60. package/src/components/Icons/Icons.tsx +357 -765
  61. package/src/components/LandingPageTiles/LandingPageTiles.stories.tsx +3 -2
  62. package/src/components/LandingPageTiles/TileLarge/TileLarge.spec.tsx +5 -1
  63. package/src/components/LandingPageTiles/TileLarge/TileLarge.tsx +2 -1
  64. package/src/components/LandingPageTiles/TileSmall/TileSmall.spec.tsx +7 -2
  65. package/src/components/LandingPageTiles/TileSmall/TileSmall.tsx +2 -1
  66. package/src/components/List/ListHeader/ColumnLabel/ColumnLabel.spec.tsx +2 -2
  67. package/src/components/List/ListHeader/ColumnLabel/ColumnLabel.tsx +5 -12
  68. package/src/components/Loaders/ImageLoader/ImageLoader.spec.tsx +13 -14
  69. package/src/components/Loaders/ImageLoader/ImageLoader.tsx +5 -3
  70. package/src/components/PageHeader/PageHeaderAction/PageHeaderAction.tsx +13 -2
  71. package/src/components/VisualElements/ImgElement.spec.tsx +92 -0
  72. package/src/components/VisualElements/ImgElement.tsx +72 -0
  73. package/src/components/VisualElements/SvgElement.spec.tsx +160 -0
  74. package/src/components/VisualElements/SvgElement.tsx +40 -0
  75. package/src/components/VisualElements/index.ts +7 -0
  76. package/src/components/index.ts +1 -0
@@ -11,50 +11,73 @@ describe('Icons', () => {
11
11
  });
12
12
 
13
13
  it.each`
14
- key | result
15
- ${IconName.Archive} | ${1}
16
- ${IconName.Block} | ${1}
17
- ${IconName.Bulk} | ${1}
18
- ${IconName.Calendar} | ${1}
19
- ${IconName.Checkmark} | ${1}
20
- ${IconName.ChevronDown} | ${1}
21
- ${IconName.ChevronLeft} | ${1}
22
- ${IconName.ChevronRight} | ${1}
23
- ${IconName.ChevronUp} | ${1}
24
- ${IconName.Copy} | ${1}
25
- ${IconName.Delete} | ${1}
26
- ${IconName.Details} | ${1}
27
- ${IconName.Drag} | ${6}
28
- ${IconName.Ellipsis} | ${1}
29
- ${IconName.Error} | ${1}
30
- ${IconName.External} | ${1}
31
- ${IconName.File} | ${1}
32
- ${IconName.Info} | ${1}
33
- ${IconName.MidlineEllipsis} | ${1}
34
- ${IconName.Minus} | ${1}
35
- ${IconName.NavigateRight} | ${1}
36
- ${IconName.Pause} | ${1}
37
- ${IconName.Play} | ${1}
38
- ${IconName.Plus} | ${1}
39
- ${IconName.Publish} | ${1}
40
- ${IconName.RemoveFilter} | ${1}
41
- ${IconName.Replace} | ${1}
42
- ${IconName.Retry} | ${1}
43
- ${IconName.Snapshot} | ${1}
44
- ${IconName.Stop} | ${1}
45
- ${IconName.Success} | ${1}
46
- ${IconName.Unarchive} | ${1}
47
- ${IconName.Undo} | ${1}
48
- ${IconName.Unpublish} | ${1}
49
- ${IconName.Upload} | ${1}
50
- ${IconName.Warning} | ${1}
51
- ${IconName.X} | ${1}
52
- `('renders an icon for each key in IconName', ({ key, result }) => {
14
+ key | result
15
+ ${IconName.Axi} | ${1}
16
+ ${IconName.Archive} | ${1}
17
+ ${IconName.Audio} | ${1}
18
+ ${IconName.DescriptiveAudio} | ${1}
19
+ ${IconName.BackwardOne} | ${1}
20
+ ${IconName.BackwardTen} | ${1}
21
+ ${IconName.Block} | ${1}
22
+ ${IconName.Bulk} | ${1}
23
+ ${IconName.BulkEdit} | ${1}
24
+ ${IconName.Calendar} | ${1}
25
+ ${IconName.Checkmark} | ${1}
26
+ ${IconName.ChevronDown} | ${1}
27
+ ${IconName.ChevronLeft} | ${1}
28
+ ${IconName.ChevronRight} | ${1}
29
+ ${IconName.ChevronUp} | ${1}
30
+ ${IconName.ClosedCaption} | ${1}
31
+ ${IconName.Copy} | ${1}
32
+ ${IconName.Delete} | ${1}
33
+ ${IconName.Details} | ${1}
34
+ ${IconName.Drag} | ${6}
35
+ ${IconName.Ellipsis} | ${1}
36
+ ${IconName.Error} | ${1}
37
+ ${IconName.External} | ${1}
38
+ ${IconName.File} | ${1}
39
+ ${IconName.Filters} | ${1}
40
+ ${IconName.ForwardOne} | ${1}
41
+ ${IconName.ForwardTen} | ${1}
42
+ ${IconName.Info} | ${1}
43
+ ${IconName.InProgress} | ${1}
44
+ ${IconName.MidlineEllipsis} | ${1}
45
+ ${IconName.Minus} | ${1}
46
+ ${IconName.Mute} | ${1}
47
+ ${IconName.NavigateRight} | ${1}
48
+ ${IconName.Pause} | ${1}
49
+ ${IconName.Play} | ${1}
50
+ ${IconName.Plus} | ${1}
51
+ ${IconName.Publish} | ${1}
52
+ ${IconName.QuickEdit} | ${1}
53
+ ${IconName.QuickEditStation} | ${1}
54
+ ${IconName.RemoveFilter} | ${1}
55
+ ${IconName.Replace} | ${1}
56
+ ${IconName.Retry} | ${1}
57
+ ${IconName.Save} | ${2}
58
+ ${IconName.Snapshot} | ${1}
59
+ ${IconName.Stop} | ${1}
60
+ ${IconName.Subtitles} | ${1}
61
+ ${IconName.Success} | ${1}
62
+ ${IconName.Unarchive} | ${1}
63
+ ${IconName.Undo} | ${1}
64
+ ${IconName.Unmute} | ${1}
65
+ ${IconName.Unpublish} | ${1}
66
+ ${IconName.Upload} | ${1}
67
+ ${IconName.Video} | ${1}
68
+ ${IconName.Warning} | ${1}
69
+ ${IconName.X} | ${1}
70
+ `('renders $key icon with $result children', ({ key, result }) => {
53
71
  const wrapper = mount(<Icons icon={key} />);
54
72
 
55
- const icon = wrapper.find('svg');
73
+ const svgElement = wrapper.find('svg');
74
+ expect(svgElement).toHaveLength(1);
75
+
76
+ // Get the actual DOM node and count its children
77
+ const domNode = svgElement.getDOMNode() as SVGElement;
78
+ const childrenCount = domNode.children.length;
56
79
 
57
- expect(icon.children()).toHaveLength(result);
80
+ expect(childrenCount).toBe(result);
58
81
  });
59
82
 
60
83
  it('passes down optional className to icon', () => {
@@ -75,4 +98,30 @@ describe('Icons', () => {
75
98
 
76
99
  expect(icon.children()).toHaveLength(0);
77
100
  });
101
+
102
+ it('applies accessibility attributes correctly', () => {
103
+ const wrapper = mount(
104
+ <Icons
105
+ icon={IconName.Play}
106
+ aria-label="Play video"
107
+ title="Start playback"
108
+ />,
109
+ );
110
+
111
+ const svg = wrapper.find('svg');
112
+
113
+ expect(svg.prop('aria-label')).toBe('Play video');
114
+ expect(svg.prop('role')).toBe('img');
115
+ expect(svg.prop('aria-hidden')).toBeUndefined();
116
+ expect(wrapper.find('title').text()).toBe('Start playback');
117
+ });
118
+
119
+ it('marks decorative icons as presentation', () => {
120
+ const wrapper = mount(<Icons icon={IconName.Play} />);
121
+
122
+ const svg = wrapper.find('svg');
123
+
124
+ expect(svg.prop('role')).toBe('presentation');
125
+ expect(svg.prop('aria-hidden')).toBe('true');
126
+ });
78
127
  });