colibri-ui 0.8.84 → 0.8.87

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 (257) hide show
  1. package/Accordion/Accordion.module.css +4 -0
  2. package/Accordion/index.js +15 -23
  3. package/Autocomplete/Autocomplete.js +101 -132
  4. package/Avatar/Avatar.module.css +6 -0
  5. package/Avatar/index.js +102 -89
  6. package/Badge/Badge.module.css +2 -1
  7. package/Badge/Control/index.js +5 -3
  8. package/Badge/index.js +16 -16
  9. package/Button/index.js +23 -20
  10. package/Button/tokens.js +2 -2
  11. package/Calendar/Calendar.js +171 -269
  12. package/Card/Card.js +26 -32
  13. package/Checkbox/index.js +46 -43
  14. package/Chip/Chip.module.css +2 -1
  15. package/Chip/index.js +15 -15
  16. package/ClickOutside/index.js +10 -13
  17. package/CodeField/CodeField.js +113 -170
  18. package/Counter/Counter.module.css +2 -1
  19. package/Counter/index.js +21 -20
  20. package/Datepicker/components/DatePicker/index.js +81 -102
  21. package/Datepicker/index.js +17 -16
  22. package/DotsLoader/index.js +23 -15
  23. package/Drawer/Drawer.js +84 -98
  24. package/Drawer/Drawer.module.css +2 -1
  25. package/Drawer/index.props.d.ts +2 -0
  26. package/Dropdown/index.js +55 -68
  27. package/Dropzone/Dropzone.js +78 -168
  28. package/Dropzone/Dropzone.module.css +2 -1
  29. package/Editable/Editable.js +44 -57
  30. package/Grid/Item/index.js +11 -13
  31. package/Grid/index.js +15 -21
  32. package/Icons/ArrowNext.js +7 -8
  33. package/Icons/Cart.js +7 -8
  34. package/Icons/Check.js +7 -8
  35. package/Icons/Chevron.js +7 -8
  36. package/Icons/Close.js +6 -6
  37. package/Icons/Copy.js +7 -8
  38. package/Icons/Cross.js +6 -6
  39. package/Icons/CrossFill.js +7 -8
  40. package/Icons/Edit.js +7 -8
  41. package/Icons/Exit.js +7 -8
  42. package/Icons/EyeClosed.js +7 -8
  43. package/Icons/EyeOpen.js +7 -8
  44. package/Icons/Help.js +6 -6
  45. package/Icons/Info.js +7 -8
  46. package/Icons/Minus.js +7 -8
  47. package/Icons/More.js +7 -8
  48. package/Icons/Plus.js +7 -8
  49. package/Icons/Setting.js +7 -8
  50. package/Icons/Shield.js +7 -8
  51. package/Icons/Trash.js +7 -8
  52. package/Icons/User.js +7 -8
  53. package/Image/Image.module.css +4 -0
  54. package/Image/index.d.ts +1 -1
  55. package/Image/index.js +44 -37
  56. package/Input/index.d.ts +1 -1
  57. package/Input/index.js +37 -25
  58. package/Input/index.props.d.ts +1 -1
  59. package/InputRadio/index.js +32 -24
  60. package/List/List.js +81 -76
  61. package/Menu/Menu.module.css +2 -1
  62. package/Menu/components/MenuItem/index.js +17 -14
  63. package/Menu/index.js +22 -23
  64. package/Modal/components/Body/index.js +9 -8
  65. package/Modal/components/Close/Close.module.css +4 -0
  66. package/Modal/components/Close/index.js +13 -14
  67. package/Modal/components/Content/index.js +5 -6
  68. package/Modal/components/Footer/index.js +5 -3
  69. package/Modal/components/Header/index.js +13 -12
  70. package/Modal/components/Title/index.js +10 -9
  71. package/Modal/context.js +3 -3
  72. package/Modal/index.js +46 -68
  73. package/MultiSelect/components/MenuOverlay/index.js +48 -61
  74. package/MultiSelect/components/MenuOverlayItem/index.js +13 -14
  75. package/MultiSelect/index.js +72 -100
  76. package/MultiSelect/index.module.css +2 -1
  77. package/MultiSelect/utils/index.js +8 -18
  78. package/NumberInput/NumberInput.js +80 -112
  79. package/Portal/index.js +6 -10
  80. package/Progress/Progress.js +45 -58
  81. package/RadioGroup/Radio.js +29 -32
  82. package/RadioGroup/index.js +43 -46
  83. package/Rating/Rating.js +50 -63
  84. package/Select/components/MenuOverlay/index.js +16 -25
  85. package/Select/components/MenuOverlayItem/index.js +13 -11
  86. package/Select/index.js +39 -48
  87. package/Select/index.module.css +2 -1
  88. package/Separator/index.js +5 -6
  89. package/Sheet/Sheet.js +98 -122
  90. package/Sheet/Sheet.module.css +4 -2
  91. package/Sheet/index.props.d.ts +2 -0
  92. package/Skeleton/index.js +25 -30
  93. package/Slider/Slider.js +83 -119
  94. package/Status/index.js +17 -18
  95. package/Switch/Switch.module.css +2 -1
  96. package/Switch/index.js +22 -15
  97. package/TabsMenu/Tab/Tab.js +14 -10
  98. package/TabsMenu/Tab/Tab.module.css +2 -1
  99. package/TabsMenu/index.js +25 -26
  100. package/TabsPanels/Panel/index.js +6 -4
  101. package/TabsPanels/index.js +13 -10
  102. package/TextArea/index.d.ts +1 -1
  103. package/TextArea/index.js +30 -19
  104. package/Theme/breakpoints.js +5 -11
  105. package/Theme/colors/theme_buenos_aires.js +14 -14
  106. package/Theme/colors/theme_jaipur.js +14 -14
  107. package/Theme/global.css +0 -1
  108. package/Theme/index.js +1 -1
  109. package/TimeSelect/Label/index.js +11 -13
  110. package/TimeSelect/helpers.js +23 -42
  111. package/TimeSelect/index.js +32 -38
  112. package/Tooltip/index.js +36 -42
  113. package/Typography/Typography.module.css +1365 -0
  114. package/Typography/index.js +24 -13
  115. package/Typography/index.props.d.ts +13 -1
  116. package/base/BaseInput/index.js +10 -8
  117. package/base/FormField/index.d.ts +1 -1
  118. package/base/FormField/index.js +27 -22
  119. package/base/FormField/index.props.d.ts +4 -0
  120. package/base/InputRoot/index.js +27 -27
  121. package/esm/Accordion/Accordion.module.css +4 -0
  122. package/esm/Accordion/index.js +15 -21
  123. package/esm/Autocomplete/Autocomplete.js +101 -130
  124. package/esm/Avatar/Avatar.module.css +6 -0
  125. package/esm/Avatar/index.js +102 -88
  126. package/esm/Badge/Badge.module.css +2 -1
  127. package/esm/Badge/Control/index.js +5 -3
  128. package/esm/Badge/index.js +16 -15
  129. package/esm/Button/index.js +23 -19
  130. package/esm/Button/tokens.js +2 -2
  131. package/esm/Calendar/Calendar.js +171 -267
  132. package/esm/Card/Card.js +26 -32
  133. package/esm/Checkbox/index.js +46 -42
  134. package/esm/Chip/Chip.module.css +2 -1
  135. package/esm/Chip/index.js +15 -14
  136. package/esm/ClickOutside/index.js +10 -13
  137. package/esm/CodeField/CodeField.js +113 -169
  138. package/esm/Counter/Counter.module.css +2 -1
  139. package/esm/Counter/index.js +21 -19
  140. package/esm/Datepicker/components/DatePicker/index.js +81 -101
  141. package/esm/Datepicker/index.js +17 -16
  142. package/esm/DotsLoader/index.js +23 -14
  143. package/esm/Drawer/Drawer.js +84 -97
  144. package/esm/Drawer/Drawer.module.css +2 -1
  145. package/esm/Drawer/index.props.d.ts +2 -0
  146. package/esm/Dropdown/index.js +55 -66
  147. package/esm/Dropzone/Dropzone.js +78 -165
  148. package/esm/Dropzone/Dropzone.module.css +2 -1
  149. package/esm/Editable/Editable.js +44 -56
  150. package/esm/Grid/Item/index.js +11 -12
  151. package/esm/Grid/index.js +15 -21
  152. package/esm/Icons/ArrowNext.js +7 -8
  153. package/esm/Icons/Cart.js +7 -8
  154. package/esm/Icons/Check.js +7 -8
  155. package/esm/Icons/Chevron.js +7 -8
  156. package/esm/Icons/Close.js +6 -6
  157. package/esm/Icons/Copy.js +7 -8
  158. package/esm/Icons/Cross.js +6 -6
  159. package/esm/Icons/CrossFill.js +7 -8
  160. package/esm/Icons/Edit.js +7 -8
  161. package/esm/Icons/Exit.js +7 -8
  162. package/esm/Icons/EyeClosed.js +7 -8
  163. package/esm/Icons/EyeOpen.js +7 -8
  164. package/esm/Icons/Help.js +6 -6
  165. package/esm/Icons/Info.js +7 -8
  166. package/esm/Icons/Minus.js +7 -8
  167. package/esm/Icons/More.js +7 -8
  168. package/esm/Icons/Plus.js +7 -8
  169. package/esm/Icons/Setting.js +7 -8
  170. package/esm/Icons/Shield.js +7 -8
  171. package/esm/Icons/Trash.js +7 -8
  172. package/esm/Icons/User.js +7 -8
  173. package/esm/Image/Image.module.css +4 -0
  174. package/esm/Image/index.d.ts +1 -1
  175. package/esm/Image/index.js +44 -36
  176. package/esm/Input/index.d.ts +1 -1
  177. package/esm/Input/index.js +38 -26
  178. package/esm/Input/index.props.d.ts +1 -1
  179. package/esm/InputRadio/index.js +32 -23
  180. package/esm/List/List.js +81 -75
  181. package/esm/Menu/Menu.module.css +2 -1
  182. package/esm/Menu/components/MenuItem/index.js +17 -13
  183. package/esm/Menu/index.js +22 -23
  184. package/esm/Modal/components/Body/index.js +9 -7
  185. package/esm/Modal/components/Close/Close.module.css +4 -0
  186. package/esm/Modal/components/Close/index.js +13 -14
  187. package/esm/Modal/components/Content/index.js +5 -6
  188. package/esm/Modal/components/Footer/index.js +5 -3
  189. package/esm/Modal/components/Header/index.js +13 -11
  190. package/esm/Modal/components/Title/index.js +10 -9
  191. package/esm/Modal/context.js +3 -3
  192. package/esm/Modal/index.js +50 -70
  193. package/esm/MultiSelect/components/MenuOverlay/index.js +48 -60
  194. package/esm/MultiSelect/components/MenuOverlayItem/index.js +13 -14
  195. package/esm/MultiSelect/index.js +72 -97
  196. package/esm/MultiSelect/index.module.css +2 -1
  197. package/esm/MultiSelect/utils/index.js +8 -14
  198. package/esm/NumberInput/NumberInput.js +80 -111
  199. package/esm/Portal/index.js +6 -9
  200. package/esm/Progress/Progress.js +45 -58
  201. package/esm/RadioGroup/Radio.js +29 -32
  202. package/esm/RadioGroup/index.js +43 -45
  203. package/esm/Rating/Rating.js +50 -63
  204. package/esm/Select/components/MenuOverlay/index.js +16 -24
  205. package/esm/Select/components/MenuOverlayItem/index.js +13 -11
  206. package/esm/Select/index.js +39 -46
  207. package/esm/Select/index.module.css +2 -1
  208. package/esm/Separator/index.js +5 -6
  209. package/esm/Sheet/Sheet.js +98 -120
  210. package/esm/Sheet/Sheet.module.css +4 -2
  211. package/esm/Sheet/index.props.d.ts +2 -0
  212. package/esm/Skeleton/index.js +25 -30
  213. package/esm/Slider/Slider.js +83 -119
  214. package/esm/Status/index.js +17 -17
  215. package/esm/Switch/Switch.module.css +2 -1
  216. package/esm/Switch/index.js +22 -14
  217. package/esm/TabsMenu/Tab/Tab.js +14 -9
  218. package/esm/TabsMenu/Tab/Tab.module.css +2 -1
  219. package/esm/TabsMenu/index.js +25 -26
  220. package/esm/TabsPanels/Panel/index.js +6 -4
  221. package/esm/TabsPanels/index.js +13 -10
  222. package/esm/TextArea/index.d.ts +1 -1
  223. package/esm/TextArea/index.js +31 -20
  224. package/esm/Theme/breakpoints.js +5 -11
  225. package/esm/Theme/colors/theme_buenos_aires.js +14 -14
  226. package/esm/Theme/colors/theme_jaipur.js +14 -14
  227. package/esm/Theme/global.css +0 -1
  228. package/esm/Theme/index.js +1 -1
  229. package/esm/TimeSelect/Label/index.js +11 -13
  230. package/esm/TimeSelect/helpers.js +22 -37
  231. package/esm/TimeSelect/index.js +32 -38
  232. package/esm/Tooltip/index.js +36 -41
  233. package/esm/Typography/Typography.module.css +1365 -0
  234. package/esm/Typography/index.js +24 -12
  235. package/esm/Typography/index.props.d.ts +13 -1
  236. package/esm/base/BaseInput/index.js +10 -8
  237. package/esm/base/FormField/index.d.ts +1 -1
  238. package/esm/base/FormField/index.js +27 -21
  239. package/esm/base/FormField/index.props.d.ts +4 -0
  240. package/esm/base/InputRoot/index.js +27 -26
  241. package/esm/helpers/date/index.js +4 -8
  242. package/esm/hooks/useMediaSizes/index.js +9 -15
  243. package/esm/hooks/useModalStack/index.js +6 -9
  244. package/esm/hooks/useOnClickOutside/index.js +6 -6
  245. package/esm/hooks/useScrollLock/index.js +10 -9
  246. package/esm/hooks/useTrapFocus/index.js +8 -10
  247. package/esm/index.d.ts +1 -1
  248. package/esm/lib/keyboard.js +2 -4
  249. package/helpers/date/index.js +21 -32
  250. package/hooks/useMediaSizes/index.js +9 -15
  251. package/hooks/useModalStack/index.js +6 -9
  252. package/hooks/useOnClickOutside/index.js +6 -6
  253. package/hooks/useScrollLock/index.js +10 -9
  254. package/hooks/useTrapFocus/index.js +8 -10
  255. package/index.d.ts +1 -1
  256. package/lib/keyboard.js +2 -4
  257. package/package.json +5 -1
