@coorpacademy/components 10.1.6 → 10.1.10

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 (211) hide show
  1. package/es/atom/button-link/index.js +7 -23
  2. package/es/atom/button-link/index.js.map +1 -1
  3. package/es/atom/button-link/style.css +4 -2
  4. package/es/atom/button-link/test/fixtures.js +0 -2
  5. package/es/atom/button-link/test/fixtures.js.map +1 -1
  6. package/es/atom/button-link-icon-only/index.js +76 -0
  7. package/es/atom/button-link-icon-only/index.js.map +1 -0
  8. package/es/atom/button-link-icon-only/style.css +64 -0
  9. package/es/atom/button-link-icon-only/test/button-link-icon-only.js +25 -0
  10. package/es/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -0
  11. package/es/atom/button-link-icon-only/test/fixtures/button-icon-bullet.js +10 -0
  12. package/es/atom/button-link-icon-only/test/fixtures/button-icon-bullet.js.map +1 -0
  13. package/es/atom/{button-link/test/fixtures/icon-button.js → button-link-icon-only/test/fixtures/default.js} +3 -6
  14. package/es/atom/button-link-icon-only/test/fixtures/default.js.map +1 -0
  15. package/es/atom/button-link-icon-only/test/fixtures/no-icon.js +7 -0
  16. package/es/atom/button-link-icon-only/test/fixtures/no-icon.js.map +1 -0
  17. package/es/atom/button-link-icon-only/test/fixtures/small-button-disabled.js +11 -0
  18. package/es/atom/button-link-icon-only/test/fixtures/small-button-disabled.js.map +1 -0
  19. package/es/atom/button-link-icon-only/test/fixtures/small-link-download.js +13 -0
  20. package/es/atom/button-link-icon-only/test/fixtures/small-link-download.js.map +1 -0
  21. package/es/atom/button-link-icon-only/test/fixtures.js +21 -0
  22. package/es/atom/button-link-icon-only/test/fixtures.js.map +1 -0
  23. package/es/atom/button-menu/index.js +66 -0
  24. package/es/atom/button-menu/index.js.map +1 -0
  25. package/es/atom/button-menu/style.css +51 -0
  26. package/es/atom/button-menu/test/fixtures/default.js +20 -0
  27. package/es/atom/button-menu/test/fixtures/default.js.map +1 -0
  28. package/es/atom/button-menu/test/fixtures/multiple-buttons.js +15 -0
  29. package/es/atom/button-menu/test/fixtures/multiple-buttons.js.map +1 -0
  30. package/es/atom/button-menu/test/fixtures.js +15 -0
  31. package/es/atom/button-menu/test/fixtures.js.map +1 -0
  32. package/es/atom/empty-search-result/index.js +24 -0
  33. package/es/atom/empty-search-result/index.js.map +1 -0
  34. package/es/atom/empty-search-result/style.css +25 -0
  35. package/es/atom/empty-search-result/test/fixtures/default.js +7 -0
  36. package/es/atom/empty-search-result/test/fixtures/default.js.map +1 -0
  37. package/es/atom/empty-search-result/test/fixtures.js +13 -0
  38. package/es/atom/empty-search-result/test/fixtures.js.map +1 -0
  39. package/es/atom/input-text/index.js +3 -2
  40. package/es/atom/input-text/index.js.map +1 -1
  41. package/es/atom/tag/index.js +3 -2
  42. package/es/atom/tag/index.js.map +1 -1
  43. package/es/atom/tag/style.css +5 -1
  44. package/es/atom/tag/test/fixtures/draft.js +7 -0
  45. package/es/atom/tag/test/fixtures/draft.js.map +1 -0
  46. package/es/atom/tag/test/fixtures/{revision.js → revised.js} +2 -2
  47. package/es/atom/tag/test/fixtures/revised.js.map +1 -0
  48. package/es/molecule/bullet-point-menu-button/index.js +51 -0
  49. package/es/molecule/bullet-point-menu-button/index.js.map +1 -0
  50. package/es/molecule/bullet-point-menu-button/style.css +52 -0
  51. package/es/molecule/bullet-point-menu-button/test/bullet-point-menu-button.js +34 -0
  52. package/es/molecule/bullet-point-menu-button/test/bullet-point-menu-button.js.map +1 -0
  53. package/es/molecule/bullet-point-menu-button/test/fixtures/default.js +11 -0
  54. package/es/molecule/bullet-point-menu-button/test/fixtures/default.js.map +1 -0
  55. package/es/molecule/bullet-point-menu-button/test/fixtures/multiple-buttons.js +13 -0
  56. package/es/molecule/bullet-point-menu-button/test/fixtures/multiple-buttons.js.map +1 -0
  57. package/es/molecule/bullet-point-menu-button/test/fixtures.js +15 -0
  58. package/es/molecule/bullet-point-menu-button/test/fixtures.js.map +1 -0
  59. package/es/molecule/cm-popin/index.js +8 -7
  60. package/es/molecule/cm-popin/index.js.map +1 -1
  61. package/es/molecule/cm-popin/style.css +0 -25
  62. package/es/molecule/search/test/fixtures.js +15 -0
  63. package/es/molecule/search/test/fixtures.js.map +1 -0
  64. package/es/molecule/vertical-tabs/index.js +8 -3
  65. package/es/molecule/vertical-tabs/index.js.map +1 -1
  66. package/es/molecule/vertical-tabs/test/fixtures/default.js +2 -1
  67. package/es/molecule/vertical-tabs/test/fixtures/default.js.map +1 -1
  68. package/es/molecule/vertical-tabs/test/fixtures/with-selected-item.js +2 -1
  69. package/es/molecule/vertical-tabs/test/fixtures/with-selected-item.js.map +1 -1
  70. package/es/organism/course-selection/index.js +57 -0
  71. package/es/organism/course-selection/index.js.map +1 -0
  72. package/es/organism/course-selection/style.css +23 -0
  73. package/es/organism/course-selection/test/fixtures/default.js +34 -0
  74. package/es/organism/course-selection/test/fixtures/default.js.map +1 -0
  75. package/es/organism/course-selection/test/fixtures/empty.js +18 -0
  76. package/es/organism/course-selection/test/fixtures/empty.js.map +1 -0
  77. package/es/organism/course-selection/test/fixtures/filtered.js +24 -0
  78. package/es/organism/course-selection/test/fixtures/filtered.js.map +1 -0
  79. package/es/organism/course-selection/test/fixtures/sorted-selected.js +31 -0
  80. package/es/organism/course-selection/test/fixtures/sorted-selected.js.map +1 -0
  81. package/es/organism/course-selection/test/fixtures/unsorted-selected.js +31 -0
  82. package/es/organism/course-selection/test/fixtures/unsorted-selected.js.map +1 -0
  83. package/es/organism/course-selection/test/fixtures.js +21 -0
  84. package/es/organism/course-selection/test/fixtures.js.map +1 -0
  85. package/es/organism/playlist-translation/index.js +63 -0
  86. package/es/organism/playlist-translation/index.js.map +1 -0
  87. package/es/organism/playlist-translation/style.css +45 -0
  88. package/es/organism/playlist-translation/test/fixtures/default.js +24 -0
  89. package/es/organism/playlist-translation/test/fixtures/default.js.map +1 -0
  90. package/es/organism/playlist-translation/test/fixtures/delete.js +18 -0
  91. package/es/organism/playlist-translation/test/fixtures/delete.js.map +1 -0
  92. package/es/organism/playlist-translation/test/fixtures.js +15 -0
  93. package/es/organism/playlist-translation/test/fixtures.js.map +1 -0
  94. package/es/organism/search-and-chips-results/index.js +3 -8
  95. package/es/organism/search-and-chips-results/index.js.map +1 -1
  96. package/es/organism/search-and-chips-results/style.css +0 -22
  97. package/es/organism/setup-header/index.js +78 -31
  98. package/es/organism/setup-header/index.js.map +1 -1
  99. package/es/organism/setup-header/style.css +27 -62
  100. package/es/template/teams-dashboard/index.js +4 -3
  101. package/es/template/teams-dashboard/index.js.map +1 -1
  102. package/es/util/button-icons.js +16 -0
  103. package/es/util/button-icons.js.map +1 -0
  104. package/lib/atom/button-link/index.js +9 -25
  105. package/lib/atom/button-link/index.js.map +1 -1
  106. package/lib/atom/button-link/style.css +4 -2
  107. package/lib/atom/button-link/test/fixtures.js +0 -3
  108. package/lib/atom/button-link/test/fixtures.js.map +1 -1
  109. package/lib/atom/button-link-icon-only/index.js +94 -0
  110. package/lib/atom/button-link-icon-only/index.js.map +1 -0
  111. package/lib/atom/button-link-icon-only/style.css +64 -0
  112. package/lib/atom/button-link-icon-only/test/button-link-icon-only.js +37 -0
  113. package/lib/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -0
  114. package/lib/atom/button-link-icon-only/test/fixtures/button-icon-bullet.js +15 -0
  115. package/lib/atom/button-link-icon-only/test/fixtures/button-icon-bullet.js.map +1 -0
  116. package/lib/atom/{button-link/test/fixtures/icon-button.js → button-link-icon-only/test/fixtures/default.js} +3 -6
  117. package/lib/atom/button-link-icon-only/test/fixtures/default.js.map +1 -0
  118. package/lib/atom/button-link-icon-only/test/fixtures/no-icon.js +12 -0
  119. package/lib/atom/button-link-icon-only/test/fixtures/no-icon.js.map +1 -0
  120. package/lib/atom/button-link-icon-only/test/fixtures/small-button-disabled.js +16 -0
  121. package/lib/atom/button-link-icon-only/test/fixtures/small-button-disabled.js.map +1 -0
  122. package/lib/atom/button-link-icon-only/test/fixtures/small-link-download.js +18 -0
  123. package/lib/atom/button-link-icon-only/test/fixtures/small-link-download.js.map +1 -0
  124. package/lib/atom/button-link-icon-only/test/fixtures.js +34 -0
  125. package/lib/atom/button-link-icon-only/test/fixtures.js.map +1 -0
  126. package/lib/atom/button-menu/index.js +82 -0
  127. package/lib/atom/button-menu/index.js.map +1 -0
  128. package/lib/atom/button-menu/style.css +51 -0
  129. package/lib/atom/button-menu/test/fixtures/default.js +27 -0
  130. package/lib/atom/button-menu/test/fixtures/default.js.map +1 -0
  131. package/lib/atom/button-menu/test/fixtures/multiple-buttons.js +23 -0
  132. package/lib/atom/button-menu/test/fixtures/multiple-buttons.js.map +1 -0
  133. package/lib/atom/button-menu/test/fixtures.js +25 -0
  134. package/lib/atom/button-menu/test/fixtures.js.map +1 -0
  135. package/lib/atom/empty-search-result/index.js +34 -0
  136. package/lib/atom/empty-search-result/index.js.map +1 -0
  137. package/lib/atom/empty-search-result/style.css +25 -0
  138. package/lib/atom/empty-search-result/test/fixtures/default.js +12 -0
  139. package/lib/atom/empty-search-result/test/fixtures/default.js.map +1 -0
  140. package/lib/atom/empty-search-result/test/fixtures.js +22 -0
  141. package/lib/atom/empty-search-result/test/fixtures.js.map +1 -0
  142. package/lib/atom/input-text/index.js +3 -2
  143. package/lib/atom/input-text/index.js.map +1 -1
  144. package/lib/atom/tag/index.js +3 -2
  145. package/lib/atom/tag/index.js.map +1 -1
  146. package/lib/atom/tag/style.css +5 -1
  147. package/lib/atom/tag/test/fixtures/draft.js +12 -0
  148. package/lib/atom/tag/test/fixtures/draft.js.map +1 -0
  149. package/lib/atom/tag/test/fixtures/{revision.js → revised.js} +2 -2
  150. package/lib/atom/tag/test/fixtures/revised.js.map +1 -0
  151. package/lib/molecule/bullet-point-menu-button/index.js +69 -0
  152. package/lib/molecule/bullet-point-menu-button/index.js.map +1 -0
  153. package/lib/molecule/bullet-point-menu-button/style.css +52 -0
  154. package/lib/molecule/bullet-point-menu-button/test/bullet-point-menu-button.js +46 -0
  155. package/lib/molecule/bullet-point-menu-button/test/bullet-point-menu-button.js.map +1 -0
  156. package/lib/molecule/bullet-point-menu-button/test/fixtures/default.js +18 -0
  157. package/lib/molecule/bullet-point-menu-button/test/fixtures/default.js.map +1 -0
  158. package/lib/molecule/bullet-point-menu-button/test/fixtures/multiple-buttons.js +25 -0
  159. package/lib/molecule/bullet-point-menu-button/test/fixtures/multiple-buttons.js.map +1 -0
  160. package/lib/molecule/bullet-point-menu-button/test/fixtures.js +25 -0
  161. package/lib/molecule/bullet-point-menu-button/test/fixtures.js.map +1 -0
  162. package/lib/molecule/cm-popin/index.js +8 -6
  163. package/lib/molecule/cm-popin/index.js.map +1 -1
  164. package/lib/molecule/cm-popin/style.css +0 -25
  165. package/lib/molecule/search/test/fixtures.js +25 -0
  166. package/lib/molecule/search/test/fixtures.js.map +1 -0
  167. package/lib/molecule/vertical-tabs/index.js +8 -3
  168. package/lib/molecule/vertical-tabs/index.js.map +1 -1
  169. package/lib/molecule/vertical-tabs/test/fixtures/default.js +2 -1
  170. package/lib/molecule/vertical-tabs/test/fixtures/default.js.map +1 -1
  171. package/lib/molecule/vertical-tabs/test/fixtures/with-selected-item.js +2 -1
  172. package/lib/molecule/vertical-tabs/test/fixtures/with-selected-item.js.map +1 -1
  173. package/lib/organism/course-selection/index.js +70 -0
  174. package/lib/organism/course-selection/index.js.map +1 -0
  175. package/lib/organism/course-selection/style.css +23 -0
  176. package/lib/organism/course-selection/test/fixtures/default.js +47 -0
  177. package/lib/organism/course-selection/test/fixtures/default.js.map +1 -0
  178. package/lib/organism/course-selection/test/fixtures/empty.js +23 -0
  179. package/lib/organism/course-selection/test/fixtures/empty.js.map +1 -0
  180. package/lib/organism/course-selection/test/fixtures/filtered.js +36 -0
  181. package/lib/organism/course-selection/test/fixtures/filtered.js.map +1 -0
  182. package/lib/organism/course-selection/test/fixtures/sorted-selected.js +44 -0
  183. package/lib/organism/course-selection/test/fixtures/sorted-selected.js.map +1 -0
  184. package/lib/organism/course-selection/test/fixtures/unsorted-selected.js +44 -0
  185. package/lib/organism/course-selection/test/fixtures/unsorted-selected.js.map +1 -0
  186. package/lib/organism/course-selection/test/fixtures.js +34 -0
  187. package/lib/organism/course-selection/test/fixtures.js.map +1 -0
  188. package/lib/organism/playlist-translation/index.js +78 -0
  189. package/lib/organism/playlist-translation/index.js.map +1 -0
  190. package/lib/organism/playlist-translation/style.css +45 -0
  191. package/lib/organism/playlist-translation/test/fixtures/default.js +35 -0
  192. package/lib/organism/playlist-translation/test/fixtures/default.js.map +1 -0
  193. package/lib/organism/playlist-translation/test/fixtures/delete.js +29 -0
  194. package/lib/organism/playlist-translation/test/fixtures/delete.js.map +1 -0
  195. package/lib/organism/playlist-translation/test/fixtures.js +25 -0
  196. package/lib/organism/playlist-translation/test/fixtures.js.map +1 -0
  197. package/lib/organism/search-and-chips-results/index.js +4 -8
  198. package/lib/organism/search-and-chips-results/index.js.map +1 -1
  199. package/lib/organism/search-and-chips-results/style.css +0 -22
  200. package/lib/organism/setup-header/index.js +80 -32
  201. package/lib/organism/setup-header/index.js.map +1 -1
  202. package/lib/organism/setup-header/style.css +27 -62
  203. package/lib/template/teams-dashboard/index.js +3 -1
  204. package/lib/template/teams-dashboard/index.js.map +1 -1
  205. package/lib/util/button-icons.js +23 -0
  206. package/lib/util/button-icons.js.map +1 -0
  207. package/package.json +3 -3
  208. package/es/atom/button-link/test/fixtures/icon-button.js.map +0 -1
  209. package/es/atom/tag/test/fixtures/revision.js.map +0 -1
  210. package/lib/atom/button-link/test/fixtures/icon-button.js.map +0 -1
  211. package/lib/atom/tag/test/fixtures/revision.js.map +0 -1
