@coorpacademy/components 11.35.2 → 11.35.3-alpha.3

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 (42) hide show
  1. package/es/molecule/icon-preview/index.d.ts.map +1 -1
  2. package/es/molecule/icon-preview/index.js +2 -1
  3. package/es/molecule/icon-preview/index.js.map +1 -1
  4. package/es/molecule/icon-preview/style.css +4 -0
  5. package/es/organism/header-with-actions/index.d.ts +22 -8
  6. package/es/organism/header-with-actions/index.d.ts.map +1 -1
  7. package/es/organism/header-with-actions/index.js +85 -7
  8. package/es/organism/header-with-actions/index.js.map +1 -1
  9. package/es/organism/header-with-actions/types.d.ts +44 -13
  10. package/es/organism/header-with-actions/types.d.ts.map +1 -1
  11. package/es/organism/header-with-actions/types.js +22 -6
  12. package/es/organism/header-with-actions/types.js.map +1 -1
  13. package/es/template/back-office/brand-update/index.d.ts +22 -8
  14. package/es/template/back-office/brand-update/index.d.ts.map +1 -1
  15. package/es/template/back-office/brand-update/index.js +4 -2
  16. package/es/template/back-office/brand-update/index.js.map +1 -1
  17. package/es/template/back-office/brand-update/style.css +4 -1
  18. package/es/template/back-office/brand-update/utils.d.ts +38 -10
  19. package/es/template/back-office/brand-update/utils.js +19 -0
  20. package/es/template/back-office/brand-update/utils.js.map +1 -1
  21. package/lib/molecule/icon-preview/index.d.ts.map +1 -1
  22. package/lib/molecule/icon-preview/index.js +2 -1
  23. package/lib/molecule/icon-preview/index.js.map +1 -1
  24. package/lib/molecule/icon-preview/style.css +4 -0
  25. package/lib/organism/header-with-actions/index.d.ts +22 -8
  26. package/lib/organism/header-with-actions/index.d.ts.map +1 -1
  27. package/lib/organism/header-with-actions/index.js +85 -7
  28. package/lib/organism/header-with-actions/index.js.map +1 -1
  29. package/lib/organism/header-with-actions/types.d.ts +44 -13
  30. package/lib/organism/header-with-actions/types.d.ts.map +1 -1
  31. package/lib/organism/header-with-actions/types.js +22 -6
  32. package/lib/organism/header-with-actions/types.js.map +1 -1
  33. package/lib/template/back-office/brand-update/index.d.ts +22 -8
  34. package/lib/template/back-office/brand-update/index.d.ts.map +1 -1
  35. package/lib/template/back-office/brand-update/index.js +4 -2
  36. package/lib/template/back-office/brand-update/index.js.map +1 -1
  37. package/lib/template/back-office/brand-update/style.css +4 -1
  38. package/lib/template/back-office/brand-update/utils.d.ts +38 -10
  39. package/lib/template/back-office/brand-update/utils.js +19 -0
  40. package/lib/template/back-office/brand-update/utils.js.map +1 -1
  41. package/locales/.mtslconfig.json +1 -0
  42. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/icon-preview/index.tsx"],"names":[],"mappings":";AAGA,OAAkB,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAGpD,QAAA,MAAM,WAAW;YAAW,gBAAgB;;;;;;;;CAyB3C,CAAC;AAIF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/icon-preview/index.tsx"],"names":[],"mappings":";AAGA,OAAkB,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAGpD,QAAA,MAAM,WAAW;YAAW,gBAAgB;;;;;;;;CA2B3C,CAAC;AAIF,eAAe,WAAW,CAAC"}
@@ -26,7 +26,8 @@ const IconPreview = props => {
26
26
  },
27
27
  gradientBackground: true
28
28
  })), /*#__PURE__*/React.createElement("div", {
29
- className: style.titleWrapper
29
+ className: style.titleWrapper,
30
+ title: title
30
31
  }, title)));
31
32
  };
32
33
  IconPreview.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","FaIcon","createGradientBackground","propTypes","style","IconPreview","props","icon","title","createElement","className","iconPreviewWrapper","background","color","iconPreview","iconWrapper","iconName","name","iconColor","size","faSize","wrapperSize","gradientBackground","titleWrapper","process","env","NODE_ENV"],"sources":["../../../src/molecule/icon-preview/index.tsx"],"sourcesContent":["import React from 'react';\nimport FaIcon from '../../atom/icon';\nimport {createGradientBackground} from '../../util/get-background-gradient-color';\nimport propTypes, {IconPreviewProps} from './types';\nimport style from './style.css';\n\nconst IconPreview = (props: IconPreviewProps) => {\n const {icon, title} = props;\n return (\n <div\n className={style.iconPreviewWrapper}\n style={{background: createGradientBackground(icon.color, '93%', '100%')}}\n >\n <div className={style.iconPreview}>\n <div className={style.iconWrapper}>\n <FaIcon\n {...{\n iconName: icon.name,\n iconColor: icon.color,\n size: {\n faSize: 36,\n wrapperSize: 80\n },\n gradientBackground: true\n }}\n />\n </div>\n <div className={style.titleWrapper}>{title}</div>\n </div>\n </div>\n );\n};\n\nIconPreview.propTypes = propTypes;\n\nexport default IconPreview;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAAQC,wBAAwB,QAAO,0CAA0C;AACjF,OAAOC,SAAS,MAA0B,SAAS;AACnD,OAAOC,KAAK,MAAM,aAAa;AAE/B,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EAC/C,MAAM;IAACC,IAAI;IAAEC;EAAK,CAAC,GAAGF,KAAK;EAC3B,oBACEN,KAAA,CAAAS,aAAA;IACEC,SAAS,EAAEN,KAAK,CAACO,kBAAmB;IACpCP,KAAK,EAAE;MAACQ,UAAU,EAAEV,wBAAwB,CAACK,IAAI,CAACM,KAAK,EAAE,KAAK,EAAE,MAAM;IAAC;EAAE,gBAEzEb,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAEN,KAAK,CAACU;EAAY,gBAChCd,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAEN,KAAK,CAACW;EAAY,gBAChCf,KAAA,CAAAS,aAAA,CAACR,MAAM;IAEHe,QAAQ,EAAET,IAAI,CAACU,IAAI;IACnBC,SAAS,EAAEX,IAAI,CAACM,KAAK;IACrBM,IAAI,EAAE;MACJC,MAAM,EAAE,EAAE;MACVC,WAAW,EAAE;IACf,CAAC;IACDC,kBAAkB,EAAE;EAAI,CAE3B,CACE,CAAC,eACNtB,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAEN,KAAK,CAACmB;EAAa,GAAEf,KAAW,CAC7C,CACF,CAAC;AAEV,CAAC;AAEDH,WAAW,CAACF,SAAS,GAAAqB,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAGvB,SAAS;AAEjC,eAAeE,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","FaIcon","createGradientBackground","propTypes","style","IconPreview","props","icon","title","createElement","className","iconPreviewWrapper","background","color","iconPreview","iconWrapper","iconName","name","iconColor","size","faSize","wrapperSize","gradientBackground","titleWrapper","process","env","NODE_ENV"],"sources":["../../../src/molecule/icon-preview/index.tsx"],"sourcesContent":["import React from 'react';\nimport FaIcon from '../../atom/icon';\nimport {createGradientBackground} from '../../util/get-background-gradient-color';\nimport propTypes, {IconPreviewProps} from './types';\nimport style from './style.css';\n\nconst IconPreview = (props: IconPreviewProps) => {\n const {icon, title} = props;\n return (\n <div\n className={style.iconPreviewWrapper}\n style={{background: createGradientBackground(icon.color, '93%', '100%')}}\n >\n <div className={style.iconPreview}>\n <div className={style.iconWrapper}>\n <FaIcon\n {...{\n iconName: icon.name,\n iconColor: icon.color,\n size: {\n faSize: 36,\n wrapperSize: 80\n },\n gradientBackground: true\n }}\n />\n </div>\n <div className={style.titleWrapper} title={title}>\n {title}\n </div>\n </div>\n </div>\n );\n};\n\nIconPreview.propTypes = propTypes;\n\nexport default IconPreview;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAAQC,wBAAwB,QAAO,0CAA0C;AACjF,OAAOC,SAAS,MAA0B,SAAS;AACnD,OAAOC,KAAK,MAAM,aAAa;AAE/B,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EAC/C,MAAM;IAACC,IAAI;IAAEC;EAAK,CAAC,GAAGF,KAAK;EAC3B,oBACEN,KAAA,CAAAS,aAAA;IACEC,SAAS,EAAEN,KAAK,CAACO,kBAAmB;IACpCP,KAAK,EAAE;MAACQ,UAAU,EAAEV,wBAAwB,CAACK,IAAI,CAACM,KAAK,EAAE,KAAK,EAAE,MAAM;IAAC;EAAE,gBAEzEb,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAEN,KAAK,CAACU;EAAY,gBAChCd,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAEN,KAAK,CAACW;EAAY,gBAChCf,KAAA,CAAAS,aAAA,CAACR,MAAM;IAEHe,QAAQ,EAAET,IAAI,CAACU,IAAI;IACnBC,SAAS,EAAEX,IAAI,CAACM,KAAK;IACrBM,IAAI,EAAE;MACJC,MAAM,EAAE,EAAE;MACVC,WAAW,EAAE;IACf,CAAC;IACDC,kBAAkB,EAAE;EAAI,CAE3B,CACE,CAAC,eACNtB,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAEN,KAAK,CAACmB,YAAa;IAACf,KAAK,EAAEA;EAAM,GAC9CA,KACE,CACF,CACF,CAAC;AAEV,CAAC;AAEDH,WAAW,CAACF,SAAS,GAAAqB,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAGvB,SAAS;AAEjC,eAAeE,WAAW","ignoreList":[]}
