pixel-react 1.0.8 → 1.1.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 (58) hide show
  1. package/lib/components/AllProjectsDropdown/AllProjectsDropdown.d.ts +3 -0
  2. package/lib/components/AllProjectsDropdown/AllProjectsDropdown.stories.d.ts +6 -0
  3. package/lib/components/AllProjectsDropdown/index.d.ts +1 -0
  4. package/lib/components/AppHeader/AppHeader.d.ts +4 -0
  5. package/lib/components/AppHeader/AppHeader.stories.d.ts +7 -0
  6. package/lib/components/AppHeader/index.d.ts +1 -0
  7. package/lib/components/AppHeader/types.d.ts +26 -0
  8. package/lib/components/Input/types.d.ts +1 -1
  9. package/lib/components/InputWithDropdown/types.d.ts +1 -1
  10. package/lib/components/Modal/types.d.ts +2 -0
  11. package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
  12. package/lib/components/MultiSelect/MultiSelect.stories.d.ts +1 -0
  13. package/lib/components/MultiSelect/MultiSelectTypes.d.ts +3 -0
  14. package/lib/index.d.ts +67 -4
  15. package/lib/index.esm.js +440 -89
  16. package/lib/index.esm.js.map +1 -1
  17. package/lib/index.js +442 -88
  18. package/lib/index.js.map +1 -1
  19. package/lib/tsconfig.tsbuildinfo +1 -1
  20. package/package.json +1 -1
  21. package/src/assets/Themes/BaseTheme.scss +5 -0
  22. package/src/assets/Themes/DarkTheme.scss +3 -0
  23. package/src/assets/icons/all_projects.svg +3 -0
  24. package/src/assets/icons/android_icon.svg +6 -0
  25. package/src/assets/icons/download_icon.svg +4 -0
  26. package/src/assets/icons/fireflink_icon.svg +4 -0
  27. package/src/assets/icons/fireflink_logo.svg +13 -0
  28. package/src/assets/icons/mobile_icon.svg +3 -0
  29. package/src/assets/icons/ms_dynamic.svg +4 -0
  30. package/src/assets/icons/sales_force.svg +7 -0
  31. package/src/assets/icons/switch_license_icon.svg +123 -0
  32. package/src/assets/icons/vertical_separator.svg +3 -0
  33. package/src/assets/icons/web&mobile_icon.svg +3 -0
  34. package/src/assets/icons/web_icon.svg +3 -0
  35. package/src/assets/styles/_colors.scss +2 -1
  36. package/src/components/AllProjectsDropdown/AllProjectsDropdown.scss +70 -0
  37. package/src/components/AllProjectsDropdown/AllProjectsDropdown.stories.tsx +21 -0
  38. package/src/components/AllProjectsDropdown/AllProjectsDropdown.tsx +148 -0
  39. package/src/components/AllProjectsDropdown/index.ts +1 -0
  40. package/src/components/AppHeader/AppHeader.scss +67 -0
  41. package/src/components/AppHeader/AppHeader.stories.tsx +156 -0
  42. package/src/components/AppHeader/AppHeader.tsx +124 -0
  43. package/src/components/AppHeader/index.ts +1 -0
  44. package/src/components/AppHeader/types.ts +27 -0
  45. package/src/components/Icon/iconList.ts +26 -0
  46. package/src/components/IconButton/IconButton.scss +2 -1
  47. package/src/components/Input/types.ts +1 -1
  48. package/src/components/InputWithDropdown/types.ts +1 -3
  49. package/src/components/Modal/Modal.stories.tsx +6 -2
  50. package/src/components/Modal/Modal.tsx +6 -2
  51. package/src/components/Modal/modal.scss +6 -4
  52. package/src/components/Modal/types.ts +2 -0
  53. package/src/components/MultiSelect/MultiSelect.scss +8 -1
  54. package/src/components/MultiSelect/MultiSelect.stories.tsx +26 -0
  55. package/src/components/MultiSelect/MultiSelect.tsx +68 -12
  56. package/src/components/MultiSelect/MultiSelectTypes.ts +3 -0
  57. package/src/components/Select/Select.scss +1 -1
  58. package/src/index.ts +7 -0
