@doist/reactist 11.6.0 → 12.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/dist/reactist.cjs.development.js +1334 -1494
  2. package/dist/reactist.cjs.development.js.map +1 -1
  3. package/dist/reactist.cjs.production.min.js +1 -1
  4. package/dist/reactist.cjs.production.min.js.map +1 -1
  5. package/es/_virtual/_rollupPluginBabelHelpers.js +18 -21
  6. package/es/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  7. package/es/components/checkbox/checkbox.js +7 -9
  8. package/es/components/checkbox/checkbox.js.map +1 -1
  9. package/es/components/color-picker/color-picker.js +24 -28
  10. package/es/components/color-picker/color-picker.js.map +1 -1
  11. package/es/components/deprecated-button/deprecated-button.js +16 -18
  12. package/es/components/deprecated-button/deprecated-button.js.map +1 -1
  13. package/es/components/deprecated-loading/deprecated-loading.js +7 -10
  14. package/es/components/deprecated-loading/deprecated-loading.js.map +1 -1
  15. package/es/components/deprecated-modal/deprecated-modal.js +69 -101
  16. package/es/components/deprecated-modal/deprecated-modal.js.map +1 -1
  17. package/es/components/deprecated-modal/index.js +4 -4
  18. package/es/components/deprecated-modal/index.js.map +1 -1
  19. package/es/components/dropdown/dropdown.js +86 -85
  20. package/es/components/dropdown/dropdown.js.map +1 -1
  21. package/es/components/icons/CloseIcon.svg.js +9 -11
  22. package/es/components/icons/CloseIcon.svg.js.map +1 -1
  23. package/es/components/input/input.js +4 -3
  24. package/es/components/input/input.js.map +1 -1
  25. package/es/components/key-capturer/key-capturer.js +22 -19
  26. package/es/components/key-capturer/key-capturer.js.map +1 -1
  27. package/es/components/keyboard-shortcut/keyboard-shortcut.js +20 -26
  28. package/es/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  29. package/es/components/menu/menu.js +114 -143
  30. package/es/components/menu/menu.js.map +1 -1
  31. package/es/components/notification/notification.js +32 -32
  32. package/es/components/notification/notification.js.map +1 -1
  33. package/es/components/popover/popover.js +85 -91
  34. package/es/components/popover/popover.js.map +1 -1
  35. package/es/components/popover/positioning-utils.js +49 -65
  36. package/es/components/popover/positioning-utils.js.map +1 -1
  37. package/es/components/progress-bar/progress-bar.js +8 -8
  38. package/es/components/progress-bar/progress-bar.js.map +1 -1
  39. package/es/components/select/select.js +20 -25
  40. package/es/components/select/select.js.map +1 -1
  41. package/es/components/time/time-utils.js +30 -47
  42. package/es/components/time/time-utils.js.map +1 -1
  43. package/es/components/time/time.js +43 -56
  44. package/es/components/time/time.js.map +1 -1
  45. package/es/components/tooltip/tooltip.js +40 -46
  46. package/es/components/tooltip/tooltip.js.map +1 -1
  47. package/es/hooks/use-previous/use-previous.js +2 -2
  48. package/es/hooks/use-previous/use-previous.js.map +1 -1
  49. package/es/new-components/alert/alert.js +7 -6
  50. package/es/new-components/alert/alert.js.map +1 -1
  51. package/es/new-components/avatar/avatar.js +19 -18
  52. package/es/new-components/avatar/avatar.js.map +1 -1
  53. package/es/new-components/avatar/utils.js +12 -9
  54. package/es/new-components/avatar/utils.js.map +1 -1
  55. package/es/new-components/base-button/base-button.js +25 -29
  56. package/es/new-components/base-button/base-button.js.map +1 -1
  57. package/es/new-components/base-field/base-field.js +20 -18
  58. package/es/new-components/base-field/base-field.js.map +1 -1
  59. package/es/new-components/box/box.js +51 -52
  60. package/es/new-components/box/box.js.map +1 -1
  61. package/es/new-components/button/button.js +13 -15
  62. package/es/new-components/button/button.js.map +1 -1
  63. package/es/new-components/button-link/button-link.js +13 -15
  64. package/es/new-components/button-link/button-link.js.map +1 -1
  65. package/es/new-components/checkbox-field/checkbox-field.js +25 -33
  66. package/es/new-components/checkbox-field/checkbox-field.js.map +1 -1
  67. package/es/new-components/checkbox-field/checkbox-icon.js +21 -19
  68. package/es/new-components/checkbox-field/checkbox-icon.js.map +1 -1
  69. package/es/new-components/columns/columns.js +24 -27
  70. package/es/new-components/columns/columns.js.map +1 -1
  71. package/es/new-components/common-helpers.js +3 -3
  72. package/es/new-components/common-helpers.js.map +1 -1
  73. package/es/new-components/divider/divider.js +7 -6
  74. package/es/new-components/divider/divider.js.map +1 -1
  75. package/es/new-components/heading/heading.js +17 -17
  76. package/es/new-components/heading/heading.js.map +1 -1
  77. package/es/new-components/hidden/hidden.js +14 -13
  78. package/es/new-components/hidden/hidden.js.map +1 -1
  79. package/es/new-components/hidden-visually/hidden-visually.js +3 -2
  80. package/es/new-components/hidden-visually/hidden-visually.js.map +1 -1
  81. package/es/new-components/icons/alert-icon.js +13 -11
  82. package/es/new-components/icons/alert-icon.js.map +1 -1
  83. package/es/new-components/icons/close-icon.js +2 -1
  84. package/es/new-components/icons/close-icon.js.map +1 -1
  85. package/es/new-components/icons/password-hidden-icon.js +2 -1
  86. package/es/new-components/icons/password-hidden-icon.js.map +1 -1
  87. package/es/new-components/icons/password-visible-icon.js +2 -1
  88. package/es/new-components/icons/password-visible-icon.js.map +1 -1
  89. package/es/new-components/inline/inline.js +15 -19
  90. package/es/new-components/inline/inline.js.map +1 -1
  91. package/es/new-components/loading/loading.js +11 -10
  92. package/es/new-components/loading/loading.js.map +1 -1
  93. package/es/new-components/modal/modal.js +60 -64
  94. package/es/new-components/modal/modal.js.map +1 -1
  95. package/es/new-components/notice/notice.js +5 -4
  96. package/es/new-components/notice/notice.js.map +1 -1
  97. package/es/new-components/password-field/password-field.js +40 -46
  98. package/es/new-components/password-field/password-field.js.map +1 -1
  99. package/es/new-components/responsive-props.js +5 -5
  100. package/es/new-components/responsive-props.js.map +1 -1
  101. package/es/new-components/select-field/select-field.js +23 -23
  102. package/es/new-components/select-field/select-field.js.map +1 -1
  103. package/es/new-components/spinner/spinner.js +3 -3
  104. package/es/new-components/spinner/spinner.js.map +1 -1
  105. package/es/new-components/stack/stack.js +18 -22
  106. package/es/new-components/stack/stack.js.map +1 -1
  107. package/es/new-components/switch-field/switch-field.js +31 -41
  108. package/es/new-components/switch-field/switch-field.js.map +1 -1
  109. package/es/new-components/tabs/tabs.js +92 -78
  110. package/es/new-components/tabs/tabs.js.map +1 -1
  111. package/es/new-components/tabs/tabs.module.css.js +1 -1
  112. package/es/new-components/text/text.js +16 -17
  113. package/es/new-components/text/text.js.map +1 -1
  114. package/es/new-components/text-area/text-area.js +14 -14
  115. package/es/new-components/text-area/text-area.js.map +1 -1
  116. package/es/new-components/text-field/text-field.js +21 -22
  117. package/es/new-components/text-field/text-field.js.map +1 -1
  118. package/es/new-components/text-link/text-link.js +10 -10
  119. package/es/new-components/text-link/text-link.js.map +1 -1
  120. package/es/utils/polymorphism.js.map +1 -1
  121. package/lib/_virtual/_rollupPluginBabelHelpers.js +1 -1
  122. package/lib/components/checkbox/checkbox.js +1 -1
  123. package/lib/components/checkbox/checkbox.js.map +1 -1
  124. package/lib/components/color-picker/color-picker.js +1 -1
  125. package/lib/components/color-picker/color-picker.js.map +1 -1
  126. package/lib/components/deprecated-button/deprecated-button.d.ts +3 -3
  127. package/lib/components/deprecated-button/deprecated-button.js +1 -1
  128. package/lib/components/deprecated-button/deprecated-button.js.map +1 -1
  129. package/lib/components/deprecated-loading/deprecated-loading.js +1 -1
  130. package/lib/components/deprecated-loading/deprecated-loading.js.map +1 -1
  131. package/lib/components/deprecated-modal/deprecated-modal.d.ts +2 -2
  132. package/lib/components/deprecated-modal/deprecated-modal.js +1 -1
  133. package/lib/components/deprecated-modal/deprecated-modal.js.map +1 -1
  134. package/lib/components/deprecated-modal/index.js.map +1 -1
  135. package/lib/components/dropdown/dropdown.d.ts +5 -2
  136. package/lib/components/dropdown/dropdown.js +1 -1
  137. package/lib/components/dropdown/dropdown.js.map +1 -1
  138. package/lib/components/icons/CloseIcon.svg.js +1 -1
  139. package/lib/components/icons/CloseIcon.svg.js.map +1 -1
  140. package/lib/components/input/input.js +1 -1
  141. package/lib/components/input/input.js.map +1 -1
  142. package/lib/components/key-capturer/key-capturer.d.ts +1 -1
  143. package/lib/components/key-capturer/key-capturer.js +1 -1
  144. package/lib/components/key-capturer/key-capturer.js.map +1 -1
  145. package/lib/components/keyboard-shortcut/keyboard-shortcut.js +1 -1
  146. package/lib/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  147. package/lib/components/menu/menu.d.ts +9 -8
  148. package/lib/components/menu/menu.js +1 -1
  149. package/lib/components/menu/menu.js.map +1 -1
  150. package/lib/components/notification/notification.js +1 -1
  151. package/lib/components/notification/notification.js.map +1 -1
  152. package/lib/components/popover/popover.d.ts +1 -1
  153. package/lib/components/popover/popover.js +1 -1
  154. package/lib/components/popover/popover.js.map +1 -1
  155. package/lib/components/popover/positioning-utils.js +1 -1
  156. package/lib/components/popover/positioning-utils.js.map +1 -1
  157. package/lib/components/progress-bar/progress-bar.js +1 -1
  158. package/lib/components/progress-bar/progress-bar.js.map +1 -1
  159. package/lib/components/select/select.js +1 -1
  160. package/lib/components/select/select.js.map +1 -1
  161. package/lib/components/time/time-utils.js +1 -1
  162. package/lib/components/time/time-utils.js.map +1 -1
  163. package/lib/components/time/time.js +1 -1
  164. package/lib/components/time/time.js.map +1 -1
  165. package/lib/components/tooltip/index.d.ts +1 -2
  166. package/lib/components/tooltip/tooltip.d.ts +3 -3
  167. package/lib/components/tooltip/tooltip.js +1 -1
  168. package/lib/components/tooltip/tooltip.js.map +1 -1
  169. package/lib/hooks/use-previous/use-previous.js +1 -1
  170. package/lib/hooks/use-previous/use-previous.js.map +1 -1
  171. package/lib/index.d.ts +2 -1
  172. package/lib/new-components/alert/alert.d.ts +1 -1
  173. package/lib/new-components/alert/alert.js +1 -1
  174. package/lib/new-components/alert/alert.js.map +1 -1
  175. package/lib/new-components/avatar/avatar.js +1 -1
  176. package/lib/new-components/avatar/avatar.js.map +1 -1
  177. package/lib/new-components/avatar/utils.d.ts +1 -1
  178. package/lib/new-components/avatar/utils.js +1 -1
  179. package/lib/new-components/avatar/utils.js.map +1 -1
  180. package/lib/new-components/base-button/base-button.js +1 -1
  181. package/lib/new-components/base-button/base-button.js.map +1 -1
  182. package/lib/new-components/base-field/base-field.d.ts +1 -1
  183. package/lib/new-components/base-field/base-field.js +1 -1
  184. package/lib/new-components/base-field/base-field.js.map +1 -1
  185. package/lib/new-components/box/box.js +1 -1
  186. package/lib/new-components/box/box.js.map +1 -1
  187. package/lib/new-components/button/button.d.ts +1 -58
  188. package/lib/new-components/button/button.js +1 -1
  189. package/lib/new-components/button/button.js.map +1 -1
  190. package/lib/new-components/button-link/button-link.js +1 -1
  191. package/lib/new-components/button-link/button-link.js.map +1 -1
  192. package/lib/new-components/checkbox-field/checkbox-field.d.ts +1 -1
  193. package/lib/new-components/checkbox-field/checkbox-field.js +1 -1
  194. package/lib/new-components/checkbox-field/checkbox-field.js.map +1 -1
  195. package/lib/new-components/checkbox-field/checkbox-icon.js +1 -1
  196. package/lib/new-components/checkbox-field/checkbox-icon.js.map +1 -1
  197. package/lib/new-components/columns/columns.js +1 -1
  198. package/lib/new-components/columns/columns.js.map +1 -1
  199. package/lib/new-components/common-helpers.js +1 -1
  200. package/lib/new-components/common-helpers.js.map +1 -1
  201. package/lib/new-components/common-types.d.ts +1 -1
  202. package/lib/new-components/divider/divider.js +1 -1
  203. package/lib/new-components/divider/divider.js.map +1 -1
  204. package/lib/new-components/heading/heading.d.ts +2 -2
  205. package/lib/new-components/heading/heading.js +1 -1
  206. package/lib/new-components/heading/heading.js.map +1 -1
  207. package/lib/new-components/hidden/hidden.js +1 -1
  208. package/lib/new-components/hidden/hidden.js.map +1 -1
  209. package/lib/new-components/hidden-visually/hidden-visually.js +1 -1
  210. package/lib/new-components/hidden-visually/hidden-visually.js.map +1 -1
  211. package/lib/new-components/icons/alert-icon.d.ts +1 -1
  212. package/lib/new-components/icons/alert-icon.js +1 -1
  213. package/lib/new-components/icons/alert-icon.js.map +1 -1
  214. package/lib/new-components/icons/close-icon.js +1 -1
  215. package/lib/new-components/icons/close-icon.js.map +1 -1
  216. package/lib/new-components/icons/password-hidden-icon.js +1 -1
  217. package/lib/new-components/icons/password-hidden-icon.js.map +1 -1
  218. package/lib/new-components/icons/password-visible-icon.js +1 -1
  219. package/lib/new-components/icons/password-visible-icon.js.map +1 -1
  220. package/lib/new-components/inline/inline.js +1 -1
  221. package/lib/new-components/inline/inline.js.map +1 -1
  222. package/lib/new-components/loading/loading.js +1 -1
  223. package/lib/new-components/loading/loading.js.map +1 -1
  224. package/lib/new-components/modal/modal.js +1 -1
  225. package/lib/new-components/modal/modal.js.map +1 -1
  226. package/lib/new-components/notice/notice.d.ts +1 -1
  227. package/lib/new-components/notice/notice.js +1 -1
  228. package/lib/new-components/notice/notice.js.map +1 -1
  229. package/lib/new-components/password-field/password-field.d.ts +1 -1
  230. package/lib/new-components/password-field/password-field.js +1 -1
  231. package/lib/new-components/password-field/password-field.js.map +1 -1
  232. package/lib/new-components/responsive-props.d.ts +1 -1
  233. package/lib/new-components/responsive-props.js +1 -1
  234. package/lib/new-components/responsive-props.js.map +1 -1
  235. package/lib/new-components/select-field/select-field.d.ts +1 -1
  236. package/lib/new-components/select-field/select-field.js +1 -1
  237. package/lib/new-components/select-field/select-field.js.map +1 -1
  238. package/lib/new-components/spinner/spinner.js +1 -1
  239. package/lib/new-components/spinner/spinner.js.map +1 -1
  240. package/lib/new-components/stack/stack.js +1 -1
  241. package/lib/new-components/stack/stack.js.map +1 -1
  242. package/lib/new-components/switch-field/switch-field.d.ts +1 -1
  243. package/lib/new-components/switch-field/switch-field.js +1 -1
  244. package/lib/new-components/switch-field/switch-field.js.map +1 -1
  245. package/lib/new-components/tabs/tabs.d.ts +13 -3
  246. package/lib/new-components/tabs/tabs.js +1 -1
  247. package/lib/new-components/tabs/tabs.js.map +1 -1
  248. package/lib/new-components/tabs/tabs.module.css.js +1 -1
  249. package/lib/new-components/test-helpers.d.ts +4 -3
  250. package/lib/new-components/text/text.js +1 -1
  251. package/lib/new-components/text/text.js.map +1 -1
  252. package/lib/new-components/text-area/text-area.js +1 -1
  253. package/lib/new-components/text-area/text-area.js.map +1 -1
  254. package/lib/new-components/text-field/text-field.d.ts +1 -1
  255. package/lib/new-components/text-field/text-field.js +1 -1
  256. package/lib/new-components/text-field/text-field.js.map +1 -1
  257. package/lib/new-components/text-link/text-link.js +1 -1
  258. package/lib/new-components/text-link/text-link.js.map +1 -1
  259. package/lib/utils/polymorphism.js.map +1 -1
  260. package/package.json +45 -38
  261. package/styles/menu.css +1 -1
  262. package/styles/reactist.css +2 -2
  263. package/styles/tabs.css +1 -1
  264. package/styles/tabs.module.css.css +1 -1
