onekijs-ui 0.19.21 → 0.19.23

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 (50) hide show
  1. package/dist/components/alert/components/AlertComponent.d.ts +4 -0
  2. package/dist/components/alert/index.d.ts +2 -0
  3. package/dist/components/alert/style.d.ts +4 -0
  4. package/dist/components/alert/typings.d.ts +11 -0
  5. package/dist/components/card/typings.d.ts +1 -0
  6. package/dist/components/icon/CrossIcon.d.ts +2 -1
  7. package/dist/components/icon/typings.d.ts +3 -1
  8. package/dist/components/properties/typings.d.ts +2 -1
  9. package/dist/components/wizard/typings.d.ts +1 -0
  10. package/dist/index.d.ts +4 -0
  11. package/dist/index.js +279 -114
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.module.js +277 -115
  14. package/dist/index.module.js.map +1 -1
  15. package/package.json +3 -3
  16. package/src/components/alert/components/AlertComponent.tsx +56 -0
  17. package/src/components/alert/index.tsx +9 -0
  18. package/src/components/alert/style.ts +57 -0
  19. package/src/components/alert/typings.ts +12 -0
  20. package/src/components/card/FormCard.tsx +8 -2
  21. package/src/components/card/typings.ts +1 -0
  22. package/src/components/icon/CloseAllIcon.tsx +4 -1
  23. package/src/components/icon/CloseIcon.tsx +4 -1
  24. package/src/components/icon/CrossIcon.tsx +4 -1
  25. package/src/components/icon/DebugIcon.tsx +4 -1
  26. package/src/components/icon/ErrorIcon.tsx +4 -1
  27. package/src/components/icon/FileIcon.tsx +4 -1
  28. package/src/components/icon/FilterIcon.tsx +4 -1
  29. package/src/components/icon/FolderIcon.tsx +4 -1
  30. package/src/components/icon/HelpIcon.tsx +4 -1
  31. package/src/components/icon/HideIcon.tsx +4 -1
  32. package/src/components/icon/InfoIcon.tsx +7 -3
  33. package/src/components/icon/LoadingIcon.tsx +5 -0
  34. package/src/components/icon/MenuIcon.tsx +4 -1
  35. package/src/components/icon/RefreshIcon.tsx +4 -1
  36. package/src/components/icon/RemoveIcon.tsx +4 -1
  37. package/src/components/icon/SearchIcon.tsx +4 -1
  38. package/src/components/icon/ShowIcon.tsx +4 -1
  39. package/src/components/icon/SuccessIcon.tsx +4 -1
  40. package/src/components/icon/TogglerIcon.tsx +5 -1
  41. package/src/components/icon/WarningIcon.tsx +4 -1
  42. package/src/components/icon/typings.ts +3 -1
  43. package/src/components/properties/components/PropertiesComponent.tsx +17 -5
  44. package/src/components/properties/components/Property.tsx +9 -2
  45. package/src/components/properties/style.ts +24 -2
  46. package/src/components/properties/typings.ts +2 -1
  47. package/src/components/table/style.ts +5 -0
  48. package/src/components/wizard/components/Step.tsx +3 -0
  49. package/src/components/wizard/typings.ts +1 -0
  50. package/src/index.ts +5 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "onekijs-ui",
3
3
  "private": false,
4
- "version": "0.19.21",
4
+ "version": "0.19.23",
5
5
  "description": "Advanced React Web Components",
6
6
  "source": "src/index.ts",
7
7
  "main": "dist/index.js",
@@ -34,7 +34,7 @@
34
34
  "@clr/city": "^1.1.0",
35
35
  "@popperjs/core": "^2.4.4",
36
36
  "@reach/observe-rect": "^1.2.0",
37
- "onekijs-framework": "^0.19.20",
37
+ "onekijs-framework": "^0.19.23",
38
38
  "react-popper": "^2.3.0",
39
39
  "react-popper-tooltip": "^4.4.2",
40
40
  "react-virtualized-auto-sizer": "^1.0.2",
@@ -53,5 +53,5 @@
53
53
  "react-dom": ">=18"
54
54
  },
55
55
  "sideEffects": false,