@@ -0,0 +1,148 @@
1
+ import { useState } from 'react';
2
+ import Icon from '../Icon';
3
+ import Typography from '../Typography';
4
+ import ffid from '../../utils/ffID/ffid';
5
+ import { truncateText } from '../../utils/truncateText/truncateText';
6
+ import './AllProjectsDropdown.scss';
7
+ import classNames from 'classnames';
8
+
9
+ const AllProjectsDropdown = () => {
10
+ const [showOptions, setShowOptions] = useState(false);
11
+ const [selectedOptions, setSelectedOptions] = useState({
12
+ label: 'All Projects',
13
+ value: 'All Projects',
14
+ iconName: 'all_projects',
15
+ });
16
+ const [search, setSearch] = useState(true);
17
+
18
+ let options = [
19
+ {
20
+ label: 'All Projects',
21
+ value: 'All Projects',
22
+ iconName: 'all_projects',
23
+ },
24
+ {
25
+ label: 'Pantaloon Project',
26
+ value: 'Pantaloon Web Project',
27
+ iconName: 'web_icon',
28
+ },
29
+ {
30
+ label: 'Mobile Project',
31
+ value: 'Mobile Project',
32
+ iconName: 'mobile_icon',
33
+ },
34
+ {
35
+ label: 'Web & Mobile Project',
36
+ value: 'Web & Mobile Project',
37
+ iconName: 'web&mobile_icon',
38
+ },
39
+ {
40
+ label: 'Sales Force',
41
+ value: 'Sales Force',
42
+ iconName: 'sales_force',
43
+ },
44
+ {
45
+ label: 'MS Dynamic',
46
+ value: 'MS Dynamic',
47
+ iconName: 'ms_dynamic',
48
+ },
49
+ {
50
+ label: 'Web Service',
51
+ value: 'Web Service',
52
+ iconName: '',
53
+ },
54
+ ];
55
+
56
+ const handleSelect = () => {
57
+ setShowOptions(!showOptions);
58
+ };
59
+
60
+ const handleSelectOption = (option: {
61
+ label: string;
62
+ value: string;
63
+ iconName: string;
64
+ }) => {
65
+ setSelectedOptions(option);
66
+ setShowOptions(false);
67
+ };
68
+
69
+ const handleInput = () => {
70
+ setSearch(false);
71
+ };
72
+
73
+ return (
74
+ <div className={classNames('ff-all-project')}>
75
+ <div
76
+ onClick={handleSelect}
77
+ className={classNames('ff-all-project-dropdown')}
78
+ >
79
+ <Typography
80
+ as={'div'}
81
+ lineHeight={'18px'}
82
+ fontSize={12}
83
+ fontWeight={'regular'}
84
+ className={classNames('projects-label')}
85
+ >
86
+ {truncateText(selectedOptions.label, 12)}
87
+ </Typography>
88
+ <div className={classNames('label-icon')}>
89
+ <Icon
90
+ name="arrows_down_icon"
91
+ color="var(--primary-icon-color)"
92
+ height={8}
93
+ width={8}
94
+ />
95
+ </div>
96
+ </div>
97
+ {showOptions && (
98
+ <div className={classNames('ff-dropdown')}>
99
+ <div className={classNames('ff-search')}>
100
+ {search && <Icon name="search" height={8} width={8} />}
101
+ <input
102
+ type="text"
103
+ placeholder="Search Project"
104
+ onClick={() => handleInput()}
105
+ />
106
+ </div>
107
+ <div
108
+ className={classNames(
109
+ 'option-card',
110
+ `${options.length > 4 ? 'scroll' : ''}`
111
+ )}
112
+ >
113
+ {options.map((option) => (
114
+ <div
115
+ key={ffid()}
116
+ onClick={() => handleSelectOption(option)}
117
+ className={classNames(
118
+ 'projects-options',
119
+ `${
120
+ option.label === 'All Projects' ? 'all-projects-option' : ''
121
+ }`
122
+ )}
123
+ >
124
+ <div className={classNames('projects-icons')}>
125
+ <Icon
126
+ name={option.iconName}
127
+ height={12}
128
+ width={12}
129
+ color={
130
+ option.label === 'All Projects'
131
+ ? 'var(--secondary-icon-color)'
132
+ : 'var(--primary-icon-color);'
133
+ }
134
+ />
135
+ </div>
136
+ <Typography key={ffid()} as={'div'} lineHeight={'30px'}>
137
+ {option.label}
138
+ </Typography>
139
+ </div>
140
+ ))}
141
+ </div>
142
+ </div>
143
+ )}
144
+ </div>
145
+ );
146
+ };
147
+
148
+ export default AllProjectsDropdown;
@@ -0,0 +1 @@
1
+ export { default } from './AllProjectsDropdown';
@@ -0,0 +1,67 @@
1
+ .ff-app-header {
2
+ display: flex;
3
+ justify-content: space-between;
4
+ background-color: var(--brand-color);
5
+ padding-left: 8px;
6
+ border-top-left-radius: 8px;
7
+ border-top-right-radius: 8px;
8
+ .ff-app-header-logo-icon {
9
+ padding: 8px;
10
+ height: 24px;
11
+ }
12
+ .ff-app-header-nav-bar {
13
+ display: flex;
14
+ align-items: center;
15
+ background-color: var(--brand-color);
16
+ transform: translateY(12px);
17
+ border-radius: 20px;
18
+ padding: 5px;
19
+ .ff-app-header-nav-bar-items {
20
+ display: flex;
21
+ align-items: center;
22
+ .ff-app-header-nav-bar-item {
23
+ margin-left: 8px;
24
+ color: var(--ff-header-text-color);
25
+ cursor: pointer;
26
+ display: flex;
27
+ &--selected {
28
+ padding: 3px;
29
+ background-color: var(--primary-icon-color);
30
+ border-radius: 20px;
31
+ .ff-app-header-nav-bar-item-label {
32
+ background-color: var(--brand-color);
33
+ border-radius: 20px;
34
+ padding: 4px 8px;
35
+ }
36
+ }
37
+ .ff-app-header-submenu-container {
38
+ display: flex;
39
+ .ff-app-header-nav-bar-submenu-item {
40
+ color: var(--ff-header-submenu-text-color);
41
+ align-content: center;
42
+ padding-left: 8px;
43
+ &--selected{
44
+ color: var(--ff-header-submenu-highlight-text-color);
45
+ }
46
+ }
47
+ .ff-app-header-quickmenu-container {
48
+ display: flex;
49
+ align-items: center;
50
+ }
51
+ }
52
+ }
53
+ }
54
+ .ff-app-header-more-icon {
55
+ svg {
56
+ path {
57
+ fill: var(--primary-icon-color);
58
+ }
59
+ cursor: pointer;
60
+ }
61
+ }
62
+ }
63
+ .ff-app-header-right-content {
64
+ height: 24px;
65
+ padding: 8px;
66
+ }
67
+ }
@@ -0,0 +1,156 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import AppHeader from './AppHeader';
3
+ import Icon from '../Icon';
4
+ import { useState } from 'react';
5
+
6
+ const meta: Meta<typeof AppHeader> = {
7
+ title: 'Components/AppHeader',
8
+ component: AppHeader,
9
+ parameters: {
10
+ layout: 'centered',
11
+ },
12
+ tags: ['autodocs'],
13
+ };
14
+
15
+ type Story = StoryObj<typeof AppHeader>;
16
+ const defaultArgs = {
17
+ logoIconName: 'fireflink_icon',
18
+ rightContent: (
19
+ <div>
20
+ <Icon name="logo" />
21
+ </div>
22
+ ),
23
+ };
24
+
25
+ const headerMenuItems = [
26
+ {
27
+ menuName: 'Dashboard',
28
+ subMenuItems: [],
29
+ },
30
+ {
31
+ menuName: 'Repo',
32
+ subMenuItems: [
33
+ {
34
+ subMenuName: 'Elements',
35
+ quickMenuItems: [],
36
+ },
37
+ {
38
+ subMenuName: 'Program Elements',
39
+ quickMenuItems: [],
40
+ },
41
+ {
42
+ subMenuName: 'Step Groups',
43
+ quickMenuItems: [
44
+ {
45
+ quickMenuName: 'Success Icon',
46
+ quickMenuIconName: 'success',
47
+ },
48
+ {
49
+ quickMenuName: 'Warning Icon',
50
+ quickMenuIconName: 'warning',
51
+ },
52
+ {
53
+ quickMenuName: 'Info Icon',
54
+ quickMenuIconName: 'info',
55
+ },
56
+ ],
57
+ },
58
+ ],
59
+ },
60
+ {
61
+ menuName: 'Test Data',
62
+ subMenuItems: [],
63
+ },
64
+ {
65
+ menuName: 'Test Dev',
66
+ subMenuItems: [
67
+ {
68
+ subMenuName: 'Scripts',
69
+ quickMenuItems: [
70
+ {
71
+ quickMenuName: 'Delete Icon',
72
+ quickMenuIconName: 'delete',
73
+ },
74
+ {
75
+ quickMenuName: 'Details Icon',
76
+ quickMenuIconName: 'details',
77
+ },
78
+ {
79
+ quickMenuName: 'Sun Icon',
80
+ quickMenuIconName: 'sun_icon',
81
+ },
82
+ {
83
+ quickMenuName: 'Moon Stars Icon',
84
+ quickMenuIconName: 'moon_stars_icon',
85
+ },
86
+ {
87
+ quickMenuName: 'Impact List Icon',
88
+ quickMenuIconName: 'impactList',
89
+ },
90
+ ],
91
+ },
92
+ {
93
+ subMenuName: 'Executions',
94
+ quickMenuItems: [],
95
+ },
96
+ ],
97
+ },
98
+ ];
99
+ const headerHiddenMenuItems = ['Configuration', 'Approval Request'];
100
+ const headerRightSideContent = (
101
+ <div>
102
+ <Icon name="logo" />
103
+ </div>
104
+ );
105
+
106
+ export const SampleAppHeader: Story = {
107
+ args: {
108
+ ...defaultArgs,
109
+ rightContent: (
110
+ <div>
111
+ <Icon name="logo" />
112
+ </div>
113
+ ),
114
+ appHeaderMenuItems: headerMenuItems,
115
+ appHeaderHiddenMenuItems: headerHiddenMenuItems,
116
+ selectedMenu: 'Repo',
117
+ },
118
+ };
119
+ export const Controlled: Story = {
120
+ render: () => {
121
+ const [selectedMenuItem, setSelectedMenuItem] = useState('Test Data');
122
+ const [selectedSubMenuItem, setSelectedSubMenuItem] = useState('');
123
+ const [selectedQuickMenuItem, setSelectedQuickMenuItem] = useState('');
124
+ const handleMenuClick = (item: string) => {
125
+ setSelectedMenuItem(item);
126
+ };
127
+ const handleSubMenuClick = (item: string) => {
128
+ setSelectedSubMenuItem(item);
129
+ };
130
+ const handleQuickMenuClick = (item: string) => {
131
+ setSelectedQuickMenuItem(item);
132
+ };
133
+
134
+ return (
135
+ <>
136
+ <div>
137
+ <AppHeader
138
+ logoIconName="fireflink_icon"
139
+ rightContent={headerRightSideContent}
140
+ appHeaderMenuItems={headerMenuItems}
141
+ appHeaderHiddenMenuItems={headerHiddenMenuItems}
142
+ projectsList={[]}
143
+ selectedMenu={selectedMenuItem}
144
+ selectedSubMenu={selectedSubMenuItem}
145
+ selectedQuickMenu={selectedQuickMenuItem}
146
+ onMenuClick={handleMenuClick}
147
+ onSubMenuClick={handleSubMenuClick}
148
+ onQuickMenuClick={handleQuickMenuClick}
149
+ />
150
+ </div>
151
+ </>
152
+ );
153
+ },
154
+ };
155
+
156
+ export default meta;
@@ -0,0 +1,124 @@
1
+ import { AppHeaderProps } from './types';
2
+ import Icon from '../Icon';
3
+ import './AppHeader.scss';
4
+ import classNames from 'classnames';
5
+ import Typography from '../Typography';
6
+
7
+ const AppHeader: React.FC<AppHeaderProps> = ({
8
+ logoIconName = 'fireflink_icon',
9
+ rightContent,
10
+ appHeaderMenuItems,
11
+ selectedMenu,
12
+ selectedSubMenu,
13
+ selectedQuickMenu,
14
+ onMenuClick = () => {},
15
+ onSubMenuClick = () => {},
16
+ onQuickMenuClick = () => {},
17
+ }) => {
18
+ return (
19
+ <>
20
+ <div className="ff-app-header">
21
+ <div className="ff-app-header-logo-icon">
22
+ <Icon color="" name={logoIconName} height={24} width={21} />
23
+ </div>
24
+ <div className="ff-app-header-nav-bar">
25
+ <div>All projects</div>
26
+ <div className="ff-app-header-nav-bar-items fontSm">
27
+ {appHeaderMenuItems.map((menuItem) => {
28
+ return (
29
+ <div
30
+ className={classNames('ff-app-header-nav-bar-item', {
31
+ ['ff-app-header-nav-bar-item--selected']:
32
+ menuItem.menuName === selectedMenu,
33
+ })}
34
+ key={menuItem.menuName}
35
+ onClick={() => onMenuClick(menuItem.menuName)}
36
+ >
37
+ <Typography
38
+ as="div"
39
+ className="ff-app-header-nav-bar-item-label"
40
+ lineHeight="18px"
41
+ >
42
+ {menuItem.menuName}
43
+ </Typography>
44
+ {menuItem.menuName === selectedMenu &&
45
+ menuItem?.subMenuItems &&
46
+ menuItem.subMenuItems.map((subMenuItem) => {
47
+ return (
48
+ <div
49
+ key={subMenuItem.subMenuName}
50
+ onClick={() =>
51
+ onSubMenuClick(subMenuItem.subMenuName)
52
+ }
53
+ className="ff-app-header-submenu-container"
54
+ >
55
+ <Typography
56
+ as="div"
57
+ className={classNames(
58
+ 'ff-app-header-nav-bar-submenu-item',
59
+ {
60
+ ['ff-app-header-nav-bar-submenu-item--selected']:
61
+ subMenuItem.subMenuName === selectedSubMenu,
62
+ }
63
+ )}
64
+ lineHeight="18px"
65
+ >
66
+ {subMenuItem.subMenuName}
67
+ </Typography>
68
+ {subMenuItem.subMenuName === selectedSubMenu &&
69
+ subMenuItem?.quickMenuItems && (
70
+ <div className="ff-app-header-quickmenu-container">
71
+ <div>
72
+ <Icon name="vertical_separator" />
73
+ </div>
74
+ {subMenuItem.quickMenuItems.map(
75
+ (quickMenuItem) => {
76
+ return (
77
+ <>
78
+ <div
79
+ key={quickMenuItem.quickMenuIconName}
80
+ onClick={() =>
81
+ onQuickMenuClick(
82
+ quickMenuItem.quickMenuName
83
+ )
84
+ }
85
+ className={classNames(
86
+ 'ff-app-header-nav-bar-quickmenu-item',
87
+ {
88
+ ['ff-app-header-nav-bar-quickmenu-item--selected']:
89
+ quickMenuItem.quickMenuName ===
90
+ selectedQuickMenu,
91
+ }
92
+ )}
93
+ >
94
+ <Icon
95
+ name={
96
+ quickMenuItem.quickMenuIconName
97
+ }
98
+ height={24}
99
+ width={24}
100
+ />
101
+ </div>
102
+ </>
103
+ );
104
+ }
105
+ )}
106
+ </div>
107
+ )}
108
+ </div>
109
+ );
110
+ })}
111
+ </div>
112
+ );
113
+ })}
114
+ </div>
115
+ <div>
116
+ <Icon name="more" className="ff-app-header-more-icon" />
117
+ </div>
118
+ </div>
119
+ <div className="ff-app-header-right-content">{rightContent}</div>
120
+ </div>
121
+ </>
122
+ );
123
+ };
124
+ export default AppHeader;
@@ -0,0 +1 @@
1
+ export { default } from "./AppHeader";
@@ -0,0 +1,27 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ export interface AppHeaderProps {
4
+ logoIconName: string;
5
+ rightContent: ReactNode;
6
+ projectsList: string[];
7
+ appHeaderMenuItems: appHeaderMenuItemProps[];
8
+ appHeaderHiddenMenuItems: string[];
9
+ selectedMenu: string;
10
+ selectedSubMenu : string;
11
+ selectedQuickMenu : string;
12
+ onMenuClick ?: (text: any) => void;
13
+ onSubMenuClick ?: (text: any) => void;
14
+ onQuickMenuClick ?: (text: any) => void;
15
+ }
16
+ export interface appHeaderMenuItemProps {
17
+ menuName: string;
18
+ subMenuItems: appHeaderSubMenuItemProps[];
19
+ }
20
+ export interface appHeaderSubMenuItemProps {
21
+ subMenuName: string;
22
+ quickMenuItems: appHeaderQuickMenuItemProps[];
23
+ }
24
+ export interface appHeaderQuickMenuItemProps {
25
+ quickMenuName: string;
26
+ quickMenuIconName: string;
27
+ }
@@ -26,6 +26,7 @@ import MoonStarsIcon from '../../assets/icons/moon_stars.svg?react';
26
26
  import SunIcon from '../../assets/icons/sun_icon.svg?react';