@@ -1,23 +1,14 @@
1
+ import _keys from "lodash/fp/keys";
1
2
  import _getOr from "lodash/fp/getOr";
2
3
 
3
4
  function _extends() { _extends = Object.assign || 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); }
4
5
 
5
- import React, { useMemo } from 'react';
6
+ import React, { useCallback } from 'react';
6
7
  import PropTypes from 'prop-types';
7
8
  import classnames from 'classnames';
8
- import { NovaSolidRemoveAddAddCircle1 as AddIcon, NovaCompositionNavigationArrowLeft as ChevronLeftIcon, NovaCompositionNavigationArrowRight as ChevronRightIcon, NovaCompositionCoorpacademyEye as EyeIcon, NovaCompositionCoorpacademyAnalytics as AnalyticsIcon, NovaCompositionCoorpacademyNext as CloseIcon, NovaSolidComputersSdCard as SaveIcon, NovaSolidContentEditionPencilWrite as EditIcon } from '@coorpacademy/nova-icons';
9
9
  import Link from '../link';
10
+ import { ICONS } from '../../util/button-icons';
10
11
  import style from './style.css';
11
- const ICONS = {
12
- add: AddIcon,
13
- analytics: AnalyticsIcon,
14
- 'chevron-left': ChevronLeftIcon,
15
- 'chevron-right': ChevronRightIcon,
16
- close: CloseIcon,
17
- edit: EditIcon,
18
- save: SaveIcon,
19
- see: EyeIcon
20
- };
21
12
 
22
13
  const getButtonContent = (icon, label) => {
23
14
  const {
@@ -35,14 +26,6 @@ const getButtonContent = (icon, label) => {
35
26
  }, label));
36
27
  }
37
28
 