56
- "gitHead": "1cda04828413aa2f83c4a6c16d2a6e409185df40"
56
+ "gitHead": "5d37d3dcaaafb611903cf3e03aba473adbae9522"
57
57
  }
@@ -0,0 +1,56 @@
1
+ import React from 'react';
2
+ import { addClassname } from '../../../utils/style';
3
+ import { FCC } from 'onekijs-framework';
4
+ import { AlertProps } from '../typings';
5
+ import InfoIcon from '../../icon/InfoIcon';
6
+ import DebugIcon from '../../icon/DebugIcon';
7
+ import ErrorIcon from '../../icon/ErrorIcon';
8
+ import WarningIcon from '../../icon/WarningIcon';
9
+ import SuccessIcon from '../../icon/SuccessIcon';
10
+
11
+ const getDefautltIconComponent = (kind: AlertProps['kind']) => {
12
+ switch(kind) {
13
+ case 'debug':
14
+ return DebugIcon;
15
+ case 'error':
16
+ return ErrorIcon;
17
+ case 'warning':
18
+ return WarningIcon;
19
+ case 'success':
20
+ return SuccessIcon;
21
+ default:
22
+ return InfoIcon;
23
+ }
24
+ }
25
+
26
+ const getIconSize = (size: AlertProps['size']) => {
27
+ switch(size) {
28
+ case 'small':
29
+ return '24px';
30
+ case 'large':
31
+ return '48px';
32
+ default:
33
+ return '36px';
34
+ }
35
+ }
36
+
37
+ const AlertComponent: FCC<AlertProps> = ({
38
+ kind = 'info',
39
+ icon = true,
40
+ IconComponent,
41
+ className,
42
+ children,
43
+ size,
44
+ }) => {
45
+ if (IconComponent === undefined) {
46
+ IconComponent = getDefautltIconComponent(kind);
47
+ }
48
+ return (
49
+ <div className={addClassname(`o-alert o-alert-${kind}`, className)}>
50
+ {icon && <IconComponent width={getIconSize(size)} height={getIconSize(size)} marginRight='20px' marginLeft='20px' />}
51
+ <div>{children}</div>
52
+ </div>
53
+ )
54
+ }
55
+
56
+ export default AlertComponent;
@@ -0,0 +1,9 @@
1
+ import styled from 'styled-components';
2
+ import AlertComponent from './components/AlertComponent';
3
+ import alertStyle from './style';
4
+
5
+ const Alert = styled(AlertComponent)`
6
+ ${alertStyle}
7
+ `;
8
+
9
+ export default Alert;
@@ -0,0 +1,57 @@
1
+ import { css } from 'styled-components';
2
+ import { ComponentStyle } from '../../styles/typings';
3
+ import { AlertProps } from './typings';
4
+ import { display } from '../../styles/display';
5
+ import { alignItems } from '../../styles/alignment';
6
+ import { backgroundColor } from '../../styles/background';
7
+ import { borderColor, borderRadius, borderStyle, borderWidth } from '../../styles/border';
8
+ import { color } from '../../styles/typography';
9
+ import { marginBottom, marginTop, padding } from '../../styles/spacing';
10
+
11
+ const getBackgroundColor = (kind: AlertProps['kind']) => {
12
+ switch(kind) {
13
+ case 'success': return 'green-100';
14
+ case 'info': return 'blue-100';
15
+ case 'warning': return 'orange-200';
16
+ case 'error': return 'red-100';
17
+ default: return 'lighter';
18
+ }
19
+ }
20
+
21
+ const getBorderColor = (kind: AlertProps['kind']) => {
22
+ switch(kind) {
23
+ case 'success': return 'success';
24
+ case 'info': return 'info';
25
+ case 'warning': return 'warning';
26
+ case 'error': return 'danger';
27
+ default: return 'darker';
28
+ }
29
+ }
30
+
31
+ const getFontColor = (kind: AlertProps['kind']) => {
32
+ switch(kind) {
33
+ case 'success': return 'green-800';
34
+ case 'info': return 'blue-800';
35
+ case 'warning': return 'orange-800';
36
+ case 'error': return 'red-800';
37
+ default: return 'darkest';
38
+ }
39
+ }
40
+
41
+ const alertStyle: ComponentStyle<AlertProps> = ({ kind = 'info', marginTop: mTop = '0px', marginBottom: mBottom = '0px', size = 'medium' }) => {
42
+ return css`
43
+ ${display('flex')}
44
+ ${alignItems('center')}
45
+ ${backgroundColor(getBackgroundColor(kind))}
46
+ ${borderColor(getBorderColor(kind))}
47
+ ${color(getFontColor(kind))}
48
+ ${padding(size === 'large' ? 'lg' : size === 'small' ? 'sm' : 'md')}
49
+ ${borderStyle('solid')}
50
+ ${borderWidth('1px')}
51
+ ${borderRadius('sm')}
52
+ ${marginTop(mTop)}
53
+ ${marginBottom(mBottom)}
54
+ `
55
+ }
56
+
57
+ export default alertStyle;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { SpacingPropertyTheme, StylableProps } from '../../styles/typings';
3
+ import { IconProps } from '../icon/typings';
4
+
5
+ export type AlertProps = StylableProps & {
6
+ kind?: 'success' | 'info' | 'warning' | 'error' | 'debug'
7
+ icon?: boolean;
8
+ IconComponent?: React.FC<IconProps>;
9
+ marginBottom?: SpacingPropertyTheme;
10
+ marginTop?: SpacingPropertyTheme;
11
+ size?: 'small' | 'medium' | 'large'
12
+ }
@@ -4,9 +4,10 @@ import Card from '.';
4
4
  import { FormCardProps } from './typings';