27
27
  import CheckMarkIcon from '../../assets/icons/check_mark.svg?react';
28
28
  import WrongMarkIcon from '../../assets/icons/wrong_mark.svg?react';
29
+ import FireflinkIcon from '../../assets/Icons/fireflink_icon.svg?react';
29
30
  import Tick from '../../assets/Icons/tick_icon.svg?react';
30
31
  import Search from '../../assets/icons/search.svg?react';
31
32
  import Filter from '../../assets/icons/filter.svg?react';
@@ -45,6 +46,7 @@ import ImpactListIcon from '../../assets/icons/impactList.svg?react';
45
46
  import InfoIcon from '../../assets/icons/info_icon.svg?react';
46
47
  import CalendarIcon from '../../assets/icons/calendar_icon.svg?react';
47
48
  import HideIcon from '../../assets/icons/hide_icon.svg?react';
49
+ import VerticalSeparator from '../../assets/icons/vertical_separator.svg?react';
48
50
  import CollapseIcon from '../../assets/icons/collapse-icon.svg?react';
49
51
  import ExpandIcon from '../../assets/icons/expand-icon.svg?react';
50
52
  import CopyIcon from '../../assets/icons/copy-icon.svg?react';
@@ -52,6 +54,17 @@ import DownloadFile from '../../assets/icons/download-icon.svg?react';
52
54
  import RefreshIcon from '../../assets/icons/refresh-icon.svg?react';