@@ -1,23 +1,27 @@
1
- var hasEnoughSpace = function hasEnoughSpace(windowDimensions, elementDimensions, wrapperDimensions, wrapperPosition, position, gap) {
2
- if (gap === void 0) {
3
- gap = 0;
4
- }
5
-
6
- var windowHeight = windowDimensions.height,
7
- windowWidth = windowDimensions.width;
8
- var elementHeight = elementDimensions.height,
9
- elementWidth = elementDimensions.width;
10
- var wrapperHeight = wrapperDimensions.height,
11
- wrapperWidth = wrapperDimensions.width;
12
- var wrapperX = wrapperPosition.x,
13
- wrapperY = wrapperPosition.y;
14
-
15
- var verticalPosition = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
16
-
17
- var horizontalPosition = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
18
-
19
- var canPlaceVertically = verticalPosition >= 0 && verticalPosition + elementWidth <= windowWidth;
20
- var canPlaceHorizontally = horizontalPosition >= 0 && horizontalPosition + elementHeight <= windowHeight;
1
+ const hasEnoughSpace = (windowDimensions, elementDimensions, wrapperDimensions, wrapperPosition, position, gap = 0) => {
2
+ const {
3
+ height: windowHeight,
4
+ width: windowWidth
5
+ } = windowDimensions;
6
+ const {
7
+ height: elementHeight,
8
+ width: elementWidth
9
+ } = elementDimensions;
10
+ const {
11
+ height: wrapperHeight,
12
+ width: wrapperWidth
13
+ } = wrapperDimensions;
14
+ const {
15
+ x: wrapperX,
16
+ y: wrapperY
17
+ } = wrapperPosition;
18
+
19
+ const verticalPosition = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
20
+
21
+ const horizontalPosition = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
22
+
23
+ const canPlaceVertically = verticalPosition >= 0 && verticalPosition + elementWidth <= windowWidth;
24
+ const canPlaceHorizontally = horizontalPosition >= 0 && horizontalPosition + elementHeight <= windowHeight;
21
25
 
22
26
  if (position === 'top') {
23
27
  return canPlaceVertically && wrapperY - elementHeight - gap >= 0;
@@ -32,77 +36,57 @@ var hasEnoughSpace = function hasEnoughSpace(windowDimensions, elementDimensions
32
36
  return false;
33
37
  };
34
38
 
35
- var _calculateVerticalPosition = function _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions) {
39
+ function _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions) {
36
40
  return wrapperPosition.x + (wrapperDimensions.width - elementDimensions.width) / 2;
37
- };
41
+ }
38
42
 
39
- var _calculateHorizontalPosition = function _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions) {
43
+ function _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions) {
40
44
  return wrapperPosition.y + (wrapperDimensions.height - elementDimensions.height) / 2;
41
- };
42
-
43
- var calculateTopCenterPosition = function calculateTopCenterPosition(wrapperDimensions, wrapperPosition, elementDimensions, gap) {
44
- if (gap === void 0) {
45
- gap = 0;
46
- }
45
+ }
47
46
 
