@coorpacademy/components 11.13.3 → 11.13.4

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 (157) hide show
  1. package/es/atom/avatar/style.css +1 -1
  2. package/es/atom/button-link/index.d.ts +23 -24
  3. package/es/atom/button-link/index.d.ts.map +1 -1
  4. package/es/atom/button-link/index.js +10 -30
  5. package/es/atom/button-link/index.js.map +1 -1
  6. package/es/atom/button-link/style.css +10 -1
  7. package/es/atom/button-link/types.d.ts +50 -0
  8. package/es/atom/button-link/types.d.ts.map +1 -0
  9. package/es/atom/button-link/types.js +25 -0
  10. package/es/atom/button-link/types.js.map +1 -0
  11. package/es/atom/button-link-icon-only/style.css +16 -1
  12. package/es/atom/button-menu/index.d.ts +14 -13
  13. package/es/atom/button-menu/index.d.ts.map +1 -1
  14. package/es/atom/button-menu/index.js +5 -13
  15. package/es/atom/button-menu/index.js.map +1 -1
  16. package/es/atom/button-menu/types.d.ts +35 -0
  17. package/es/atom/button-menu/types.d.ts.map +1 -0
  18. package/es/atom/button-menu/types.js +14 -0
  19. package/es/atom/button-menu/types.js.map +1 -0
  20. package/es/atom/difficulty-level/style.css +1 -1
  21. package/es/atom/link/index.d.ts +1 -0
  22. package/es/atom/link/index.js +1 -0
  23. package/es/atom/link/index.js.map +1 -1
  24. package/es/atom/status-item/style.css +3 -0
  25. package/es/molecule/brand-form-group/index.d.ts +0 -2
  26. package/es/molecule/bullet-point-menu-button/index.d.ts +20 -17
  27. package/es/molecule/bullet-point-menu-button/index.d.ts.map +1 -1
  28. package/es/molecule/bullet-point-menu-button/index.js +9 -11
  29. package/es/molecule/bullet-point-menu-button/index.js.map +1 -1
  30. package/es/molecule/bullet-point-menu-button/style.css +20 -0
  31. package/es/molecule/bullet-point-menu-button/types.d.ts +31 -0
  32. package/es/molecule/bullet-point-menu-button/types.d.ts.map +1 -0
  33. package/es/molecule/bullet-point-menu-button/types.js +13 -0
  34. package/es/molecule/bullet-point-menu-button/types.js.map +1 -0
  35. package/es/molecule/empty-state-dashboard/index.d.ts +1 -1
  36. package/es/molecule/empty-state-dashboard/index.d.ts.map +1 -1
  37. package/es/molecule/empty-state-dashboard/index.js +2 -2
  38. package/es/molecule/empty-state-dashboard/index.js.map +1 -1
  39. package/es/molecule/empty-state-dashboard/types.d.ts +8 -0
  40. package/es/molecule/empty-state-dashboard/types.d.ts.map +1 -1
  41. package/es/molecule/empty-state-dashboard/types.js.map +1 -1
  42. package/es/molecule/expandible-actionable-table/index.d.ts +103 -0
  43. package/es/molecule/expandible-actionable-table/index.d.ts.map +1 -0
  44. package/es/molecule/expandible-actionable-table/index.js +193 -0
  45. package/es/molecule/expandible-actionable-table/index.js.map +1 -0
  46. package/es/molecule/expandible-actionable-table/style.css +134 -0
  47. package/es/molecule/expandible-actionable-table/types.d.ts +116 -0
  48. package/es/molecule/expandible-actionable-table/types.d.ts.map +1 -0
  49. package/es/molecule/expandible-actionable-table/types.js +33 -0
  50. package/es/molecule/expandible-actionable-table/types.js.map +1 -0
  51. package/es/molecule/uploading-file-progress/index.d.ts +1 -1
  52. package/es/molecule/uploading-file-progress/index.d.ts.map +1 -1
  53. package/es/molecule/uploading-file-progress/index.js.map +1 -1
  54. package/es/molecule/uploading-file-progress/types.d.ts +10 -1
  55. package/es/molecule/uploading-file-progress/types.d.ts.map +1 -1
  56. package/es/molecule/uploading-file-progress/types.js.map +1 -1
  57. package/es/organism/brand-form/index.d.ts +0 -2
  58. package/es/organism/list-items/index.d.ts +109 -6
  59. package/es/organism/list-items/index.d.ts.map +1 -1
  60. package/es/organism/list-items/index.js +44 -15
  61. package/es/organism/list-items/index.js.map +1 -1
  62. package/es/organism/setup-header/index.d.ts +0 -8
  63. package/es/organism/wizard-contents/index.d.ts +71 -2
  64. package/es/organism/wizard-contents/index.d.ts.map +1 -1
  65. package/es/organism/wizard-contents/index.js +6 -0
  66. package/es/organism/wizard-contents/index.js.map +1 -1
  67. package/es/template/back-office/brand-create/index.d.ts +0 -8
  68. package/es/template/back-office/brand-create/index.d.ts.map +1 -1
  69. package/es/template/back-office/brand-list/index.d.ts +0 -8
  70. package/es/template/back-office/brand-list/index.d.ts.map +1 -1
  71. package/es/template/back-office/brand-update/index.d.ts +288 -802
  72. package/es/template/back-office/brand-update/index.d.ts.map +1 -1
  73. package/es/template/back-office/brand-update/index.js +14 -2
  74. package/es/template/back-office/brand-update/index.js.map +1 -1
  75. package/es/template/back-office/dashboard-preview/index.d.ts +0 -8
  76. package/es/template/back-office/layout/index.d.ts +0 -8
  77. package/es/template/back-office/layout/index.d.ts.map +1 -1
  78. package/lib/atom/avatar/style.css +1 -1
  79. package/lib/atom/button-link/index.d.ts +23 -24
  80. package/lib/atom/button-link/index.d.ts.map +1 -1
  81. package/lib/atom/button-link/index.js +10 -32
  82. package/lib/atom/button-link/index.js.map +1 -1
  83. package/lib/atom/button-link/style.css +10 -1
  84. package/lib/atom/button-link/types.d.ts +50 -0
  85. package/lib/atom/button-link/types.d.ts.map +1 -0
  86. package/lib/atom/button-link/types.js +36 -0
  87. package/lib/atom/button-link/types.js.map +1 -0
  88. package/lib/atom/button-link-icon-only/style.css +16 -1
  89. package/lib/atom/button-menu/index.d.ts +14 -13
  90. package/lib/atom/button-menu/index.d.ts.map +1 -1
  91. package/lib/atom/button-menu/index.js +6 -14
  92. package/lib/atom/button-menu/index.js.map +1 -1
  93. package/lib/atom/button-menu/types.d.ts +35 -0
  94. package/lib/atom/button-menu/types.d.ts.map +1 -0
  95. package/lib/atom/button-menu/types.js +24 -0
  96. package/lib/atom/button-menu/types.js.map +1 -0
  97. package/lib/atom/difficulty-level/style.css +1 -1
  98. package/lib/atom/link/index.d.ts +1 -0
  99. package/lib/atom/link/index.js +1 -0
  100. package/lib/atom/link/index.js.map +1 -1
  101. package/lib/atom/status-item/style.css +3 -0
  102. package/lib/molecule/brand-form-group/index.d.ts +0 -2
  103. package/lib/molecule/bullet-point-menu-button/index.d.ts +20 -17
  104. package/lib/molecule/bullet-point-menu-button/index.d.ts.map +1 -1
  105. package/lib/molecule/bullet-point-menu-button/index.js +10 -11
  106. package/lib/molecule/bullet-point-menu-button/index.js.map +1 -1
  107. package/lib/molecule/bullet-point-menu-button/style.css +20 -0
  108. package/lib/molecule/bullet-point-menu-button/types.d.ts +31 -0
  109. package/lib/molecule/bullet-point-menu-button/types.d.ts.map +1 -0
  110. package/lib/molecule/bullet-point-menu-button/types.js +23 -0
  111. package/lib/molecule/bullet-point-menu-button/types.js.map +1 -0
  112. package/lib/molecule/empty-state-dashboard/index.d.ts +1 -1
  113. package/lib/molecule/empty-state-dashboard/index.d.ts.map +1 -1
  114. package/lib/molecule/empty-state-dashboard/index.js +2 -2
  115. package/lib/molecule/empty-state-dashboard/index.js.map +1 -1
  116. package/lib/molecule/empty-state-dashboard/types.d.ts +8 -0
  117. package/lib/molecule/empty-state-dashboard/types.d.ts.map +1 -1
  118. package/lib/molecule/empty-state-dashboard/types.js.map +1 -1
  119. package/lib/molecule/expandible-actionable-table/index.d.ts +103 -0
  120. package/lib/molecule/expandible-actionable-table/index.d.ts.map +1 -0
  121. package/lib/molecule/expandible-actionable-table/index.js +215 -0
  122. package/lib/molecule/expandible-actionable-table/index.js.map +1 -0
  123. package/lib/molecule/expandible-actionable-table/style.css +134 -0
  124. package/lib/molecule/expandible-actionable-table/types.d.ts +116 -0
  125. package/lib/molecule/expandible-actionable-table/types.d.ts.map +1 -0
  126. package/lib/molecule/expandible-actionable-table/types.js +47 -0
  127. package/lib/molecule/expandible-actionable-table/types.js.map +1 -0
  128. package/lib/molecule/uploading-file-progress/index.d.ts +1 -1
  129. package/lib/molecule/uploading-file-progress/index.d.ts.map +1 -1
  130. package/lib/molecule/uploading-file-progress/index.js.map +1 -1
  131. package/lib/molecule/uploading-file-progress/types.d.ts +10 -1
  132. package/lib/molecule/uploading-file-progress/types.d.ts.map +1 -1
  133. package/lib/molecule/uploading-file-progress/types.js.map +1 -1
  134. package/lib/organism/brand-form/index.d.ts +0 -2
  135. package/lib/organism/list-items/index.d.ts +109 -6
  136. package/lib/organism/list-items/index.d.ts.map +1 -1
  137. package/lib/organism/list-items/index.js +45 -15
  138. package/lib/organism/list-items/index.js.map +1 -1
  139. package/lib/organism/setup-header/index.d.ts +0 -8
  140. package/lib/organism/wizard-contents/index.d.ts +71 -2
  141. package/lib/organism/wizard-contents/index.d.ts.map +1 -1
  142. package/lib/organism/wizard-contents/index.js +7 -0
  143. package/lib/organism/wizard-contents/index.js.map +1 -1
  144. package/lib/template/back-office/brand-create/index.d.ts +0 -8
  145. package/lib/template/back-office/brand-create/index.d.ts.map +1 -1
  146. package/lib/template/back-office/brand-list/index.d.ts +0 -8
  147. package/lib/template/back-office/brand-list/index.d.ts.map +1 -1
  148. package/lib/template/back-office/brand-update/index.d.ts +288 -802
  149. package/lib/template/back-office/brand-update/index.d.ts.map +1 -1
  150. package/lib/template/back-office/brand-update/index.js +15 -2
  151. package/lib/template/back-office/brand-update/index.js.map +1 -1
  152. package/lib/template/back-office/dashboard-preview/index.d.ts +0 -8
  153. package/lib/template/back-office/layout/index.d.ts +0 -8
  154. package/lib/template/back-office/layout/index.d.ts.map +1 -1
  155. package/locales/.mtslconfig.json +1 -0
  156. package/locales/en/global.json +2 -1
  157. package/package.json +3 -3