53
55
  import LicenseInfo from '../../assets/icons/license_info.svg?react';
54
56
  import LicenseWarning from '../../assets/icons/license_warning.svg?react';
57
+ import DownloadIcon from '../../assets/icons/download_icon.svg?react';
58
+ import WebIcon from '../../assets/icons/web_icon.svg?react';
59
+ import WebMobileIcon from '../../assets/icons/web&mobile_icon.svg?react';
60
+ import MobileIcon from '../../assets/icons/mobile_icon.svg?react';
61
+ import SalesForceIcon from '../../assets/icons/sales_force.svg?react';
62
+ import MSDynamicIcon from '../../assets/icons/ms_dynamic.svg?react';
63
+ import AllProjectsIcon from '../../assets/icons/all_projects.svg?react';
64
+ import AndroidIcon from '../../assets/icons/android_icon.svg?react';
65
+
66
+ import SwitchLicenseIcon from '../../assets/icons/switch_license_icon.svg?react';
67
+ import FireflinkLogo from '../../assets/icons/fireflink_logo.svg?react';
55
68
  //icons
56
69
  Components['delete_info'] = DeleteInfoIcon;
57
70
  Components['success'] = ToastSuccessIcon;
@@ -78,6 +91,7 @@ Components['moon_stars_icon'] = MoonStarsIcon;
78
91
  Components['sun_icon'] = SunIcon;