38
- if (position === 'center' && Icon) {
39
- return /*#__PURE__*/React.createElement("div", {
40
- className: style.buttonContent
41
- }, /*#__PURE__*/React.createElement(Icon, {
42
- className: style.icon
43
- }));
44
- }
45
-
46
29
  return /*#__PURE__*/React.createElement("div", {
47
30
  className: style.buttonContent
48
31
  }, position === 'left' ? /*#__PURE__*/React.createElement(Icon, {
@@ -77,11 +60,12 @@ const ButtonLink = props => {
77
60
  }), contentView);
78
61
  }
79
62
 
80
- const handleOnClick = useMemo(() => () => onClick(), [onClick]);
63
+ const handleOnClick = useCallback(() => onClick(), [onClick]);
81
64
  return /*#__PURE__*/React.createElement("button", {
82
65
  type: "button",
83
66
  "aria-label": ariaLabel || label,
84
67
  title: ariaLabel || label,
68
+ "data-name": dataName,
85
69
  className: styleButton,
86
70
  onClick: handleOnClick
87
71
  }, contentView);
@@ -93,8 +77,8 @@ ButtonLink.propTypes = process.env.NODE_ENV !== "production" ? {
93
77
  'aria-label': PropTypes.string,
94
78
  'data-name': PropTypes.string,
95
79
  icon: PropTypes.shape({
96
- position: PropTypes.oneOf(['right', 'left', 'center']),
97
- type: PropTypes.string
80
+ position: PropTypes.oneOf(['right', 'left']),
81
+ type: PropTypes.oneOf(_keys(ICONS))
98
82
  }),
99
83
  onClick: PropTypes.func,
100
84
  link: PropTypes.shape({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/button-link/index.js"],"names":["React","useMemo","PropTypes","classnames","NovaSolidRemoveAddAddCircle1","AddIcon","NovaCompositionNavigationArrowLeft","ChevronLeftIcon","NovaCompositionNavigationArrowRight","ChevronRightIcon","NovaCompositionCoorpacademyEye","EyeIcon","NovaCompositionCoorpacademyAnalytics","AnalyticsIcon","NovaCompositionCoorpacademyNext","CloseIcon","NovaSolidComputersSdCard","SaveIcon","NovaSolidContentEditionPencilWrite","EditIcon","Link","style","ICONS","add","analytics","close","edit","save","see","getButtonContent","icon","label","type","position","Icon","buttonContent","ButtonLink","props","disabled","dataName","ariaLabel","link","onClick","contentView","styleButton","button","primary","secondary","tertiary","text","dangerous","handleOnClick","propTypes","oneOf","string","shape","func","href","download","bool","target"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaSolidRemoveAddAddCircle1 as AddIcon,\n NovaCompositionNavigationArrowLeft as ChevronLeftIcon,\n NovaCompositionNavigationArrowRight as ChevronRightIcon,\n NovaCompositionCoorpacademyEye as EyeIcon,\n NovaCompositionCoorpacademyAnalytics as AnalyticsIcon,\n NovaCompositionCoorpacademyNext as CloseIcon,\n NovaSolidComputersSdCard as SaveIcon,\n NovaSolidContentEditionPencilWrite as EditIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../link';\nimport style from './style.css';\n\nconst ICONS = {\n add: AddIcon,\n analytics: AnalyticsIcon,\n 'chevron-left': ChevronLeftIcon,\n 'chevron-right': ChevronRightIcon,\n close: CloseIcon,\n edit: EditIcon,\n save: SaveIcon,\n see: EyeIcon\n};\n\nconst getButtonContent = (icon, label) => {\n const {type, position} = icon;\n const Icon = getOr(null, type, ICONS);\n\n if (!Icon) {\n return (\n <div className={style.buttonContent}>\n <span className={style.label}>{label}</span>\n </div>\n );\n }\n\n if (position === 'center' && Icon) {\n return (\n <div className={style.buttonContent}>\n <Icon className={style.icon} />\n </div>\n );\n }\n\n return (\n <div className={style.buttonContent}>\n {position === 'left' ? <Icon className={style.icon} /> : null}\n <span className={style.label}>{label}</span>\n {position === 'right' ? <Icon className={style.icon} /> : null}\n </div>\n );\n};\n\nconst ButtonLink = props => {\n const {\n type,\n label,\n disabled,\n icon = {},\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n link,\n onClick\n } = props;\n const contentView = getButtonContent(icon, label);\n const styleButton = classnames(\n style.button,\n type === 'primary' && style.primary,\n type === 'secondary' && style.secondary,\n type === 'tertiary' && style.tertiary,\n type === 'text' && style.text,\n type === 'dangerous' && style.dangerous,\n link && style.link,\n disabled && style.disabled\n );\n\n if (link) {\n return (\n <Link\n {...link}\n className={styleButton}\n data-name={dataName}\n aria-label={ariaLabel || label}\n title={ariaLabel || label}\n >\n {contentView}\n </Link>\n );\n }\n\n const handleOnClick = useMemo(() => () => onClick(), [onClick]);\n return (\n <button\n type=\"button\"\n aria-label={ariaLabel || label}\n title={ariaLabel || label}\n className={styleButton}\n onClick={handleOnClick}\n >\n {contentView}\n </button>\n );\n};\n\nButtonLink.propTypes = {\n type: PropTypes.oneOf(['primary', 'secondary', 'tertiary', 'text', 'dangerous']),\n label: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n icon: PropTypes.shape({\n position: PropTypes.oneOf(['right', 'left', 'center']),\n type: PropTypes.string\n }),\n onClick: PropTypes.func,\n link: PropTypes.shape({\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])\n }),\n disabled: PropTypes.bool\n};\n\nexport default ButtonLink;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/button-link/index.js"],"names":["React","useCallback","PropTypes","classnames","Link","ICONS","style","getButtonContent","icon","label","type","position","Icon","buttonContent","ButtonLink","props","disabled","dataName","ariaLabel","link","onClick","contentView","styleButton","button","primary","secondary","tertiary","text","dangerous","handleOnClick","propTypes","oneOf","string","shape","func","href","download","bool","target"],"mappings":"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","sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, keys} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Link from '../link';\nimport {ICONS} from '../../util/button-icons';\nimport style from './style.css';\n\nconst getButtonContent = (icon, label) => {\n const {type, position} = icon;\n const Icon = getOr(null, type, ICONS);\n\n if (!Icon) {\n return (\n <div className={style.buttonContent}>\n <span className={style.label}>{label}</span>\n </div>\n );\n }\n\n return (\n <div className={style.buttonContent}>\n {position === 'left' ? <Icon className={style.icon} /> : null}\n <span className={style.label}>{label}</span>\n {position === 'right' ? <Icon className={style.icon} /> : null}\n </div>\n );\n};\n\nconst ButtonLink = props => {\n const {\n type,\n label,\n disabled,\n icon = {},\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n link,\n onClick\n } = props;\n const contentView = getButtonContent(icon, label);\n const styleButton = classnames(\n style.button,\n type === 'primary' && style.primary,\n type === 'secondary' && style.secondary,\n type === 'tertiary' && style.tertiary,\n type === 'text' && style.text,\n type === 'dangerous' && style.dangerous,\n link && style.link,\n disabled && style.disabled\n );\n\n if (link) {\n return (\n <Link\n {...link}\n className={styleButton}\n data-name={dataName}\n aria-label={ariaLabel || label}\n title={ariaLabel || label}\n >\n {contentView}\n </Link>\n );\n }\n\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n return (\n <button\n type=\"button\"\n aria-label={ariaLabel || label}\n title={ariaLabel || label}\n data-name={dataName}\n className={styleButton}\n onClick={handleOnClick}\n >\n {contentView}\n </button>\n );\n};\n\nButtonLink.propTypes = {\n type: PropTypes.oneOf(['primary', 'secondary', 'tertiary', 'text', 'dangerous']),\n label: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n icon: PropTypes.shape({\n position: PropTypes.oneOf(['right', 'left']),\n type: PropTypes.oneOf(keys(ICONS))\n }),\n onClick: PropTypes.func,\n link: PropTypes.shape({\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])\n }),\n disabled: PropTypes.bool\n};\n\nexport default ButtonLink;\n"],"file":"index.js"}
@@ -21,6 +21,9 @@
21
21
  align-items: center;
22
22
  cursor: pointer;
23
23
  border: none;
24
+ /* prevents text selection when dragging
25
+ the mouse over the button */
26
+ user-select: none;
24
27
  }
25
28
 
26
29
  .disabled {
@@ -70,7 +73,6 @@
70
73
  .tertiary {
71
74
  background-color: cm_grey_50;
72
75
  color: cm_grey_900;
73
- border-radius: 0px;
74
76
  }
75
77
 
76
78
  .tertiary:hover {
@@ -90,4 +92,4 @@
90
92
  color: inherit;
91
93
  border-radius: 0px;
92
94
  height: auto;
93
- }
95
+ }
@@ -7,7 +7,6 @@ import fixtureButtonPrimaryIconLeft from './fixtures/button-primary-icon-left';
7
7
  import fixtureButtonPrimaryNoIcon from './fixtures/button-primary-no-icon';
8
8
  import fixtureButtonSecondaryNoIconDisabled from './fixtures/button-secondary-no-icon-disabled';
9
9
  import fixtureButtonTertiaryIconLeft from './fixtures/button-tertiary-icon-left';
10
- import fixtureIconButton from './fixtures/icon-button';
11
10
  import fixtureLinkPrimaryDisabledIconRight from './fixtures/link-primary-disabled-icon-right';