package/Avatar/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
3
  var tslib = require('tslib');
5
4
  var React = require('react');
6
5
  var clsx = require('clsx');
@@ -10,105 +9,119 @@ var index_props = require('./index.props.js');
10
9
 
11
10
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
11
 
13
- var _defineProperty__default = /*#__PURE__*/_interopDefault(_defineProperty);
14
12
  var React__default = /*#__PURE__*/_interopDefault(React);
15
13
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
16
14
  var styles__default = /*#__PURE__*/_interopDefault(styles);
17
15
 
18
- var SIZE_CLASSES = _defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default({}, constants.AvatarSize.S, styles__default.default["size-s"]), constants.AvatarSize.M, styles__default.default["size-m"]), constants.AvatarSize.L, styles__default.default["size-l"]), constants.AvatarSize.XL, styles__default.default["size-xl"]), constants.AvatarSize.XXL, styles__default.default["size-xxl"]), constants.AvatarSize.XXXL, styles__default.default["size-xxxl"]);
19
- var TEXT_CLASSES = _defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default({}, constants.AvatarSize.S, styles__default.default["text-s"]), constants.AvatarSize.M, styles__default.default["text-m"]), constants.AvatarSize.L, styles__default.default["text-l"]), constants.AvatarSize.XL, styles__default.default["text-xl"]), constants.AvatarSize.XXL, styles__default.default["text-xxl"]), constants.AvatarSize.XXXL, styles__default.default["text-xxxl"]);
20
- var UserStubIcon = function UserStubIcon() {
21
- return /*#__PURE__*/React__default.default.createElement("svg", {
22
- className: styles__default.default["avatar-stub-icon"],
23
- xmlns: "http://www.w3.org/2000/svg",
24
- viewBox: "0 0 42 39",
25
- fill: "none",
26
- "aria-hidden": "true"
27
- }, /*#__PURE__*/React__default.default.createElement("path", {
28
- fill: "currentColor",
29
- fillRule: "evenodd",
30
- d: "M33.6 37.997c-2.9-1.709-7-4.725-8.6-4.725h-3.802c-.9 0-2.8-.805-3-1.507-.199-.503-.199-1.408-.1-2.212 0-.1.303-.1.402 0 .8.905 1.099 1.508 1.9 1.508h1.8c.7 0 3.1-2.111 4.099-4.725.2-.603.4-1.608.5-2.713 0-.1.1-.202.1-.1.1.501.3 1.105.4 1.105.3.201.7-.603 1.2-1.709.5-1.006.5-1.608.7-2.413.3-1.105-.1-1.91-.4-1.91a.91.91 0 0 0-.7.302c-.1 0-.2 0-.2-.1 0-.704.1-1.81.9-2.413-1.1-1.005-.4-2.714-.4-2.714.4.2.4 0 .4 0l-.2-1.106c.6-.1 1.1-.603 1.1-.603s-1.6-.402-2.4-1.005c.7-.202 1.117-.957 1.117-.957S27 9.952 26 9.65c.9-.904.3-2.15.3-2.15s-1.6.441-4.7.441c-2.2-.1-3-.402-4.6 1.207-1.9 1.909-1.9 2.412-3.1 2.412 1 1.407.5 2.814.5 2.814l-.1 2.112.1.401s0 .1.1.302c0 .101 0 .303.1.402l.3 1.61s-.1.1-.2 0a1.42 1.42 0 0 0-1.2-.604c-.3 0-.8.805-.4 1.91.3.804.6 1.306.9 2.412s.9 1.91 1.2 1.71q.15-.153.3-.906c0-.1.1 0 .2.102.1 1.004.3 1.908.5 2.411.2.302.4.703.6 1.005-.2 1.709-.4 3.82-.8 5.428-2.6.704-6.6 1.91-10 2.714C2.2 31.967 0 26.74 0 21.11 0 9.45 9.4 0 21 0s21 9.45 21 21.11c0 6.936-3.3 13.066-8.4 16.887",
31
- clipRule: "evenodd"
32
- }));
16
+ const SIZE_CLASSES = {
17
+ [constants.AvatarSize.S]: styles__default.default["size-s"],
18
+ [constants.AvatarSize.M]: styles__default.default["size-m"],
19
+ [constants.AvatarSize.L]: styles__default.default["size-l"],
20
+ [constants.AvatarSize.XL]: styles__default.default["size-xl"],
21
+ [constants.AvatarSize.XXL]: styles__default.default["size-xxl"],
22
+ [constants.AvatarSize.XXXL]: styles__default.default["size-xxxl"]
33
23
  };
34
- var OrgStubIcon = function OrgStubIcon() {
35
- return /*#__PURE__*/React__default.default.createElement("svg", {
36
- className: styles__default.default["avatar-stub-icon"],
37
- xmlns: "http://www.w3.org/2000/svg",
38
- viewBox: "0 0 42 42",
39
- fill: "none",
40
- "aria-hidden": "true"
41
- }, /*#__PURE__*/React__default.default.createElement("path", {
42
- fill: "currentColor",
43
- fillRule: "evenodd",
44
- d: "M19.103 27.36V34H9V12.062L22.567 6v21.36h-3.464zm-6.64 0v1.733h3.176V27.36h-3.175zm0-6.638v1.732h6.64v-1.732h-6.64zm0-4.042v1.732h6.64V16.68h-6.64zM32.67 27.36h-6.062v1.733h6.062V34h-9.526V18.124h9.526v9.237z",
45
- clipRule: "evenodd"
46
- }));
24
+ const TEXT_CLASSES = {
25
+ [constants.AvatarSize.S]: styles__default.default["text-s"],
26
+ [constants.AvatarSize.M]: styles__default.default["text-m"],
27
+ [constants.AvatarSize.L]: styles__default.default["text-l"],
28
+ [constants.AvatarSize.XL]: styles__default.default["text-xl"],
29
+ [constants.AvatarSize.XXL]: styles__default.default["text-xxl"],
30
+ [constants.AvatarSize.XXXL]: styles__default.default["text-xxxl"]
47
31
  };
48
- var Avatar = /*#__PURE__*/React.memo(function (props) {
49
- var src = props.src,
50
- _props$size = props.size,
51
- size = _props$size === void 0 ? constants.AvatarSize.M : _props$size,
52
- className = props.className,
53
- bordered = props.bordered,
54
- _props$alt = props.alt,
55
- alt = _props$alt === void 0 ? "Profile avatar" : _props$alt,
56
- _props$accountType = props.accountType,
57
- accountType = _props$accountType === void 0 ? index_props.AccountType.Organization : _props$accountType,
58
- onClick = props.onClick,
59
- initials = props.initials,
60
- loading = props.loading,
61
- ariaLabel = props.ariaLabel,
62
- ref = props.ref,
32
+ const UserStubIcon = () => (/*#__PURE__*/React__default.default.createElement("svg", {
33
+ className: styles__default.default["avatar-stub-icon"],
34
+ xmlns: "http://www.w3.org/2000/svg",
35
+ viewBox: "0 0 42 39",
36
+ fill: "none",
37
+ "aria-hidden": "true"
38
+ }, /*#__PURE__*/React__default.default.createElement("path", {
39
+ fill: "currentColor",
40
+ fillRule: "evenodd",
41
+ d: "M33.6 37.997c-2.9-1.709-7-4.725-8.6-4.725h-3.802c-.9 0-2.8-.805-3-1.507-.199-.503-.199-1.408-.1-2.212 0-.1.303-.1.402 0 .8.905 1.099 1.508 1.9 1.508h1.8c.7 0 3.1-2.111 4.099-4.725.2-.603.4-1.608.5-2.713 0-.1.1-.202.1-.1.1.501.3 1.105.4 1.105.3.201.7-.603 1.2-1.709.5-1.006.5-1.608.7-2.413.3-1.105-.1-1.91-.4-1.91a.91.91 0 0 0-.7.302c-.1 0-.2 0-.2-.1 0-.704.1-1.81.9-2.413-1.1-1.005-.4-2.714-.4-2.714.4.2.4 0 .4 0l-.2-1.106c.6-.1 1.1-.603 1.1-.603s-1.6-.402-2.4-1.005c.7-.202 1.117-.957 1.117-.957S27 9.952 26 9.65c.9-.904.3-2.15.3-2.15s-1.6.441-4.7.441c-2.2-.1-3-.402-4.6 1.207-1.9 1.909-1.9 2.412-3.1 2.412 1 1.407.5 2.814.5 2.814l-.1 2.112.1.401s0 .1.1.302c0 .101 0 .303.1.402l.3 1.61s-.1.1-.2 0a1.42 1.42 0 0 0-1.2-.604c-.3 0-.8.805-.4 1.91.3.804.6 1.306.9 2.412s.9 1.91 1.2 1.71q.15-.153.3-.906c0-.1.1 0 .2.102.1 1.004.3 1.908.5 2.411.2.302.4.703.6 1.005-.2 1.709-.4 3.82-.8 5.428-2.6.704-6.6 1.91-10 2.714C2.2 31.967 0 26.74 0 21.11 0 9.45 9.4 0 21 0s21 9.45 21 21.11c0 6.936-3.3 13.066-8.4 16.887",
42
+ clipRule: "evenodd"
43
+ })));
44
+ const OrgStubIcon = () => (/*#__PURE__*/React__default.default.createElement("svg", {
45
+ className: styles__default.default["avatar-stub-icon"],
46
+ xmlns: "http://www.w3.org/2000/svg",
47
+ viewBox: "0 0 42 42",
48
+ fill: "none",
49
+ "aria-hidden": "true"
50
+ }, /*#__PURE__*/React__default.default.createElement("path", {
51
+ fill: "currentColor",
52
+ fillRule: "evenodd",
53
+ d: "M19.103 27.36V34H9V12.062L22.567 6v21.36h-3.464zm-6.64 0v1.733h3.176V27.36h-3.175zm0-6.638v1.732h6.64v-1.732h-6.64zm0-4.042v1.732h6.64V16.68h-6.64zM32.67 27.36h-6.062v1.733h6.062V34h-9.526V18.124h9.526v9.237z",
54
+ clipRule: "evenodd"
55
+ })));
56
+ const getRoleProps = (onClick, label) => onClick ? {
57
+ role: "button",
58
+ tabIndex: 0,
59
+ "aria-label": label,
60
+ onClick,
61
+ onKeyDown: event => {
62
+ if (event.key !== "Enter" && event.key !== " ") return;
63
+ event.preventDefault();
64
+ onClick();
65
+ }
66
+ } : {
67
+ role: "img",
68
+ "aria-label": label
69
+ };
70
+ const Avatar = /*#__PURE__*/React.memo(props => {
71
+ const {
72
+ src,
73
+ size = constants.AvatarSize.M,
74
+ className,
75
+ bordered,
76
+ alt = "Profile avatar",
77
+ accountType = index_props.AccountType.Organization,
78
+ onClick,
79
+ initials,
80
+ loading,
81
+ ariaLabel,
82
+ ref
83
+ } = props,
63
84
  rest = tslib.__rest(props, ["src", "size", "className", "bordered", "alt", "accountType", "onClick", "initials", "loading", "ariaLabel", "ref"]);
64
- var hasInitials = initials && initials.trim().length > 0;
65
- var hasCustomImage = Boolean(src);
85
+ const hasInitials = initials && initials.trim().length > 0;
86
+ const hasCustomImage = Boolean(src);
87
+ const roleProps = getRoleProps(onClick, ariaLabel || alt);
66
88
  if (hasCustomImage) {
67
- return (
68
- /*#__PURE__*/
69
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events
70
- React__default.default.createElement("div", {
71
- className: clsx__default.default(styles__default.default["avatar-wrapper"], _defineProperty__default.default({}, styles__default.default["avatar-loader"], Boolean(loading))),
72
- onClick: onClick,
73
- role: "button",
74
- "aria-label": ariaLabel || "Avatar"
75
- }, /*#__PURE__*/React__default.default.createElement("img", Object.assign({
76
- ref: ref,
77
- "data-testid": "avatar",
78
- alt: alt,
79
- src: src,
80
- className: clsx__default.default(styles__default.default.avatar, _defineProperty__default.default({}, styles__default.default["avatar-bordered"], Boolean(bordered)), SIZE_CLASSES[size], className)
81
- }, rest)))
82
- );
89
+ return /*#__PURE__*/React__default.default.createElement("div", Object.assign({
90
+ className: clsx__default.default(styles__default.default["avatar-wrapper"], {
91
+ [styles__default.default["avatar-loader"]]: Boolean(loading)
92
+ })
93
+ }, onClick && roleProps), /*#__PURE__*/React__default.default.createElement("img", Object.assign({
94
+ ref: ref,
95
+ "data-testid": "avatar",
96
+ alt: alt,
97
+ src: src,
98
+ className: clsx__default.default(styles__default.default.avatar, {
99
+ [styles__default.default["avatar-bordered"]]: Boolean(bordered)
100
+ }, SIZE_CLASSES[size], className)
101
+ }, rest)));
83
102
  }
84
103
  if (hasInitials) {
85
- return (
86
- /*#__PURE__*/
87
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events
88
- React__default.default.createElement("span", Object.assign({
89
- ref: ref,
90
- "data-testid": "avatar",
91
- role: "button",
92
- "aria-label": ariaLabel || "Avatar",
93
- onClick: onClick,
94
- className: clsx__default.default(styles__default.default["avatar-initials"], _defineProperty__default.default(_defineProperty__default.default({}, styles__default.default["avatar-bordered"], Boolean(bordered)), styles__default.default["avatar-loader"], Boolean(loading)), SIZE_CLASSES[size], className)
95
- }, rest), /*#__PURE__*/React__default.default.createElement("span", {
96
- className: clsx__default.default(styles__default.default["initials-text"], TEXT_CLASSES[size])
97
- }, initials.trim().slice(0, 2)))
98
- );
99
- }
100
- return (
101
- /*#__PURE__*/
102
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events
103
- React__default.default.createElement("span", Object.assign({
104
+ return /*#__PURE__*/React__default.default.createElement("span", Object.assign({
104
105
  ref: ref,
105
- "data-testid": "avatar",
106
- role: "button",
107
- "aria-label": ariaLabel || "Avatar",
108
- onClick: onClick,
109
- className: clsx__default.default(styles__default.default["avatar-stub"], _defineProperty__default.default(_defineProperty__default.default({}, styles__default.default["avatar-bordered"], Boolean(bordered)), styles__default.default["avatar-loader"], Boolean(loading)), SIZE_CLASSES[size], className)
110
- }, rest), accountType === index_props.AccountType.Organization ? (/*#__PURE__*/React__default.default.createElement(OrgStubIcon, null)) : (/*#__PURE__*/React__default.default.createElement(UserStubIcon, null)))
111
- );
106
+ "data-testid": "avatar"
107
+ }, roleProps, {
108
+ className: clsx__default.default(styles__default.default["avatar-initials"], {
109
+ [styles__default.default["avatar-bordered"]]: Boolean(bordered),
110
+ [styles__default.default["avatar-loader"]]: Boolean(loading)
111
+ }, SIZE_CLASSES[size], className)
112
+ }, rest), /*#__PURE__*/React__default.default.createElement("span", {
113
+ className: clsx__default.default(styles__default.default["initials-text"], TEXT_CLASSES[size])
114
+ }, initials.trim().slice(0, 2)));
115
+ }
116
+ return /*#__PURE__*/React__default.default.createElement("span", Object.assign({
117
+ ref: ref,
118
+ "data-testid": "avatar"
119
+ }, roleProps, {
120
+ className: clsx__default.default(styles__default.default["avatar-stub"], {
121
+ [styles__default.default["avatar-bordered"]]: Boolean(bordered),
122
+ [styles__default.default["avatar-loader"]]: Boolean(loading)
123
+ }, SIZE_CLASSES[size], className)
124
+ }, rest), accountType === index_props.AccountType.Organization ? (/*#__PURE__*/React__default.default.createElement(OrgStubIcon, null)) : (/*#__PURE__*/React__default.default.createElement(UserStubIcon, null)));
112
125
  });
113
126
 
114
127
  exports.Avatar = Avatar;
@@ -12,7 +12,8 @@
12
12
  padding: 0 var(--space-1);
13
13
  place-content: center center;
14
14
  position: absolute;
15
- user-select: none;
15
+ -webkit-user-select: none;
16
+ user-select: none;
16
17
  z-index: 1;
17
18
  }
18
19
  .root_direction_right {
@@ -11,9 +11,11 @@ var React__default = /*#__PURE__*/_interopDefault(React);
11
11
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
12
12
  var styles__default = /*#__PURE__*/_interopDefault(styles);
13
13
 
14
- var BadgeControl = function BadgeControl(_a) {
15
- var className = _a.className,
16
- children = _a.children,
14
+ const BadgeControl = _a => {
15
+ var {
16
+ className,
17
+ children
18
+ } = _a,
17
19
  props = tslib.__rest(_a, ["className", "children"]);
18
20
  return /*#__PURE__*/React__default.default.createElement("span", Object.assign({
19
21
  className: clsx__default.default(styles__default.default.root, className)
package/Badge/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
3
  var tslib = require('tslib');
5
4
  var React = require('react');
6
5
  var clsx = require('clsx');
@@ -9,30 +8,31 @@ var styles = require('./Badge.module.css');
9
8
 
10
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
10
 
12
- var _defineProperty__default = /*#__PURE__*/_interopDefault(_defineProperty);
13
11
  var React__default = /*#__PURE__*/_interopDefault(React);
14
12
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
15
13
  var styles__default = /*#__PURE__*/_interopDefault(styles);
16
14
 
17
- var Badge = function Badge(_a) {
18
- var children = _a.children,
19
- className = _a.className,
20
- content = _a.content,
21
- _a$direction = _a.direction,
22
- direction = _a$direction === void 0 ? "right" : _a$direction,
23
- invisibleProp = _a.invisible,
24
- _a$max = _a.max,
25
- max = _a$max === void 0 ? 99 : _a$max,
26
- _a$showZero = _a.showZero,
27
- showZero = _a$showZero === void 0 ? false : _a$showZero,
15
+ const Badge = _a => {
16
+ var {
17
+ children,
18
+ className,
19
+ content,
20
+ direction = "right",
21
+ invisible: invisibleProp,
22
+ max = 99,
23
+ showZero = false
24
+ } = _a,
28
25
  props = tslib.__rest(_a, ["children", "className", "content", "direction", "invisible", "max", "showZero"]);
29
- var invisible = invisibleProp;
26
+ let invisible = invisibleProp;
30
27
  if (invisibleProp == null && (content === 0 && !showZero || content == null)) {
31
28
  invisible = true;
32
29
  }
33
- var displayValue = content == null ? undefined : content > max ? "".concat(max, "+") : content;
30
+ const displayValue = content == null ? undefined : content > max ? `${max}+` : content;
34
31
  return /*#__PURE__*/React__default.default.createElement(index.BadgeControl, Object.assign({}, props), children, displayValue !== undefined && (/*#__PURE__*/React__default.default.createElement("span", {
35
- className: clsx__default.default(styles__default.default.root, _defineProperty__default.default(_defineProperty__default.default({}, styles__default.default["root_direction_".concat(direction)], Boolean(direction)), styles__default.default["root_invisible"], Boolean(invisible)), className),
32
+ className: clsx__default.default(styles__default.default.root, {
33
+ [styles__default.default[`root_direction_${direction}`]]: Boolean(direction),
34
+ [styles__default.default["root_invisible"]]: Boolean(invisible)
35
+ }, className),
36
36
  "data-testid": "badge"
37
37
  }, displayValue)));
38
38
  };
package/Button/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
3
  var tslib = require('tslib');
5
4
  var React = require('react');
6
5
  var clsx = require('clsx');
@@ -8,35 +7,39 @@ var styles = require('./Button.module.css');
8
7
 
9
8
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
9
 
11
- var _defineProperty__default = /*#__PURE__*/_interopDefault(_defineProperty);
12
10
  var React__default = /*#__PURE__*/_interopDefault(React);
13
11
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
14
12
  var styles__default = /*#__PURE__*/_interopDefault(styles);
15
13
 
16
- var Button = function Button(_a) {
17
- var className = _a.className,
18
- _a$fullWidth = _a.fullWidth,
19
- fullWidth = _a$fullWidth === void 0 ? false : _a$fullWidth,
20
- _a$variant = _a.variant,
21
- variant = _a$variant === void 0 ? "primary" : _a$variant,
22
- iconStart = _a.iconStart,
23
- iconEnd = _a.iconEnd,
24
- icon = _a.icon,
25
- size = _a.size,
26
- children = _a.children,
27
- disabled = _a.disabled,
28
- onClick = _a.onClick,
29
- type = _a.type,
30
- ref = _a.ref,
14
+ const Button = _a => {
15
+ var {
16
+ className,
17
+ fullWidth = false,
18
+ variant = "primary",
19
+ iconStart,
20
+ iconEnd,
21
+ icon,
22
+ size,
23
+ children,
24
+ disabled,
25
+ onClick,
26
+ type,
27
+ ref
28
+ } = _a,
31
29
  props = tslib.__rest(_a, ["className", "fullWidth", "variant", "iconStart", "iconEnd", "icon", "size", "children", "disabled", "onClick", "type", "ref"]);
32
30
  return /*#__PURE__*/React__default.default.createElement("button", Object.assign({
33
31
  onClick: onClick,
34
32
  ref: ref,
35
- className: clsx__default.default(styles__default.default.root, _defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default({}, styles__default.default["root_icon"], Boolean(icon)), styles__default.default["root_fullWidth"], Boolean(fullWidth)), styles__default.default["size_".concat(size)], Boolean(size)), styles__default.default["variant_".concat(variant)], Boolean(variant)), styles__default.default["variant_".concat(variant, "_disabled")], Boolean(disabled)), className),
33
+ className: clsx__default.default(styles__default.default.root, {
34
+ [styles__default.default["root_icon"]]: Boolean(icon),
35
+ [styles__default.default["root_fullWidth"]]: Boolean(fullWidth),
36
+ [styles__default.default[`size_${size}`]]: Boolean(size),
37
+ [styles__default.default[`variant_${variant}`]]: Boolean(variant),
38
+ [styles__default.default[`variant_${variant}_disabled`]]: Boolean(disabled)
39
+ }, className),
36
40
  disabled: disabled,
37
41
  "data-testid": "button",
38
- type: type || "button",
39
- role: "button"
42
+ type: type || "button"
40
43
  }, props), icon && /*#__PURE__*/React__default.default.createElement("span", {
41
44
  className: styles__default.default.icon
42
45
  }, icon), iconStart && /*#__PURE__*/React__default.default.createElement("span", {
package/Button/tokens.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var commonButtonTokens = {
3
+ const commonButtonTokens = {
4
4
  "component-button-font-size-xs": "0.75rem",
5
5
  "component-button-font-size-s": "0.8125rem",
6
6
  "component-button-font-size-m": "0.9375rem",
@@ -12,7 +12,7 @@ var commonButtonTokens = {
12
12
  "component-button-radius": "1.125rem",
13
13
  "component-button-radius-lg": "1.5rem"
14
14
  };
15
- var BUTTON_TOKENS = Object.assign(Object.assign({}, commonButtonTokens), {
15
+ const BUTTON_TOKENS = Object.assign(Object.assign({}, commonButtonTokens), {
16
16
  "component-button-primary-bg": "var(--color-action-primary)",
17
17
  "component-button-primary-border": "var(--color-action-primary)",
18
18
  "component-button-primary-text": "var(--color-action-secondary)",