79
92
  Components['check_mark'] = CheckMarkIcon;
80
93
  Components['wrong_mark'] = WrongMarkIcon;
94
+ Components['fireflink_icon'] = FireflinkIcon;
81
95
  Components['tick'] = Tick;
82
96
  Components['arrow_right'] = ArrowRight;
83
97
  Components['search'] = Search;
@@ -97,6 +111,7 @@ Components['add_variable'] = AddVariable;
97
111
  Components['info'] = InfoIcon;
98
112
  Components['calendar_icon'] = CalendarIcon;
99
113
  Components['hide_icon'] = HideIcon;
114
+ Components['vertical_separator'] = VerticalSeparator;
100
115
  Components['collapse_icon'] = CollapseIcon;
101
116
  Components['refresh_icon'] = RefreshIcon;
102
117
  Components['download_file'] = DownloadFile;
@@ -104,5 +119,16 @@ Components['copy_icon'] = CopyIcon;
104
119
  Components['expand_icon'] = ExpandIcon;
105
120
  Components['license_info'] = LicenseInfo;
106
121
  Components['license_warning'] = LicenseWarning;
122
+ Components['download_icon'] = DownloadIcon;
123
+ Components['web_icon'] = WebIcon;
124
+ Components['web&mobile_icon'] = WebMobileIcon;
125
+ Components['mobile_icon'] = MobileIcon;
126
+ Components['sales_force'] = SalesForceIcon;
127
+ Components['ms_dynamic'] = MSDynamicIcon;
128
+ Components['all_projects'] = AllProjectsIcon;
129
+ Components['android_icon'] = AndroidIcon;
130
+
131
+ Components['select_license'] = SwitchLicenseIcon;
132
+ Components['fireflink-logo'] = FireflinkLogo;
107
133
 