12
11
  import fixtureLinkSecondaryIconRight from './fixtures/link-secondary-icon-right';
13
12
  import fixtureLinkTertiaryNoIcon from './fixtures/link-tertiary-no-icon';
@@ -24,7 +23,6 @@ test('Atom › AtomButtonLink › ButtonPrimaryIconLeft › should be rendered',
24
23
  test('Atom › AtomButtonLink › ButtonPrimaryNoIcon › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonPrimaryNoIcon);
25
24
  test('Atom › AtomButtonLink › ButtonSecondaryNoIconDisabled › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonSecondaryNoIconDisabled);
26
25
  test('Atom › AtomButtonLink › ButtonTertiaryIconLeft › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonTertiaryIconLeft);
27
- test('Atom › AtomButtonLink › IconButton › should be rendered', renderComponentMacro, AtomButtonLink, fixtureIconButton);
28
26
  test('Atom › AtomButtonLink › LinkPrimaryDisabledIconRight › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkPrimaryDisabledIconRight);
29
27
  test('Atom › AtomButtonLink › LinkSecondaryIconRight › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkSecondaryIconRight);
30
28
  test('Atom › AtomButtonLink › LinkTertiaryNoIcon › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkTertiaryNoIcon);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/atom/button-link/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","AtomButtonLink","fixtureButtonDangerousNoIcon","fixtureButtonPrimaryIconLeft","fixtureButtonPrimaryNoIcon","fixtureButtonSecondaryNoIconDisabled","fixtureButtonTertiaryIconLeft","fixtureIconButton","fixtureLinkPrimaryDisabledIconRight","fixtureLinkSecondaryIconRight","fixtureLinkTertiaryNoIcon","fixtureLinkTextIconRightTargetBlank","fixtureLinkTextNoIconDownload","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,cAAP,MAA2B,IAA3B;AACA,OAAOC,4BAAP,MAAyC,qCAAzC;AACA,OAAOC,4BAAP,MAAyC,qCAAzC;AACA,OAAOC,0BAAP,MAAuC,mCAAvC;AACA,OAAOC,oCAAP,MAAiD,8CAAjD;AACA,OAAOC,6BAAP,MAA0C,sCAA1C;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AACA,OAAOC,mCAAP,MAAgD,6CAAhD;AACA,OAAOC,6BAAP,MAA0C,sCAA1C;AACA,OAAOC,yBAAP,MAAsC,kCAAtC;AACA,OAAOC,mCAAP,MAAgD,8CAAhD;AACA,OAAOC,6BAAP,MAA0C,uCAA1C;AAEAd,IAAI,CAAC,qDAAD,EAAwDe,CAAC,IAAI;AAC/DA,EAAAA,CAAC,CAACC,IAAF;AACAf,EAAAA,OAAO,CAACE,cAAc,CAACc,SAAhB,EAA2B,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAChDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,+CAA8CF,GAAI,mEAA3E;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAnB,IAAI,CAAC,oEAAD,EAAuEE,oBAAvE,EAA6FC,cAA7F,EAA6GC,4BAA7G,CAAJ;AACAJ,IAAI,CAAC,oEAAD,EAAuEE,oBAAvE,EAA6FC,cAA7F,EAA6GE,4BAA7G,CAAJ;AACAL,IAAI,CAAC,kEAAD,EAAqEE,oBAArE,EAA2FC,cAA3F,EAA2GG,0BAA3G,CAAJ;AACAN,IAAI,CAAC,4EAAD,EAA+EE,oBAA/E,EAAqGC,cAArG,EAAqHI,oCAArH,CAAJ;AACAP,IAAI,CAAC,qEAAD,EAAwEE,oBAAxE,EAA8FC,cAA9F,EAA8GK,6BAA9G,CAAJ;AACAR,IAAI,CAAC,yDAAD,EAA4DE,oBAA5D,EAAkFC,cAAlF,EAAkGM,iBAAlG,CAAJ;AACAT,IAAI,CAAC,2EAAD,EAA8EE,oBAA9E,EAAoGC,cAApG,EAAoHO,mCAApH,CAAJ;AACAV,IAAI,CAAC,qEAAD,EAAwEE,oBAAxE,EAA8FC,cAA9F,EAA8GQ,6BAA9G,CAAJ;AACAX,IAAI,CAAC,iEAAD,EAAoEE,oBAApE,EAA0FC,cAA1F,EAA0GS,yBAA1G,CAAJ;AACAZ,IAAI,CAAC,2EAAD,EAA8EE,oBAA9E,EAAoGC,cAApG,EAAoHU,mCAApH,CAAJ;AACAb,IAAI,CAAC,qEAAD,EAAwEE,oBAAxE,EAA8FC,cAA9F,EAA8GW,6BAA9G,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomButtonLink from '..';\nimport fixtureButtonDangerousNoIcon from './fixtures/button-dangerous-no-icon';\nimport fixtureButtonPrimaryIconLeft from './fixtures/button-primary-icon-left';\nimport fixtureButtonPrimaryNoIcon from './fixtures/button-primary-no-icon';\nimport fixtureButtonSecondaryNoIconDisabled from './fixtures/button-secondary-no-icon-disabled';\nimport fixtureButtonTertiaryIconLeft from './fixtures/button-tertiary-icon-left';\nimport fixtureIconButton from './fixtures/icon-button';\nimport fixtureLinkPrimaryDisabledIconRight from './fixtures/link-primary-disabled-icon-right';\nimport fixtureLinkSecondaryIconRight from './fixtures/link-secondary-icon-right';\nimport fixtureLinkTertiaryNoIcon from './fixtures/link-tertiary-no-icon';\nimport fixtureLinkTextIconRightTargetBlank from './fixtures/link-text-icon-right-target-blank';\nimport fixtureLinkTextNoIconDownload from './fixtures/link-text-no-icon-download';\n\ntest('Atom › AtomButtonLink > should have valid propTypes', t => {\n t.pass();\n forEach(AtomButtonLink.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomButtonLink.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomButtonLink › ButtonDangerousNoIcon › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonDangerousNoIcon);\ntest('Atom › AtomButtonLink › ButtonPrimaryIconLeft › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonPrimaryIconLeft);\ntest('Atom › AtomButtonLink › ButtonPrimaryNoIcon › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonPrimaryNoIcon);\ntest('Atom › AtomButtonLink › ButtonSecondaryNoIconDisabled › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonSecondaryNoIconDisabled);\ntest('Atom › AtomButtonLink › ButtonTertiaryIconLeft › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonTertiaryIconLeft);\ntest('Atom › AtomButtonLink › IconButton › should be rendered', renderComponentMacro, AtomButtonLink, fixtureIconButton);\ntest('Atom › AtomButtonLink › LinkPrimaryDisabledIconRight › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkPrimaryDisabledIconRight);\ntest('Atom › AtomButtonLink › LinkSecondaryIconRight › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkSecondaryIconRight);\ntest('Atom › AtomButtonLink › LinkTertiaryNoIcon › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkTertiaryNoIcon);\ntest('Atom › AtomButtonLink › LinkTextIconRightTargetBlank › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkTextIconRightTargetBlank);\ntest('Atom › AtomButtonLink › LinkTextNoIconDownload › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkTextNoIconDownload);\n"],"file":"fixtures.js"}
1
+ {"version":3,"sources":["../../../../src/atom/button-link/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","AtomButtonLink","fixtureButtonDangerousNoIcon","fixtureButtonPrimaryIconLeft","fixtureButtonPrimaryNoIcon","fixtureButtonSecondaryNoIconDisabled","fixtureButtonTertiaryIconLeft","fixtureLinkPrimaryDisabledIconRight","fixtureLinkSecondaryIconRight","fixtureLinkTertiaryNoIcon","fixtureLinkTextIconRightTargetBlank","fixtureLinkTextNoIconDownload","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,cAAP,MAA2B,IAA3B;AACA,OAAOC,4BAAP,MAAyC,qCAAzC;AACA,OAAOC,4BAAP,MAAyC,qCAAzC;AACA,OAAOC,0BAAP,MAAuC,mCAAvC;AACA,OAAOC,oCAAP,MAAiD,8CAAjD;AACA,OAAOC,6BAAP,MAA0C,sCAA1C;AACA,OAAOC,mCAAP,MAAgD,6CAAhD;AACA,OAAOC,6BAAP,MAA0C,sCAA1C;AACA,OAAOC,yBAAP,MAAsC,kCAAtC;AACA,OAAOC,mCAAP,MAAgD,8CAAhD;AACA,OAAOC,6BAAP,MAA0C,uCAA1C;AAEAb,IAAI,CAAC,qDAAD,EAAwDc,CAAC,IAAI;AAC/DA,EAAAA,CAAC,CAACC,IAAF;AACAd,EAAAA,OAAO,CAACE,cAAc,CAACa,SAAhB,EAA2B,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAChDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,+CAA8CF,GAAI,mEAA3E;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAlB,IAAI,CAAC,oEAAD,EAAuEE,oBAAvE,EAA6FC,cAA7F,EAA6GC,4BAA7G,CAAJ;AACAJ,IAAI,CAAC,oEAAD,EAAuEE,oBAAvE,EAA6FC,cAA7F,EAA6GE,4BAA7G,CAAJ;AACAL,IAAI,CAAC,kEAAD,EAAqEE,oBAArE,EAA2FC,cAA3F,EAA2GG,0BAA3G,CAAJ;AACAN,IAAI,CAAC,4EAAD,EAA+EE,oBAA/E,EAAqGC,cAArG,EAAqHI,oCAArH,CAAJ;AACAP,IAAI,CAAC,qEAAD,EAAwEE,oBAAxE,EAA8FC,cAA9F,EAA8GK,6BAA9G,CAAJ;AACAR,IAAI,CAAC,2EAAD,EAA8EE,oBAA9E,EAAoGC,cAApG,EAAoHM,mCAApH,CAAJ;AACAT,IAAI,CAAC,qEAAD,EAAwEE,oBAAxE,EAA8FC,cAA9F,EAA8GO,6BAA9G,CAAJ;AACAV,IAAI,CAAC,iEAAD,EAAoEE,oBAApE,EAA0FC,cAA1F,EAA0GQ,yBAA1G,CAAJ;AACAX,IAAI,CAAC,2EAAD,EAA8EE,oBAA9E,EAAoGC,cAApG,EAAoHS,mCAApH,CAAJ;AACAZ,IAAI,CAAC,qEAAD,EAAwEE,oBAAxE,EAA8FC,cAA9F,EAA8GU,6BAA9G,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomButtonLink from '..';\nimport fixtureButtonDangerousNoIcon from './fixtures/button-dangerous-no-icon';\nimport fixtureButtonPrimaryIconLeft from './fixtures/button-primary-icon-left';\nimport fixtureButtonPrimaryNoIcon from './fixtures/button-primary-no-icon';\nimport fixtureButtonSecondaryNoIconDisabled from './fixtures/button-secondary-no-icon-disabled';\nimport fixtureButtonTertiaryIconLeft from './fixtures/button-tertiary-icon-left';\nimport fixtureLinkPrimaryDisabledIconRight from './fixtures/link-primary-disabled-icon-right';\nimport fixtureLinkSecondaryIconRight from './fixtures/link-secondary-icon-right';\nimport fixtureLinkTertiaryNoIcon from './fixtures/link-tertiary-no-icon';\nimport fixtureLinkTextIconRightTargetBlank from './fixtures/link-text-icon-right-target-blank';\nimport fixtureLinkTextNoIconDownload from './fixtures/link-text-no-icon-download';\n\ntest('Atom › AtomButtonLink > should have valid propTypes', t => {\n t.pass();\n forEach(AtomButtonLink.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomButtonLink.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomButtonLink › ButtonDangerousNoIcon › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonDangerousNoIcon);\ntest('Atom › AtomButtonLink › ButtonPrimaryIconLeft › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonPrimaryIconLeft);\ntest('Atom › AtomButtonLink › ButtonPrimaryNoIcon › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonPrimaryNoIcon);\ntest('Atom › AtomButtonLink › ButtonSecondaryNoIconDisabled › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonSecondaryNoIconDisabled);\ntest('Atom › AtomButtonLink › ButtonTertiaryIconLeft › should be rendered', renderComponentMacro, AtomButtonLink, fixtureButtonTertiaryIconLeft);\ntest('Atom › AtomButtonLink › LinkPrimaryDisabledIconRight › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkPrimaryDisabledIconRight);\ntest('Atom › AtomButtonLink › LinkSecondaryIconRight › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkSecondaryIconRight);\ntest('Atom › AtomButtonLink › LinkTertiaryNoIcon › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkTertiaryNoIcon);\ntest('Atom › AtomButtonLink › LinkTextIconRightTargetBlank › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkTextIconRightTargetBlank);\ntest('Atom › AtomButtonLink › LinkTextNoIconDownload › should be rendered', renderComponentMacro, AtomButtonLink, fixtureLinkTextNoIconDownload);\n"],"file":"fixtures.js"}
@@ -0,0 +1,76 @@
1
+ import _keys from "lodash/fp/keys";
2
+ import _getOr from "lodash/fp/getOr";
3
+
4
+ function _extends() { _extends = Object.assign || 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); }
5
+
6
+ import React, { useMemo } from 'react';
7
+ import PropTypes from 'prop-types';
8
+ import classnames from 'classnames';
9
+ import { ICONS } from '../../util/button-icons';
10
+ import Link from '../link';
11
+ import style from './style.css';
12
+
13
+ const getButtonContent = icon => {
14
+ const Icon = _getOr(null, icon, ICONS);
15
+
16
+ if (!Icon) {
17
+ return /*#__PURE__*/React.createElement("div", {
18
+ className: style.buttonContent
19
+ });
20
+ }
21
+
22
+ return /*#__PURE__*/React.createElement("div", {
23
+ className: style.buttonContent
24
+ }, /*#__PURE__*/React.createElement(Icon, {
25
+ className: style.icon
26
+ }));
27
+ };
28
+
29
+ const ButtonLinkIconOnly = props => {
30
+ const {
31
+ size = 'default',
32
+ disabled,
33
+ icon,
34
+ 'data-name': dataName,
35
+ 'aria-label': ariaLabel,
36
+ link,
37
+ onClick
38
+ } = props;
39
+ const contentView = getButtonContent(icon);
40
+ const styleButton = classnames(size === 'default' ? style.default : style.small, link && style.link, disabled && style.disabled);
41
+
42
+ if (link) {
43
+ return /*#__PURE__*/React.createElement(Link, _extends({}, link, {
44
+ className: styleButton,
45
+ "data-name": dataName,
46
+ "aria-label": ariaLabel,
47
+ title: ariaLabel
48
+ }), contentView);
49
+ }
50
+
51
+ const handleOnClick = useMemo(() => () => onClick(), [onClick]);
52
+ return /*#__PURE__*/React.createElement("button", {
53
+ type: "button",
54
+ "aria-label": ariaLabel,
55
+ "data-name": dataName,
56
+ title: ariaLabel,
57
+ className: styleButton,
58
+ onClick: handleOnClick
59
+ }, contentView);
60
+ };
61
+
62
+ ButtonLinkIconOnly.propTypes = process.env.NODE_ENV !== "production" ? {
63
+ size: PropTypes.oneOf(['default', 'small']),
64
+ 'aria-label': PropTypes.string,
65
+ 'data-name': PropTypes.string,
66
+ icon: PropTypes.oneOf(_keys(ICONS)),
67
+ onClick: PropTypes.func,
68
+ link: PropTypes.shape({
69
+ href: PropTypes.string,
70
+ download: PropTypes.bool,
71
+ target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])
72
+ }),
73
+ disabled: PropTypes.bool
74
+ } : {};
75
+ export default ButtonLinkIconOnly;
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/atom/button-link-icon-only/index.js"],"names":["React","useMemo","PropTypes","classnames","ICONS","Link","style","getButtonContent","icon","Icon","buttonContent","ButtonLinkIconOnly","props","size","disabled","dataName","ariaLabel","link","onClick","contentView","styleButton","default","small","handleOnClick","propTypes","oneOf","string","func","shape","href","download","bool","target"],"mappings":";;;;;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAAQC,KAAR,QAAoB,yBAApB;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,gBAAgB,GAAGC,IAAI,IAAI;AAC/B,QAAMC,IAAI,GAAG,OAAM,IAAN,EAAYD,IAAZ,EAAkBJ,KAAlB,CAAb;;AAEA,MAAI,CAACK,IAAL,EAAW;AACT,wBAAO;AAAK,MAAA,SAAS,EAAEH,KAAK,CAACI;AAAtB,MAAP;AACD;;AAED,sBACE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACI;AAAtB,kBACE,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAEJ,KAAK,CAACE;AAAvB,IADF,CADF;AAKD,CAZD;;AAcA,MAAMG,kBAAkB,GAAGC,KAAK,IAAI;AAClC,QAAM;AACJC,IAAAA,IAAI,GAAG,SADH;AAEJC,IAAAA,QAFI;AAGJN,IAAAA,IAHI;AAIJ,iBAAaO,QAJT;AAKJ,kBAAcC,SALV;AAMJC,IAAAA,IANI;AAOJC,IAAAA;AAPI,MAQFN,KARJ;AASA,QAAMO,WAAW,GAAGZ,gBAAgB,CAACC,IAAD,CAApC;AACA,QAAMY,WAAW,GAAGjB,UAAU,CAC5BU,IAAI,KAAK,SAAT,GAAqBP,KAAK,CAACe,OAA3B,GAAqCf,KAAK,CAACgB,KADf,EAE5BL,IAAI,IAAIX,KAAK,CAACW,IAFc,EAG5BH,QAAQ,IAAIR,KAAK,CAACQ,QAHU,CAA9B;;AAMA,MAAIG,IAAJ,EAAU;AACR,wBACE,oBAAC,IAAD,eACMA,IADN;AAEE,MAAA,SAAS,EAAEG,WAFb;AAGE,mBAAWL,QAHb;AAIE,oBAAYC,SAJd;AAKE,MAAA,KAAK,EAAEA;AALT,QAOGG,WAPH,CADF;AAWD;;AAED,QAAMI,aAAa,GAAGtB,OAAO,CAAC,MAAM,MAAMiB,OAAO,EAApB,EAAwB,CAACA,OAAD,CAAxB,CAA7B;AACA,sBACE;AACE,IAAA,IAAI,EAAC,QADP;AAEE,kBAAYF,SAFd;AAGE,iBAAWD,QAHb;AAIE,IAAA,KAAK,EAAEC,SAJT;AAKE,IAAA,SAAS,EAAEI,WALb;AAME,IAAA,OAAO,EAAEG;AANX,KAQGJ,WARH,CADF;AAYD,CA5CD;;AA8CAR,kBAAkB,CAACa,SAAnB,2CAA+B;AAC7BX,EAAAA,IAAI,EAAEX,SAAS,CAACuB,KAAV,CAAgB,CAAC,SAAD,EAAY,OAAZ,CAAhB,CADuB;AAE7B,gBAAcvB,SAAS,CAACwB,MAFK;AAG7B,eAAaxB,SAAS,CAACwB,MAHM;AAI7BlB,EAAAA,IAAI,EAAEN,SAAS,CAACuB,KAAV,CAAgB,MAAKrB,KAAL,CAAhB,CAJuB;AAK7Bc,EAAAA,OAAO,EAAEhB,SAAS,CAACyB,IALU;AAM7BV,EAAAA,IAAI,EAAEf,SAAS,CAAC0B,KAAV,CAAgB;AACpBC,IAAAA,IAAI,EAAE3B,SAAS,CAACwB,MADI;AAEpBI,IAAAA,QAAQ,EAAE5B,SAAS,CAAC6B,IAFA;AAGpBC,IAAAA,MAAM,EAAE9B,SAAS,CAACuB,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB;AAHY,GAAhB,CANuB;AAW7BX,EAAAA,QAAQ,EAAEZ,SAAS,CAAC6B;AAXS,CAA/B;AAcA,eAAepB,kBAAf","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, keys} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {ICONS} from '../../util/button-icons';\nimport Link from '../link';\nimport style from './style.css';\n\nconst getButtonContent = icon => {\n const Icon = getOr(null, icon, ICONS);\n\n if (!Icon) {\n return <div className={style.buttonContent} />;\n }\n\n return (\n <div className={style.buttonContent}>\n <Icon className={style.icon} />\n </div>\n );\n};\n\nconst ButtonLinkIconOnly = props => {\n const {\n size = 'default',\n disabled,\n icon,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n link,\n onClick\n } = props;\n const contentView = getButtonContent(icon);\n const styleButton = classnames(\n size === 'default' ? style.default : style.small,\n link && style.link,\n disabled && style.disabled\n );\n\n if (link) {\n return (\n <Link\n {...link}\n className={styleButton}\n data-name={dataName}\n aria-label={ariaLabel}\n title={ariaLabel}\n >\n {contentView}\n </Link>\n );\n }\n\n const handleOnClick = useMemo(() => () => onClick(), [onClick]);\n return (\n <button\n type=\"button\"\n aria-label={ariaLabel}\n data-name={dataName}\n title={ariaLabel}\n className={styleButton}\n onClick={handleOnClick}\n >\n {contentView}\n </button>\n );\n};\n\nButtonLinkIconOnly.propTypes = {\n size: PropTypes.oneOf(['default', 'small']),\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n icon: PropTypes.oneOf(keys(ICONS)),\n onClick: PropTypes.func,\n link: PropTypes.shape({\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top'])\n }),\n disabled: PropTypes.bool\n};\n\nexport default ButtonLinkIconOnly;\n"],"file":"index.js"}
@@ -0,0 +1,64 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value cm_grey_100 from colors;
3
+ @value cm_grey_200 from colors;
4
+
5
+ .button {
6
+ font-family: Gilroy;
7
+ font-size: 14px;
8
+ font-weight: bold;
9
+ display: flex;
10
+ justify-content: center;
11
+ align-items: center;
12
+ cursor: pointer;
13
+ border: none;
14
+ background-color: cm_grey_100;
15
+ }
16
+
17
+ .button:hover {
18
+ background-color: cm_grey_200;
19
+ }
20
+
21
+ .disabled {
22
+ opacity: 0.3;
23
+ cursor: default;
24
+ pointer-events: none;
25
+ }
26
+
27
+ .disabled:hover {
28
+ background-color: cm_grey_100;
29
+ }
30
+
31
+ .buttonContent {
32
+ display: flex;
33
+ justify-content: center;
34
+ align-items: center;
35
+ }
36
+
37
+ .link {
38
+ color: inherit;
39
+ text-decoration: none;
40
+ }
41
+
42
+ .default {
43
+ composes: button;
44
+ width: 44px;
45
+ height: 44px;
46
+ border-radius: 7px;
47
+ }
48
+
49
+ .small {
50
+ composes: button;
51
+ width: 32px;
52
+ height: 32px;
53
+ border-radius: 5px;
54
+ }
55
+
56
+ .default .icon {
57
+ width: 14px;
58
+ height: 14px;
59
+ }
60
+
61
+ .small .icon {
62
+ width: 12px;
63
+ height: 12px;
64
+ }
@@ -0,0 +1,25 @@
1
+ import _identity from "lodash/fp/identity";
2
+ import browserEnv from 'browser-env';
3
+ import test from 'ava';
4
+ import React from 'react';
5
+ import { shallow, configure } from 'enzyme';
6
+ import Adapter from 'enzyme-adapter-react-16';
7
+ import ButtonLinkIconOnly from '..';
8
+ import defaultFixture from './fixtures/button-icon-bullet';
9
+ browserEnv();
10
+ configure({
11
+ adapter: new Adapter()
12
+ });
13
+ const translate = _identity;
14
+ test('should launch onClick on click event for ButtonLinkIconOnly', t => {
15
+ const wrapper = shallow( /*#__PURE__*/React.createElement(ButtonLinkIconOnly, defaultFixture.props), {
16
+ context: {
17
+ translate
18
+ }
19
+ });
20
+ const button = wrapper.find('[data-name="bullet-button"]');
21
+ t.true(button.exists());
22
+ button.first().simulate('click', {});
23
+ t.pass();
24
+ });
25
+ //# sourceMappingURL=button-link-icon-only.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/atom/button-link-icon-only/test/button-link-icon-only.js"],"names":["browserEnv","test","React","shallow","configure","Adapter","ButtonLinkIconOnly","defaultFixture","adapter","translate","t","wrapper","props","context","button","find","true","exists","first","simulate","pass"],"mappings":";AAAA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAAQC,OAAR,EAAiBC,SAAjB,QAAiC,QAAjC;AAEA,OAAOC,OAAP,MAAoB,yBAApB;AACA,OAAOC,kBAAP,MAA+B,IAA/B;AACA,OAAOC,cAAP,MAA2B,+BAA3B;AAEAP,UAAU;AACVI,SAAS,CAAC;AAACI,EAAAA,OAAO,EAAE,IAAIH,OAAJ;AAAV,CAAD,CAAT;AACA,MAAMI,SAAS,YAAf;AAEAR,IAAI,CAAC,6DAAD,EAAgES,CAAC,IAAI;AACvE,QAAMC,OAAO,GAAGR,OAAO,eAAC,oBAAC,kBAAD,EAAwBI,cAAc,CAACK,KAAvC,CAAD,EAAmD;AACxEC,IAAAA,OAAO,EAAE;AAACJ,MAAAA;AAAD;AAD+D,GAAnD,CAAvB;AAGA,QAAMK,MAAM,GAAGH,OAAO,CAACI,IAAR,CAAa,6BAAb,CAAf;AACAL,EAAAA,CAAC,CAACM,IAAF,CAAOF,MAAM,CAACG,MAAP,EAAP;AACAH,EAAAA,MAAM,CAACI,KAAP,GAAeC,QAAf,CAAwB,OAAxB,EAAiC,EAAjC;AACAT,EAAAA,CAAC,CAACU,IAAF;AACD,CARG,CAAJ","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {shallow, configure} from 'enzyme';\nimport {identity} from 'lodash/fp';\nimport Adapter from 'enzyme-adapter-react-16';\nimport ButtonLinkIconOnly from '..';\nimport defaultFixture from './fixtures/button-icon-bullet';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\nconst translate = identity;\n\ntest('should launch onClick on click event for ButtonLinkIconOnly', t => {\n const wrapper = shallow(<ButtonLinkIconOnly {...defaultFixture.props} />, {\n context: {translate}\n });\n const button = wrapper.find('[data-name=\"bullet-button\"]');\n t.true(button.exists());\n button.first().simulate('click', {});\n t.pass();\n});\n"],"file":"button-link-icon-only.js"}
@@ -0,0 +1,10 @@
1
+ export default {
2
+ props: {
3
+ size: 'default',
4
+ 'aria-label': 'aria button',
5
+ 'data-name': 'bullet-button',
6
+ icon: 'bullet-point',
7
+ onClick: () => console.log('click')
8
+ }
9
+ };
10
+ //# sourceMappingURL=button-icon-bullet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/atom/button-link-icon-only/test/fixtures/button-icon-bullet.js"],"names":["props","size","icon","onClick","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,SADD;AAEL,kBAAc,aAFT;AAGL,iBAAa,eAHR;AAILC,IAAAA,IAAI,EAAE,cAJD;AAKLC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AALV;AADM,CAAf","sourcesContent":["export default {\n props: {\n size: 'default',\n 'aria-label': 'aria button',\n 'data-name': 'bullet-button',\n icon: 'bullet-point',\n onClick: () => console.log('click')\n }\n};\n"],"file":"button-icon-bullet.js"}
@@ -1,13 +1,10 @@
1
1
  export default {
2
2
  props: {
3
- type: 'secondary',
3
+ size: 'default',
4
4
  'data-name': 'default-button',
5
5
  'aria-label': 'aria button',
6
- icon: {
7
- position: 'center',
8
- type: 'close'
9
- },
6
+ icon: 'close',
10
7
  onClick: () => console.log('click')
11
8
  }
12
9
  };
13
- //# sourceMappingURL=icon-button.js.map
10
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/atom/button-link-icon-only/test/fixtures/default.js"],"names":["props","size","icon","onClick","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,SADD;AAEL,iBAAa,gBAFR;AAGL,kBAAc,aAHT;AAILC,IAAAA,IAAI,EAAE,OAJD;AAKLC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AALV;AADM,CAAf","sourcesContent":["export default {\n props: {\n size: 'default',\n 'data-name': 'default-button',\n 'aria-label': 'aria button',\n icon: 'close',\n onClick: () => console.log('click')\n }\n};\n"],"file":"default.js"}
@@ -0,0 +1,7 @@
1
+ export default {
2
+ props: {
3
+ 'data-name': 'default-button',
4
+ onClick: () => console.log('click')
5
+ }
6
+ };
7
+ //# sourceMappingURL=no-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/atom/button-link-icon-only/test/fixtures/no-icon.js"],"names":["props","onClick","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACL,iBAAa,gBADR;AAELC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AAFV;AADM,CAAf","sourcesContent":["export default {\n props: {\n 'data-name': 'default-button',\n onClick: () => console.log('click')\n }\n};\n"],"file":"no-icon.js"}
@@ -0,0 +1,11 @@
1
+ export default {
2
+ props: {
3
+ size: 'small',
4
+ 'data-name': 'default-button',
5
+ 'aria-label': 'aria button',
6
+ icon: 'close',
7
+ disabled: true,
8
+ onClick: () => console.log('click')
9
+ }
10
+ };
11
+ //# sourceMappingURL=small-button-disabled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/atom/button-link-icon-only/test/fixtures/small-button-disabled.js"],"names":["props","size","icon","disabled","onClick","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,OADD;AAEL,iBAAa,gBAFR;AAGL,kBAAc,aAHT;AAILC,IAAAA,IAAI,EAAE,OAJD;AAKLC,IAAAA,QAAQ,EAAE,IALL;AAMLC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AANV;AADM,CAAf","sourcesContent":["export default {\n props: {\n size: 'small',\n 'data-name': 'default-button',\n 'aria-label': 'aria button',\n icon: 'close',\n disabled: true,\n onClick: () => console.log('click')\n }\n};\n"],"file":"small-button-disabled.js"}
@@ -0,0 +1,13 @@
1
+ export default {
2
+ props: {
3
+ size: 'small',
4
+ icon: 'see',
5
+ 'data-name': 'default-button',
6
+ 'aria-label': 'aria button',
7
+ link: {
8
+ href: 'https://setup.coorpacademy.com/assets/templates/import-users-template.xlsx',
9
+ download: true
10
+ }
11
+ }
12
+ };
13
+ //# sourceMappingURL=small-link-download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/atom/button-link-icon-only/test/fixtures/small-link-download.js"],"names":["props","size","icon","link","href","download"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,OADD;AAELC,IAAAA,IAAI,EAAE,KAFD;AAGL,iBAAa,gBAHR;AAIL,kBAAc,aAJT;AAKLC,IAAAA,IAAI,EAAE;AACJC,MAAAA,IAAI,EAAE,4EADF;AAEJC,MAAAA,QAAQ,EAAE;AAFN;AALD;AADM,CAAf","sourcesContent":["export default {\n props: {\n size: 'small',\n icon: 'see',\n 'data-name': 'default-button',\n 'aria-label': 'aria button',\n link: {\n href: 'https://setup.coorpacademy.com/assets/templates/import-users-template.xlsx',\n download: true\n }\n }\n};\n"],"file":"small-link-download.js"}
@@ -0,0 +1,21 @@
1
+ import test from 'ava';
2
+ import forEach from 'lodash/forEach';
3
+ import renderComponentMacro from '../../../test/helpers/render-component';
4
+ import AtomButtonLinkIconOnly from '..';
5
+ import fixtureButtonIconBullet from './fixtures/button-icon-bullet';
6
+ import fixtureDefault from './fixtures/default';
7
+ import fixtureNoIcon from './fixtures/no-icon';
8
+ import fixtureSmallButtonDisabled from './fixtures/small-button-disabled';
9
+ import fixtureSmallLinkDownload from './fixtures/small-link-download';
10
+ test('Atom › AtomButtonLinkIconOnly > should have valid propTypes', t => {
11
+ t.pass();
12
+ forEach(AtomButtonLinkIconOnly.propTypes, (value, key) => {
13
+ t.not(value, undefined, `PropType for "Atom.AtomButtonLinkIconOnly.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
14
+ });
15
+ });
16
+ test('Atom › AtomButtonLinkIconOnly › ButtonIconBullet › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureButtonIconBullet);
17
+ test('Atom › AtomButtonLinkIconOnly › Default › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureDefault);
18
+ test('Atom › AtomButtonLinkIconOnly › NoIcon › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureNoIcon);
19
+ test('Atom › AtomButtonLinkIconOnly › SmallButtonDisabled › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureSmallButtonDisabled);
20
+ test('Atom › AtomButtonLinkIconOnly › SmallLinkDownload › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureSmallLinkDownload);
21
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/atom/button-link-icon-only/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","AtomButtonLinkIconOnly","fixtureButtonIconBullet","fixtureDefault","fixtureNoIcon","fixtureSmallButtonDisabled","fixtureSmallLinkDownload","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,sBAAP,MAAmC,IAAnC;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,aAAP,MAA0B,oBAA1B;AACA,OAAOC,0BAAP,MAAuC,kCAAvC;AACA,OAAOC,wBAAP,MAAqC,gCAArC;AAEAR,IAAI,CAAC,6DAAD,EAAgES,CAAC,IAAI;AACvEA,EAAAA,CAAC,CAACC,IAAF;AACAT,EAAAA,OAAO,CAACE,sBAAsB,CAACQ,SAAxB,EAAmC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACxDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,uDAAsDF,GAAI,mEAAnF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAb,IAAI,CAAC,uEAAD,EAA0EE,oBAA1E,EAAgGC,sBAAhG,EAAwHC,uBAAxH,CAAJ;AACAJ,IAAI,CAAC,8DAAD,EAAiEE,oBAAjE,EAAuFC,sBAAvF,EAA+GE,cAA/G,CAAJ;AACAL,IAAI,CAAC,6DAAD,EAAgEE,oBAAhE,EAAsFC,sBAAtF,EAA8GG,aAA9G,CAAJ;AACAN,IAAI,CAAC,0EAAD,EAA6EE,oBAA7E,EAAmGC,sBAAnG,EAA2HI,0BAA3H,CAAJ;AACAP,IAAI,CAAC,wEAAD,EAA2EE,oBAA3E,EAAiGC,sBAAjG,EAAyHK,wBAAzH,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomButtonLinkIconOnly from '..';\nimport fixtureButtonIconBullet from './fixtures/button-icon-bullet';\nimport fixtureDefault from './fixtures/default';\nimport fixtureNoIcon from './fixtures/no-icon';\nimport fixtureSmallButtonDisabled from './fixtures/small-button-disabled';\nimport fixtureSmallLinkDownload from './fixtures/small-link-download';\n\ntest('Atom › AtomButtonLinkIconOnly > should have valid propTypes', t => {\n t.pass();\n forEach(AtomButtonLinkIconOnly.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomButtonLinkIconOnly.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomButtonLinkIconOnly › ButtonIconBullet › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureButtonIconBullet);\ntest('Atom › AtomButtonLinkIconOnly › Default › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureDefault);\ntest('Atom › AtomButtonLinkIconOnly › NoIcon › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureNoIcon);\ntest('Atom › AtomButtonLinkIconOnly › SmallButtonDisabled › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureSmallButtonDisabled);\ntest('Atom › AtomButtonLinkIconOnly › SmallLinkDownload › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureSmallLinkDownload);\n"],"file":"fixtures.js"}
@@ -0,0 +1,66 @@
1
+ function _extends() { _extends = Object.assign || 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); }
2
+
3
+ import React, { useMemo, useCallback } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import map from 'lodash/fp/map';
6
+ import classnames from 'classnames';
7
+ import style from './style.css';
8
+
9
+ const Button = props => {
10
+ const {
11
+ 'data-name': dataName,
12
+ disabled,
13
+ label,
14
+ onClick,
15
+ type = 'default'
16
+ } = props;
17
+ const styleButton = classnames(style.button, type === 'default' && style.default, type === 'dangerous' && style.dangerous, disabled && style.disabled);
18
+ const handleOnClick = useCallback(() => onClick(), [onClick]);
19
+ return /*#__PURE__*/React.createElement("button", {
20
+ type: "button",
21
+ "aria-label": label,
22
+ title: label,
23
+ "data-name": dataName,
24
+ className: styleButton,
25
+ onClick: handleOnClick
26
+ }, /*#__PURE__*/React.createElement("div", {
27
+ className: style.buttonContent
28
+ }, /*#__PURE__*/React.createElement("span", {
29
+ className: style.label
30
+ }, label)));
31
+ };
32
+
33
+ Button.propTypes = process.env.NODE_ENV !== "production" ? {
34
+ 'data-name': PropTypes.string,
35
+ disabled: PropTypes.bool,
36
+ label: PropTypes.string.isRequired,
37
+ onClick: PropTypes.func.isRequired,
38
+ type: PropTypes.oneOf(['default', 'dangerous'])
39
+ } : {};
40
+
41
+ const ButtonMenu = props => {
42
+ const {
43
+ buttons,
44
+ 'data-name': dataName
45
+ } = props;
46
+
47
+ const buildButton = (button, index) => {
48
+ return /*#__PURE__*/React.createElement(Button, _extends({}, button, {
49
+ key: button.label + index
50
+ }));
51
+ };
52
+
53
+ const buttonList = useMemo(() => map.convert({
54
+ cap: false
55
+ })(buildButton, buttons), [buttons, buildButton]);
56
+ return /*#__PURE__*/React.createElement("div", {
57
+ "data-name": dataName
58
+ }, buttonList);
59
+ };
60
+
61
+ ButtonMenu.propTypes = process.env.NODE_ENV !== "production" ? {
62
+ buttons: PropTypes.arrayOf(PropTypes.shape(Button.propTypes)).isRequired,
63
+ 'data-name': PropTypes.string
64
+ } : {};
65
+ export default ButtonMenu;
66
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/atom/button-menu/index.js"],"names":["React","useMemo","useCallback","PropTypes","map","classnames","style","Button","props","dataName","disabled","label","onClick","type","styleButton","button","default","dangerous","handleOnClick","buttonContent","propTypes","string","bool","isRequired","func","oneOf","ButtonMenu","buttons","buildButton","index","buttonList","convert","cap","arrayOf","shape"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,EAAwBC,WAAxB,QAA0C,OAA1C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,MAAM,GAAGC,KAAK,IAAI;AACtB,QAAM;AAAC,iBAAaC,QAAd;AAAwBC,IAAAA,QAAxB;AAAkCC,IAAAA,KAAlC;AAAyCC,IAAAA,OAAzC;AAAkDC,IAAAA,IAAI,GAAG;AAAzD,MAAsEL,KAA5E;AACA,QAAMM,WAAW,GAAGT,UAAU,CAC5BC,KAAK,CAACS,MADsB,EAE5BF,IAAI,KAAK,SAAT,IAAsBP,KAAK,CAACU,OAFA,EAG5BH,IAAI,KAAK,WAAT,IAAwBP,KAAK,CAACW,SAHF,EAI5BP,QAAQ,IAAIJ,KAAK,CAACI,QAJU,CAA9B;AAOA,QAAMQ,aAAa,GAAGhB,WAAW,CAAC,MAAMU,OAAO,EAAd,EAAkB,CAACA,OAAD,CAAlB,CAAjC;AACA,sBACE;AACE,IAAA,IAAI,EAAC,QADP;AAEE,kBAAYD,KAFd;AAGE,IAAA,KAAK,EAAEA,KAHT;AAIE,iBAAWF,QAJb;AAKE,IAAA,SAAS,EAAEK,WALb;AAME,IAAA,OAAO,EAAEI;AANX,kBAQE;AAAK,IAAA,SAAS,EAAEZ,KAAK,CAACa;AAAtB,kBACE;AAAM,IAAA,SAAS,EAAEb,KAAK,CAACK;AAAvB,KAA+BA,KAA/B,CADF,CARF,CADF;AAcD,CAxBD;;AA0BAJ,MAAM,CAACa,SAAP,2CAAmB;AACjB,eAAajB,SAAS,CAACkB,MADN;AAEjBX,EAAAA,QAAQ,EAAEP,SAAS,CAACmB,IAFH;AAGjBX,EAAAA,KAAK,EAAER,SAAS,CAACkB,MAAV,CAAiBE,UAHP;AAIjBX,EAAAA,OAAO,EAAET,SAAS,CAACqB,IAAV,CAAeD,UAJP;AAKjBV,EAAAA,IAAI,EAAEV,SAAS,CAACsB,KAAV,CAAgB,CAAC,SAAD,EAAY,WAAZ,CAAhB;AALW,CAAnB;;AAQA,MAAMC,UAAU,GAAGlB,KAAK,IAAI;AAC1B,QAAM;AAACmB,IAAAA,OAAD;AAAU,iBAAalB;AAAvB,MAAmCD,KAAzC;;AACA,QAAMoB,WAAW,GAAG,CAACb,MAAD,EAASc,KAAT,KAAmB;AACrC,wBAAO,oBAAC,MAAD,eAAYd,MAAZ;AAAoB,MAAA,GAAG,EAAEA,MAAM,CAACJ,KAAP,GAAekB;AAAxC,OAAP;AACD,GAFD;;AAGA,QAAMC,UAAU,GAAG7B,OAAO,CAAC,MAAMG,GAAG,CAAC2B,OAAJ,CAAY;AAACC,IAAAA,GAAG,EAAE;AAAN,GAAZ,EAA0BJ,WAA1B,EAAuCD,OAAvC,CAAP,EAAwD,CAChFA,OADgF,EAEhFC,WAFgF,CAAxD,CAA1B;AAIA,sBAAO;AAAK,iBAAWnB;AAAhB,KAA2BqB,UAA3B,CAAP;AACD,CAVD;;AAYAJ,UAAU,CAACN,SAAX,2CAAuB;AACrBO,EAAAA,OAAO,EAAExB,SAAS,CAAC8B,OAAV,CAAkB9B,SAAS,CAAC+B,KAAV,CAAgB3B,MAAM,CAACa,SAAvB,CAAlB,EAAqDG,UADzC;AAErB,eAAapB,SAAS,CAACkB;AAFF,CAAvB;AAKA,eAAeK,UAAf","sourcesContent":["import React, {useMemo, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport classnames from 'classnames';\nimport style from './style.css';\n\nconst Button = props => {\n const {'data-name': dataName, disabled, label, onClick, type = 'default'} = props;\n const styleButton = classnames(\n style.button,\n type === 'default' && style.default,\n type === 'dangerous' && style.dangerous,\n disabled && style.disabled\n );\n\n const handleOnClick = useCallback(() => onClick(), [onClick]);\n return (\n <button\n type=\"button\"\n aria-label={label}\n title={label}\n data-name={dataName}\n className={styleButton}\n onClick={handleOnClick}\n >\n <div className={style.buttonContent}>\n <span className={style.label}>{label}</span>\n </div>\n </button>\n );\n};\n\nButton.propTypes = {\n 'data-name': PropTypes.string,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n type: PropTypes.oneOf(['default', 'dangerous'])\n};\n\nconst ButtonMenu = props => {\n const {buttons, 'data-name': dataName} = props;\n const buildButton = (button, index) => {\n return <Button {...button} key={button.label + index} />;\n };\n const buttonList = useMemo(() => map.convert({cap: false})(buildButton, buttons), [\n buttons,\n buildButton\n ]);\n return <div data-name={dataName}>{buttonList}</div>;\n};\n\nButtonMenu.propTypes = {\n buttons: PropTypes.arrayOf(PropTypes.shape(Button.propTypes)).isRequired,\n 'data-name': PropTypes.string\n};\n\nexport default ButtonMenu;\n"],"file":"index.js"}
@@ -0,0 +1,51 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value cm_grey_100 from colors;
3
+ @value cm_grey_200 from colors;
4
+ @value cm_grey_900 from colors;
5
+ @value cm_negative_100 from colors;
6
+
7
+ .button {
8
+ width: 100%;
9
+ height: 40px;
10
+ font-family: Gilroy;
11
+ font-size: 14px;
12
+ display: flex;
13
+ justify-content: center;
14
+ align-items: center;
15
+ cursor: pointer;
16
+ border: none;
17
+ pointer-events: auto;
18
+ /* prevents text selection when dragging
19
+ the mouse over the button */
20
+ user-select: none;
21
+ }
22
+
23
+ .disabled {
24
+ opacity: 0.1;
25
+ pointer-events: none;
26
+ }
27
+
28
+ .buttonContent {
29
+ display: flex;
30
+ justify-content: center;
31
+ align-items: center;
32
+ }
33
+
34
+ .label {
35
+ margin: 0 8px 0 8px;
36
+ display: block;
37
+ }
38
+
39
+ .default {
40
+ background-color: cm_grey_100;
41
+ color: cm_grey_900;
42
+ }
43
+
44
+ .default:hover {
45
+ background-color: cm_grey_200;
46
+ }
47
+
48
+ .dangerous {
49
+ composes: default;
50
+ color: cm_negative_100;
51
+ }
@@ -0,0 +1,20 @@
1
+ export const actionButtonProps = {
2
+ 'data-name': 'menu-publish-button',
3
+ label: 'Publish',
4
+ onClick: () => console.log('Publish'),
5
+ type: 'default'
6
+ };
7
+ export const deleteButtonProps = {
8
+ 'data-name': 'menu-delete-button',
9
+ label: 'Delete',
10
+ onClick: () => console.log('Delete'),
11
+ type: 'dangerous'
12
+ };
13
+ export default {
14
+ props: {
15
+ buttons: [actionButtonProps, deleteButtonProps],
16
+ 'aria-label': 'aria button',
17
+ 'data-name': 'default-menu'
18
+ }
19
+ };
20
+ //# sourceMappingURL=default.js.map