@@ -27,4 +27,8 @@
27
27
  font-style: normal;
28
28
  font-weight: 700;
29
29
  line-height: 32px;
30
+ display: -webkit-box;
31
+ -webkit-line-clamp: 2;
32
+ -webkit-box-orient: vertical;
33
+ overflow: hidden;
30
34
  }
@@ -4,10 +4,7 @@ declare const HeaderWithActions: {
4
4
  (props: HeaderWithActionsProps): JSX.Element;
5
5
  propTypes: {
6
6
  closeButton: import("prop-types").Requireable<import("prop-types").InferProps<{
7
- size: import("prop-types").Validator<string>;
8
- icon: import("prop-types").Validator<string>;
9
- 'data-name': import("prop-types").Validator<string>;
10
- 'aria-label': import("prop-types").Validator<string>;
7
+ 'aria-label': import("prop-types").Requireable<string>;
11
8
  onClick: import("prop-types").Validator<(...args: any[]) => any>;
12
9
  }>>;
13
10
  title: import("prop-types").Validator<string>;
@@ -20,7 +17,7 @@ declare const HeaderWithActions: {
20
17
  display: import("prop-types").Validator<boolean>;
21
18
  label: import("prop-types").Requireable<string>;
22
19
  }>>>;
23
- bulletPointMenuButton: import("prop-types").Requireable<import("prop-types").InferProps<{
20
+ bulletPointMenuButtonPropTypes: import("prop-types").Requireable<NonNullable<import("prop-types").InferProps<{
24
21
  'data-name': import("prop-types").Requireable<string>;
25
22
  disabled: import("prop-types").Requireable<boolean>;
26
23
  buttonAriaLabel: import("prop-types").Requireable<string>;
@@ -53,8 +50,18 @@ declare const HeaderWithActions: {
53
50
  onClick: import("prop-types").Requireable<(...args: any[]) => any>;
54
51
  menuButtonClassName: import("prop-types").Requireable<string>;
55
52
  isBulkMenu: import("prop-types").Requireable<boolean>;
56
- }>>;
57
- actionButtons: import("prop-types").Validator<(import("prop-types").InferProps<{
53
+ }> | import("prop-types").InferProps<{
54
+ buttons: import("prop-types").Validator<(import("prop-types").InferProps<{
55
+ dataName: import("prop-types").Requireable<string>;
56
+ label: import("prop-types").Validator<string>;
57
+ iconName: import("prop-types").Validator<string>;
58
+ iconColor: import("prop-types").Validator<string>;
59
+ onClick: import("prop-types").Validator<(...args: any[]) => any>;
60
+ }> | null | undefined)[]>;
61
+ onClick: import("prop-types").Validator<(...args: any[]) => any>;
62
+ buttonAriaLabel: import("prop-types").Requireable<string>;
63
+ }> | null | undefined>>;
64
+ actionButtons: import("prop-types").Validator<NonNullable<NonNullable<(import("prop-types").InferProps<{
58
65
  type: import("prop-types").Requireable<string>;
59
66
  usage: import("prop-types").Requireable<string>;
60
67
  label: import("prop-types").Requireable<string>;
@@ -90,7 +97,14 @@ declare const HeaderWithActions: {
90
97
  customStyle: import("prop-types").Requireable<{
91
98
  [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
92
99
  }>;
93
- }> | null | undefined)[]>;
100
+ }> | null | undefined)[] | (import("prop-types").InferProps<{
101
+ type: import("prop-types").Validator<string>;
102
+ label: import("prop-types").Validator<string>;
103
+ onClick: import("prop-types").Validator<(...args: any[]) => any>;
104
+ disabled: import("prop-types").Requireable<boolean>;
105
+ iconName: import("prop-types").Validator<string>;
106
+ iconColor: import("prop-types").Validator<string>;
107
+ }> | null | undefined)[] | null | undefined>>>;
94
108
  };
95
109
  };
96
110
  export default HeaderWithActions;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/header-with-actions/index.tsx"],"names":[],"mappings":";AAQA,OAAmC,EAAC,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAO3E,QAAA,MAAM,iBAAiB;YAAW,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCvD,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/header-with-actions/index.tsx"],"names":[],"mappings":";AAQA,OAAmC,EACjC,sBAAsB,EAGvB,MAAM,SAAS,CAAC;AAsEjB,QAAA,MAAM,iBAAiB;YAAW,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDvD,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
@@ -13,6 +13,78 @@ const getDataName = suffix => `header-with-actions-${suffix}`;
13
13
  const uncappedMap = map.convert({
14
14
  cap: false
15
15
  });
16
+ const buildCloseButton = ({
17
+ onClick,
18
+ ariaLabel
19
+ }) => {
20
+ return {
21
+ size: 'default',
22
+ icon: 'close',
23
+ 'data-name': 'close-button',
24
+ 'aria-label': ariaLabel,
25
+ onClick
26
+ };
27
+ };
28
+ const buildButtonMenu = ({
29
+ dataName,
30
+ label,
31
+ iconName,
32
+ iconColor,
33
+ onClick
34
+ }) => {
35
+ return {
36
+ 'data-name': dataName,
37
+ label,
38
+ buttonLinkType: 'tertiary',
39
+ icon: {
40
+ position: 'left',
41
+ faIcon: {
42
+ name: iconName,
43
+ color: iconColor,
44
+ size: 14,
45
+ customStyle: {
46
+ padding: 0
47
+ }
48
+ }
49
+ },
50
+ onClick,
51
+ type: 'defaultLeft'
52
+ };
53
+ };
54
+ const buildActionButton = ({
55
+ type,
56
+ label,
57
+ onClick,
58
+ disabled,
59
+ iconName,
60
+ iconColor
61
+ }) => {
62
+ return {
63
+ type,
64
+ label,
65
+ onClick,
66
+ disabled,
67
+ icon: {
68
+ position: 'left',
69
+ faIcon: {
70
+ name: iconName,
71
+ color: iconColor,
72
+ size: 14,
73
+ customStyle: {
74
+ padding: 0
75
+ }
76
+ }
77
+ },
78
+ customStyle: {
79
+ fontWeight: '600',
80
+ borderRadius: '12px',
81
+ padding: '0 8px 0 16px'
82
+ }
83
+ };
84
+ };
85
+ const isButtonActionProps = action => {
86
+ return typeof action.iconName === 'string' && typeof action.iconColor === 'string';
87
+ };
16
88
  const HeaderWithActions = props => {
17
89
  const {
18
90
  closeButton,
@@ -22,13 +94,23 @@ const HeaderWithActions = props => {
22
94
  bulletPointMenuButton,
23
95
  actionButtons
24
96
  } = props;
97
+ const renderedActionButtons = uncappedMap((action, key) => {
98
+ return isButtonActionProps(action) ? /*#__PURE__*/React.createElement(ButtonLink, _extends({}, buildActionButton(action), {
99
+ key: key
100
+ })) : /*#__PURE__*/React.createElement(ButtonLink, _extends({}, action, {
101
+ key: key
102
+ }));
103
+ }, actionButtons);
25
104
  return /*#__PURE__*/React.createElement("div", {
26
105
  className: style.headerWrapper,
27
106
  "data-name": getDataName('wrapper')
28
107
  }, /*#__PURE__*/React.createElement("div", {
29
108
  className: style.titleAndButtonWrapper,
30
109
  "data-name": getDataName('title-and-button-wrapper')
31
- }, /*#__PURE__*/React.createElement(ButtonLinkIcon, _extends({}, closeButton, {
110
+ }, /*#__PURE__*/React.createElement(ButtonLinkIcon, _extends({}, buildCloseButton({
111
+ onClick: closeButton.onClick,
112
+ ariaLabel: closeButton['aria-label']
113
+ }), {
32
114
  className: style.button
33
115
  })), /*#__PURE__*/React.createElement("div", {
34
116
  className: style.titleWrapper
@@ -44,12 +126,8 @@ const HeaderWithActions = props => {
44
126
  className: style.buttonsWrapper,
45
127
  "data-name": getDataName('buttons-wrapper')
46
128
  }, bulletPointMenuButton && !isEmpty(bulletPointMenuButton.buttons) ? /*#__PURE__*/React.createElement(BulletPointMenuButton, _extends({}, bulletPointMenuButton, {
47
- buttonAriaLabel: "More actions"
48
- })) : null, uncappedMap((action, key) => {
49
- return /*#__PURE__*/React.createElement(ButtonLink, _extends({}, action, {
50
- key: key
51
- }));
52
- }, actionButtons)));
129
+ buttons: uncappedMap(buildButtonMenu, bulletPointMenuButton.buttons)
130
+ })) : null, renderedActionButtons));
53
131
  };
54
132
  HeaderWithActions.propTypes = process.env.NODE_ENV !== "production" ? headerWithActionsPropTypes : {};
55
133
  export default HeaderWithActions;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","isEmpty","map","ButtonLink","ButtonLinkIcon","Tag","BulletPointMenuButton","headerWithActionsPropTypes","style","getDataName","suffix","uncappedMap","convert","cap","HeaderWithActions","props","closeButton","title","tag","saveStatus","bulletPointMenuButton","actionButtons","createElement","className","headerWrapper","titleAndButtonWrapper","_extends","button","titleWrapper","statusWrapper","display","label","buttonsWrapper","buttons","buttonAriaLabel","action","key","propTypes","process","env","NODE_ENV"],"sources":["../../../src/organism/header-with-actions/index.tsx"],"sourcesContent":["import React from 'react';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport map from 'lodash/fp/map';\nimport ButtonLink from '../../atom/button-link';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Tag from '../../atom/tag';\nimport {ButtonLinkProps} from '../../atom/button-link/types';\nimport BulletPointMenuButton from '../../molecule/bullet-point-menu-button';\nimport headerWithActionsPropTypes, {HeaderWithActionsProps} from './types';\nimport style from './style.css';\n\nconst getDataName = (suffix: string) => `header-with-actions-${suffix}`;\n// @ts-expect-error (need to get the index)\nconst uncappedMap = map.convert({cap: false});\n\nconst HeaderWithActions = (props: HeaderWithActionsProps) => {\n const {closeButton, title, tag, saveStatus, bulletPointMenuButton, actionButtons} = props;\n\n return (\n <div className={style.headerWrapper} data-name={getDataName('wrapper')}>\n <div\n className={style.titleAndButtonWrapper}\n data-name={getDataName('title-and-button-wrapper')}\n >\n <ButtonLinkIcon {...closeButton} className={style.button} />\n <div className={style.titleWrapper}>\n <div className={style.statusWrapper}>\n <Tag {...tag} />\n {saveStatus.display && saveStatus.label ? (\n <p className={style.saveStatus}>{saveStatus.label}</p>\n ) : null}\n </div>\n <h3 className={style.title} aria-label={title} data-name={getDataName('title')}>\n {title}\n </h3>\n </div>\n </div>\n <div className={style.buttonsWrapper} data-name={getDataName('buttons-wrapper')}>\n {bulletPointMenuButton && !isEmpty(bulletPointMenuButton.buttons) ? (\n <BulletPointMenuButton {...bulletPointMenuButton} buttonAriaLabel=\"More actions\" />\n ) : null}\n {uncappedMap((action: ButtonLinkProps, key: string) => {\n return <ButtonLink {...action} key={key} />;\n }, actionButtons)}\n </div>\n </div>\n );\n};\n\nHeaderWithActions.propTypes = headerWithActionsPropTypes;\n\nexport default HeaderWithActions;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,OAAO,MAAM,mBAAmB;AACvC,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,UAAU,MAAM,wBAAwB;AAC/C,OAAOC,cAAc,MAAM,6BAA6B;AACxD,OAAOC,GAAG,MAAM,gBAAgB;AAEhC,OAAOC,qBAAqB,MAAM,yCAAyC;AAC3E,OAAOC,0BAA0B,MAAgC,SAAS;AAC1E,OAAOC,KAAK,MAAM,aAAa;AAE/B,MAAMC,WAAW,GAAIC,MAAc,IAAK,uBAAuBA,MAAM,EAAE;AACvE;AACA,MAAMC,WAAW,GAAGT,GAAG,CAACU,OAAO,CAAC;EAACC,GAAG,EAAE;AAAK,CAAC,CAAC;AAE7C,MAAMC,iBAAiB,GAAIC,KAA6B,IAAK;EAC3D,MAAM;IAACC,WAAW;IAAEC,KAAK;IAAEC,GAAG;IAAEC,UAAU;IAAEC,qBAAqB;IAAEC;EAAa,CAAC,GAAGN,KAAK;EAEzF,oBACEf,KAAA,CAAAsB,aAAA;IAAKC,SAAS,EAAEf,KAAK,CAACgB,aAAc;IAAC,aAAWf,WAAW,CAAC,SAAS;EAAE,gBACrET,KAAA,CAAAsB,aAAA;IACEC,SAAS,EAAEf,KAAK,CAACiB,qBAAsB;IACvC,aAAWhB,WAAW,CAAC,0BAA0B;EAAE,gBAEnDT,KAAA,CAAAsB,aAAA,CAAClB,cAAc,EAAAsB,QAAA,KAAKV,WAAW;IAAEO,SAAS,EAAEf,KAAK,CAACmB;EAAO,EAAE,CAAC,eAC5D3B,KAAA,CAAAsB,aAAA;IAAKC,SAAS,EAAEf,KAAK,CAACoB;EAAa,gBACjC5B,KAAA,CAAAsB,aAAA;IAAKC,SAAS,EAAEf,KAAK,CAACqB;EAAc,gBAClC7B,KAAA,CAAAsB,aAAA,CAACjB,GAAG,EAAKa,GAAM,CAAC,EACfC,UAAU,CAACW,OAAO,IAAIX,UAAU,CAACY,KAAK,gBACrC/B,KAAA,CAAAsB,aAAA;IAAGC,SAAS,EAAEf,KAAK,CAACW;EAAW,GAAEA,UAAU,CAACY,KAAS,CAAC,GACpD,IACD,CAAC,eACN/B,KAAA,CAAAsB,aAAA;IAAIC,SAAS,EAAEf,KAAK,CAACS,KAAM;IAAC,cAAYA,KAAM;IAAC,aAAWR,WAAW,CAAC,OAAO;EAAE,GAC5EQ,KACC,CACD,CACF,CAAC,eACNjB,KAAA,CAAAsB,aAAA;IAAKC,SAAS,EAAEf,KAAK,CAACwB,cAAe;IAAC,aAAWvB,WAAW,CAAC,iBAAiB;EAAE,GAC7EW,qBAAqB,IAAI,CAACnB,OAAO,CAACmB,qBAAqB,CAACa,OAAO,CAAC,gBAC/DjC,KAAA,CAAAsB,aAAA,CAAChB,qBAAqB,EAAAoB,QAAA,KAAKN,qBAAqB;IAAEc,eAAe,EAAC;EAAc,EAAE,CAAC,GACjF,IAAI,EACPvB,WAAW,CAAC,CAACwB,MAAuB,EAAEC,GAAW,KAAK;IACrD,oBAAOpC,KAAA,CAAAsB,aAAA,CAACnB,UAAU,EAAAuB,QAAA,KAAKS,MAAM;MAAEC,GAAG,EAAEA;IAAI,EAAE,CAAC;EAC7C,CAAC,EAAEf,aAAa,CACb,CACF,CAAC;AAEV,CAAC;AAEDP,iBAAiB,CAACuB,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAGjC,0BAA0B;AAExD,eAAeO,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","isEmpty","map","ButtonLink","ButtonLinkIcon","Tag","BulletPointMenuButton","headerWithActionsPropTypes","style","getDataName","suffix","uncappedMap","convert","cap","buildCloseButton","onClick","ariaLabel","size","icon","buildButtonMenu","dataName","label","iconName","iconColor","buttonLinkType","position","faIcon","name","color","customStyle","padding","type","buildActionButton","disabled","fontWeight","borderRadius","isButtonActionProps","action","HeaderWithActions","props","closeButton","title","tag","saveStatus","bulletPointMenuButton","actionButtons","renderedActionButtons","key","createElement","_extends","className","headerWrapper","titleAndButtonWrapper","button","titleWrapper","statusWrapper","display","buttonsWrapper","buttons","propTypes","process","env","NODE_ENV"],"sources":["../../../src/organism/header-with-actions/index.tsx"],"sourcesContent":["import React from 'react';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport map from 'lodash/fp/map';\nimport ButtonLink from '../../atom/button-link';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Tag from '../../atom/tag';\nimport {ButtonLinkProps} from '../../atom/button-link/types';\nimport BulletPointMenuButton from '../../molecule/bullet-point-menu-button';\nimport headerWithActionsPropTypes, {\n HeaderWithActionsProps,\n ButtonMenuProps,\n ButtonActionProps\n} from './types';\nimport style from './style.css';\n\nconst getDataName = (suffix: string) => `header-with-actions-${suffix}`;\n// @ts-expect-error (need to get the index)\nconst uncappedMap = map.convert({cap: false});\n\nconst buildCloseButton = ({onClick, ariaLabel}: {onClick: () => void; ariaLabel: string}) => {\n return {\n size: 'default',\n icon: 'close',\n 'data-name': 'close-button',\n 'aria-label': ariaLabel,\n onClick\n };\n};\n\nconst buildButtonMenu = ({dataName, label, iconName, iconColor, onClick}: ButtonMenuProps) => {\n return {\n 'data-name': dataName,\n label,\n buttonLinkType: 'tertiary',\n icon: {\n position: 'left' as const,\n faIcon: {\n name: iconName,\n color: iconColor,\n size: 14,\n customStyle: {padding: 0}\n }\n },\n onClick,\n type: 'defaultLeft'\n };\n};\n\nconst buildActionButton = ({\n type,\n label,\n onClick,\n disabled,\n iconName,\n iconColor\n}: ButtonActionProps) => {\n return {\n type,\n label,\n onClick,\n disabled,\n icon: {\n position: 'left' as const,\n faIcon: {\n name: iconName,\n color: iconColor,\n size: 14,\n customStyle: {padding: 0}\n }\n },\n customStyle: {\n fontWeight: '600',\n borderRadius: '12px',\n padding: '0 8px 0 16px'\n }\n };\n};\n\nconst isButtonActionProps = (action: any): action is ButtonActionProps => {\n return typeof action.iconName === 'string' && typeof action.iconColor === 'string';\n};\n\nconst HeaderWithActions = (props: HeaderWithActionsProps) => {\n const {closeButton, title, tag, saveStatus, bulletPointMenuButton, actionButtons} = props;\n\n const renderedActionButtons = uncappedMap(\n (action: ButtonLinkProps | ButtonActionProps, key: string) => {\n return isButtonActionProps(action) ? (\n <ButtonLink {...buildActionButton(action)} key={key} />\n ) : (\n <ButtonLink {...action} key={key} />\n );\n },\n actionButtons\n );\n\n return (\n <div className={style.headerWrapper} data-name={getDataName('wrapper')}>\n <div\n className={style.titleAndButtonWrapper}\n data-name={getDataName('title-and-button-wrapper')}\n >\n <ButtonLinkIcon\n {...buildCloseButton({\n onClick: closeButton.onClick,\n ariaLabel: closeButton['aria-label']\n })}\n className={style.button}\n />\n <div className={style.titleWrapper}>\n <div className={style.statusWrapper}>\n <Tag {...tag} />\n {saveStatus.display && saveStatus.label ? (\n <p className={style.saveStatus}>{saveStatus.label}</p>\n ) : null}\n </div>\n <h3 className={style.title} aria-label={title} data-name={getDataName('title')}>\n {title}\n </h3>\n </div>\n </div>\n <div className={style.buttonsWrapper} data-name={getDataName('buttons-wrapper')}>\n {bulletPointMenuButton && !isEmpty(bulletPointMenuButton.buttons) ? (\n <BulletPointMenuButton\n {...bulletPointMenuButton}\n buttons={uncappedMap(buildButtonMenu, bulletPointMenuButton.buttons)}\n />\n ) : null}\n {renderedActionButtons}\n </div>\n </div>\n );\n};\n\nHeaderWithActions.propTypes = headerWithActionsPropTypes;\n\nexport default HeaderWithActions;\n"],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,7 @@ import { BulletPointMenuButtonProps } from '../../molecule/bullet-point-menu-but
3
3
  import { ButtonLinkProps } from '../../atom/button-link/types';
4
4
  declare const headerWithActionsPropTypes: {
5
5
  closeButton: PropTypes.Requireable<PropTypes.InferProps<{
6
- size: PropTypes.Validator<string>;
7
- icon: PropTypes.Validator<string>;
8
- 'data-name': PropTypes.Validator<string>;
9
- 'aria-label': PropTypes.Validator<string>;
6
+ 'aria-label': PropTypes.Requireable<string>;
10
7
  onClick: PropTypes.Validator<(...args: any[]) => any>;
11
8
  }>>;
12
9
  title: PropTypes.Validator<string>;
@@ -19,7 +16,7 @@ declare const headerWithActionsPropTypes: {
19
16
  display: PropTypes.Validator<boolean>;
20
17
  label: PropTypes.Requireable<string>;
21
18
  }>>>;
22
- bulletPointMenuButton: PropTypes.Requireable<PropTypes.InferProps<{
19
+ bulletPointMenuButtonPropTypes: PropTypes.Requireable<NonNullable<PropTypes.InferProps<{
23
20
  'data-name': PropTypes.Requireable<string>;
24
21
  disabled: PropTypes.Requireable<boolean>;
25
22
  buttonAriaLabel: PropTypes.Requireable<string>;
@@ -52,8 +49,18 @@ declare const headerWithActionsPropTypes: {
52
49
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
53
50
  menuButtonClassName: PropTypes.Requireable<string>;
54
51
  isBulkMenu: PropTypes.Requireable<boolean>;
55
- }>>;
56
- actionButtons: PropTypes.Validator<(PropTypes.InferProps<{
52
+ }> | PropTypes.InferProps<{
53
+ buttons: PropTypes.Validator<(PropTypes.InferProps<{
54
+ dataName: PropTypes.Requireable<string>;
55
+ label: PropTypes.Validator<string>;
56
+ iconName: PropTypes.Validator<string>;
57
+ iconColor: PropTypes.Validator<string>;
58
+ onClick: PropTypes.Validator<(...args: any[]) => any>;
59
+ }> | null | undefined)[]>;
60
+ onClick: PropTypes.Validator<(...args: any[]) => any>;
61
+ buttonAriaLabel: PropTypes.Requireable<string>;
62
+ }> | null | undefined>>;
63
+ actionButtons: PropTypes.Validator<NonNullable<NonNullable<(PropTypes.InferProps<{
57
64
  type: PropTypes.Requireable<string>;
58
65
  usage: PropTypes.Requireable<string>;
59
66
  label: PropTypes.Requireable<string>;
@@ -89,7 +96,14 @@ declare const headerWithActionsPropTypes: {
89
96
  customStyle: PropTypes.Requireable<{
90
97
  [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
91
98
  }>;
92
- }> | null | undefined)[]>;
99
+ }> | null | undefined)[] | (PropTypes.InferProps<{
100
+ type: PropTypes.Validator<string>;
101
+ label: PropTypes.Validator<string>;
102
+ onClick: PropTypes.Validator<(...args: any[]) => any>;
103
+ disabled: PropTypes.Requireable<boolean>;
104
+ iconName: PropTypes.Validator<string>;
105
+ iconColor: PropTypes.Validator<string>;
106
+ }> | null | undefined)[] | null | undefined>>>;
93
107
  };
94
108
  export default headerWithActionsPropTypes;
95
109
  declare type TagProps = {
@@ -102,19 +116,36 @@ declare type SaveStatusProps = {
102
116
  label?: 'Unsaved changes' | 'Saved';
103
117
  };
104
118
  declare type CloseButtonProps = {
105
- size: 'default' | 'small' | 'responsive';
106
- icon: string;
107
- 'data-name': string;
108
119
  'aria-label': string;
109
120
  onClick: () => void;
110
121
  };
122
+ export declare type ButtonMenuProps = {
123
+ dataName: string;
124
+ label: string;
125
+ iconName: string;
126
+ iconColor: string;
127
+ onClick: () => void;
128
+ };
129
+ declare type BulletPointMenuButtonCustomProps = {
130
+ buttons: ButtonMenuProps[];
131
+ onClick: () => void;
132
+ buttonAriaLabel: string;
133
+ };
134
+ export declare type ButtonActionProps = {
135
+ type: 'primary' | 'secondary';
136
+ label: string;
137
+ onClick: () => void;
138
+ disabled?: boolean;
139
+ iconName: string;
140
+ iconColor: string;
141
+ };
111
142
  export declare type HeaderWithActionsProps = {
112
143
  closeButton: CloseButtonProps;
113
144
  title: string;
114
145
  tag: TagProps;
115
146
  saveStatus: SaveStatusProps;
116
- actionButtons: ButtonLinkProps[];
117
- bulletPointMenuButton?: BulletPointMenuButtonProps;
147
+ actionButtons: ButtonLinkProps[] | ButtonActionProps[];
148
+ bulletPointMenuButton?: BulletPointMenuButtonProps | BulletPointMenuButtonCustomProps;
118
149
  };
119
150
  export declare type HeaderWithActionsPropsFixture = {
120
151
  props: HeaderWithActionsProps;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/organism/header-with-actions/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAuC,EACrC,0BAA0B,EAC3B,MAAM,+CAA+C,CAAC;AACvD,OAA4B,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AASlF,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAc/B,CAAC;AAEF,eAAe,0BAA0B,CAAC;AAE1C,aAAK,QAAQ,GAAG;IACd,KAAK,EAAE,WAAW,GAAG,iBAAiB,GAAG,OAAO,GAAG,UAAU,CAAC;IAC9D,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,aAAK,eAAe,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;CACrC,CAAC;AAEF,aAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,oBAAY,sBAAsB,GAAG;IACnC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;IACd,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,EAAE,eAAe,EAAE,CAAC;IACjC,qBAAqB,CAAC,EAAE,0BAA0B,CAAC;CACpD,CAAC;AAEF,oBAAY,6BAA6B,GAAG;IAAC,KAAK,EAAE,sBAAsB,CAAA;CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/organism/header-with-actions/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAuC,EACrC,0BAA0B,EAC3B,MAAM,+CAA+C,CAAC;AACvD,OAA4B,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAwBlF,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwB/B,CAAC;AAEF,eAAe,0BAA0B,CAAC;AAE1C,aAAK,QAAQ,GAAG;IACd,KAAK,EAAE,WAAW,GAAG,iBAAiB,GAAG,OAAO,GAAG,UAAU,CAAC;IAC9D,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,aAAK,eAAe,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;CACrC,CAAC;AAEF,aAAK,gBAAgB,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,aAAK,gCAAgC,GAAG;IACtC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,sBAAsB,GAAG;IACnC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;IACd,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,EAAE,eAAe,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACvD,qBAAqB,CAAC,EAAE,0BAA0B,GAAG,gCAAgC,CAAC;CACvF,CAAC;AAEF,oBAAY,6BAA6B,GAAG;IAAC,KAAK,EAAE,sBAAsB,CAAA;CAAC,CAAC"}
@@ -2,12 +2,24 @@ import PropTypes from 'prop-types';
2
2
  import bulletPointMenuButtonPropTypes from '../../molecule/bullet-point-menu-button/types';
3
3
  import ButtonLinkPropTypes from '../../atom/button-link/types';
4
4
  const closeButtonPropTypes = {
5
- size: PropTypes.oneOf(['default', 'small', 'responsive']).isRequired,
6
- icon: PropTypes.string.isRequired,
7
- 'data-name': PropTypes.string.isRequired,
8
- 'aria-label': PropTypes.string.isRequired,
5
+ 'aria-label': PropTypes.string,
9
6
  onClick: PropTypes.func.isRequired
10
7
  };
8
+ const ButtonMenuPropTypes = {
9
+ dataName: PropTypes.string,
10
+ label: PropTypes.string.isRequired,
11
+ iconName: PropTypes.string.isRequired,
12
+ iconColor: PropTypes.string.isRequired,
13
+ onClick: PropTypes.func.isRequired
14
+ };
15
+ const ButtonActionPropTypes = {
16
+ type: PropTypes.string.isRequired,
17
+ label: PropTypes.string.isRequired,
18
+ onClick: PropTypes.func.isRequired,
19
+ disabled: PropTypes.bool,
20
+ iconName: PropTypes.string.isRequired,
21
+ iconColor: PropTypes.string.isRequired
22
+ };
11
23
  const headerWithActionsPropTypes = {
12
24
  closeButton: PropTypes.shape(closeButtonPropTypes),
13
25
  title: PropTypes.string.isRequired,
@@ -20,8 +32,12 @@ const headerWithActionsPropTypes = {
20
32
  display: PropTypes.bool.isRequired,
21
33
  label: PropTypes.oneOf(['Unsaved changes', 'Saved'])
22
34
  }).isRequired,
23
- bulletPointMenuButton: PropTypes.shape(bulletPointMenuButtonPropTypes),
24
- actionButtons: PropTypes.arrayOf(PropTypes.shape(ButtonLinkPropTypes)).isRequired
35
+ bulletPointMenuButtonPropTypes: PropTypes.oneOfType([PropTypes.shape(bulletPointMenuButtonPropTypes), PropTypes.shape({
36
+ buttons: PropTypes.arrayOf(PropTypes.shape(ButtonMenuPropTypes)).isRequired,
37
+ onClick: PropTypes.func.isRequired,
38
+ buttonAriaLabel: PropTypes.string
39
+ })]),
40
+ actionButtons: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape(ButtonLinkPropTypes)), PropTypes.arrayOf(PropTypes.shape(ButtonActionPropTypes))]).isRequired
25
41
  };
26
42
  export default headerWithActionsPropTypes;
27
43
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["PropTypes","bulletPointMenuButtonPropTypes","ButtonLinkPropTypes","closeButtonPropTypes","size","oneOf","isRequired","icon","string","onClick","func","headerWithActionsPropTypes","closeButton","shape","title","tag","label","type","saveStatus","display","bool","bulletPointMenuButton","actionButtons","arrayOf"],"sources":["../../../src/organism/header-with-actions/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport bulletPointMenuButtonPropTypes, {\n BulletPointMenuButtonProps\n} from '../../molecule/bullet-point-menu-button/types';\nimport ButtonLinkPropTypes, {ButtonLinkProps} from '../../atom/button-link/types';\n\nconst closeButtonPropTypes = {\n size: PropTypes.oneOf(['default', 'small', 'responsive']).isRequired,\n icon: PropTypes.string.isRequired,\n 'data-name': PropTypes.string.isRequired,\n 'aria-label': PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired\n};\nconst headerWithActionsPropTypes = {\n closeButton: PropTypes.shape(closeButtonPropTypes),\n title: PropTypes.string.isRequired,\n tag: PropTypes.shape({\n label: PropTypes.oneOf(['Published', 'Ongoing changes', 'Draft', 'Archived']).isRequired,\n type: PropTypes.oneOf(['success', 'progress', 'warning']).isRequired,\n size: PropTypes.string.isRequired\n }).isRequired,\n saveStatus: PropTypes.shape({\n display: PropTypes.bool.isRequired,\n label: PropTypes.oneOf(['Unsaved changes', 'Saved'])\n }).isRequired,\n bulletPointMenuButton: PropTypes.shape(bulletPointMenuButtonPropTypes),\n actionButtons: PropTypes.arrayOf(PropTypes.shape(ButtonLinkPropTypes)).isRequired\n};\n\nexport default headerWithActionsPropTypes;\n\ntype TagProps = {\n label: 'Published' | 'Ongoing changes' | 'Draft' | 'Archived';\n type: 'success' | 'progress' | 'warning';\n size: string;\n};\n\ntype SaveStatusProps = {\n display: boolean;\n label?: 'Unsaved changes' | 'Saved';\n};\n\ntype CloseButtonProps = {\n size: 'default' | 'small' | 'responsive';\n icon: string;\n 'data-name': string;\n 'aria-label': string;\n onClick: () => void;\n};\n\nexport type HeaderWithActionsProps = {\n closeButton: CloseButtonProps;\n title: string;\n tag: TagProps;\n saveStatus: SaveStatusProps;\n actionButtons: ButtonLinkProps[];\n bulletPointMenuButton?: BulletPointMenuButtonProps;\n};\n\nexport type HeaderWithActionsPropsFixture = {props: HeaderWithActionsProps};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,OAAOC,8BAA8B,MAE9B,+CAA+C;AACtD,OAAOC,mBAAmB,MAAyB,8BAA8B;AAEjF,MAAMC,oBAAoB,GAAG;EAC3BC,IAAI,EAAEJ,SAAS,CAACK,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAACC,UAAU;EACpEC,IAAI,EAAEP,SAAS,CAACQ,MAAM,CAACF,UAAU;EACjC,WAAW,EAAEN,SAAS,CAACQ,MAAM,CAACF,UAAU;EACxC,YAAY,EAAEN,SAAS,CAACQ,MAAM,CAACF,UAAU;EACzCG,OAAO,EAAET,SAAS,CAACU,IAAI,CAACJ;AAC1B,CAAC;AACD,MAAMK,0BAA0B,GAAG;EACjCC,WAAW,EAAEZ,SAAS,CAACa,KAAK,CAACV,oBAAoB,CAAC;EAClDW,KAAK,EAAEd,SAAS,CAACQ,MAAM,CAACF,UAAU;EAClCS,GAAG,EAAEf,SAAS,CAACa,KAAK,CAAC;IACnBG,KAAK,EAAEhB,SAAS,CAACK,KAAK,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAACC,UAAU;IACxFW,IAAI,EAAEjB,SAAS,CAACK,KAAK,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAACC,UAAU;IACpEF,IAAI,EAAEJ,SAAS,CAACQ,MAAM,CAACF;EACzB,CAAC,CAAC,CAACA,UAAU;EACbY,UAAU,EAAElB,SAAS,CAACa,KAAK,CAAC;IAC1BM,OAAO,EAAEnB,SAAS,CAACoB,IAAI,CAACd,UAAU;IAClCU,KAAK,EAAEhB,SAAS,CAACK,KAAK,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAC;EACrD,CAAC,CAAC,CAACC,UAAU;EACbe,qBAAqB,EAAErB,SAAS,CAACa,KAAK,CAACZ,8BAA8B,CAAC;EACtEqB,aAAa,EAAEtB,SAAS,CAACuB,OAAO,CAACvB,SAAS,CAACa,KAAK,CAACX,mBAAmB,CAAC,CAAC,CAACI;AACzE,CAAC;AAED,eAAeK,0BAA0B","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["PropTypes","bulletPointMenuButtonPropTypes","ButtonLinkPropTypes","closeButtonPropTypes","string","onClick","func","isRequired","ButtonMenuPropTypes","dataName","label","iconName","iconColor","ButtonActionPropTypes","type","disabled","bool","headerWithActionsPropTypes","closeButton","shape","title","tag","oneOf","size","saveStatus","display","oneOfType","buttons","arrayOf","buttonAriaLabel","actionButtons"],"sources":["../../../src/organism/header-with-actions/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport bulletPointMenuButtonPropTypes, {\n BulletPointMenuButtonProps\n} from '../../molecule/bullet-point-menu-button/types';\nimport ButtonLinkPropTypes, {ButtonLinkProps} from '../../atom/button-link/types';\n\nconst closeButtonPropTypes = {\n 'aria-label': PropTypes.string,\n onClick: PropTypes.func.isRequired\n};\n\nconst ButtonMenuPropTypes = {\n dataName: PropTypes.string,\n label: PropTypes.string.isRequired,\n iconName: PropTypes.string.isRequired,\n iconColor: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired\n};\n\nconst ButtonActionPropTypes = {\n type: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n iconName: PropTypes.string.isRequired,\n iconColor: PropTypes.string.isRequired\n};\n\nconst headerWithActionsPropTypes = {\n closeButton: PropTypes.shape(closeButtonPropTypes),\n title: PropTypes.string.isRequired,\n tag: PropTypes.shape({\n label: PropTypes.oneOf(['Published', 'Ongoing changes', 'Draft', 'Archived']).isRequired,\n type: PropTypes.oneOf(['success', 'progress', 'warning']).isRequired,\n size: PropTypes.string.isRequired\n }).isRequired,\n saveStatus: PropTypes.shape({\n display: PropTypes.bool.isRequired,\n label: PropTypes.oneOf(['Unsaved changes', 'Saved'])\n }).isRequired,\n bulletPointMenuButtonPropTypes: PropTypes.oneOfType([\n PropTypes.shape(bulletPointMenuButtonPropTypes),\n PropTypes.shape({\n buttons: PropTypes.arrayOf(PropTypes.shape(ButtonMenuPropTypes)).isRequired,\n onClick: PropTypes.func.isRequired,\n buttonAriaLabel: PropTypes.string\n })\n ]),\n actionButtons: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.shape(ButtonLinkPropTypes)),\n PropTypes.arrayOf(PropTypes.shape(ButtonActionPropTypes))\n ]).isRequired\n};\n\nexport default headerWithActionsPropTypes;\n\ntype TagProps = {\n label: 'Published' | 'Ongoing changes' | 'Draft' | 'Archived';\n type: 'success' | 'progress' | 'warning';\n size: string;\n};\n\ntype SaveStatusProps = {\n display: boolean;\n label?: 'Unsaved changes' | 'Saved';\n};\n\ntype CloseButtonProps = {\n 'aria-label': string;\n onClick: () => void;\n};\n\nexport type ButtonMenuProps = {\n dataName: string;\n label: string;\n iconName: string;\n iconColor: string;\n onClick: () => void;\n};\n\ntype BulletPointMenuButtonCustomProps = {\n buttons: ButtonMenuProps[];\n onClick: () => void;\n buttonAriaLabel: string;\n};\n\nexport type ButtonActionProps = {\n type: 'primary' | 'secondary';\n label: string;\n onClick: () => void;\n disabled?: boolean;\n iconName: string;\n iconColor: string;\n};\n\nexport type HeaderWithActionsProps = {\n closeButton: CloseButtonProps;\n title: string;\n tag: TagProps;\n saveStatus: SaveStatusProps;\n actionButtons: ButtonLinkProps[] | ButtonActionProps[];\n bulletPointMenuButton?: BulletPointMenuButtonProps | BulletPointMenuButtonCustomProps;\n};\n\nexport type HeaderWithActionsPropsFixture = {props: HeaderWithActionsProps};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,OAAOC,8BAA8B,MAE9B,+CAA+C;AACtD,OAAOC,mBAAmB,MAAyB,8BAA8B;AAEjF,MAAMC,oBAAoB,GAAG;EAC3B,YAAY,EAAEH,SAAS,CAACI,MAAM;EAC9BC,OAAO,EAAEL,SAAS,CAACM,IAAI,CAACC;AAC1B,CAAC;AAED,MAAMC,mBAAmB,GAAG;EAC1BC,QAAQ,EAAET,SAAS,CAACI,MAAM;EAC1BM,KAAK,EAAEV,SAAS,CAACI,MAAM,CAACG,UAAU;EAClCI,QAAQ,EAAEX,SAAS,CAACI,MAAM,CAACG,UAAU;EACrCK,SAAS,EAAEZ,SAAS,CAACI,MAAM,CAACG,UAAU;EACtCF,OAAO,EAAEL,SAAS,CAACM,IAAI,CAACC;AAC1B,CAAC;AAED,MAAMM,qBAAqB,GAAG;EAC5BC,IAAI,EAAEd,SAAS,CAACI,MAAM,CAACG,UAAU;EACjCG,KAAK,EAAEV,SAAS,CAACI,MAAM,CAACG,UAAU;EAClCF,OAAO,EAAEL,SAAS,CAACM,IAAI,CAACC,UAAU;EAClCQ,QAAQ,EAAEf,SAAS,CAACgB,IAAI;EACxBL,QAAQ,EAAEX,SAAS,CAACI,MAAM,CAACG,UAAU;EACrCK,SAAS,EAAEZ,SAAS,CAACI,MAAM,CAACG;AAC9B,CAAC;AAED,MAAMU,0BAA0B,GAAG;EACjCC,WAAW,EAAElB,SAAS,CAACmB,KAAK,CAAChB,oBAAoB,CAAC;EAClDiB,KAAK,EAAEpB,SAAS,CAACI,MAAM,CAACG,UAAU;EAClCc,GAAG,EAAErB,SAAS,CAACmB,KAAK,CAAC;IACnBT,KAAK,EAAEV,SAAS,CAACsB,KAAK,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAACf,UAAU;IACxFO,IAAI,EAAEd,SAAS,CAACsB,KAAK,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAACf,UAAU;IACpEgB,IAAI,EAAEvB,SAAS,CAACI,MAAM,CAACG;EACzB,CAAC,CAAC,CAACA,UAAU;EACbiB,UAAU,EAAExB,SAAS,CAACmB,KAAK,CAAC;IAC1BM,OAAO,EAAEzB,SAAS,CAACgB,IAAI,CAACT,UAAU;IAClCG,KAAK,EAAEV,SAAS,CAACsB,KAAK,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAC;EACrD,CAAC,CAAC,CAACf,UAAU;EACbN,8BAA8B,EAAED,SAAS,CAAC0B,SAAS,CAAC,CAClD1B,SAAS,CAACmB,KAAK,CAAClB,8BAA8B,CAAC,EAC/CD,SAAS,CAACmB,KAAK,CAAC;IACdQ,OAAO,EAAE3B,SAAS,CAAC4B,OAAO,CAAC5B,SAAS,CAACmB,KAAK,CAACX,mBAAmB,CAAC,CAAC,CAACD,UAAU;IAC3EF,OAAO,EAAEL,SAAS,CAACM,IAAI,CAACC,UAAU;IAClCsB,eAAe,EAAE7B,SAAS,CAACI;EAC7B,CAAC,CAAC,CACH,CAAC;EACF0B,aAAa,EAAE9B,SAAS,CAAC0B,SAAS,CAAC,CACjC1B,SAAS,CAAC4B,OAAO,CAAC5B,SAAS,CAACmB,KAAK,CAACjB,mBAAmB,CAAC,CAAC,EACvDF,SAAS,CAAC4B,OAAO,CAAC5B,SAAS,CAACmB,KAAK,CAACN,qBAAqB,CAAC,CAAC,CAC1D,CAAC,CAACN;AACL,CAAC;AAED,eAAeU,0BAA0B","ignoreList":[]}
@@ -183,10 +183,7 @@ declare namespace BrandUpdate {
183
183
  }> | PropTypes.InferProps<{
184
184
  type: PropTypes.Validator<string>;
185
185
  closeButton: PropTypes.Requireable<PropTypes.InferProps<{
186
- size: PropTypes.Validator<string>;
187
- icon: PropTypes.Validator<string>;
188
- 'data-name': PropTypes.Validator<string>;
189
- 'aria-label': PropTypes.Validator<string>;
186
+ 'aria-label': PropTypes.Requireable<string>;
190
187
  onClick: PropTypes.Validator<(...args: any[]) => any>;
191
188
  }>>;
192
189
  title: PropTypes.Validator<string>;
@@ -199,7 +196,7 @@ declare namespace BrandUpdate {
199
196
  display: PropTypes.Validator<boolean>;
200
197
  label: PropTypes.Requireable<string>;
201
198
  }>>>;
202
- bulletPointMenuButton: PropTypes.Requireable<PropTypes.InferProps<{
199
+ bulletPointMenuButtonPropTypes: PropTypes.Requireable<NonNullable<PropTypes.InferProps<{
203
200
  'data-name': PropTypes.Requireable<string>;
204
201
  disabled: PropTypes.Requireable<boolean>;
205
202
  buttonAriaLabel: PropTypes.Requireable<string>;
@@ -232,8 +229,18 @@ declare namespace BrandUpdate {
232
229
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
233
230
  menuButtonClassName: PropTypes.Requireable<string>;
234
231
  isBulkMenu: PropTypes.Requireable<boolean>;
235
- }>>;
236
- actionButtons: PropTypes.Validator<(PropTypes.InferProps<{
232
+ }> | PropTypes.InferProps<{
233
+ buttons: PropTypes.Validator<(PropTypes.InferProps<{
234
+ dataName: PropTypes.Requireable<string>;
235
+ label: PropTypes.Validator<string>;
236
+ iconName: PropTypes.Validator<string>;
237
+ iconColor: PropTypes.Validator<string>;
238
+ onClick: PropTypes.Validator<(...args: any[]) => any>;
239
+ }> | null | undefined)[]>;
240
+ onClick: PropTypes.Validator<(...args: any[]) => any>;
241
+ buttonAriaLabel: PropTypes.Requireable<string>;
242
+ }> | null | undefined>>;
243
+ actionButtons: PropTypes.Validator<NonNullable<NonNullable<(PropTypes.InferProps<{
237
244
  type: PropTypes.Requireable<string>;
238
245
  usage: PropTypes.Requireable<string>;
239
246
  label: PropTypes.Requireable<string>;
@@ -269,7 +276,14 @@ declare namespace BrandUpdate {
269
276
  customStyle: PropTypes.Requireable<{
270
277
  [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
271
278
  }>;
272
- }> | null | undefined)[]>;
279
+ }> | null | undefined)[] | (PropTypes.InferProps<{
280
+ type: PropTypes.Validator<string>;
281
+ label: PropTypes.Validator<string>;
282
+ onClick: PropTypes.Validator<(...args: any[]) => any>;
283
+ disabled: PropTypes.Requireable<boolean>;
284
+ iconName: PropTypes.Validator<string>;
285
+ iconColor: PropTypes.Validator<string>;
286
+ }> | null | undefined)[] | null | undefined>>>;
273
287
  }> | null | undefined>>;
274
288
  export const items: PropTypes.Validator<(PropTypes.InferProps<{
275
289
  key: PropTypes.Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/back-office/brand-update/index.js"],"names":[],"mappings":";AAmPA,sDAgDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/back-office/brand-update/index.js"],"names":[],"mappings":";AAqPA,sDAgDC"}
@@ -102,7 +102,9 @@ const buildNotifications = notifications => {
102
102
  const buildHeader = header => {
103
103
  return /*#__PURE__*/React.createElement("div", {
104
104
  className: style.header
105
- }, header.type === 'header-with-actions' ? /*#__PURE__*/React.createElement(HeaderWithActions, header) : /*#__PURE__*/React.createElement(Header, header));
105
+ }, header.type === 'header-with-actions' ? /*#__PURE__*/React.createElement(HeaderWithActions, header) : /*#__PURE__*/React.createElement("div", {
106
+ className: style.headerStickyDefault
107
+ }, /*#__PURE__*/React.createElement(Header, header)));
106
108
  };
107
109
  const buildDefaultPopin = popin => {
108
110
  const {
@@ -350,7 +352,7 @@ BrandUpdate.propTypes = process.env.NODE_ENV !== "production" ? {
350
352
  }),
351
353
  popin: PropTypes.oneOfType([PropTypes.shape({
352
354
  ...CmPopin.propTypes,
353
- theme: PropTypes.oneOf(['published', 'archived', 'deleted'])
355
+ theme: PropTypes.oneOf(['published', 'archived', 'deleted', 'draft'])
354
356
  }), PropTypes.shape({
355
357
  ...IconPickerModal.propTypes,
356
358
  type: PropTypes.oneOf(['icon-picker'])