108
134
  export default Components;
@@ -21,8 +21,8 @@
21
21
  }
22
22
  .icon-name {
23
23
  min-width: 33px;
24
- min-height: 20px;
25
24
  color: var(--primary-icon-color);
25
+ @include mixins.center-content();
26
26
  }
27
27
  &:hover {
28
28
  border: 1px solid var(--secondary-icon-color);
@@ -32,6 +32,7 @@
32
32
  min-height: 20px;
33
33
  font-weight: 600;
34
34
  color: var(--secondary-icon-color);
35
+ @include mixins.center-content();
35
36
  }
36
37
  .ff-icon-color {
37
38
  path {
@@ -6,7 +6,7 @@ export interface InputProps {
6
6
  /**
7
7
  * Label | field label to be displayed
8
8
  */
9
- label: string;
9
+ label?: string;
10
10
  /**
11
11
  * value | input field value
12
12
  */
@@ -14,7 +14,7 @@ export interface InputWithDropdownProps {
14
14
  /**
15
15
  * Label | field label to be displayed
16
16
  */
17
- label: string;
17
+ label?: string;
18
18
 
19
19
  /**
20
20
  * value | input field value
@@ -26,8 +26,6 @@ export interface InputWithDropdownProps {
26
26
  */
27
27
  variant?: 'default' | 'primary';
28
28
 
29
-
30
-
31
29
  /**
32
30
  * error | If true, error message will be displayed
33
31
  */
@@ -22,8 +22,10 @@ export const DefaultModalStory: Story = {
22
22
  isHeaderDisplayed: true,
23
23
  headerContent: <h2>title</h2>,
24
24
  children: <h2>Hello</h2>,
25
- isFooterDisplayed:true,
25
+ isFooterDisplayed: true,
26
26
  footerContent: <Button variant="primary" label="continue" />,
27
+ customWidth: '660px',
28
+ customHeight: 'auto',
27
29
  },
28
30
  };
29
31
 
@@ -52,7 +54,9 @@ export const Controlled: Story = {
52
54
  children={<div>Hello</div>}
53
55
  ariaHideApp={true}
54
56
  isFooterDisplayed={true}
55
- footerContent={<Button variant="primary" label='continue'/>}
57
+ footerContent={<Button variant="primary" label="continue" />}
58
+ customWidth="660px"
59
+ customHeight="auto"
56
60
  />
57
61
  )}
58
62
  </>