48
- var x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
47
+ const calculateTopCenterPosition = (wrapperDimensions, wrapperPosition, elementDimensions, gap = 0) => {
48
+ const x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
49
49
 
50
- var y = wrapperPosition.y - elementDimensions.height - gap;
50
+ const y = wrapperPosition.y - elementDimensions.height - gap;
51
51
  return {
52
- x: x,
53
- y: y
52
+ x,
53
+ y
54
54
  };
55
55
  };
56
56
 
57
- var calculateBottomCenterPosition = function calculateBottomCenterPosition(wrapperDimensions, wrapperPosition, elementDimensions, gap) {
58
- if (gap === void 0) {
59
- gap = 0;
60
- }
61
-
62
- var x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
57
+ const calculateBottomCenterPosition = (wrapperDimensions, wrapperPosition, elementDimensions, gap = 0) => {
58
+ const x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
63
59
 
64
- var y = wrapperPosition.y + wrapperDimensions.height + gap;
60
+ const y = wrapperPosition.y + wrapperDimensions.height + gap;
65
61
  return {
66
- x: x,
67
- y: y
62
+ x,
63
+ y
68
64
  };
69
65
  };
70
66
 
71
- var calculateRightCenterPosition = function calculateRightCenterPosition(wrapperDimensions, wrapperPosition, elementDimensions, gap) {
72
- if (gap === void 0) {
73
- gap = 0;
74
- }
75
-
76
- var x = wrapperPosition.x + wrapperDimensions.width + gap;
67
+ const calculateRightCenterPosition = (wrapperDimensions, wrapperPosition, elementDimensions, gap = 0) => {
68
+ const x = wrapperPosition.x + wrapperDimensions.width + gap;
77
69
 
78
- var y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
70
+ const y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
79
71
 
80
72
  return {
81
- x: x,
82
- y: y
73
+ x,
74
+ y
83
75
  };
84
76
  };
85
77
 
86
- var calculateLeftCenterPosition = function calculateLeftCenterPosition(wrapperDimensions, wrapperPosition, elementDimensions, gap) {
87
- if (gap === void 0) {
88
- gap = 0;
89
- }
90
-
91
- var x = wrapperPosition.x - elementDimensions.width - gap;
78
+ const calculateLeftCenterPosition = (wrapperDimensions, wrapperPosition, elementDimensions, gap = 0) => {
79
+ const x = wrapperPosition.x - elementDimensions.width - gap;
92
80
 
93
- var y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
81
+ const y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
94
82
 
95
83
  return {
96
- x: x,
97
- y: y
84
+ x,
85
+ y
98
86
  };
99
87
  };
100
88
 
101
- var calculatePosition = function calculatePosition(position, wrapperDimensions, wrapperPosition, elementDimensions, gap) {
102
- if (gap === void 0) {
103
- gap = 0;
104
- }
105
-
89
+ const calculatePosition = (position, wrapperDimensions, wrapperPosition, elementDimensions, gap = 0) => {
106
90
  if (position === 'top') {
107
91
  return calculateTopCenterPosition(wrapperDimensions, wrapperPosition, elementDimensions, gap);
108
92
  } else if (position === 'right') {
@@ -1 +1 @@
1
- {"version":3,"file":"positioning-utils.js","sources":["../../../src/components/popover/positioning-utils.ts"],"sourcesContent":["type Dimensions = { width: number; height: number }\ntype AbsolutePosition = { x: number; y: number }\ntype RelativePosition = 'top' | 'right' | 'bottom' | 'left'\n\ntype HasEnoughSpaceFn = (\n windowDimensions: Dimensions,\n elementDimensions: Dimensions,\n wrapperDimensions: Dimensions,\n wrapperPosition: AbsolutePosition,\n position: RelativePosition,\n gap: number,\n) => boolean\n\nconst hasEnoughSpace: HasEnoughSpaceFn = (\n windowDimensions,\n elementDimensions,\n wrapperDimensions,\n wrapperPosition,\n position,\n gap = 0,\n) => {\n const { height: windowHeight, width: windowWidth } = windowDimensions\n const { height: elementHeight, width: elementWidth } = elementDimensions\n const { height: wrapperHeight, width: wrapperWidth } = wrapperDimensions\n const { x: wrapperX, y: wrapperY } = wrapperPosition\n\n const verticalPosition = _calculateVerticalPosition(\n wrapperPosition,\n wrapperDimensions,\n elementDimensions,\n )\n const horizontalPosition = _calculateHorizontalPosition(\n wrapperPosition,\n wrapperDimensions,\n elementDimensions,\n )\n const canPlaceVertically =\n verticalPosition >= 0 && verticalPosition + elementWidth <= windowWidth\n const canPlaceHorizontally =\n horizontalPosition >= 0 && horizontalPosition + elementHeight <= windowHeight\n\n if (position === 'top') {\n return canPlaceVertically && wrapperY - elementHeight - gap >= 0\n } else if (position === 'right') {\n return canPlaceHorizontally && wrapperX + wrapperWidth + elementWidth + gap <= windowWidth\n } else if (position === 'left') {\n return canPlaceHorizontally && wrapperX - elementWidth - gap >= 0\n } else if (position === 'bottom') {\n return canPlaceVertically && wrapperY + wrapperHeight + elementHeight + gap <= windowHeight\n }\n return false\n}\n\ntype VerticalHorizontalPositionFn = (\n wrapperPosition: AbsolutePosition,\n wrapperDimensions: Dimensions,\n elementDimensions: Dimensions,\n) => number\n\nconst _calculateVerticalPosition: VerticalHorizontalPositionFn = (\n wrapperPosition,\n wrapperDimensions,\n elementDimensions,\n) => {\n return wrapperPosition.x + (wrapperDimensions.width - elementDimensions.width) / 2\n}\n\nconst _calculateHorizontalPosition: VerticalHorizontalPositionFn = (\n wrapperPosition,\n wrapperDimensions,\n elementDimensions,\n) => {\n return wrapperPosition.y + (wrapperDimensions.height - elementDimensions.height) / 2\n}\n\ntype CenterPositionFn = (\n wrapperDimensions: Dimensions,\n wrapperPosition: AbsolutePosition,\n elementDimensions: Dimensions,\n gap?: number,\n) => AbsolutePosition\n\nconst calculateTopCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n const y = wrapperPosition.y - elementDimensions.height - gap\n return { x, y }\n}\n\nconst calculateBottomCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n const y = wrapperPosition.y + wrapperDimensions.height + gap\n return { x, y }\n}\n\nconst calculateRightCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = wrapperPosition.x + wrapperDimensions.width + gap\n const y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n return { x, y }\n}\n\nconst calculateLeftCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = wrapperPosition.x - elementDimensions.width - gap\n const y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n return { x, y }\n}\n\ntype PositionFn = (\n position: 'top' | 'right' | 'bottom' | 'left',\n wrapperDimensions: Dimensions,\n wrapperPosition: AbsolutePosition,\n elementDimensions: Dimensions,\n gap?: number,\n) => AbsolutePosition\n\nconst calculatePosition: PositionFn = (\n position,\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n if (position === 'top') {\n return calculateTopCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n } else if (position === 'right') {\n return calculateRightCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n } else if (position === 'bottom') {\n return calculateBottomCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n } else if (position === 'left') {\n return calculateLeftCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n }\n return wrapperPosition\n}\n\nexport {\n hasEnoughSpace,\n calculatePosition,\n calculateTopCenterPosition,\n calculateBottomCenterPosition,\n calculateRightCenterPosition,\n calculateLeftCenterPosition,\n RelativePosition,\n}\n"],"names":["hasEnoughSpace","windowDimensions","elementDimensions","wrapperDimensions","wrapperPosition","position","gap","windowHeight","height","windowWidth","width","elementHeight","elementWidth","wrapperHeight","wrapperWidth","wrapperX","x","wrapperY","y","verticalPosition","_calculateVerticalPosition","horizontalPosition","_calculateHorizontalPosition","canPlaceVertically","canPlaceHorizontally","calculateTopCenterPosition","calculateBottomCenterPosition","calculateRightCenterPosition","calculateLeftCenterPosition","calculatePosition"],"mappings":"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"}
1
+ {"version":3,"file":"positioning-utils.js","sources":["../../../src/components/popover/positioning-utils.ts"],"sourcesContent":["type Dimensions = { width: number; height: number }\ntype AbsolutePosition = { x: number; y: number }\ntype RelativePosition = 'top' | 'right' | 'bottom' | 'left'\n\ntype HasEnoughSpaceFn = (\n windowDimensions: Dimensions,\n elementDimensions: Dimensions,\n wrapperDimensions: Dimensions,\n wrapperPosition: AbsolutePosition,\n position: RelativePosition,\n gap: number,\n) => boolean\n\nconst hasEnoughSpace: HasEnoughSpaceFn = (\n windowDimensions,\n elementDimensions,\n wrapperDimensions,\n wrapperPosition,\n position,\n gap = 0,\n) => {\n const { height: windowHeight, width: windowWidth } = windowDimensions\n const { height: elementHeight, width: elementWidth } = elementDimensions\n const { height: wrapperHeight, width: wrapperWidth } = wrapperDimensions\n const { x: wrapperX, y: wrapperY } = wrapperPosition\n\n const verticalPosition = _calculateVerticalPosition(\n wrapperPosition,\n wrapperDimensions,\n elementDimensions,\n )\n const horizontalPosition = _calculateHorizontalPosition(\n wrapperPosition,\n wrapperDimensions,\n elementDimensions,\n )\n const canPlaceVertically =\n verticalPosition >= 0 && verticalPosition + elementWidth <= windowWidth\n const canPlaceHorizontally =\n horizontalPosition >= 0 && horizontalPosition + elementHeight <= windowHeight\n\n if (position === 'top') {\n return canPlaceVertically && wrapperY - elementHeight - gap >= 0\n } else if (position === 'right') {\n return canPlaceHorizontally && wrapperX + wrapperWidth + elementWidth + gap <= windowWidth\n } else if (position === 'left') {\n return canPlaceHorizontally && wrapperX - elementWidth - gap >= 0\n } else if (position === 'bottom') {\n return canPlaceVertically && wrapperY + wrapperHeight + elementHeight + gap <= windowHeight\n }\n return false\n}\n\nfunction _calculateVerticalPosition(\n wrapperPosition: AbsolutePosition,\n wrapperDimensions: Dimensions,\n elementDimensions: Dimensions,\n): number {\n return wrapperPosition.x + (wrapperDimensions.width - elementDimensions.width) / 2\n}\n\nfunction _calculateHorizontalPosition(\n wrapperPosition: AbsolutePosition,\n wrapperDimensions: Dimensions,\n elementDimensions: Dimensions,\n): number {\n return wrapperPosition.y + (wrapperDimensions.height - elementDimensions.height) / 2\n}\n\ntype CenterPositionFn = (\n wrapperDimensions: Dimensions,\n wrapperPosition: AbsolutePosition,\n elementDimensions: Dimensions,\n gap?: number,\n) => AbsolutePosition\n\nconst calculateTopCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n const y = wrapperPosition.y - elementDimensions.height - gap\n return { x, y }\n}\n\nconst calculateBottomCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n const y = wrapperPosition.y + wrapperDimensions.height + gap\n return { x, y }\n}\n\nconst calculateRightCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = wrapperPosition.x + wrapperDimensions.width + gap\n const y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n return { x, y }\n}\n\nconst calculateLeftCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = wrapperPosition.x - elementDimensions.width - gap\n const y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n return { x, y }\n}\n\ntype PositionFn = (\n position: 'top' | 'right' | 'bottom' | 'left',\n wrapperDimensions: Dimensions,\n wrapperPosition: AbsolutePosition,\n elementDimensions: Dimensions,\n gap?: number,\n) => AbsolutePosition\n\nconst calculatePosition: PositionFn = (\n position,\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n if (position === 'top') {\n return calculateTopCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n } else if (position === 'right') {\n return calculateRightCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n } else if (position === 'bottom') {\n return calculateBottomCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n } else if (position === 'left') {\n return calculateLeftCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n }\n return wrapperPosition\n}\n\nexport {\n hasEnoughSpace,\n calculatePosition,\n calculateTopCenterPosition,\n calculateBottomCenterPosition,\n calculateRightCenterPosition,\n calculateLeftCenterPosition,\n RelativePosition,\n}\n"],"names":["hasEnoughSpace","windowDimensions","elementDimensions","wrapperDimensions","wrapperPosition","position","gap","height","windowHeight","width","windowWidth","elementHeight","elementWidth","wrapperHeight","wrapperWidth","x","wrapperX","y","wrapperY","verticalPosition","_calculateVerticalPosition","horizontalPosition","_calculateHorizontalPosition","canPlaceVertically","canPlaceHorizontally","calculateTopCenterPosition","calculateBottomCenterPosition","calculateRightCenterPosition","calculateLeftCenterPosition","calculatePosition"],"mappings":"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"}
@@ -2,13 +2,13 @@ import React__default from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { HiddenVisually } from '../../new-components/hidden-visually/hidden-visually.js';
4
4
 
5
- function ProgressBar(_ref) {
6
- var _ref$fillPercentage = _ref.fillPercentage,
7
- fillPercentage = _ref$fillPercentage === void 0 ? 0 : _ref$fillPercentage,
8
- className = _ref.className,
9
- ariaValuetext = _ref['aria-valuetext'];
10
- var finalClassName = classNames('reactist_progress_bar', className);
11
- var width = fillPercentage < 0 ? 0 : fillPercentage > 100 ? 100 : fillPercentage;
5
+ function ProgressBar({
6
+ fillPercentage = 0,
7
+ className,
8
+ 'aria-valuetext': ariaValuetext
9
+ }) {
10
+ const finalClassName = classNames('reactist_progress_bar', className);
11
+ const width = fillPercentage < 0 ? 0 : fillPercentage > 100 ? 100 : fillPercentage;
12
12
  return /*#__PURE__*/React__default.createElement("div", {
13
13
  className: finalClassName
14
14
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -19,7 +19,7 @@ function ProgressBar(_ref) {
19
19
  }), /*#__PURE__*/React__default.createElement(HiddenVisually, null, /*#__PURE__*/React__default.createElement("progress", {
20
20
  value: width,
21
21
  max: 100,
22
- "aria-valuetext": ariaValuetext !== null && ariaValuetext !== void 0 ? ariaValuetext : undefined
22
+ "aria-valuetext": ariaValuetext != null ? ariaValuetext : undefined
23
23
  })));
24
24
  }
25
25
 
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar.js","sources":["../../../src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["import React from 'react'\nimport { HiddenVisually } from '../../new-components/hidden-visually'\nimport classNames from 'classnames'\n\nimport './progress-bar.less'\n\ntype Props = {\n /** Additional css class applied to the progress bar. */\n className?: string\n /** How much of the progress bar should be filled. Number between 0 and 100 inclusive. */\n fillPercentage?: number\n /** Defines the human readable text alternative for assitive technologies. */\n 'aria-valuetext'?: string\n}\nfunction ProgressBar({ fillPercentage = 0, className, 'aria-valuetext': ariaValuetext }: Props) {\n const finalClassName = classNames('reactist_progress_bar', className)\n const width = fillPercentage < 0 ? 0 : fillPercentage > 100 ? 100 : fillPercentage\n return (\n <div className={finalClassName}>\n <div className=\"inner\" style={{ width: `${width}%` }} />\n <HiddenVisually>\n <progress value={width} max={100} aria-valuetext={ariaValuetext ?? undefined} />\n </HiddenVisually>\n </div>\n )\n}\nProgressBar.displayName = 'ProgressBar'\n\nexport { ProgressBar }\n"],"names":["ProgressBar","fillPercentage","className","ariaValuetext","finalClassName","classNames","width","React","style","HiddenVisually","value","max","undefined","displayName"],"mappings":";;;;AAcA,SAASA,WAAT;iCAAuBC;MAAAA,kDAAiB;MAAGC,iBAAAA;MAA6BC,qBAAlB;AAClD,MAAMC,cAAc,GAAGC,UAAU,CAAC,uBAAD,EAA0BH,SAA1B,CAAjC;AACA,MAAMI,KAAK,GAAGL,cAAc,GAAG,CAAjB,GAAqB,CAArB,GAAyBA,cAAc,GAAG,GAAjB,GAAuB,GAAvB,GAA6BA,cAApE;AACA,sBACIM,4BAAA,MAAA;AAAKL,IAAAA,SAAS,EAAEE;GAAhB,eACIG,4BAAA,MAAA;AAAKL,IAAAA,SAAS,EAAC;AAAQM,IAAAA,KAAK,EAAE;AAAEF,MAAAA,KAAK,EAAKA,KAAL;AAAP;GAA9B,CADJ,eAEIC,4BAAA,CAACE,cAAD,MAAA,eACIF,4BAAA,WAAA;AAAUG,IAAAA,KAAK,EAAEJ;AAAOK,IAAAA,GAAG,EAAE;sBAAqBR,0BAAAA,2BAAAA,gBAAiBS;GAAnE,CADJ,CAFJ,CADJ;AAQH;;AACDZ,WAAW,CAACa,WAAZ,GAA0B,aAA1B;;;;"}
1
+ {"version":3,"file":"progress-bar.js","sources":["../../../src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["import React from 'react'\nimport { HiddenVisually } from '../../new-components/hidden-visually'\nimport classNames from 'classnames'\n\nimport './progress-bar.less'\n\ntype Props = {\n /** Additional css class applied to the progress bar. */\n className?: string\n /** How much of the progress bar should be filled. Number between 0 and 100 inclusive. */\n fillPercentage?: number\n /** Defines the human readable text alternative for assitive technologies. */\n 'aria-valuetext'?: string\n}\nfunction ProgressBar({ fillPercentage = 0, className, 'aria-valuetext': ariaValuetext }: Props) {\n const finalClassName = classNames('reactist_progress_bar', className)\n const width = fillPercentage < 0 ? 0 : fillPercentage > 100 ? 100 : fillPercentage\n return (\n <div className={finalClassName}>\n <div className=\"inner\" style={{ width: `${width}%` }} />\n <HiddenVisually>\n <progress value={width} max={100} aria-valuetext={ariaValuetext ?? undefined} />\n </HiddenVisually>\n </div>\n )\n}\nProgressBar.displayName = 'ProgressBar'\n\nexport { ProgressBar }\n"],"names":["ProgressBar","fillPercentage","className","ariaValuetext","finalClassName","classNames","width","React","style","HiddenVisually","value","max","undefined","displayName"],"mappings":";;;;AAcA,SAASA,WAAT,CAAqB;EAAEC,cAAc,GAAG,CAAnB;EAAsBC,SAAtB;EAAiC,kBAAkBC;AAAnD,CAArB;EACI,MAAMC,cAAc,GAAGC,UAAU,CAAC,uBAAD,EAA0BH,SAA1B,CAAjC;EACA,MAAMI,KAAK,GAAGL,cAAc,GAAG,CAAjB,GAAqB,CAArB,GAAyBA,cAAc,GAAG,GAAjB,GAAuB,GAAvB,GAA6BA,cAApE;EACA,oBACIM,4BAAA,MAAA;IAAKL,SAAS,EAAEE;GAAhB,eACIG,4BAAA,MAAA;IAAKL,SAAS,EAAC;IAAQM,KAAK,EAAE;MAAEF,KAAK,EAAKA,KAAL;;GAArC,CADJ,eAEIC,4BAAA,CAACE,cAAD,MAAA,eACIF,4BAAA,WAAA;IAAUG,KAAK,EAAEJ;IAAOK,GAAG,EAAE;sBAAqBR,wBAAAA,gBAAiBS;GAAnE,CADJ,CAFJ,CADJ;AAQH;;AACDZ,WAAW,CAACa,WAAZ,GAA0B,aAA1B;;;;"}
@@ -1,39 +1,34 @@
1
- import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React__default from 'react';
3
3
  import classNames from 'classnames';
4
4
 
5
- var _excluded = ["value", "options", "onChange", "disabled", "className", "defaultValue"];
5
+ const _excluded = ["value", "options", "onChange", "disabled", "className", "defaultValue"];
6
6
 
7
7
  function Select(_ref) {
8
- var value = _ref.value,
9
- _ref$options = _ref.options,
10
- options = _ref$options === void 0 ? [] : _ref$options,
11
- _onChange = _ref.onChange,
12
- _ref$disabled = _ref.disabled,
13
- disabled = _ref$disabled === void 0 ? true : _ref$disabled,
14
- _ref$className = _ref.className,
15
- className = _ref$className === void 0 ? '' : _ref$className,
16
- defaultValue = _ref.defaultValue,
17
- otherProps = _objectWithoutPropertiesLoose(_ref, _excluded);
8
+ let {
9
+ value,
10
+ options = [],
11
+ onChange,
12
+ disabled = true,
13
+ className = '',
14
+ defaultValue
15
+ } = _ref,
16
+ otherProps = _objectWithoutProperties(_ref, _excluded);
18
17
 
19
- var selectClassName = classNames('reactist_select', {
20
- disabled: disabled
18
+ const selectClassName = classNames('reactist_select', {
19
+ disabled
21
20
  }, className);
22
- return /*#__PURE__*/React__default.createElement("select", Object.assign({
21
+ return /*#__PURE__*/React__default.createElement("select", _objectSpread2({
23
22
  className: selectClassName,
24
23
  value: value,
25
- onChange: function onChange(event) {
26
- return _onChange ? _onChange(event.target.value) : undefined;
27
- },
24
+ onChange: event => onChange ? onChange(event.target.value) : undefined,
28
25
  disabled: disabled,
29
26
  defaultValue: defaultValue
30
- }, otherProps), options === null || options === void 0 ? void 0 : options.map(function (option) {
31
- return /*#__PURE__*/React__default.createElement("option", {
32
- key: option.key || option.value,
33
- value: option.value,
34
- disabled: option.disabled
35
- }, option.text);
36
- }));
27
+ }, otherProps), options == null ? void 0 : options.map(option => /*#__PURE__*/React__default.createElement("option", {
28
+ key: option.key || option.value,
29
+ value: option.value,
30
+ disabled: option.disabled
31
+ }, option.text)));
37
32
  }
38
33
 
39
34
  Select.displayName = 'Select';
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../../../src/components/select/select.tsx"],"sourcesContent":["import React from 'react'\nimport classNames from 'classnames'\n\nimport './select.less'\n\ntype Option = {\n /** Optional key for each option. If not provided `value` is used. */\n key?: string | number\n /** Value of the option. */\n value: string | number\n /** Text to display for the option. */\n text?: string | number\n /** Whether the options is disabled or not. */\n disabled?: boolean\n}\n\ntype Props = {\n className?: string\n disabled?: boolean\n /** Currently selected value. */\n value?: string | number\n /** Callback for the change event. Will be called with the next value (not the full event). */\n onChange?: (value: string) => void\n /** Options that are rendered in the select. */\n options?: Option[]\n /** Value to initially be set */\n defaultValue?: string | number\n}\n\nfunction Select({\n value,\n options = [],\n onChange,\n disabled = true,\n className = '',\n defaultValue,\n ...otherProps\n}: Props) {\n const selectClassName = classNames('reactist_select', { disabled }, className)\n return (\n <select\n className={selectClassName}\n value={value}\n onChange={(event) => (onChange ? onChange(event.target.value) : undefined)}\n disabled={disabled}\n defaultValue={defaultValue}\n {...otherProps}\n >\n {options?.map((option) => (\n <option\n key={option.key || option.value}\n value={option.value}\n disabled={option.disabled}\n >\n {option.text}\n </option>\n ))}\n </select>\n )\n}\nSelect.displayName = 'Select'\nSelect.defaultProps = {\n options: [],\n disabled: false,\n}\n\nexport { Select }\n"],"names":["Select","value","options","onChange","disabled","className","defaultValue","otherProps","selectClassName","classNames","React","event","target","undefined","map","option","key","text","displayName","defaultProps"],"mappings":";;;;;;AA6BA,SAASA,MAAT;MACIC,aAAAA;0BACAC;MAAAA,oCAAU;MACVC,iBAAAA;2BACAC;MAAAA,sCAAW;4BACXC;MAAAA,wCAAY;MACZC,oBAAAA;MACGC;;AAEH,MAAMC,eAAe,GAAGC,UAAU,CAAC,iBAAD,EAAoB;AAAEL,IAAAA,QAAQ,EAARA;AAAF,GAApB,EAAkCC,SAAlC,CAAlC;AACA,sBACIK,4BAAA,SAAA;AACIL,IAAAA,SAAS,EAAEG;AACXP,IAAAA,KAAK,EAAEA;AACPE,IAAAA,QAAQ,EAAE,kBAACQ,KAAD;AAAA,aAAYR,SAAQ,GAAGA,SAAQ,CAACQ,KAAK,CAACC,MAAN,CAAaX,KAAd,CAAX,GAAkCY,SAAtD;AAAA;AACVT,IAAAA,QAAQ,EAAEA;AACVE,IAAAA,YAAY,EAAEA;KACVC,WANR,EAQKL,OARL,aAQKA,OARL,uBAQKA,OAAO,CAAEY,GAAT,CAAa,UAACC,MAAD;AAAA,wBACVL,4BAAA,SAAA;AACIM,MAAAA,GAAG,EAAED,MAAM,CAACC,GAAP,IAAcD,MAAM,CAACd;AAC1BA,MAAAA,KAAK,EAAEc,MAAM,CAACd;AACdG,MAAAA,QAAQ,EAAEW,MAAM,CAACX;KAHrB,EAKKW,MAAM,CAACE,IALZ,CADU;AAAA,GAAb,CARL,CADJ;AAoBH;;AACDjB,MAAM,CAACkB,WAAP,GAAqB,QAArB;AACAlB,MAAM,CAACmB,YAAP,GAAsB;AAClBjB,EAAAA,OAAO,EAAE,EADS;AAElBE,EAAAA,QAAQ,EAAE;AAFQ,CAAtB;;;;"}
1
+ {"version":3,"file":"select.js","sources":["../../../src/components/select/select.tsx"],"sourcesContent":["import React from 'react'\nimport classNames from 'classnames'\n\nimport './select.less'\n\ntype Option = {\n /** Optional key for each option. If not provided `value` is used. */\n key?: string | number\n /** Value of the option. */\n value: string | number\n /** Text to display for the option. */\n text?: string | number\n /** Whether the options is disabled or not. */\n disabled?: boolean\n}\n\ntype Props = {\n className?: string\n disabled?: boolean\n /** Currently selected value. */\n value?: string | number\n /** Callback for the change event. Will be called with the next value (not the full event). */\n onChange?: (value: string) => void\n /** Options that are rendered in the select. */\n options?: Option[]\n /** Value to initially be set */\n defaultValue?: string | number\n}\n\nfunction Select({\n value,\n options = [],\n onChange,\n disabled = true,\n className = '',\n defaultValue,\n ...otherProps\n}: Props) {\n const selectClassName = classNames('reactist_select', { disabled }, className)\n return (\n <select\n className={selectClassName}\n value={value}\n onChange={(event) => (onChange ? onChange(event.target.value) : undefined)}\n disabled={disabled}\n defaultValue={defaultValue}\n {...otherProps}\n >\n {options?.map((option) => (\n <option\n key={option.key || option.value}\n value={option.value}\n disabled={option.disabled}\n >\n {option.text}\n </option>\n ))}\n </select>\n )\n}\nSelect.displayName = 'Select'\nSelect.defaultProps = {\n options: [],\n disabled: false,\n}\n\nexport { Select }\n"],"names":["Select","value","options","onChange","disabled","className","defaultValue","otherProps","selectClassName","classNames","React","event","target","undefined","map","option","key","text","displayName","defaultProps"],"mappings":";;;;;;AA6BA,SAASA,MAAT;MAAgB;IACZC,KADY;IAEZC,OAAO,GAAG,EAFE;IAGZC,QAHY;IAIZC,QAAQ,GAAG,IAJC;IAKZC,SAAS,GAAG,EALA;IAMZC;;MACGC;;EAEH,MAAMC,eAAe,GAAGC,UAAU,CAAC,iBAAD,EAAoB;IAAEL;GAAtB,EAAkCC,SAAlC,CAAlC;EACA,oBACIK,4BAAA,SAAA;IACIL,SAAS,EAAEG,eADf;IAEIP,KAAK,EAAEA,KAFX;IAGIE,QAAQ,EAAGQ,KAAD,IAAYR,QAAQ,GAAGA,QAAQ,CAACQ,KAAK,CAACC,MAAN,CAAaX,KAAd,CAAX,GAAkCY,SAHpE;IAIIT,QAAQ,EAAEA,QAJd;IAKIE,YAAY,EAAEA;KACVC,UANR,GAQKL,OARL,oBAQKA,OAAO,CAAEY,GAAT,CAAcC,MAAD,iBACVL,4BAAA,SAAA;IACIM,GAAG,EAAED,MAAM,CAACC,GAAP,IAAcD,MAAM,CAACd;IAC1BA,KAAK,EAAEc,MAAM,CAACd;IACdG,QAAQ,EAAEW,MAAM,CAACX;GAHrB,EAKKW,MAAM,CAACE,IALZ,CADH,CARL,CADJ;AAoBH;;AACDjB,MAAM,CAACkB,WAAP,GAAqB,QAArB;AACAlB,MAAM,CAACmB,YAAP,GAAsB;EAClBjB,OAAO,EAAE,EADS;EAElBE,QAAQ,EAAE;AAFQ,CAAtB;;;;"}
@@ -2,36 +2,27 @@ import dayjs from 'dayjs';
2
2
  import LocalizedFormat from 'dayjs/plugin/localizedFormat';
3
3
 
4
4
  dayjs.extend(LocalizedFormat);
5
- var TimeUtils = {
5
+ const TimeUtils = {
6
6
  SHORT_FORMAT_CURRENT_YEAR: 'L',
7
7
  SHORT_FORMAT_PAST_YEAR: 'LL',
8
8
  LONG_FORMAT: 'LL, LT',
9
- timeAgo: function timeAgo(timestamp, config) {
10
- if (config === void 0) {
11
- config = {};
12
- }
13
9
 
14
- var _config = config,
15
- _config$locale = _config.locale,
16
- locale = _config$locale === void 0 ? 'en' : _config$locale,
17
- _config$shortFormatCu = _config.shortFormatCurrentYear,
18
- shortFormatCurrentYear = _config$shortFormatCu === void 0 ? this.SHORT_FORMAT_CURRENT_YEAR : _config$shortFormatCu,
19
- _config$shortFormatPa = _config.shortFormatPastYear,
20
- shortFormatPastYear = _config$shortFormatPa === void 0 ? this.SHORT_FORMAT_PAST_YEAR : _config$shortFormatPa,
21
- _config$daysSuffix = _config.daysSuffix,
22
- daysSuffix = _config$daysSuffix === void 0 ? 'd' : _config$daysSuffix,
23
- _config$hoursSuffix = _config.hoursSuffix,
24
- hoursSuffix = _config$hoursSuffix === void 0 ? 'h' : _config$hoursSuffix,
25
- _config$minutesSuffix = _config.minutesSuffix,
26
- minutesSuffix = _config$minutesSuffix === void 0 ? 'm' : _config$minutesSuffix,
27
- _config$momentsAgo = _config.momentsAgo,
28
- momentsAgo = _config$momentsAgo === void 0 ? 'moments ago' : _config$momentsAgo;
29
- var now = dayjs();
30
- var date = dayjs(timestamp * 1000);
10
+ timeAgo(timestamp, config = {}) {
11
+ const {
12
+ locale = 'en',
13
+ shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,
14
+ shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR,
15
+ daysSuffix = 'd',
16
+ hoursSuffix = 'h',
17
+ minutesSuffix = 'm',
18
+ momentsAgo = 'moments ago'
19
+ } = config;
20
+ const now = dayjs();
21
+ const date = dayjs(timestamp * 1000);
31
22
  date.locale(locale);
32
- var diffMinutes = now.diff(date, 'minute');
33
- var diffHours = now.diff(date, 'hour');
34
- var diffDays = now.diff(date, 'day');
23
+ const diffMinutes = now.diff(date, 'minute');
24
+ const diffHours = now.diff(date, 'hour');
25
+ const diffDays = now.diff(date, 'day');
35
26
 
36
27
  if (diffDays > 1) {
37
28
  if (date.isSame(now, 'year')) {
@@ -49,19 +40,14 @@ var TimeUtils = {
49
40
  return momentsAgo;
50
41
  }
51
42
  },
52
- formatTime: function formatTime(timestamp, config) {
53
- if (config === void 0) {
54
- config = {};
55
- }
56
43
 
57
- var _config2 = config,
58
- _config2$locale = _config2.locale,
59
- locale = _config2$locale === void 0 ? 'en' : _config2$locale,
60
- _config2$shortFormatC = _config2.shortFormatCurrentYear,
61
- shortFormatCurrentYear = _config2$shortFormatC === void 0 ? this.SHORT_FORMAT_CURRENT_YEAR : _config2$shortFormatC,
62
- _config2$shortFormatP = _config2.shortFormatPastYear,
63
- shortFormatPastYear = _config2$shortFormatP === void 0 ? this.SHORT_FORMAT_PAST_YEAR : _config2$shortFormatP;
64
- var date = dayjs(timestamp * 1000);
44
+ formatTime(timestamp, config = {}) {
45
+ const {
46
+ locale = 'en',
47
+ shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,
48
+ shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR
49
+ } = config;
50
+ const date = dayjs(timestamp * 1000);
65
51
  date.locale(locale);
66
52
 
67
53
  if (date.isSame(dayjs(), 'year')) {
@@ -70,20 +56,17 @@ var TimeUtils = {
70
56
  return date.format(shortFormatPastYear);
71
57
  }
72
58
  },
73
- formatTimeLong: function formatTimeLong(timestamp, config) {
74
- if (config === void 0) {
75
- config = {};
76
- }
77
59
 
78
- var _config3 = config,
79
- _config3$locale = _config3.locale,
80
- locale = _config3$locale === void 0 ? 'en' : _config3$locale,
81
- _config3$longFormat = _config3.longFormat,
82
- longFormat = _config3$longFormat === void 0 ? this.LONG_FORMAT : _config3$longFormat;
83
- var date = dayjs(timestamp * 1000);
60
+ formatTimeLong(timestamp, config = {}) {
61
+ const {
62
+ locale = 'en',
63
+ longFormat = this.LONG_FORMAT
64
+ } = config;
65
+ const date = dayjs(timestamp * 1000);
84
66
  date.locale(locale);
85
67
  return date.format(longFormat);
86
68
  }
69
+
87
70
  };
88
71
 
89
72
  export { TimeUtils };
@@ -1 +1 @@
1
- {"version":3,"file":"time-utils.js","sources":["../../../src/components/time/time-utils.ts"],"sourcesContent":["import dayjs from 'dayjs'\n/**\n * There's a problem with our setup where the default export from\n * localizedFormat (and likely every other dayjs plugin) isn't properly\n * recognized. The proposed workarounds (importing with `.js` ending, or adding\n * `allowSyntheticDefaultImports` to the tsconfig) either broke linting or type\n * checking. After spending some time on this it was decided that further\n * investigations are not worth it, the code works and the eslint ignore is fine.\n * ref: https://github.com/iamkun/dayjs/issues/593\n * ref: https://day.js.org/docs/en/installation/typescript\n */\n// eslint-disable-next-line import/default\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat'\n\ndayjs.extend(LocalizedFormat)\n\ntype TimeConfig = {\n locale?: string\n longFormat?: string\n shortFormatCurrentYear?: string\n shortFormatPastYear?: string\n daysSuffix?: string\n hoursSuffix?: string\n minutesSuffix?: string\n momentsAgo?: string\n}\n\nconst TimeUtils = {\n SHORT_FORMAT_CURRENT_YEAR: 'L',\n SHORT_FORMAT_PAST_YEAR: 'LL',\n LONG_FORMAT: 'LL, LT',\n\n timeAgo(timestamp: number, config: TimeConfig = {}) {\n const {\n locale = 'en',\n shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,\n shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR,\n daysSuffix = 'd',\n hoursSuffix = 'h',\n minutesSuffix = 'm',\n momentsAgo = 'moments ago',\n } = config\n const now = dayjs()\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n const diffMinutes = now.diff(date, 'minute')\n const diffHours = now.diff(date, 'hour')\n const diffDays = now.diff(date, 'day')\n\n if (diffDays > 1) {\n if (date.isSame(now, 'year')) {\n return date.format(shortFormatCurrentYear)\n } else {\n return date.format(shortFormatPastYear)\n }\n } else if (diffDays === 1) {\n return `${diffDays}${daysSuffix}`\n } else if (diffHours > 0 && diffHours <= 23) {\n return `${diffHours}${hoursSuffix}`\n } else if (diffMinutes > 0 && diffMinutes <= 59) {\n return `${diffMinutes}${minutesSuffix}`\n } else {\n return momentsAgo\n }\n },\n\n formatTime(timestamp: number, config: TimeConfig = {}) {\n const {\n locale = 'en',\n shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,\n shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR,\n } = config\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n if (date.isSame(dayjs(), 'year')) {\n return date.format(shortFormatCurrentYear)\n } else {\n return date.format(shortFormatPastYear)\n }\n },\n\n formatTimeLong(timestamp: number, config: TimeConfig = {}) {\n const { locale = 'en', longFormat = this.LONG_FORMAT } = config\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n return date.format(longFormat)\n },\n}\n\nexport { TimeUtils, TimeConfig }\n"],"names":["dayjs","extend","LocalizedFormat","TimeUtils","SHORT_FORMAT_CURRENT_YEAR","SHORT_FORMAT_PAST_YEAR","LONG_FORMAT","timeAgo","timestamp","config","locale","shortFormatCurrentYear","shortFormatPastYear","daysSuffix","hoursSuffix","minutesSuffix","momentsAgo","now","date","diffMinutes","diff","diffHours","diffDays","isSame","format","formatTime","formatTimeLong","longFormat"],"mappings":"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"}
1
+ {"version":3,"file":"time-utils.js","sources":["../../../src/components/time/time-utils.ts"],"sourcesContent":["import dayjs from 'dayjs'\n/**\n * There's a problem with our setup where the default export from\n * localizedFormat (and likely every other dayjs plugin) isn't properly\n * recognized. The proposed workarounds (importing with `.js` ending, or adding\n * `allowSyntheticDefaultImports` to the tsconfig) either broke linting or type\n * checking. After spending some time on this it was decided that further\n * investigations are not worth it, the code works and the eslint ignore is fine.\n * ref: https://github.com/iamkun/dayjs/issues/593\n * ref: https://day.js.org/docs/en/installation/typescript\n */\n// eslint-disable-next-line import/default\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat'\n\ndayjs.extend(LocalizedFormat)\n\ntype TimeConfig = {\n locale?: string\n longFormat?: string\n shortFormatCurrentYear?: string\n shortFormatPastYear?: string\n daysSuffix?: string\n hoursSuffix?: string\n minutesSuffix?: string\n momentsAgo?: string\n}\n\nconst TimeUtils = {\n SHORT_FORMAT_CURRENT_YEAR: 'L',\n SHORT_FORMAT_PAST_YEAR: 'LL',\n LONG_FORMAT: 'LL, LT',\n\n timeAgo(timestamp: number, config: TimeConfig = {}) {\n const {\n locale = 'en',\n shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,\n shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR,\n daysSuffix = 'd',\n hoursSuffix = 'h',\n minutesSuffix = 'm',\n momentsAgo = 'moments ago',\n } = config\n const now = dayjs()\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n const diffMinutes = now.diff(date, 'minute')\n const diffHours = now.diff(date, 'hour')\n const diffDays = now.diff(date, 'day')\n\n if (diffDays > 1) {\n if (date.isSame(now, 'year')) {\n return date.format(shortFormatCurrentYear)\n } else {\n return date.format(shortFormatPastYear)\n }\n } else if (diffDays === 1) {\n return `${diffDays}${daysSuffix}`\n } else if (diffHours > 0 && diffHours <= 23) {\n return `${diffHours}${hoursSuffix}`\n } else if (diffMinutes > 0 && diffMinutes <= 59) {\n return `${diffMinutes}${minutesSuffix}`\n } else {\n return momentsAgo\n }\n },\n\n formatTime(timestamp: number, config: TimeConfig = {}) {\n const {\n locale = 'en',\n shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,\n shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR,\n } = config\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n if (date.isSame(dayjs(), 'year')) {\n return date.format(shortFormatCurrentYear)\n } else {\n return date.format(shortFormatPastYear)\n }\n },\n\n formatTimeLong(timestamp: number, config: TimeConfig = {}) {\n const { locale = 'en', longFormat = this.LONG_FORMAT } = config\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n return date.format(longFormat)\n },\n}\n\nexport { TimeUtils, TimeConfig }\n"],"names":["dayjs","extend","LocalizedFormat","TimeUtils","SHORT_FORMAT_CURRENT_YEAR","SHORT_FORMAT_PAST_YEAR","LONG_FORMAT","timeAgo","timestamp","config","locale","shortFormatCurrentYear","shortFormatPastYear","daysSuffix","hoursSuffix","minutesSuffix","momentsAgo","now","date","diffMinutes","diff","diffHours","diffDays","isSame","format","formatTime","formatTimeLong","longFormat"],"mappings":";;;AAcAA,KAAK,CAACC,MAAN,CAAaC,eAAb;MAaMC,SAAS,GAAG;EACdC,yBAAyB,EAAE,GADb;EAEdC,sBAAsB,EAAE,IAFV;EAGdC,WAAW,EAAE,QAHC;;EAKdC,OAAO,CAACC,SAAD,EAAoBC,SAAqB,EAAzC;IACH,MAAM;MACFC,MAAM,GAAG,IADP;MAEFC,sBAAsB,GAAG,KAAKP,yBAF5B;MAGFQ,mBAAmB,GAAG,KAAKP,sBAHzB;MAIFQ,UAAU,GAAG,GAJX;MAKFC,WAAW,GAAG,GALZ;MAMFC,aAAa,GAAG,GANd;MAOFC,UAAU,GAAG;QACbP,MARJ;IASA,MAAMQ,GAAG,GAAGjB,KAAK,EAAjB;IACA,MAAMkB,IAAI,GAAGlB,KAAK,CAACQ,SAAS,GAAG,IAAb,CAAlB;IACAU,IAAI,CAACR,MAAL,CAAYA,MAAZ;IACA,MAAMS,WAAW,GAAGF,GAAG,CAACG,IAAJ,CAASF,IAAT,EAAe,QAAf,CAApB;IACA,MAAMG,SAAS,GAAGJ,GAAG,CAACG,IAAJ,CAASF,IAAT,EAAe,MAAf,CAAlB;IACA,MAAMI,QAAQ,GAAGL,GAAG,CAACG,IAAJ,CAASF,IAAT,EAAe,KAAf,CAAjB;;IAEA,IAAII,QAAQ,GAAG,CAAf,EAAkB;MACd,IAAIJ,IAAI,CAACK,MAAL,CAAYN,GAAZ,EAAiB,MAAjB,CAAJ,EAA8B;QAC1B,OAAOC,IAAI,CAACM,MAAL,CAAYb,sBAAZ,CAAP;OADJ,MAEO;QACH,OAAOO,IAAI,CAACM,MAAL,CAAYZ,mBAAZ,CAAP;;KAJR,MAMO,IAAIU,QAAQ,KAAK,CAAjB,EAAoB;MACvB,YAAUA,QAAV,GAAqBT,UAArB;KADG,MAEA,IAAIQ,SAAS,GAAG,CAAZ,IAAiBA,SAAS,IAAI,EAAlC,EAAsC;MACzC,YAAUA,SAAV,GAAsBP,WAAtB;KADG,MAEA,IAAIK,WAAW,GAAG,CAAd,IAAmBA,WAAW,IAAI,EAAtC,EAA0C;MAC7C,YAAUA,WAAV,GAAwBJ,aAAxB;KADG,MAEA;MACH,OAAOC,UAAP;;GAnCM;;EAuCdS,UAAU,CAACjB,SAAD,EAAoBC,SAAqB,EAAzC;IACN,MAAM;MACFC,MAAM,GAAG,IADP;MAEFC,sBAAsB,GAAG,KAAKP,yBAF5B;MAGFQ,mBAAmB,GAAG,KAAKP;QAC3BI,MAJJ;IAKA,MAAMS,IAAI,GAAGlB,KAAK,CAACQ,SAAS,GAAG,IAAb,CAAlB;IACAU,IAAI,CAACR,MAAL,CAAYA,MAAZ;;IACA,IAAIQ,IAAI,CAACK,MAAL,CAAYvB,KAAK,EAAjB,EAAqB,MAArB,CAAJ,EAAkC;MAC9B,OAAOkB,IAAI,CAACM,MAAL,CAAYb,sBAAZ,CAAP;KADJ,MAEO;MACH,OAAOO,IAAI,CAACM,MAAL,CAAYZ,mBAAZ,CAAP;;GAlDM;;EAsDdc,cAAc,CAAClB,SAAD,EAAoBC,SAAqB,EAAzC;IACV,MAAM;MAAEC,MAAM,GAAG,IAAX;MAAiBiB,UAAU,GAAG,KAAKrB;QAAgBG,MAAzD;IACA,MAAMS,IAAI,GAAGlB,KAAK,CAACQ,SAAS,GAAG,IAAb,CAAlB;IACAU,IAAI,CAACR,MAAL,CAAYA,MAAZ;IACA,OAAOQ,IAAI,CAACM,MAAL,CAAYG,UAAZ,CAAP;;;AA1DU;;;;"}