@@ -1,19 +1,22 @@
1
- export default BulletPointMenuButton;
2
- declare function BulletPointMenuButton(props: any): JSX.Element;
3
- declare namespace BulletPointMenuButton {
4
- namespace propTypes {
5
- const disabled: PropTypes.Requireable<boolean>;
6
- const buttonAriaLabel: PropTypes.Requireable<string>;
7
- const menuAriaLabel: PropTypes.Requireable<string>;
8
- const buttons: PropTypes.Validator<(PropTypes.InferProps<{
9
- 'data-name': PropTypes.Requireable<string>;
10
- disabled: PropTypes.Requireable<boolean>;
11
- label: PropTypes.Validator<string>;
12
- onClick: PropTypes.Validator<(...args: any[]) => any>;
13
- type: PropTypes.Requireable<string>;
1
+ /// <reference types="react" />
2
+ import { BulletPointMenuButtonProps } from './types';
3
+ declare const BulletPointMenuButton: {
4
+ (props: BulletPointMenuButtonProps): JSX.Element;
5
+ propTypes: {
6
+ disabled: import("prop-types").Requireable<boolean>;
7
+ buttonAriaLabel: import("prop-types").Requireable<string>;
8
+ menuAriaLabel: import("prop-types").Requireable<string>;
9
+ buttons: import("prop-types").Validator<(import("prop-types").InferProps<{
10
+ 'data-name': import("prop-types").Requireable<string>;
11
+ disabled: import("prop-types").Requireable<boolean>;
12
+ label: import("prop-types").Validator<string>;
13
+ onClick: import("prop-types").Validator<(...args: any[]) => any>;
14
+ type: import("prop-types").Requireable<string>;
14
15
  }> | null | undefined)[]>;
15
- const onClick: PropTypes.Requireable<(...args: any[]) => any>;
16
- }
17
- }
18
- import PropTypes from "prop-types";
16
+ onClick: import("prop-types").Requireable<(...args: any[]) => any>;
17
+ menuButtonClassName: import("prop-types").Requireable<string>;
18
+ isBulkMenu: import("prop-types").Requireable<boolean>;
19
+ };
20
+ };
21
+ export default BulletPointMenuButton;
19
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/bullet-point-menu-button/index.js"],"names":[],"mappings":";AAMA,gEA6BC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/bullet-point-menu-button/index.tsx"],"names":[],"mappings":";AAIA,OAAkB,EAAC,0BAA0B,EAAC,MAAM,SAAS,CAAC;AAG9D,QAAA,MAAM,qBAAqB;YAAW,0BAA0B;;;;;;;;;;;;;;;;CA0C/D,CAAC;AAIF,eAAe,qBAAqB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import React, { useCallback } from 'react';
2
- import PropTypes from 'prop-types';
2
+ import classnames from 'classnames';
3
3
  import ButtonLinkIconOnly from '../../atom/button-link-icon-only';
4
4
  import ButtonMenu from '../../atom/button-menu';
5
+ import propTypes from './types';
5
6
  import style from './style.css';
6
7
 
7
8
  const BulletPointMenuButton = props => {
@@ -10,7 +11,9 @@ const BulletPointMenuButton = props => {
10
11
  buttonAriaLabel,
11
12
  menuAriaLabel,
12
13
  onClick,
13
- buttons
14
+ buttons,
15
+ menuButtonClassName,
16
+ isBulkMenu
14
17
  } = props;
15
18
  const handleOnClick = useCallback(() => onClick(), [onClick]);
16
19
  const menuProps = {
@@ -18,7 +21,7 @@ const BulletPointMenuButton = props => {
18
21
  buttons
19
22
  };
20
23
  const menu = /*#__PURE__*/React.createElement("div", {
21
- className: style.bulletPointMenu,
24
+ className: classnames(style.bulletPointMenu, isBulkMenu && style.bulkBulletPointMenu),
22
25
  "data-name": "menu-wrapper",
23
26
  "aria-label": menuAriaLabel
24
27
  }, /*#__PURE__*/React.createElement(ButtonMenu, menuProps));
@@ -28,7 +31,8 @@ const BulletPointMenuButton = props => {
28
31
  'data-name': 'bullet-point-button',
29
32
  icon: 'bullet-point',
30
33
  onClick: handleOnClick,
31
- disabled
34
+ disabled,
35
+ className: menuButtonClassName
32
36
  };
33
37
  return /*#__PURE__*/React.createElement("div", {
34
38
  className: style.bulletPointWrapper,
@@ -36,12 +40,6 @@ const BulletPointMenuButton = props => {
36
40
  }, /*#__PURE__*/React.createElement(ButtonLinkIconOnly, bulletPointButtonProps), menu);
37
41
  };
38
42
 
39
- BulletPointMenuButton.propTypes = process.env.NODE_ENV !== "production" ? {
40
- disabled: PropTypes.bool,
41
- buttonAriaLabel: PropTypes.string,
42
- menuAriaLabel: PropTypes.string,
43
- buttons: ButtonMenu.propTypes.buttons,
44
- onClick: PropTypes.func
45
- } : {};
43
+ BulletPointMenuButton.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
46
44
  export default BulletPointMenuButton;
47
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","PropTypes","ButtonLinkIconOnly","ButtonMenu","style","BulletPointMenuButton","props","disabled","buttonAriaLabel","menuAriaLabel","onClick","buttons","handleOnClick","menuProps","menu","bulletPointMenu","bulletPointButtonProps","size","icon","bulletPointWrapper","propTypes","bool","string","func"],"sources":["../../../src/molecule/bullet-point-menu-button/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport ButtonMenu from '../../atom/button-menu';\nimport style from './style.css';\n\nconst BulletPointMenuButton = props => {\n const {disabled = false, buttonAriaLabel, menuAriaLabel, onClick, buttons} = props;\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n\n const menuProps = {\n 'data-name': 'button-menu',\n buttons\n };\n\n const menu = (\n <div className={style.bulletPointMenu} data-name=\"menu-wrapper\" aria-label={menuAriaLabel}>\n <ButtonMenu {...menuProps} />\n </div>\n );\n const bulletPointButtonProps = {\n size: 'default',\n 'aria-label': buttonAriaLabel,\n 'data-name': 'bullet-point-button',\n icon: 'bullet-point',\n onClick: handleOnClick,\n disabled\n };\n\n return (\n <div className={style.bulletPointWrapper} data-name=\"bullet-point-wrapper\">\n <ButtonLinkIconOnly {...bulletPointButtonProps} />\n {menu}\n </div>\n );\n};\n\nBulletPointMenuButton.propTypes = {\n disabled: PropTypes.bool,\n buttonAriaLabel: PropTypes.string,\n menuAriaLabel: PropTypes.string,\n buttons: ButtonMenu.propTypes.buttons,\n onClick: PropTypes.func\n};\n\nexport default BulletPointMenuButton;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,WAAf,QAAiC,OAAjC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,kBAAP,MAA+B,kCAA/B;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,qBAAqB,GAAGC,KAAK,IAAI;EACrC,MAAM;IAACC,QAAQ,GAAG,KAAZ;IAAmBC,eAAnB;IAAoCC,aAApC;IAAmDC,OAAnD;IAA4DC;EAA5D,IAAuEL,KAA7E;EACA,MAAMM,aAAa,GAAGZ,WAAW,CAAC,MAAMU,OAAO,EAAd,EAAkB,CAACA,OAAD,CAAlB,CAAjC;EAEA,MAAMG,SAAS,GAAG;IAChB,aAAa,aADG;IAEhBF;EAFgB,CAAlB;EAKA,MAAMG,IAAI,gBACR;IAAK,SAAS,EAAEV,KAAK,CAACW,eAAtB;IAAuC,aAAU,cAAjD;IAAgE,cAAYN;EAA5E,gBACE,oBAAC,UAAD,EAAgBI,SAAhB,CADF,CADF;EAKA,MAAMG,sBAAsB,GAAG;IAC7BC,IAAI,EAAE,SADuB;IAE7B,cAAcT,eAFe;IAG7B,aAAa,qBAHgB;IAI7BU,IAAI,EAAE,cAJuB;IAK7BR,OAAO,EAAEE,aALoB;IAM7BL;EAN6B,CAA/B;EASA,oBACE;IAAK,SAAS,EAAEH,KAAK,CAACe,kBAAtB;IAA0C,aAAU;EAApD,gBACE,oBAAC,kBAAD,EAAwBH,sBAAxB,CADF,EAEGF,IAFH,CADF;AAMD,CA7BD;;AA+BAT,qBAAqB,CAACe,SAAtB,2CAAkC;EAChCb,QAAQ,EAAEN,SAAS,CAACoB,IADY;EAEhCb,eAAe,EAAEP,SAAS,CAACqB,MAFK;EAGhCb,aAAa,EAAER,SAAS,CAACqB,MAHO;EAIhCX,OAAO,EAAER,UAAU,CAACiB,SAAX,CAAqBT,OAJE;EAKhCD,OAAO,EAAET,SAAS,CAACsB;AALa,CAAlC;AAQA,eAAelB,qBAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","classnames","ButtonLinkIconOnly","ButtonMenu","propTypes","style","BulletPointMenuButton","props","disabled","buttonAriaLabel","menuAriaLabel","onClick","buttons","menuButtonClassName","isBulkMenu","handleOnClick","menuProps","menu","bulletPointMenu","bulkBulletPointMenu","bulletPointButtonProps","size","icon","className","bulletPointWrapper"],"sources":["../../../src/molecule/bullet-point-menu-button/index.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport classnames from 'classnames';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport ButtonMenu from '../../atom/button-menu';\nimport propTypes, {BulletPointMenuButtonProps} from './types';\nimport style from './style.css';\n\nconst BulletPointMenuButton = (props: BulletPointMenuButtonProps) => {\n const {\n disabled = false,\n buttonAriaLabel,\n menuAriaLabel,\n onClick,\n buttons,\n menuButtonClassName,\n isBulkMenu\n } = props;\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n\n const menuProps = {\n 'data-name': 'button-menu',\n buttons\n };\n\n const menu = (\n <div\n className={classnames(style.bulletPointMenu, isBulkMenu && style.bulkBulletPointMenu)}\n data-name=\"menu-wrapper\"\n aria-label={menuAriaLabel}\n >\n <ButtonMenu {...menuProps} />\n </div>\n );\n const bulletPointButtonProps = {\n size: 'default',\n 'aria-label': buttonAriaLabel,\n 'data-name': 'bullet-point-button',\n icon: 'bullet-point',\n onClick: handleOnClick,\n disabled,\n className: menuButtonClassName\n };\n\n return (\n <div className={style.bulletPointWrapper} data-name=\"bullet-point-wrapper\">\n <ButtonLinkIconOnly {...bulletPointButtonProps} />\n {menu}\n </div>\n );\n};\n\nBulletPointMenuButton.propTypes = propTypes;\n\nexport default BulletPointMenuButton;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,WAAf,QAAiC,OAAjC;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,kBAAP,MAA+B,kCAA/B;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,SAAP,MAAoD,SAApD;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,qBAAqB,GAAIC,KAAD,IAAuC;EACnE,MAAM;IACJC,QAAQ,GAAG,KADP;IAEJC,eAFI;IAGJC,aAHI;IAIJC,OAJI;IAKJC,OALI;IAMJC,mBANI;IAOJC;EAPI,IAQFP,KARJ;EASA,MAAMQ,aAAa,GAAGf,WAAW,CAAC,MAAMW,OAAO,EAAd,EAAkB,CAACA,OAAD,CAAlB,CAAjC;EAEA,MAAMK,SAAS,GAAG;IAChB,aAAa,aADG;IAEhBJ;EAFgB,CAAlB;EAKA,MAAMK,IAAI,gBACR;IACE,SAAS,EAAEhB,UAAU,CAACI,KAAK,CAACa,eAAP,EAAwBJ,UAAU,IAAIT,KAAK,CAACc,mBAA5C,CADvB;IAEE,aAAU,cAFZ;IAGE,cAAYT;EAHd,gBAKE,oBAAC,UAAD,EAAgBM,SAAhB,CALF,CADF;EASA,MAAMI,sBAAsB,GAAG;IAC7BC,IAAI,EAAE,SADuB;IAE7B,cAAcZ,eAFe;IAG7B,aAAa,qBAHgB;IAI7Ba,IAAI,EAAE,cAJuB;IAK7BX,OAAO,EAAEI,aALoB;IAM7BP,QAN6B;IAO7Be,SAAS,EAAEV;EAPkB,CAA/B;EAUA,oBACE;IAAK,SAAS,EAAER,KAAK,CAACmB,kBAAtB;IAA0C,aAAU;EAApD,gBACE,oBAAC,kBAAD,EAAwBJ,sBAAxB,CADF,EAEGH,IAFH,CADF;AAMD,CA1CD;;AA4CAX,qBAAqB,CAACF,SAAtB,2CAAkCA,SAAlC;AAEA,eAAeE,qBAAf"}
@@ -53,3 +53,23 @@ button:focus + .bulletPointMenu {
53
53
  */
54
54
  .bulletPointWrapper > button:focus { pointer-events: none; }
55
55
  .bulletPointWrapper > button:not(:focus) { pointer-events: auto; }
56
+
57
+ /*
58
+ bulk theme
59
+ */
60
+ .bulkBulletPointMenu{
61
+ min-width: 80px;
62
+ /* positioning */
63
+ position: absolute;
64
+ align-self: flex-end;
65
+ bottom: 54px;
66
+ right: 0px;
67
+ /* elevation shadow */
68
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 28px 0px, rgba(0, 0, 0, 0.1) 0px 2px 4px 0px, rgba(255, 255, 255, 0.05) 0px 0px 0px 1px inset;
69
+ z-index: 1;
70
+ /* round corners */
71
+ border-radius: 7px;
72
+ overflow: hidden;
73
+ background-color: cm_grey_100;
74
+ width: 142px;
75
+ }
@@ -0,0 +1,31 @@
1
+ import PropTypes from 'prop-types';
2
+ import { ButtonProps } from '../../atom/button-menu/types';
3
+ declare const propTypes: {
4
+ disabled: PropTypes.Requireable<boolean>;
5
+ buttonAriaLabel: PropTypes.Requireable<string>;
6
+ menuAriaLabel: PropTypes.Requireable<string>;
7
+ buttons: PropTypes.Validator<(PropTypes.InferProps<{
8
+ 'data-name': PropTypes.Requireable<string>;
9
+ disabled: PropTypes.Requireable<boolean>;
10
+ label: PropTypes.Validator<string>;
11
+ onClick: PropTypes.Validator<(...args: any[]) => any>;
12
+ type: PropTypes.Requireable<string>;
13
+ }> | null | undefined)[]>;
14
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
15
+ menuButtonClassName: PropTypes.Requireable<string>;
16
+ isBulkMenu: PropTypes.Requireable<boolean>;
17
+ };
18
+ export default propTypes;
19
+ export declare type BulletPointMenuButtonProps = {
20
+ disabled?: boolean;
21
+ buttonAriaLabel?: string;
22
+ menuAriaLabel?: string;
23
+ buttons: ButtonProps[];
24
+ onClick: () => void;
25
+ menuButtonClassName?: string;
26
+ isBulkMenu?: boolean;
27
+ };
28
+ export declare type BulletPointMenuButtonPropsFixture = {
29
+ props: BulletPointMenuButtonProps;
30
+ };
31
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/bullet-point-menu-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;CAQd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,0BAA0B,GAAG;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,oBAAY,iCAAiC,GAAG;IAAC,KAAK,EAAE,0BAA0B,CAAA;CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import PropTypes from 'prop-types';
2
+ import ButtonMenu from '../../atom/button-menu';
3
+ const propTypes = {
4
+ disabled: PropTypes.bool,
5
+ buttonAriaLabel: PropTypes.string,
6
+ menuAriaLabel: PropTypes.string,
7
+ buttons: ButtonMenu.propTypes.buttons,
8
+ onClick: PropTypes.func,
9
+ menuButtonClassName: PropTypes.string,
10
+ isBulkMenu: PropTypes.bool
11
+ };
12
+ export default propTypes;
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":["PropTypes","ButtonMenu","propTypes","disabled","bool","buttonAriaLabel","string","menuAriaLabel","buttons","onClick","func","menuButtonClassName","isBulkMenu"],"sources":["../../../src/molecule/bullet-point-menu-button/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport ButtonMenu from '../../atom/button-menu';\nimport {ButtonProps} from '../../atom/button-menu/types';\n\nconst propTypes = {\n disabled: PropTypes.bool,\n buttonAriaLabel: PropTypes.string,\n menuAriaLabel: PropTypes.string,\n buttons: ButtonMenu.propTypes.buttons,\n onClick: PropTypes.func,\n menuButtonClassName: PropTypes.string,\n isBulkMenu: PropTypes.bool\n};\n\nexport default propTypes;\n\nexport type BulletPointMenuButtonProps = {\n disabled?: boolean;\n buttonAriaLabel?: string;\n menuAriaLabel?: string;\n buttons: ButtonProps[];\n onClick: () => void;\n menuButtonClassName?: string;\n isBulkMenu?: boolean;\n};\n\nexport type BulletPointMenuButtonPropsFixture = {props: BulletPointMenuButtonProps};\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AAGA,MAAMC,SAAS,GAAG;EAChBC,QAAQ,EAAEH,SAAS,CAACI,IADJ;EAEhBC,eAAe,EAAEL,SAAS,CAACM,MAFX;EAGhBC,aAAa,EAAEP,SAAS,CAACM,MAHT;EAIhBE,OAAO,EAAEP,UAAU,CAACC,SAAX,CAAqBM,OAJd;EAKhBC,OAAO,EAAET,SAAS,CAACU,IALH;EAMhBC,mBAAmB,EAAEX,SAAS,CAACM,MANf;EAOhBM,UAAU,EAAEZ,SAAS,CAACI;AAPN,CAAlB;AAUA,eAAeF,SAAf"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { Props } from './types';
2
+ import { EmptyStateDashboardProps as Props } from './types';
3
3
  declare const EmptyStateDashboard: {
4
4
  ({ mainText, subText, imageUrl, buttonLink }: Props): JSX.Element;
5
5
  propTypes: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/empty-state-dashboard/index.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,KAAK,EAAY,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,mBAAmB;kDAA+C,KAAK;;;;;;;;;;;;;;;;;CAW5E,CAAC;AAIF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/empty-state-dashboard/index.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,wBAAwB,IAAI,KAAK,EAAY,MAAM,SAAS,CAAC;AAErE,QAAA,MAAM,mBAAmB;kDAA+C,KAAK;;;;;;;;;;;;;;;;;CAa5E,CAAC;AAIF,eAAe,mBAAmB,CAAC"}
@@ -12,11 +12,11 @@ const EmptyStateDashboard = ({
12
12
  buttonLink
13
13
  }) => /*#__PURE__*/React.createElement("div", {
14
14
  className: style.container
15
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("img", {
15
+ }, /*#__PURE__*/React.createElement("div", null, imageUrl && typeof imageUrl === 'string' ? /*#__PURE__*/React.createElement("img", {
16
16
  className: style.img,
17
17
  src: imageUrl,
18
18
  "aria-hidden": "true"
19
- })), /*#__PURE__*/React.createElement("p", {
19
+ }) : null), /*#__PURE__*/React.createElement("p", {
20
20
  className: style.mainText
21
21
  }, mainText), /*#__PURE__*/React.createElement("p", {
22
22
  className: style.subText
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","ButtonLink","style","propTypes","EmptyStateDashboard","mainText","subText","imageUrl","buttonLink","container","img","buttonContainer","button"],"sources":["../../../src/molecule/empty-state-dashboard/index.tsx"],"sourcesContent":["import React from 'react';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\nimport {Props, propTypes} from './types';\n\nconst EmptyStateDashboard = ({mainText, subText, imageUrl, buttonLink}: Props) => (\n <div className={style.container}>\n <div>\n <img className={style.img} src={imageUrl} aria-hidden=\"true\" />\n </div>\n <p className={style.mainText}>{mainText}</p>\n <p className={style.subText}>{subText}</p>\n <div className={style.buttonContainer}>\n <ButtonLink {...buttonLink} className={style.button} />\n </div>\n </div>\n);\n\nEmptyStateDashboard.propTypes = propTypes;\n\nexport default EmptyStateDashboard;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,SAAeC,SAAf,QAA+B,SAA/B;;AAEA,MAAMC,mBAAmB,GAAG,CAAC;EAACC,QAAD;EAAWC,OAAX;EAAoBC,QAApB;EAA8BC;AAA9B,CAAD,kBAC1B;EAAK,SAAS,EAAEN,KAAK,CAACO;AAAtB,gBACE,8CACE;EAAK,SAAS,EAAEP,KAAK,CAACQ,GAAtB;EAA2B,GAAG,EAAEH,QAAhC;EAA0C,eAAY;AAAtD,EADF,CADF,eAIE;EAAG,SAAS,EAAEL,KAAK,CAACG;AAApB,GAA+BA,QAA/B,CAJF,eAKE;EAAG,SAAS,EAAEH,KAAK,CAACI;AAApB,GAA8BA,OAA9B,CALF,eAME;EAAK,SAAS,EAAEJ,KAAK,CAACS;AAAtB,gBACE,oBAAC,UAAD,eAAgBH,UAAhB;EAA4B,SAAS,EAAEN,KAAK,CAACU;AAA7C,GADF,CANF,CADF;;AAaAR,mBAAmB,CAACD,SAApB,2CAAgCA,SAAhC;AAEA,eAAeC,mBAAf"}
1
+ {"version":3,"file":"index.js","names":["React","ButtonLink","style","propTypes","EmptyStateDashboard","mainText","subText","imageUrl","buttonLink","container","img","buttonContainer","button"],"sources":["../../../src/molecule/empty-state-dashboard/index.tsx"],"sourcesContent":["import React from 'react';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\nimport {EmptyStateDashboardProps as Props, propTypes} from './types';\n\nconst EmptyStateDashboard = ({mainText, subText, imageUrl, buttonLink}: Props) => (\n <div className={style.container}>\n <div>\n {imageUrl && typeof imageUrl === 'string' ? (\n <img className={style.img} src={imageUrl} aria-hidden=\"true\" />\n ) : null}\n </div>\n <p className={style.mainText}>{mainText}</p>\n <p className={style.subText}>{subText}</p>\n <div className={style.buttonContainer}>\n <ButtonLink {...buttonLink} className={style.button} />\n </div>\n </div>\n);\n\nEmptyStateDashboard.propTypes = propTypes;\n\nexport default EmptyStateDashboard;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,SAA2CC,SAA3C,QAA2D,SAA3D;;AAEA,MAAMC,mBAAmB,GAAG,CAAC;EAACC,QAAD;EAAWC,OAAX;EAAoBC,QAApB;EAA8BC;AAA9B,CAAD,kBAC1B;EAAK,SAAS,EAAEN,KAAK,CAACO;AAAtB,gBACE,iCACGF,QAAQ,IAAI,OAAOA,QAAP,KAAoB,QAAhC,gBACC;EAAK,SAAS,EAAEL,KAAK,CAACQ,GAAtB;EAA2B,GAAG,EAAEH,QAAhC;EAA0C,eAAY;AAAtD,EADD,GAEG,IAHN,CADF,eAME;EAAG,SAAS,EAAEL,KAAK,CAACG;AAApB,GAA+BA,QAA/B,CANF,eAOE;EAAG,SAAS,EAAEH,KAAK,CAACI;AAApB,GAA8BA,OAA9B,CAPF,eAQE;EAAK,SAAS,EAAEJ,KAAK,CAACS;AAAtB,gBACE,oBAAC,UAAD,eAAgBH,UAAhB;EAA4B,SAAS,EAAEN,KAAK,CAACU;AAA7C,GADF,CARF,CADF;;AAeAR,mBAAmB,CAACD,SAApB,2CAAgCA,SAAhC;AAEA,eAAeC,mBAAf"}
@@ -1,4 +1,6 @@
1
1
  import PropTypes from 'prop-types';
2
+ import { ButtonLinkProps } from '../../atom/button-link/types';
3
+ import Picture from '../../atom/picture';
2
4
  export declare const propTypes: {
3
5
  mainText: PropTypes.Requireable<string>;
4
6
  subText: PropTypes.Requireable<string>;
@@ -15,5 +17,11 @@ export declare const propTypes: {
15
17
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
16
18
  }>>;
17
19
  };
20
+ export declare type EmptyStateDashboardProps = {
21
+ mainText: string;
22
+ subText: string;
23
+ imageUrl: PropTypes.InferProps<typeof Picture.propTypes.src>;
24
+ buttonLink: ButtonLinkProps;
25
+ };
18
26
  export declare type Props = PropTypes.InferProps<typeof propTypes>;
19
27
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/empty-state-dashboard/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAGnC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;CAerB,CAAC;AAEF,oBAAY,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/empty-state-dashboard/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;CAerB,CAAC;AAEF,oBAAY,wBAAwB,GAAG;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7D,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,oBAAY,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["PropTypes","Picture","propTypes","mainText","string","subText","imageUrl","src","buttonLink","shape","type","label","ariaLabel","dataName","icon","position","onClick","func"],"sources":["../../../src/molecule/empty-state-dashboard/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport Picture from '../../atom/picture';\n\nexport const propTypes = {\n mainText: PropTypes.string,\n subText: PropTypes.string,\n imageUrl: Picture.propTypes.src,\n buttonLink: PropTypes.shape({\n type: PropTypes.string,\n label: PropTypes.string,\n ariaLabel: PropTypes.string,\n dataName: PropTypes.string,\n icon: PropTypes.shape({\n position: PropTypes.string,\n type: PropTypes.string\n }),\n onClick: PropTypes.func\n })\n};\n\nexport type Props = PropTypes.InferProps<typeof propTypes>;\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,OAAP,MAAoB,oBAApB;AAEA,OAAO,MAAMC,SAAS,GAAG;EACvBC,QAAQ,EAAEH,SAAS,CAACI,MADG;EAEvBC,OAAO,EAAEL,SAAS,CAACI,MAFI;EAGvBE,QAAQ,EAAEL,OAAO,CAACC,SAAR,CAAkBK,GAHL;EAIvBC,UAAU,EAAER,SAAS,CAACS,KAAV,CAAgB;IAC1BC,IAAI,EAAEV,SAAS,CAACI,MADU;IAE1BO,KAAK,EAAEX,SAAS,CAACI,MAFS;IAG1BQ,SAAS,EAAEZ,SAAS,CAACI,MAHK;IAI1BS,QAAQ,EAAEb,SAAS,CAACI,MAJM;IAK1BU,IAAI,EAAEd,SAAS,CAACS,KAAV,CAAgB;MACpBM,QAAQ,EAAEf,SAAS,CAACI,MADA;MAEpBM,IAAI,EAAEV,SAAS,CAACI;IAFI,CAAhB,CALoB;IAS1BY,OAAO,EAAEhB,SAAS,CAACiB;EATO,CAAhB;AAJW,CAAlB"}
1
+ {"version":3,"file":"types.js","names":["PropTypes","Picture","propTypes","mainText","string","subText","imageUrl","src","buttonLink","shape","type","label","ariaLabel","dataName","icon","position","onClick","func"],"sources":["../../../src/molecule/empty-state-dashboard/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport {ButtonLinkProps} from '../../atom/button-link/types';\nimport Picture from '../../atom/picture';\n\nexport const propTypes = {\n mainText: PropTypes.string,\n subText: PropTypes.string,\n imageUrl: Picture.propTypes.src,\n buttonLink: PropTypes.shape({\n type: PropTypes.string,\n label: PropTypes.string,\n ariaLabel: PropTypes.string,\n dataName: PropTypes.string,\n icon: PropTypes.shape({\n position: PropTypes.string,\n type: PropTypes.string\n }),\n onClick: PropTypes.func\n })\n};\n\nexport type EmptyStateDashboardProps = {\n mainText: string;\n subText: string;\n imageUrl: PropTypes.InferProps<typeof Picture.propTypes.src>;\n buttonLink: ButtonLinkProps;\n};\n\nexport type Props = PropTypes.InferProps<typeof propTypes>;\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,OAAOC,OAAP,MAAoB,oBAApB;AAEA,OAAO,MAAMC,SAAS,GAAG;EACvBC,QAAQ,EAAEH,SAAS,CAACI,MADG;EAEvBC,OAAO,EAAEL,SAAS,CAACI,MAFI;EAGvBE,QAAQ,EAAEL,OAAO,CAACC,SAAR,CAAkBK,GAHL;EAIvBC,UAAU,EAAER,SAAS,CAACS,KAAV,CAAgB;IAC1BC,IAAI,EAAEV,SAAS,CAACI,MADU;IAE1BO,KAAK,EAAEX,SAAS,CAACI,MAFS;IAG1BQ,SAAS,EAAEZ,SAAS,CAACI,MAHK;IAI1BS,QAAQ,EAAEb,SAAS,CAACI,MAJM;IAK1BU,IAAI,EAAEd,SAAS,CAACS,KAAV,CAAgB;MACpBM,QAAQ,EAAEf,SAAS,CAACI,MADA;MAEpBM,IAAI,EAAEV,SAAS,CAACI;IAFI,CAAhB,CALoB;IAS1BY,OAAO,EAAEhB,SAAS,CAACiB;EATO,CAAhB;AAJW,CAAlB"}
@@ -0,0 +1,103 @@
1
+ /// <reference types="react" />
2
+ import { WebContextValues } from '../../atom/provider/web-context';
3
+ import { Props } from './types';
4
+ declare const ActionableExpandableErrorsTable: {
5
+ (props: Props, legacyContext: WebContextValues): JSX.Element;
6
+ contextTypes: {
7
+ skin: import("prop-types").Requireable<import("prop-types").InferProps<{
8
+ common: import("prop-types").Requireable<{
9
+ [x: string]: any;
10
+ }>;
11
+ images: import("prop-types").Requireable<import("prop-types").InferProps<{
12
+ 'logo-mobile': import("prop-types").Requireable<any>;
13
+ logo: import("prop-types").Requireable<any>;
14
+ 'logo-email': import("prop-types").Requireable<any>;
15
+ login: import("prop-types").Requireable<any>;
16
+ }>>;
17
+ icons: import("prop-types").Requireable<{
18
+ [x: string]: any;
19
+ }>;
20
+ mod: import("prop-types").Requireable<{
21
+ [x: string]: any;
22
+ }>;
23
+ courses: import("prop-types").Requireable<any[]>;
24
+ texts: import("prop-types").Requireable<{
25
+ [x: string]: any;
26
+ }>;
27
+ }>>;
28
+ translate: import("prop-types").Requireable<(...args: any[]) => any>;
29
+ };
30
+ propTypes: {
31
+ columns: import("prop-types").Requireable<(import("prop-types").InferProps<{
32
+ title: import("prop-types").Validator<string>;
33
+ }> | null | undefined)[]>;
34
+ rows: import("prop-types").Requireable<(import("prop-types").InferProps<{
35
+ fields: import("prop-types").Requireable<(NonNullable<string | import("prop-types").InferProps<{
36
+ type: import("prop-types").Requireable<string>;
37
+ current: import("prop-types").Requireable<boolean>;
38
+ icon: import("prop-types").Requireable<string>;
39
+ value: import("prop-types").Requireable<string>;
40
+ }> | null | undefined> | null | undefined)[]>;
41
+ isRowExpandible: import("prop-types").Requireable<boolean>;
42
+ lastField: import("prop-types").Requireable<NonNullable<string | import("prop-types").InferProps<{
43
+ type: import("prop-types").Requireable<string>;
44
+ disabled: import("prop-types").Requireable<boolean>;
45
+ buttonAriaLabel: import("prop-types").Requireable<string>;
46
+ menuAriaLabel: import("prop-types").Requireable<string>;
47
+ buttons: import("prop-types").Validator<(import("prop-types").InferProps<{
48
+ 'data-name': import("prop-types").Requireable<string>;
49
+ disabled: import("prop-types").Requireable<boolean>;
50
+ label: import("prop-types").Validator<string>;
51
+ onClick: import("prop-types").Validator<(...args: any[]) => any>;
52
+ type: import("prop-types").Requireable<string>;
53
+ }> | null | undefined)[]>;
54
+ onClick: import("prop-types").Requireable<(...args: any[]) => any>;
55
+ menuButtonClassName: import("prop-types").Requireable<string>;
56
+ isBulkMenu: import("prop-types").Requireable<boolean>;
57
+ }> | null | undefined>>;
58
+ }> | null | undefined)[]>;
59
+ stickyFirstColumn: import("prop-types").Requireable<boolean>;
60
+ stickyLastColumn: import("prop-types").Requireable<boolean>;
61
+ columnWidth: import("prop-types").Requireable<string>;
62
+ ariaDescribedby: import("prop-types").Requireable<string>;
63
+ lastField: import("prop-types").Requireable<NonNullable<import("prop-types").InferProps<{
64
+ componentType: import("prop-types").Requireable<string>;
65
+ type: import("prop-types").Requireable<string>;
66
+ label: import("prop-types").Requireable<string>;
67
+ 'aria-label': import("prop-types").Requireable<string>;
68
+ 'data-name': import("prop-types").Requireable<string>;
69
+ 'data-testid': import("prop-types").Requireable<string>;
70
+ icon: import("prop-types").Requireable<import("prop-types").InferProps<{
71
+ position: import("prop-types").Requireable<string>;
72
+ type: import("prop-types").Requireable<string>;
73
+ }>>;
74
+ onClick: import("prop-types").Requireable<(...args: any[]) => any>;
75
+ link: import("prop-types").Requireable<import("prop-types").InferProps<{
76
+ href: import("prop-types").Requireable<string>;
77
+ download: import("prop-types").Requireable<boolean>;
78
+ target: import("prop-types").Requireable<string>;
79
+ }>>;
80
+ disabled: import("prop-types").Requireable<boolean>;
81
+ className: import("prop-types").Requireable<string>;
82
+ customStyle: import("prop-types").Requireable<import("prop-types").InferProps<{}>>;
83
+ }> | import("prop-types").InferProps<{
84
+ componentType: import("prop-types").Requireable<string>;
85
+ disabled: import("prop-types").Requireable<boolean>;
86
+ buttonAriaLabel: import("prop-types").Requireable<string>;
87
+ menuAriaLabel: import("prop-types").Requireable<string>;
88
+ buttons: import("prop-types").Validator<(import("prop-types").InferProps<{
89
+ 'data-name': import("prop-types").Requireable<string>;
90
+ disabled: import("prop-types").Requireable<boolean>;
91
+ label: import("prop-types").Validator<string>;
92
+ onClick: import("prop-types").Validator<(...args: any[]) => any>;
93
+ type: import("prop-types").Requireable<string>;
94
+ }> | null | undefined)[]>;
95
+ onClick: import("prop-types").Requireable<(...args: any[]) => any>;
96
+ menuButtonClassName: import("prop-types").Requireable<string>;
97
+ isBulkMenu: import("prop-types").Requireable<boolean>;
98
+ }> | null | undefined>>;
99
+ isNestedTable: import("prop-types").Requireable<boolean>;
100
+ };
101
+ };
102
+ export default ActionableExpandableErrorsTable;
103
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAMjE,OAAO,EAA2C,KAAK,EAAY,MAAM,SAAS,CAAC;AAiCnF,QAAA,MAAM,+BAA+B;YAAW,KAAK,iBAAiB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqKrF,CAAC;AASF,eAAe,+BAA+B,CAAC"}
@@ -0,0 +1,193 @@
1
+ import _includes from "lodash/fp/includes";
2
+ import _size from "lodash/fp/size";
3
+ import _isString from "lodash/fp/isString";
4
+ import _get from "lodash/fp/get";
5
+
6
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
7
+
8
+ import React, { useState } from 'react';
9
+ import classnames from 'classnames';
10
+ import ButtonLinkIconOnly from '../../atom/button-link-icon-only';
11
+ import StatusItem from '../../atom/status-item';
12
+ import BulkProgressBar from '../bulk-progress-bar';
13
+ import Provider, { GetTranslateFromContext } from '../../atom/provider';
14
+ import BulletPointMenuButton from '../bullet-point-menu-button';
15
+ import ButtonLink from '../../atom/button-link';
16
+ import ErrorsTable from '../errors-table';
17
+ import style from './style.css';
18
+ import { propTypes } from './types';
19
+
20
+ const buildField = field => {
21
+ if (_isString(field)) return field;
22
+ const {
23
+ componentType
24
+ } = field;
25
+
26
+ switch (componentType) {
27
+ case 'status':
28
+ return /*#__PURE__*/React.createElement(StatusItem, field);
29
+
30
+ case 'progress-bar':
31
+ return /*#__PURE__*/React.createElement(BulkProgressBar, field);
32
+ }
33
+ };
34
+
35
+ const buildLastField = lastField => {
36
+ const {
37
+ componentType
38
+ } = lastField;
39
+
40
+ switch (componentType) {
41
+ case 'menu':
42
+ return /*#__PURE__*/React.createElement(BulletPointMenuButton, lastField);
43
+
44
+ case 'button-link':
45
+ return /*#__PURE__*/React.createElement(ButtonLink, lastField);
46
+ }
47
+ };
48
+
49
+ const buildNestedRow = row => {
50
+ const {
51
+ componentType
52
+ } = row;
53
+
54
+ switch (componentType) {
55
+ case 'errors-table':
56
+ return /*#__PURE__*/React.createElement(ErrorsTable, row);
57
+
58
+ case 'expandible-errors-table':
59
+ return /*#__PURE__*/React.createElement(ActionableExpandableErrorsTable, row);
60
+ }
61
+ };
62
+
63
+ const ActionableExpandableErrorsTable = (props, legacyContext) => {
64
+ const {
65
+ columns,
66
+ rows = [],
67
+ lastField,
68
+ stickyFirstColumn = false,
69
+ stickyLastColumn = false,
70
+ ariaDescribedby,
71
+ columnWidth = `${100 / _size(columns)}%`,
72
+ isNestedTable = false
73
+ } = props;
74
+ const translate = GetTranslateFromContext(legacyContext);
75
+ /**
76
+ * State variable to keep track of all the expanded rows
77
+ * By default, nothing expanded. Hence initialized with empty array.
78
+ */
79
+
80
+ const [expandedRows, setExpandedRows] = useState([]);
81
+ /**
82
+ * State variable to keep track which row is currently expanded.
83
+ */
84
+
85
+ const [expandState, setExpandState] = useState({});
86
+ /**
87
+ * This function gets called when show/hide link is clicked.
88
+ */
89
+
90
+ const handleExpandRow = index => () => {
91
+ const isRowExpanded = _includes(index, expandedRows);
92
+ /**
93
+ * If the row is expanded, we are here to hide it. Hence remove
94
+ * it from the state variable. Otherwise add to it.
95
+ */
96
+
97
+
98
+ const newExpandedRows = isRowExpanded ? expandedRows.filter(id => id !== index) : expandedRows.concat(index);
99
+ setExpandedRows(newExpandedRows);
100
+ /**
101
+ * Create a new object to update the expanded state of all rows
102
+ * Use the newExpandedRows array to set the state of all rows that are currently expanded
103
+ */
104
+
105
+ const expandedState = {};
106
+ newExpandedRows.forEach(id => {
107
+ expandedState[id] = true;
108
+ });
109
+ setExpandState(expandedState);
110
+ };
111
+
112
+ const headerRow = columns.map((column, cIndex) => {
113
+ const {
114
+ title
115
+ } = column;
116
+ return /*#__PURE__*/React.createElement("th", {
117
+ className: cIndex === 0 ? classnames(stickyFirstColumn ? style.headerFirstSticky : style.headerFirst, style.header) : style.header,
118
+ key: `${title}-${cIndex}`,
119
+ role: "columnheader"
120
+ }, title);
121
+ });
122
+ headerRow.push( /*#__PURE__*/React.createElement("th", {
123
+ className: stickyLastColumn ? style.headerLastSticky : style.headerLast,
124
+ key: "action-header"
125
+ }));
126
+ const headerView = [...headerRow];
127
+ const bodyView = rows.map((row, index) => {
128
+ const {
129
+ fields,
130
+ isRowExpandible = false
131
+ } = row;
132
+ const bodyRow = fields.map((field, fIndex) => {
133
+ const cellContent = fIndex === 0 ? /*#__PURE__*/React.createElement("div", {
134
+ className: style.columFirstWrapper
135
+ }, /*#__PURE__*/React.createElement("div", {
136
+ className: style.expandButtonWrapper
137
+ }, isRowExpandible ? /*#__PURE__*/React.createElement(ButtonLinkIconOnly, {
138
+ onClick: handleExpandRow(index),
139
+ "data-name": `arrowUp-button-${index}`,
140
+ icon: "down",
141
+ className: expandState[index] ? 'bulkArrowUp' : 'bulkArrowDown',
142
+ "aria-label": translate('bulk_import.show_errors')
143
+ }) : null), buildField(field)) : buildField(field);
144
+ return /*#__PURE__*/React.createElement("td", {
145
+ className: fIndex === 0 ? classnames(stickyFirstColumn ? style.columnFirstSticky : style.columnFirst, style.col) : style.col,
146
+ style: {
147
+ width: columnWidth
148
+ },
149
+ key: `${field}-${fIndex}`
150
+ }, cellContent);
151
+ });
152
+ bodyRow.push( /*#__PURE__*/React.createElement("td", {
153
+ className: stickyLastColumn ? style.columnLastSticky : style.columnLast,
154
+ key: "actionHeader"
155
+ }, lastField ? /*#__PURE__*/React.createElement("div", {
156
+ className: classnames({
157
+ [style.inspectButton]: _get('className', lastField) === 'bulkInspectButton'
158
+ })
159
+ }, buildLastField(lastField)) : null));
160
+
161
+ const nestedRow = _get('nestedRow', row);
162
+
163
+ const nestedRowCellule = nestedRow && expandedRows.includes(index) ? /*#__PURE__*/React.createElement("tr", {
164
+ key: `line-${index}-error`
165
+ }, /*#__PURE__*/React.createElement("td", {
166
+ className: style.nestedRowCellule,
167
+ colSpan: fields.length + 2
168
+ }, buildNestedRow(nestedRow))) : null;
169
+ return nestedRowCellule ? [/*#__PURE__*/React.createElement("tr", {
170
+ key: `line-${index}`
171
+ }, bodyRow), nestedRowCellule] : [/*#__PURE__*/React.createElement("tr", {
172
+ key: `line-${index}`
173
+ }, bodyRow)];
174
+ });
175
+ return /*#__PURE__*/React.createElement("div", {
176
+ className: style.wrapper
177
+ }, /*#__PURE__*/React.createElement("table", _extends({}, ariaDescribedby ? {
178
+ 'aria-describedby': ariaDescribedby
179
+ } : {}, {
180
+ className: style.table,
181
+ "data-name": "expandible-actionable-table"
182
+ }), /*#__PURE__*/React.createElement("thead", {
183
+ className: isNestedTable ? style.theadNested : style.thead
184
+ }, /*#__PURE__*/React.createElement("tr", null, headerView)), /*#__PURE__*/React.createElement("tbody", null, bodyView)));
185
+ };
186
+
187
+ ActionableExpandableErrorsTable.contextTypes = {
188
+ skin: Provider.childContextTypes.skin,
189
+ translate: Provider.childContextTypes.translate
190
+ };
191
+ ActionableExpandableErrorsTable.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
192
+ export default ActionableExpandableErrorsTable;
193
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","useState","classnames","ButtonLinkIconOnly","StatusItem","BulkProgressBar","Provider","GetTranslateFromContext","BulletPointMenuButton","ButtonLink","ErrorsTable","style","propTypes","buildField","field","componentType","buildLastField","lastField","buildNestedRow","row","ActionableExpandableErrorsTable","props","legacyContext","columns","rows","stickyFirstColumn","stickyLastColumn","ariaDescribedby","columnWidth","isNestedTable","translate","expandedRows","setExpandedRows","expandState","setExpandState","handleExpandRow","index","isRowExpanded","newExpandedRows","filter","id","concat","expandedState","forEach","headerRow","map","column","cIndex","title","headerFirstSticky","headerFirst","header","push","headerLastSticky","headerLast","headerView","bodyView","fields","isRowExpandible","bodyRow","fIndex","cellContent","columFirstWrapper","expandButtonWrapper","columnFirstSticky","columnFirst","col","width","columnLastSticky","columnLast","inspectButton","nestedRow","nestedRowCellule","includes","length","wrapper","table","theadNested","thead","contextTypes","skin","childContextTypes"],"sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport classnames from 'classnames';\nimport {get, isString, size, includes} from 'lodash/fp';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport StatusItem from '../../atom/status-item';\nimport BulkProgressBar from '../bulk-progress-bar';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport BulletPointMenuButton from '../bullet-point-menu-button';\nimport ButtonLink from '../../atom/button-link';\nimport ErrorsTable from '../errors-table';\nimport style from './style.css';\nimport {ExpandState, Field, LastField, NestedRow, Props, propTypes} from './types';\n\nconst buildField = (field: Field) => {\n if (isString(field)) return field;\n const {componentType} = field;\n switch (componentType) {\n case 'status':\n return <StatusItem {...field} />;\n case 'progress-bar':\n return <BulkProgressBar {...field} />;\n }\n};\n\nconst buildLastField = (lastField: LastField) => {\n const {componentType} = lastField;\n switch (componentType) {\n case 'menu':\n return <BulletPointMenuButton {...lastField} />;\n case 'button-link':\n return <ButtonLink {...lastField} />;\n }\n};\n\nconst buildNestedRow = (row: NestedRow) => {\n const {componentType} = row;\n switch (componentType) {\n case 'errors-table':\n return <ErrorsTable {...row} />;\n case 'expandible-errors-table':\n return <ActionableExpandableErrorsTable {...row} />;\n }\n};\n\nconst ActionableExpandableErrorsTable = (props: Props, legacyContext: WebContextValues) => {\n const {\n columns,\n rows = [],\n lastField,\n stickyFirstColumn = false,\n stickyLastColumn = false,\n ariaDescribedby,\n columnWidth = `${100 / size(columns)}%`,\n isNestedTable = false\n } = props;\n const translate = GetTranslateFromContext(legacyContext);\n\n /**\n * State variable to keep track of all the expanded rows\n * By default, nothing expanded. Hence initialized with empty array.\n */\n const [expandedRows, setExpandedRows] = useState<number[]>([]);\n\n /**\n * State variable to keep track which row is currently expanded.\n */\n const [expandState, setExpandState] = useState<ExpandState>({});\n\n /**\n * This function gets called when show/hide link is clicked.\n */\n const handleExpandRow = (index: number) => () => {\n const isRowExpanded = includes(index, expandedRows);\n\n /**\n * If the row is expanded, we are here to hide it. Hence remove\n * it from the state variable. Otherwise add to it.\n */\n const newExpandedRows = isRowExpanded\n ? expandedRows.filter(id => id !== index)\n : expandedRows.concat(index);\n\n setExpandedRows(newExpandedRows);\n\n /**\n * Create a new object to update the expanded state of all rows\n * Use the newExpandedRows array to set the state of all rows that are currently expanded\n */\n const expandedState: ExpandState = {};\n newExpandedRows.forEach(id => {\n expandedState[id] = true;\n });\n\n setExpandState(expandedState);\n };\n\n const headerRow = columns.map((column, cIndex) => {\n const {title} = column;\n return (\n <th\n className={\n cIndex === 0\n ? classnames(\n stickyFirstColumn ? style.headerFirstSticky : style.headerFirst,\n style.header\n )\n : style.header\n }\n key={`${title}-${cIndex}`}\n role=\"columnheader\"\n >\n {title}\n </th>\n );\n });\n\n headerRow.push(\n <th\n className={stickyLastColumn ? style.headerLastSticky : style.headerLast}\n key=\"action-header\"\n />\n );\n const headerView = [...headerRow];\n\n const bodyView = rows.map((row, index) => {\n const {fields, isRowExpandible = false} = row;\n const bodyRow = fields.map((field, fIndex) => {\n const cellContent =\n fIndex === 0 ? (\n <div className={style.columFirstWrapper}>\n <div className={style.expandButtonWrapper}>\n {isRowExpandible ? (\n <ButtonLinkIconOnly\n onClick={handleExpandRow(index)}\n data-name={`arrowUp-button-${index}`}\n icon=\"down\"\n className={expandState[index] ? 'bulkArrowUp' : 'bulkArrowDown'}\n aria-label={translate('bulk_import.show_errors')}\n />\n ) : null}\n </div>\n {buildField(field)}\n </div>\n ) : (\n buildField(field)\n );\n return (\n <td\n className={\n fIndex === 0\n ? classnames(\n stickyFirstColumn ? style.columnFirstSticky : style.columnFirst,\n style.col\n )\n : style.col\n }\n style={{width: columnWidth}}\n key={`${field}-${fIndex}`}\n >\n {cellContent}\n </td>\n );\n });\n\n bodyRow.push(\n <td\n className={stickyLastColumn ? style.columnLastSticky : style.columnLast}\n key=\"actionHeader\"\n >\n {lastField ? (\n <div\n className={classnames({\n [style.inspectButton]: get('className', lastField) === 'bulkInspectButton'\n })}\n >\n {buildLastField(lastField)}\n </div>\n ) : null}\n </td>\n );\n const nestedRow = get('nestedRow', row);\n const nestedRowCellule =\n nestedRow && expandedRows.includes(index) ? (\n <tr key={`line-${index}-error`}>\n <td className={style.nestedRowCellule} colSpan={fields.length + 2}>\n {buildNestedRow(nestedRow)}\n </td>\n </tr>\n ) : null;\n\n return nestedRowCellule\n ? [<tr key={`line-${index}`}>{bodyRow}</tr>, nestedRowCellule]\n : [<tr key={`line-${index}`}>{bodyRow}</tr>];\n });\n\n return (\n <div className={style.wrapper}>\n <table\n {...(ariaDescribedby ? {'aria-describedby': ariaDescribedby} : {})}\n className={style.table}\n data-name=\"expandible-actionable-table\"\n >\n <thead className={isNestedTable ? style.theadNested : style.thead}>\n <tr>{headerView}</tr>\n </thead>\n <tbody>{bodyView}</tbody>\n </table>\n </div>\n );\n};\n\nActionableExpandableErrorsTable.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nActionableExpandableErrorsTable.propTypes = propTypes;\n\nexport default ActionableExpandableErrorsTable;\n"],"mappings":"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"}