5
5
  import { titlelize } from '../../utils/misc';
6
6
  import FormCardDisplayer from './FormCardDisplayer';
7
+ import Alert from '../alert';
7
8
 
8
9
 
9
- const FormCard: FCC<FormCardProps> = ({ name, ...cardProps }) => {
10
+ const FormCard: FCC<FormCardProps> = ({ name, help, children, ...cardProps }) => {
10
11
  const decorator = useFormDecorator(name, {
11
12
  Displayer: (displayerProps: FormDisplayerProps) => {
12
13
  return <FormCardDisplayer {...displayerProps} name={typeof cardProps.title === 'string' ? cardProps.title : titlelize(name)} />
@@ -63,7 +64,12 @@ const FormCard: FCC<FormCardProps> = ({ name, ...cardProps }) => {
63
64
  {...cardProps}
64
65
  open={!metadata.disabled}
65
66
  onToggle={() => (metadata.disabled ? form.enable(decorator.name) : form.disable(decorator.name))}
66
- />
67
+ >
68
+ <>
69
+ {help && <Alert kind="info" size="small" marginBottom="2xl">{help}</Alert>}
70
+ {children}
71
+ </>
72
+ </Card>
67
73
  </FormContext.Provider>
68
74
  );
69
75
  };
@@ -25,4 +25,5 @@ export type CardTitleProps = {
25
25
  export type FormCardProps = CardProps &
26
26
  FormDecoratorOptions & {
27
27
  name: string;
28
+ help?: ReactNode;
28
29
  };
@@ -4,6 +4,7 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { color } from '../../styles/typography';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const IconComponent: FC<IconProps> = ({ className, onClick }) => {
9
10
  return (
@@ -25,9 +26,11 @@ const IconComponent: FC<IconProps> = ({ className, onClick }) => {
25
26
  };
26
27
 
27
28
  export default styled(IconComponent)`
28
- ${({ width, height, color: cssColor = 'inherit' }) => css`
29
+ ${({ width, height, color: cssColor = 'inherit', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
29
30
  width: ${width};
30
31
  height: ${height};
32
+ ${marginLeft(ml)}
33
+ ${marginRight(mr)}
31
34
  ${display('flex')};
32
35
  ${alignItems('center')};
33
36
  ${color(cssColor)}
@@ -4,6 +4,7 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { color } from '../../styles/typography';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const CloseIconComponent: FC<IconProps> = (props) => {
9
10
  return (
@@ -20,9 +21,11 @@ const CloseIconComponent: FC<IconProps> = (props) => {
20
21
  };
21
22
 
22
23
  export default styled(CloseIconComponent)`
23
- ${({ width = '16px', height = '16px', color: cssColor = 'inherit' }) => css`
24
+ ${({ width = '16px', height = '16px', color: cssColor = 'inherit', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
24
25
  width: ${width};
25
26
  height: ${height};
27
+ ${marginLeft(ml)}
28
+ ${marginRight(mr)}
26
29
  ${display('flex')};
27
30
  ${alignItems('center')};
28
31
  ${color(cssColor)}
@@ -1,9 +1,10 @@
1
1
  //#region -- system import
2
2
  import React, { FC } from 'react';
3
3
  import styled from 'styled-components';
4
+ import { IconProps } from './typings';
4
5
  //#endregion
5
6
 
6
- const IconComponent: FC<React.InputHTMLAttributes<HTMLDivElement>> = ({ className }) => {
7
+ const IconComponent: FC<IconProps> = ({ className }) => {
7
8
  return (
8
9
  <div className={className}>
9
10
  <svg className="o-icon-close-svg" viewBox="0 0 100 100">
@@ -16,6 +17,8 @@ const IconComponent: FC<React.InputHTMLAttributes<HTMLDivElement>> = ({ classNam
16
17
  const CrossIcon = styled(IconComponent)`
17
18
  width: ${(props) => props.width || '32px'};
18
19
  height: ${(props) => props.height || '32px'};
20
+ margin-top: ${(props) => props.marginRight || '0px'};
21
+ margin-left: ${(props) => props.marginLeft || '0px'};
19
22
  .o-icon-close-svg {
20
23
  display: inline-block;
21
24
  stroke-width: 0;
@@ -4,6 +4,7 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { color } from '../../styles/typography';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const DebugIconComponent: FC<IconProps> = (props) => {
9
10
  return (
@@ -21,9 +22,11 @@ const DebugIconComponent: FC<IconProps> = (props) => {
21
22
  };
22
23
 
23
24
  export default styled(DebugIconComponent)`
24
- ${({ width = '16px', height = '16px', color: cssColor = 'inherit' }) => css`
25
+ ${({ width = '16px', height = '16px', color: cssColor = 'inherit', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
25
26
  width: ${width};
26
27
  height: ${height};
28
+ ${marginLeft(ml)}
29
+ ${marginRight(mr)}
27
30
  ${display('flex')};
28
31
  ${alignItems('center')};
29
32
  ${color(cssColor)}
@@ -4,6 +4,7 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { color } from '../../styles/typography';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const ErrorIconComponent: FC<IconProps> = (props) => {
9
10
  return (
@@ -20,9 +21,11 @@ const ErrorIconComponent: FC<IconProps> = (props) => {
20
21
  };
21
22
 
22
23
  export default styled(ErrorIconComponent)`
23
- ${({ width = '16px', height = '16px', color: cssColor = 'danger' }) => css`
24
+ ${({ width = '16px', height = '16px', color: cssColor = 'danger', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
24
25
  width: ${width};
25
26
  height: ${height};
27
+ ${marginLeft(ml)}
28
+ ${marginRight(mr)}
26
29
  ${display('flex')};
27
30
  ${alignItems('center')};
28
31
  ${color(cssColor)}
@@ -4,6 +4,7 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { addClassname } from '../../utils/style';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const IconComponent: FC<IconProps> = (props) => {
9
10
  const className = addClassname('o-icon-file', props.className);
@@ -23,9 +24,11 @@ const IconComponent: FC<IconProps> = (props) => {
23
24
  };
24
25
 
25
26
  export default styled(IconComponent)`
26
- ${({ width = '16px', height = '16px', color: cssColor = 'currentColor' }) => css`
27
+ ${({ width = '16px', height = '16px', color: cssColor = 'currentColor', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
27
28
  width: ${width};
28
29
  height: ${height};
30
+ ${marginLeft(ml)}
31
+ ${marginRight(mr)}
29
32
  ${display('flex')};
30
33
  ${alignItems('center')};
31
34
  .o-icon-file-svg {
@@ -4,6 +4,7 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { color } from '../../styles/typography';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  // <!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) -->
9
10
  const IconComponent: FC<IconProps> = ({ className, onClick }) => {
@@ -17,9 +18,11 @@ const IconComponent: FC<IconProps> = ({ className, onClick }) => {
17
18
  };
18
19
 
19
20
  export default styled(IconComponent)`
20
- ${({ width, height, color: cssColor = 'inherit' }) => css`
21
+ ${({ width, height, color: cssColor = 'inherit', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
21
22
  width: ${width};
22
23
  height: ${height};
24
+ ${marginLeft(ml)}
25
+ ${marginRight(mr)}
23
26
  ${display('flex')};
24
27
  ${alignItems('center')};
25
28
  ${color(cssColor)}
@@ -4,6 +4,7 @@ import { addClassname } from '../../utils/style';
4
4
  import { alignItems } from '../../styles/alignment';
5
5
  import { display } from '../../styles/display';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const IconComponent: FC<IconProps> = (props) => {
9
10
  const className = addClassname('o-icon-folder', props.className);
@@ -23,9 +24,11 @@ const IconComponent: FC<IconProps> = (props) => {
23
24
  };
24
25
 
25
26
  export default styled(IconComponent)`
26
- ${({ width = '24px', height = '24px', color: cssColor = 'currentColor' }) => css`
27
+ ${({ width = '24px', height = '24px', color: cssColor = 'currentColor', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
27
28
  width: ${width};
28
29
  height: ${height};
30
+ ${marginLeft(ml)}
31
+ ${marginRight(mr)}
29
32
  ${display('flex')};
30
33
  ${alignItems('center')};
31
34
  .o-icon-folder-svg {
@@ -5,6 +5,7 @@ import { alignItems } from '../../styles/alignment';
5
5
  import { display } from '../../styles/display';
6
6
  import { IconProps } from './typings';
7
7
  import { addClassname } from '../../utils/style';
8
+ import { marginLeft, marginRight } from '../../styles/spacing';
8
9
 
9
10
  const IconComponent: FC<IconProps> = ({ className, onClick, style }) => {
10
11
  return (
@@ -21,9 +22,11 @@ const IconComponent: FC<IconProps> = ({ className, onClick, style }) => {
21
22
  };
22
23
 
23
24
  export default styled(IconComponent)`
24
- ${({ width = '24px', height = '24px', color: cssColor = 'inherit' }) => css`
25
+ ${({ width = '24px', height = '24px', color: cssColor = 'inherit', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
25
26
  width: ${width};
26
27
  height: ${height};
28
+ ${marginLeft(ml)}
29
+ ${marginRight(mr)}
27
30
  ${display('flex')};
28
31
  ${alignItems('center')};
29
32
  ${color(cssColor)}
@@ -4,6 +4,7 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { addClassname } from '../../utils/style';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const IconComponent: FC<IconProps> = (props) => {
9
10
  const className = addClassname('o-icon-hide', props.className);
@@ -18,9 +19,11 @@ const IconComponent: FC<IconProps> = (props) => {
18
19
  };
19
20
 
20
21
  export default styled(IconComponent)`
21
- ${({ width = '16px', height = '16px', color: cssColor = 'currentColor' }) => css`
22
+ ${({ width = '16px', height = '16px', color: cssColor = 'currentColor', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
22
23
  width: ${width};
23
24
  height: ${height};
25
+ ${marginLeft(ml)}
26
+ ${marginRight(mr)}
24
27
  ${display('flex')};
25
28
  ${alignItems('center')};
26
29
  .o-icon-hide-svg {
@@ -4,11 +4,13 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { color } from '../../styles/typography';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
8
+ import { fill } from '../../styles/svg';
7
9
 
8
10
  const InfoIconComponent: FC<IconProps> = (props) => {
9
11
  return (
10
12
  <div {...props}>
11
- <svg className="o-icon-success-svg" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
13
+ <svg className="o-icon-info-svg" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
12
14
  <path
13
15
  fillRule="evenodd"
14
16
  clipRule="evenodd"
@@ -20,15 +22,17 @@ const InfoIconComponent: FC<IconProps> = (props) => {
20
22
  };
21
23
 
22
24
  export default styled(InfoIconComponent)`
23
- ${({ width = '16px', height = '16px', color: cssColor = 'info' }) => css`
25
+ ${({ width = '16px', height = '16px', color: cssColor = 'info', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
24
26
  width: ${width};
25
27
  height: ${height};
28
+ ${marginLeft(ml)}
29
+ ${marginRight(mr)}
26
30
  ${display('flex')};
27
31
  ${alignItems('center')};
28
32
  ${color(cssColor)}
29
33
  .o-icon-info-svg {
30
34
  display: inline-block;
31
- fill: currentColor;
35
+ ${fill('currentColor')}
32
36
  }
33
37
  `}
34
38
  `;
@@ -4,6 +4,7 @@ import { stroke } from '../../styles/svg';
4
4
  import { ComponentStyle } from '../../styles/typings';
5
5
  import { addClassname } from '../../utils/style';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const IconComponent: FC<IconProps> = ({ className }) => {
9
10
  return (
@@ -45,10 +46,14 @@ const iconStyle: ComponentStyle<IconProps> = ({
45
46
  width: cssWidth = '16px',
46
47
  height: cssHeight = '16px',
47
48
  color: cssColor = 'primary',
49
+ marginLeft: ml = '0',
50
+ marginRight: mr = '0',
48
51
  }) => {
49
52
  return css`
50
53
  height: ${cssHeight};
51
54
  width: ${cssWidth};
55
+ ${marginLeft(ml)}
56
+ ${marginRight(mr)}
52
57
  display: inline-flex;
53
58
  align-items: center;
54
59
 
@@ -5,6 +5,7 @@ import { alignItems } from '../../styles/alignment';
5
5
  import { display } from '../../styles/display';
6
6
  import { IconProps } from './typings';
7
7
  import { cursor } from '../../styles/interactivity';
8
+ import { marginLeft, marginRight } from '../../styles/spacing';
8
9
 
9
10
  const IconComponent: FC<IconProps> = (props) => {
10
11
  return (
@@ -19,9 +20,11 @@ const IconComponent: FC<IconProps> = (props) => {
19
20
  };
20
21
 
21
22
  export default styled(IconComponent)`
22
- ${({ width = '16px', height = '16px', color: cssColor = 'inherit' }) => css`
23
+ ${({ width = '16px', height = '16px', color: cssColor = 'inherit', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
23
24
  width: ${width};
24
25
  height: ${height};
26
+ ${marginLeft(ml)}
27
+ ${marginRight(mr)}
25
28
  ${display('flex')};
26
29
  ${alignItems('center')};
27
30
  ${color(cssColor)}
@@ -4,6 +4,7 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { color } from '../../styles/typography';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const RefreshIconComponent: FC<IconProps> = (props) => {
9
10
  return (
@@ -28,9 +29,11 @@ const RefreshIconComponent: FC<IconProps> = (props) => {
28
29
  };
29
30
 
30
31
  export default styled(RefreshIconComponent)`
31
- ${({ width = '16px', height = '16px', color: cssColor = 'inherit' }) => css`
32
+ ${({ width = '16px', height = '16px', color: cssColor = 'inherit', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
32
33
  width: ${width};
33
34
  height: ${height};
35
+ ${marginLeft(ml)}
36
+ ${marginRight(mr)}
34
37
  ${display('flex')};
35
38
  ${alignItems('center')};
36
39
  ${color(cssColor)}
@@ -4,6 +4,7 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { color } from '../../styles/typography';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const RemoveIcon: FC<IconProps> = ({ className, onClick }) => {
9
10
  return (
@@ -26,9 +27,11 @@ const RemoveIcon: FC<IconProps> = ({ className, onClick }) => {
26
27
  };
27
28
 
28
29
  export default styled(RemoveIcon)`
29
- ${({ width = '16px', height = '16px', color: cssColor = 'inherit' }) => css`
30
+ ${({ width = '16px', height = '16px', color: cssColor = 'inherit', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
30
31
  width: ${width};
31
32
  height: ${height};
33
+ ${marginLeft(ml)}
34
+ ${marginRight(mr)}
32
35
  ${display('flex')};
33
36
  ${alignItems('center')};
34
37
  ${color(cssColor)}
@@ -5,6 +5,7 @@ import { alignItems } from '../../styles/alignment';
5
5
  import { display } from '../../styles/display';
6
6
  import { IconProps } from './typings';
7
7
  import styled, { css } from 'styled-components';
8
+ import { marginLeft, marginRight } from '../../styles/spacing';
8
9
 
9
10
  const IconComponent: FC<IconProps> = ({ className, onClick }) => {
10
11
  return (
@@ -23,9 +24,11 @@ const IconComponent: FC<IconProps> = ({ className, onClick }) => {
23
24
  };
24
25
 
25
26
  export default styled(IconComponent)`
26
- ${({ width, height, color: cssColor = 'inherit' }) => css`
27
+ ${({ width, height, color: cssColor = 'inherit', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
27
28
  width: ${width};
28
29
  height: ${height};
30
+ ${marginLeft(ml)}
31
+ ${marginRight(mr)}
29
32
  ${display('flex')};
30
33
  ${alignItems('center')};
31
34
  ${color(cssColor)}
@@ -4,6 +4,7 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { addClassname } from '../../utils/style';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const IconComponent: FC<IconProps> = (props) => {
9
10
  const className = addClassname('o-icon-show', props.className);
@@ -17,9 +18,11 @@ const IconComponent: FC<IconProps> = (props) => {
17
18
  };
18
19
 
19
20
  export default styled(IconComponent)`
20
- ${({ width = '16px', height = '16px', color: cssColor = 'currentColor' }) => css`
21
+ ${({ width = '16px', height = '16px', color: cssColor = 'currentColor', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
21
22
  width: ${width};
22
23
  height: ${height};
24
+ ${marginLeft(ml)}
25
+ ${marginRight(mr)}
23
26
  ${display('flex')};
24
27
  ${alignItems('center')};
25
28
  .o-icon-show-svg {
@@ -4,6 +4,7 @@ import { alignItems } from '../../styles/alignment';
4
4
  import { display } from '../../styles/display';
5
5
  import { color } from '../../styles/typography';
6
6
  import { IconProps } from './typings';
7
+ import { marginLeft, marginRight } from '../../styles/spacing';
7
8
 
8
9
  const SuccessIconComponent: FC<IconProps> = (props) => {
9
10
  return (
@@ -23,12 +24,14 @@ const SuccessIconComponent: FC<IconProps> = (props) => {
23
24
  };
24
25
 
25
26
  export default styled(SuccessIconComponent)`
26
- ${({ width = '16px', height = '16px', color: cssColor = 'success' }) => css`
27
+ ${({ width = '16px', height = '16px', color: cssColor = 'success', marginLeft: ml = '0', marginRight: mr = '0' }) => css`
27
28
  width: ${width};
28
29
  height: ${height};
29
30
  ${display('flex')};
30
31
  ${alignItems('center')};
31
32
  ${color(cssColor)}
33
+ ${marginLeft(ml)}
34
+ ${marginRight(mr)}
32
35
  .o-icon-success-svg {
33
36
  display: inline-block;
34
37
  fill: currentColor;
@@ -7,6 +7,7 @@ import { color } from '../../styles/typography';
7
7
  import { addClassname } from '../../utils/style';
8
8
  import LoadingIcon from './LoadingIcon';
9
9
  import { TogglerIconProps } from './typings';
10
+ import { marginLeft, marginRight } from '../../styles/spacing';
10
11
 
11
12
  const toDegree = (position: 'n' | 's' | 'w' | 'e'): string => {
12
13
  switch (position) {
@@ -29,6 +30,7 @@ const IconComponent: FC<TogglerIconProps> = ({
29
30
  model = 'arrow',
30
31
  closeArrowPosition = 'e',
31
32
  openArrowPosition = 's',
33
+
32
34
  }) => {
33
35
  const iconClassName = addClassname('o-toggler-icon-container', className);
34
36
  if (!loading) {
@@ -65,9 +67,11 @@ const IconComponent: FC<TogglerIconProps> = ({
65
67
  };
66
68
 
67
69
  const TogglerIcon = styled(IconComponent)`
68
- ${({ width = '24px', height = '24px', color: cssColor = 'inherit', visible = true }) => css`
70
+ ${({ width = '24px', height = '24px', color: cssColor = 'inherit', visible = true, marginLeft: ml = '0', marginRight: mr = '0' }) => css`
69
71
  width: ${width};
70
72
  height: ${height};
73
+ ${marginLeft(ml)}
74
+ ${marginRight(mr)}
71
75
  ${display('inline-flex')};
72
76
  ${alignItems('center')};
73
77
  ${color(cssColor)}