@ntbjs/react-components 2.0.0-rc.29 → 2.0.0-rc.30

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 (279) hide show
  1. package/build/{_rollupPluginBabelHelpers-c245b26a.js → _virtual/_rollupPluginBabelHelpers.js} +2 -1
  2. package/build/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/build/{Alert-e6847a22.js → data/Alert/Alert.js} +5 -55
  4. package/build/data/Alert/Alert.js.map +1 -0
  5. package/build/data/Alert/Alert.styled.js +56 -0
  6. package/build/data/Alert/Alert.styled.js.map +1 -0
  7. package/build/data/Alert/index.js +2 -6
  8. package/build/data/Alert/index.js.map +1 -0
  9. package/build/data/Badge/Badge.js +87 -0
  10. package/build/data/Badge/Badge.js.map +1 -0
  11. package/build/{Badge-d93586a9.js → data/Badge/Badge.styled.js} +4 -85
  12. package/build/data/Badge/Badge.styled.js.map +1 -0
  13. package/build/data/Badge/index.js +2 -5
  14. package/build/data/Badge/index.js.map +1 -0
  15. package/build/data/Popover/Popover.js +93 -0
  16. package/build/data/Popover/Popover.js.map +1 -0
  17. package/build/{Popover-20050b91.js → data/Popover/Popover.styled.js} +6 -92
  18. package/build/data/Popover/Popover.styled.js.map +1 -0
  19. package/build/data/Popover/index.js +2 -10
  20. package/build/data/Popover/index.js.map +1 -0
  21. package/build/{Tab-04d435c3.js → data/Tab/Tab.js} +5 -12
  22. package/build/data/Tab/Tab.js.map +1 -0
  23. package/build/data/Tab/Tab.styled.js +13 -0
  24. package/build/data/Tab/Tab.styled.js.map +1 -0
  25. package/build/data/Tab/index.js +2 -5
  26. package/build/data/Tab/index.js.map +1 -0
  27. package/build/{Tabs-74d1ea8a.js → data/Tabs/Tabs.js} +6 -74
  28. package/build/data/Tabs/Tabs.js.map +1 -0
  29. package/build/data/Tabs/Tabs.styled.js +74 -0
  30. package/build/data/Tabs/Tabs.styled.js.map +1 -0
  31. package/build/data/Tabs/index.js +2 -7
  32. package/build/data/Tabs/index.js.map +1 -0
  33. package/build/{Tooltip-c1d1199e.js → data/Tooltip/Tooltip.js} +5 -26
  34. package/build/data/Tooltip/Tooltip.js.map +1 -0
  35. package/build/data/Tooltip/Tooltip.styled.js +28 -0
  36. package/build/data/Tooltip/Tooltip.styled.js.map +1 -0
  37. package/build/data/Tooltip/index.js +2 -7
  38. package/build/data/Tooltip/index.js.map +1 -0
  39. package/build/data/VerificationStatusIcon/VerificationStatusIcon.js +36 -0
  40. package/build/data/VerificationStatusIcon/VerificationStatusIcon.js.map +1 -0
  41. package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js +53 -0
  42. package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js.map +1 -0
  43. package/build/data/index.js +8 -16
  44. package/build/data/index.js.map +1 -0
  45. package/build/hooks/useEventListner.js +21 -0
  46. package/build/hooks/useEventListner.js.map +1 -0
  47. package/build/hooks/useIsomorphicLayoutEffect.js +6 -0
  48. package/build/hooks/useIsomorphicLayoutEffect.js.map +1 -0
  49. package/build/hooks/useOnClickOutside.js +14 -0
  50. package/build/hooks/useOnClickOutside.js.map +1 -0
  51. package/build/icons/arrow-back.svg.js +16 -0
  52. package/build/icons/arrow-back.svg.js.map +1 -0
  53. package/build/{arrow-forward-ad12c5f3.js → icons/arrow-forward.svg.js} +2 -1
  54. package/build/icons/arrow-forward.svg.js.map +1 -0
  55. package/build/icons/check-rectangle-filled.svg.js +16 -0
  56. package/build/icons/check-rectangle-filled.svg.js.map +1 -0
  57. package/build/{close-a5d37608.js → icons/close.svg.js} +2 -1
  58. package/build/icons/close.svg.js.map +1 -0
  59. package/build/{edit-note-283a0e15.js → icons/edit-note.svg.js} +2 -1
  60. package/build/icons/edit-note.svg.js.map +1 -0
  61. package/build/{expand-more-c5523c46.js → icons/expand-more.svg.js} +2 -1
  62. package/build/icons/expand-more.svg.js.map +1 -0
  63. package/build/icons/headset.svg.js +16 -0
  64. package/build/icons/headset.svg.js.map +1 -0
  65. package/build/icons/layers.svg.js +16 -0
  66. package/build/icons/layers.svg.js.map +1 -0
  67. package/build/icons/link.svg.js +16 -0
  68. package/build/icons/link.svg.js.map +1 -0
  69. package/build/icons/play.svg.js +16 -0
  70. package/build/icons/play.svg.js.map +1 -0
  71. package/build/icons/search.svg.js +16 -0
  72. package/build/icons/search.svg.js.map +1 -0
  73. package/build/icons/star-filled.svg.js +16 -0
  74. package/build/icons/star-filled.svg.js.map +1 -0
  75. package/build/icons/star.svg.js +16 -0
  76. package/build/icons/star.svg.js.map +1 -0
  77. package/build/icons/triangle-right.svg.js +16 -0
  78. package/build/icons/triangle-right.svg.js.map +1 -0
  79. package/build/icons/verification.svg.js +16 -0
  80. package/build/icons/verification.svg.js.map +1 -0
  81. package/build/{warning-circle-24f3efcd.js → icons/warning-circle.svg.js} +2 -1
  82. package/build/icons/warning-circle.svg.js.map +1 -0
  83. package/build/index.js +5 -0
  84. package/build/index.js.map +1 -0
  85. package/build/inputs/ActionButton/ActionButton.js +36 -0
  86. package/build/inputs/ActionButton/ActionButton.js.map +1 -0
  87. package/build/{ActionButton-4db754c3.js → inputs/ActionButton/ActionButton.styled.js} +4 -34
  88. package/build/inputs/ActionButton/ActionButton.styled.js.map +1 -0
  89. package/build/inputs/ActionButton/index.js +2 -6
  90. package/build/inputs/ActionButton/index.js.map +1 -0
  91. package/build/inputs/Button/Button.js +188 -0
  92. package/build/inputs/Button/Button.js.map +1 -0
  93. package/build/{Button-73eb8516.js → inputs/Button/Button.styled.js} +4 -186
  94. package/build/inputs/Button/Button.styled.js.map +1 -0
  95. package/build/inputs/Button/index.js +2 -13
  96. package/build/inputs/Button/index.js.map +1 -0
  97. package/build/inputs/Checkbox/Checkbox.js +97 -0
  98. package/build/inputs/Checkbox/Checkbox.js.map +1 -0
  99. package/build/inputs/Checkbox/Checkbox.styled.js +122 -0
  100. package/build/inputs/Checkbox/Checkbox.styled.js.map +1 -0
  101. package/build/inputs/Checkbox/index.js +2 -6
  102. package/build/inputs/Checkbox/index.js.map +1 -0
  103. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +267 -0
  104. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js.map +1 -0
  105. package/build/{CompactAutocompleteSelect-52c49513.js → inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js} +6 -267
  106. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js.map +1 -0
  107. package/build/inputs/CompactAutocompleteSelect/index.js +2 -23
  108. package/build/inputs/CompactAutocompleteSelect/index.js.map +1 -0
  109. package/build/inputs/CompactStarRating/CompactStarRating.js +177 -0
  110. package/build/inputs/CompactStarRating/CompactStarRating.js.map +1 -0
  111. package/build/inputs/CompactStarRating/CompactStarRating.styled.js +217 -0
  112. package/build/inputs/CompactStarRating/CompactStarRating.styled.js.map +1 -0
  113. package/build/inputs/CompactStarRating/index.js +2 -17
  114. package/build/inputs/CompactStarRating/index.js.map +1 -0
  115. package/build/inputs/CompactTextInput/CompactTextInput.js +184 -0
  116. package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -0
  117. package/build/{CompactTextInput-42ca5d42.js → inputs/CompactTextInput/CompactTextInput.styled.js} +4 -194
  118. package/build/inputs/CompactTextInput/CompactTextInput.styled.js.map +1 -0
  119. package/build/inputs/CompactTextInput/index.js +2 -19
  120. package/build/inputs/CompactTextInput/index.js.map +1 -0
  121. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js +207 -0
  122. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js.map +1 -0
  123. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js +66 -0
  124. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js.map +1 -0
  125. package/build/inputs/MultiLevelCheckbox/index.js +3 -0
  126. package/build/inputs/MultiLevelCheckbox/index.js.map +1 -0
  127. package/build/inputs/MultiLevelCheckbox/types.js +27 -0
  128. package/build/inputs/MultiLevelCheckbox/types.js.map +1 -0
  129. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +184 -26
  130. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js.map +1 -0
  131. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js +93 -0
  132. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js.map +1 -0
  133. package/build/inputs/MultiLevelCheckboxSelect/index.js +2 -0
  134. package/build/inputs/MultiLevelCheckboxSelect/index.js.map +1 -0
  135. package/build/{MultiSelect-9f497e62.js → inputs/MultiSelect/MultiSelect.js} +6 -223
  136. package/build/inputs/MultiSelect/MultiSelect.js.map +1 -0
  137. package/build/inputs/MultiSelect/MultiSelect.styled.js +224 -0
  138. package/build/inputs/MultiSelect/MultiSelect.styled.js.map +1 -0
  139. package/build/inputs/MultiSelect/index.js +2 -10
  140. package/build/inputs/MultiSelect/index.js.map +1 -0
  141. package/build/inputs/Radio/Radio.js +60 -0
  142. package/build/inputs/Radio/Radio.js.map +1 -0
  143. package/build/{Radio-73ca3ae2.js → inputs/Radio/Radio.styled.js} +4 -58
  144. package/build/inputs/Radio/Radio.styled.js.map +1 -0
  145. package/build/inputs/Radio/index.js +2 -7
  146. package/build/inputs/Radio/index.js.map +1 -0
  147. package/build/inputs/Switch/Switch.js +64 -0
  148. package/build/inputs/Switch/Switch.js.map +1 -0
  149. package/build/{Switch-ecf3122b.js → inputs/Switch/Switch.styled.js} +4 -62
  150. package/build/inputs/Switch/Switch.styled.js.map +1 -0
  151. package/build/inputs/Switch/index.js +2 -6
  152. package/build/inputs/Switch/index.js.map +1 -0
  153. package/build/inputs/TextArea/TextArea.js +178 -0
  154. package/build/inputs/TextArea/TextArea.js.map +1 -0
  155. package/build/{TextArea-1e5b9201.js → inputs/TextArea/TextArea.styled.js} +3 -175
  156. package/build/inputs/TextArea/TextArea.styled.js.map +1 -0
  157. package/build/inputs/TextArea/index.js +2 -20
  158. package/build/inputs/TextArea/index.js.map +1 -0
  159. package/build/inputs/TextInput/TextInput.js +139 -0
  160. package/build/inputs/TextInput/TextInput.js.map +1 -0
  161. package/build/{TextInput-fab35842.js → inputs/TextInput/TextInput.styled.js} +4 -137
  162. package/build/inputs/TextInput/TextInput.styled.js.map +1 -0
  163. package/build/inputs/TextInput/index.js +2 -9
  164. package/build/inputs/TextInput/index.js.map +1 -0
  165. package/build/inputs/index.js +15 -40
  166. package/build/inputs/index.js.map +1 -0
  167. package/build/{InputGroup-1294d190.js → layout/InputGroup/InputGroup.js} +5 -8
  168. package/build/layout/InputGroup/InputGroup.js.map +1 -0
  169. package/build/layout/InputGroup/InputGroup.styled.js +9 -0
  170. package/build/layout/InputGroup/InputGroup.styled.js.map +1 -0
  171. package/build/layout/SectionSeparator/SectionSeparator.js +23 -0
  172. package/build/layout/SectionSeparator/SectionSeparator.js.map +1 -0
  173. package/build/layout/SectionSeparator/SectionSeparator.styled.js +14 -0
  174. package/build/layout/SectionSeparator/SectionSeparator.styled.js.map +1 -0
  175. package/build/layout/SectionSeparator/index.js +2 -5
  176. package/build/layout/SectionSeparator/index.js.map +1 -0
  177. package/build/layout/index.js +3 -6
  178. package/build/layout/index.js.map +1 -0
  179. package/build/ssr/index.js +1 -0
  180. package/build/ssr/index.js.map +1 -0
  181. package/build/styles/utils/colors.scss.js +4 -0
  182. package/build/styles/utils/colors.scss.js.map +1 -0
  183. package/build/utils/dateTime.js +17 -0
  184. package/build/utils/dateTime.js.map +1 -0
  185. package/build/utils/defaultTheme.js +44 -0
  186. package/build/utils/defaultTheme.js.map +1 -0
  187. package/build/{AssetAction-98d76ce0.js → widgets/AssetAction/AssetAction.js} +6 -40
  188. package/build/widgets/AssetAction/AssetAction.js.map +1 -0
  189. package/build/widgets/AssetAction/AssetAction.styled.js +41 -0
  190. package/build/widgets/AssetAction/AssetAction.styled.js.map +1 -0
  191. package/build/widgets/AssetAction/index.js +2 -7
  192. package/build/widgets/AssetAction/index.js.map +1 -0
  193. package/build/{AssetActionsBase-9e4c0735.js → widgets/AssetActionsBase/AssetActionsBase.js} +6 -15
  194. package/build/widgets/AssetActionsBase/AssetActionsBase.js.map +1 -0
  195. package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js +15 -0
  196. package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js.map +1 -0
  197. package/build/widgets/AssetActionsBase/index.js +2 -8
  198. package/build/widgets/AssetActionsBase/index.js.map +1 -0
  199. package/build/widgets/AssetGallery/AssetGallery.js +99 -0
  200. package/build/widgets/AssetGallery/AssetGallery.js.map +1 -0
  201. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js +385 -0
  202. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js.map +1 -0
  203. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js +30 -0
  204. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js.map +1 -0
  205. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +401 -0
  206. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -0
  207. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +329 -0
  208. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -0
  209. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +409 -0
  210. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -0
  211. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +280 -0
  212. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -0
  213. package/build/widgets/AssetGallery/asset.propType.js +54 -0
  214. package/build/widgets/AssetGallery/asset.propType.js.map +1 -0
  215. package/build/widgets/AssetGallery/index.js +2 -48
  216. package/build/widgets/AssetGallery/index.js.map +1 -0
  217. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +44 -0
  218. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js.map +1 -0
  219. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js +77 -0
  220. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js.map +1 -0
  221. package/build/widgets/AssetPreview/AssetPreviewTopBar/index.js +2 -6
  222. package/build/widgets/AssetPreview/AssetPreviewTopBar/index.js.map +1 -0
  223. package/build/{ContextMenu-0f7134e4.js → widgets/ContextMenu/ContextMenu.js} +5 -9
  224. package/build/widgets/ContextMenu/ContextMenu.js.map +1 -0
  225. package/build/widgets/ContextMenu/ContextMenu.styled.js +10 -0
  226. package/build/widgets/ContextMenu/ContextMenu.styled.js.map +1 -0
  227. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js +44 -0
  228. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js.map +1 -0
  229. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js +77 -0
  230. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js.map +1 -0
  231. package/build/widgets/ContextMenu/ContextMenuItem/index.js +2 -5
  232. package/build/widgets/ContextMenu/ContextMenuItem/index.js.map +1 -0
  233. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +22 -0
  234. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js.map +1 -0
  235. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js +21 -0
  236. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js.map +1 -0
  237. package/build/widgets/ContextMenu/ContextMenuItemsGroup/index.js +2 -37
  238. package/build/widgets/ContextMenu/ContextMenuItemsGroup/index.js.map +1 -0
  239. package/build/widgets/ContextMenu/index.js +2 -5
  240. package/build/widgets/ContextMenu/index.js.map +1 -0
  241. package/build/widgets/InfoCard/InfoCard.js +40 -0
  242. package/build/widgets/InfoCard/InfoCard.js.map +1 -0
  243. package/build/{InfoCard-c98b6f5a.js → widgets/InfoCard/InfoCard.styled.js} +5 -38
  244. package/build/widgets/InfoCard/InfoCard.styled.js.map +1 -0
  245. package/build/widgets/InfoCard/index.js +2 -6
  246. package/build/widgets/InfoCard/index.js.map +1 -0
  247. package/build/{Instructions-bfd28cea.js → widgets/Instructions/Instructions.js} +8 -34
  248. package/build/widgets/Instructions/Instructions.js.map +1 -0
  249. package/build/widgets/Instructions/Instructions.styled.js +32 -0
  250. package/build/widgets/Instructions/Instructions.styled.js.map +1 -0
  251. package/build/widgets/Instructions/index.js +2 -28
  252. package/build/widgets/Instructions/index.js.map +1 -0
  253. package/build/widgets/ProgressBar/ProgressBar.js +72 -0
  254. package/build/widgets/ProgressBar/ProgressBar.js.map +1 -0
  255. package/build/{ProgressBar-bc4a4a7e.js → widgets/ProgressBar/ProgressBar.styled.js} +5 -70
  256. package/build/widgets/ProgressBar/ProgressBar.styled.js.map +1 -0
  257. package/build/widgets/ProgressBar/index.js +2 -6
  258. package/build/widgets/ProgressBar/index.js.map +1 -0
  259. package/build/widgets/SummaryCard/SummaryCard.js +92 -0
  260. package/build/widgets/SummaryCard/SummaryCard.js.map +1 -0
  261. package/build/widgets/SummaryCard/SummaryCard.styled.js +137 -0
  262. package/build/widgets/SummaryCard/SummaryCard.styled.js.map +1 -0
  263. package/build/widgets/SummaryCard/index.js +2 -19
  264. package/build/widgets/SummaryCard/index.js.map +1 -0
  265. package/build/widgets/index.js +12 -53
  266. package/build/widgets/index.js.map +1 -0
  267. package/package.json +5 -2
  268. package/build/AssetGallery-63f721ec.js +0 -1981
  269. package/build/AssetPreviewTopBar-acd6353d.js +0 -127
  270. package/build/Checkbox-4a5fd716.js +0 -213
  271. package/build/CompactStarRating-9af2f427.js +0 -411
  272. package/build/ContextMenuItem-ea411141.js +0 -127
  273. package/build/MultiLevelCheckboxSelect-d8044c88.js +0 -604
  274. package/build/SectionSeparator-f47760a2.js +0 -31
  275. package/build/SummaryCard-24040650.js +0 -223
  276. package/build/VerificationStatusIcon-49cb1c1b.js +0 -95
  277. package/build/defaultTheme-1bcc2541.js +0 -1178
  278. package/build/layout/InputGroup/index.js +0 -5
  279. package/build/shift-away-subtle-0dd94a03.js +0 -7
@@ -0,0 +1,188 @@
1
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React__default, { useState, useRef, useEffect } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { ButtonWrapper, MainButtonWrapper, MainButtonContainer, Button as Button$1, ButtonContent, LoadingIndicator, LoadingIndicatorSvg, LoadingIndicatorSvgCircle, DropdownButtonContainer, MainButtonContainerSingle } from './Button.styled.js';
5
+ import Popover from '../../data/Popover/Popover.js';
6
+ import ContextMenu from '../../widgets/ContextMenu/ContextMenu.js';
7
+ import { ReactComponent as SvgExpandMore } from '../../icons/expand-more.svg.js';
8
+
9
+ const Button = React__default.forwardRef(function Button({
10
+ onClickEffect,
11
+ singleAction = false,
12
+ activeDropdown = false,
13
+ dropdownItems,
14
+ secondary,
15
+ outlined,
16
+ block = false,
17
+ icon,
18
+ size = 'normal',
19
+ disabled,
20
+ loading,
21
+ className,
22
+ children,
23
+ singleActionGap = 34,
24
+ width,
25
+ border = 2,
26
+ ...props
27
+ }, forwardedRef) {
28
+ const [loadingState, setLoadingState] = useState(loading || false);
29
+ const [loadingStep, setLoadingStep] = useState(113);
30
+ const loadingInterval = useRef(0);
31
+ const [dropdownIsActive, setDropdownIsActive] = useState(false);
32
+ const enableLoading = () => {
33
+ loadingInterval.current = setInterval(() => {
34
+ setLoadingStep(currentLoadingStep => {
35
+ const newLoadingStep = Math.round(currentLoadingStep - 15 * currentLoadingStep / 100);
36
+ if (newLoadingStep === currentLoadingStep) {
37
+ clearInterval(loadingInterval.current);
38
+ }
39
+ return newLoadingStep;
40
+ });
41
+ }, 300);
42
+ setLoadingState(true);
43
+ };
44
+ const disableLoading = () => {
45
+ clearInterval(loadingInterval.current);
46
+ setLoadingStep(0);
47
+ setTimeout(() => {
48
+ setLoadingState(false);
49
+ setLoadingStep(113);
50
+ }, 500);
51
+ };
52
+ useEffect(() => {
53
+ if (loading) {
54
+ enableLoading();
55
+ } else {
56
+ disableLoading();
57
+ }
58
+ return () => clearInterval(loadingInterval.current);
59
+ }, [loading]);
60
+ const handleDropdownButtonClick = () => {
61
+ setDropdownIsActive(true);
62
+ };
63
+ const handleDropdownClose = () => {
64
+ setDropdownIsActive(false);
65
+ };
66
+ return React__default.createElement(ButtonWrapper, null, !singleAction ? React__default.createElement(MainButtonWrapper, {
67
+ activeDropdown: activeDropdown,
68
+ dropdownItems: dropdownItems,
69
+ outlined: outlined,
70
+ secondary: secondary,
71
+ block: block
72
+ }, React__default.createElement(MainButtonContainer, {
73
+ dropdownItems: dropdownItems,
74
+ secondary: secondary,
75
+ outlined: outlined,
76
+ block: block
77
+ }, React__default.createElement(Button$1, _extends({
78
+ ref: forwardedRef,
79
+ onClick: onClickEffect,
80
+ border: border,
81
+ singleAction: singleAction,
82
+ dropdownItems: dropdownItems,
83
+ secondary: secondary,
84
+ outlined: outlined,
85
+ block: block,
86
+ size: size,
87
+ disabled: disabled,
88
+ className: className,
89
+ "aria-busy": disabled,
90
+ width: width
91
+ }, props), React__default.createElement(ButtonContent, {
92
+ $loading: loadingState,
93
+ size: size
94
+ }, icon, children), React__default.createElement(LoadingIndicator, {
95
+ $loading: loadingState,
96
+ style: {
97
+ opacity: loadingState ? 1 : 0
98
+ }
99
+ }, React__default.createElement(LoadingIndicatorSvg, {
100
+ viewBox: "22 22 44 44"
101
+ }, React__default.createElement(LoadingIndicatorSvgCircle, {
102
+ cx: "44",
103
+ cy: "44",
104
+ r: "18",
105
+ fill: "none",
106
+ strokeWidth: "4",
107
+ stroke: "currentColor",
108
+ style: {
109
+ strokeDashoffset: `${loadingStep}px`
110
+ }
111
+ }))))), (activeDropdown || dropdownItems) && React__default.createElement(DropdownButtonContainer, {
112
+ dropdownItems: dropdownItems,
113
+ secondary: secondary,
114
+ outlined: outlined
115
+ }, React__default.createElement(Popover, {
116
+ content: React__default.createElement(ContextMenu, null, dropdownItems),
117
+ placement: 'bottom-end',
118
+ arrow: false,
119
+ contextMenu: true,
120
+ onHide: handleDropdownClose
121
+ }, React__default.createElement(Button$1, {
122
+ ref: forwardedRef,
123
+ singleAction: singleAction,
124
+ singleActionGap: singleActionGap,
125
+ dropdownItems: dropdownItems,
126
+ secondary: secondary,
127
+ outlined: outlined,
128
+ border: border,
129
+ block: block,
130
+ size: size,
131
+ disabled: disabled,
132
+ onClick: handleDropdownButtonClick,
133
+ className: dropdownIsActive ? 'dropdown-is-active' : '',
134
+ width: width
135
+ }, React__default.createElement(SvgExpandMore, null))))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(MainButtonContainerSingle, {
136
+ dropdownItems: dropdownItems,
137
+ secondary: secondary,
138
+ outlined: outlined,
139
+ className: className
140
+ }, React__default.createElement(DropdownButtonContainer, {
141
+ singleAction: singleAction
142
+ }, React__default.createElement(Popover, {
143
+ content: React__default.createElement(ContextMenu, null, dropdownItems),
144
+ placement: 'bottom-end',
145
+ arrow: false,
146
+ contextMenu: true,
147
+ onHide: handleDropdownClose
148
+ }, React__default.createElement(Button$1, {
149
+ ref: forwardedRef,
150
+ singleAction: singleAction,
151
+ singleActionGap: singleActionGap,
152
+ dropdownItems: dropdownItems,
153
+ secondary: secondary,
154
+ outlined: outlined,
155
+ border: border,
156
+ block: block,
157
+ size: size,
158
+ disabled: disabled,
159
+ onClick: handleDropdownButtonClick,
160
+ className: dropdownIsActive ? 'dropdown-is-active' : '',
161
+ width: width
162
+ }, React__default.createElement(ButtonContent, {
163
+ $loading: loadingState,
164
+ size: size,
165
+ singleAction: singleAction
166
+ }, icon, children), React__default.createElement(SvgExpandMore, null)))))));
167
+ });
168
+ Button.propTypes = process.env.NODE_ENV !== "production" ? {
169
+ onClickEffect: PropTypes.func,
170
+ singleAction: PropTypes.bool,
171
+ activeDropdown: PropTypes.bool,
172
+ dropdownItems: PropTypes.node,
173
+ secondary: PropTypes.bool,
174
+ outlined: PropTypes.bool,
175
+ border: PropTypes.number,
176
+ block: PropTypes.bool,
177
+ icon: PropTypes.element,
178
+ size: PropTypes.oneOf(['x-small', 'small', 'normal', 'large']),
179
+ disabled: PropTypes.bool,
180
+ loading: PropTypes.bool,
181
+ className: PropTypes.string,
182
+ children: PropTypes.any.isRequired,
183
+ singleActionGap: PropTypes.number,
184
+ width: PropTypes.number
185
+ } : {};
186
+
187
+ export { Button as default };
188
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sources":["../../../src/components/inputs/Button/Button.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './Button.styled';\n\nimport Popover from '../../data/Popover';\nimport ContextMenu from '../../widgets/ContextMenu/ContextMenu';\n\nimport { ReactComponent as DropdownIcon } from '../../../icons/expand-more.svg';\n\n/**\n * Buttons communicate actions that users can take.\n *\n * ### Import\n *\n * ``` js\n * import { Button } from '@ntbjs/react-components/inputs'\n * // or\n * import Button from '@ntbjs/react-components/inputs/Button'\n * ```\n */\nconst Button = React.forwardRef(function Button(\n {\n onClickEffect,\n singleAction = false,\n activeDropdown = false,\n dropdownItems,\n secondary,\n outlined,\n block = false,\n icon,\n size = 'normal',\n disabled,\n loading,\n className,\n children,\n singleActionGap = 34,\n width,\n border = 2,\n ...props\n },\n forwardedRef\n) {\n const [loadingState, setLoadingState] = useState(loading || false);\n const [loadingStep, setLoadingStep] = useState(113);\n const loadingInterval = useRef(0);\n\n const [dropdownIsActive, setDropdownIsActive] = useState(false);\n\n const enableLoading = () => {\n loadingInterval.current = setInterval(() => {\n setLoadingStep(currentLoadingStep => {\n const newLoadingStep = Math.round(currentLoadingStep - (15 * currentLoadingStep) / 100);\n\n if (newLoadingStep === currentLoadingStep) {\n clearInterval(loadingInterval.current);\n }\n\n return newLoadingStep;\n });\n }, 300);\n\n setLoadingState(true);\n };\n\n const disableLoading = () => {\n clearInterval(loadingInterval.current);\n\n setLoadingStep(0);\n\n setTimeout(() => {\n setLoadingState(false);\n setLoadingStep(113);\n }, 500);\n };\n\n useEffect(() => {\n if (loading) {\n enableLoading();\n } else {\n disableLoading();\n }\n\n return () => clearInterval(loadingInterval.current);\n }, [loading]);\n\n const handleDropdownButtonClick = () => {\n setDropdownIsActive(true);\n };\n\n const handleDropdownClose = () => {\n setDropdownIsActive(false);\n };\n\n return (\n <S.ButtonWrapper>\n {!singleAction ? (\n <S.MainButtonWrapper\n activeDropdown={activeDropdown}\n dropdownItems={dropdownItems}\n outlined={outlined}\n secondary={secondary}\n block={block}\n >\n <S.MainButtonContainer\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n block={block}\n >\n <S.Button\n ref={forwardedRef}\n onClick={onClickEffect}\n border={border}\n singleAction={singleAction}\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n block={block}\n size={size}\n disabled={disabled}\n className={className}\n aria-busy={disabled}\n width={width}\n {...props}\n >\n <S.ButtonContent $loading={loadingState} size={size}>\n {icon}\n {children}\n </S.ButtonContent>\n <S.LoadingIndicator\n $loading={loadingState}\n style={{\n opacity: loadingState ? 1 : 0\n }}\n >\n <S.LoadingIndicatorSvg viewBox=\"22 22 44 44\">\n <S.LoadingIndicatorSvgCircle\n cx=\"44\"\n cy=\"44\"\n r=\"18\"\n fill=\"none\"\n strokeWidth=\"4\"\n stroke=\"currentColor\"\n style={{\n strokeDashoffset: `${loadingStep}px`\n }}\n />\n </S.LoadingIndicatorSvg>\n </S.LoadingIndicator>\n </S.Button>\n </S.MainButtonContainer>\n {(activeDropdown || dropdownItems) && (\n <S.DropdownButtonContainer\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n >\n <Popover\n content={<ContextMenu>{dropdownItems}</ContextMenu>}\n placement={'bottom-end'}\n arrow={false}\n contextMenu={true}\n onHide={handleDropdownClose}\n >\n <S.Button\n ref={forwardedRef}\n singleAction={singleAction}\n singleActionGap={singleActionGap}\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n border={border}\n block={block}\n size={size}\n disabled={disabled}\n onClick={handleDropdownButtonClick}\n className={dropdownIsActive ? 'dropdown-is-active' : ''}\n width={width}\n >\n <DropdownIcon />\n </S.Button>\n </Popover>\n </S.DropdownButtonContainer>\n )}\n </S.MainButtonWrapper>\n ) : (\n <>\n <S.MainButtonContainerSingle\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n className={className}\n >\n <S.DropdownButtonContainer singleAction={singleAction}>\n <Popover\n content={<ContextMenu>{dropdownItems}</ContextMenu>}\n placement={'bottom-end'}\n arrow={false}\n contextMenu={true}\n onHide={handleDropdownClose}\n >\n <S.Button\n ref={forwardedRef}\n singleAction={singleAction}\n singleActionGap={singleActionGap}\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n border={border}\n block={block}\n size={size}\n disabled={disabled}\n onClick={handleDropdownButtonClick}\n className={dropdownIsActive ? 'dropdown-is-active' : ''}\n width={width}\n >\n <S.ButtonContent $loading={loadingState} size={size} singleAction={singleAction}>\n {icon}\n {children}\n </S.ButtonContent>\n <DropdownIcon />\n </S.Button>\n </Popover>\n </S.DropdownButtonContainer>\n </S.MainButtonContainerSingle>\n </>\n )}\n </S.ButtonWrapper>\n );\n});\n\nButton.propTypes = {\n /**\n * On-click effect for the main button\n */\n onClickEffect: PropTypes.func,\n\n /**\n * Whether the button is a \"single action button\". For single action buttons,\n * the entire button opens the dropdown menu, not just the arrow.\n */\n singleAction: PropTypes.bool,\n\n /**\n * Whether the button must have an active dropdown menu.\n */\n activeDropdown: PropTypes.bool,\n\n /**\n * An array containing nodes of the `ContextMenuItem` component\n */\n dropdownItems: PropTypes.node,\n\n /**\n * Whether the button should be styled as a secondary button\n */\n secondary: PropTypes.bool,\n\n /**\n * Whether the button should be styled with borders\n */\n outlined: PropTypes.bool,\n\n /**\n * Whether the button should customize the border width\n */\n border: PropTypes.number,\n\n /**\n * Whether the button should be of 100% width\n */\n block: PropTypes.bool,\n\n /**\n * Optional icon to be displayed on the left side of the button\n */\n icon: PropTypes.element,\n\n /**\n * Which size variation should be used\n */\n size: PropTypes.oneOf(['x-small', 'small', 'normal', 'large']),\n\n /**\n * Whether the button should be disabled\n */\n disabled: PropTypes.bool,\n\n /**\n * Whether the button should be initiated in a loading state\n */\n loading: PropTypes.bool,\n\n /**\n * Optional custom classnames for the HTML element\n */\n className: PropTypes.string,\n\n /**\n * Main content of the button\n */\n children: PropTypes.any.isRequired,\n /**\n * Gap between arrow and text in single action button\n */\n singleActionGap: PropTypes.number,\n\n /**\n * Custom min-width\n */\n width: PropTypes.number\n};\n\nexport default Button;\n"],"names":["Button","React","forwardRef","onClickEffect","singleAction","activeDropdown","dropdownItems","secondary","outlined","block","icon","size","disabled","loading","className","children","singleActionGap","width","border","props","forwardedRef","loadingState","setLoadingState","useState","loadingStep","setLoadingStep","loadingInterval","useRef","dropdownIsActive","setDropdownIsActive","enableLoading","current","setInterval","currentLoadingStep","newLoadingStep","Math","round","clearInterval","disableLoading","setTimeout","useEffect","handleDropdownButtonClick","handleDropdownClose","createElement","S","_extends","ref","onClick","$loading","style","opacity","viewBox","cx","cy","r","fill","strokeWidth","stroke","strokeDashoffset","Popover","content","ContextMenu","placement","arrow","contextMenu","onHide","DropdownIcon","Fragment","propTypes","process","env","NODE_ENV","PropTypes","func","bool","node","number","element","oneOf","string","any","isRequired"],"mappings":";;;;;;;;AAoBMA,MAAAA,MAAM,GAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,MAAMA,CAC7C;EACEG,aAAa;AACbC,EAAAA,YAAY,GAAG,KAAK;AACpBC,EAAAA,cAAc,GAAG,KAAK;EACtBC,aAAa;EACbC,SAAS;EACTC,QAAQ;AACRC,EAAAA,KAAK,GAAG,KAAK;EACbC,IAAI;AACJC,EAAAA,IAAI,GAAG,QAAQ;EACfC,QAAQ;EACRC,OAAO;EACPC,SAAS;EACTC,QAAQ;AACRC,EAAAA,eAAe,GAAG,EAAE;EACpBC,KAAK;AACLC,EAAAA,MAAM,GAAG,CAAC;EACV,GAAGC,KAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,QAAQ,CAACV,OAAO,IAAI,KAAK,CAAC,CAAA;EAClE,MAAM,CAACW,WAAW,EAAEC,cAAc,CAAC,GAAGF,QAAQ,CAAC,GAAG,CAAC,CAAA;AACnD,EAAA,MAAMG,eAAe,GAAGC,MAAM,CAAC,CAAC,CAAC,CAAA;EAEjC,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGN,QAAQ,CAAC,KAAK,CAAC,CAAA;EAE/D,MAAMO,aAAa,GAAGA,MAAM;AAC1BJ,IAAAA,eAAe,CAACK,OAAO,GAAGC,WAAW,CAAC,MAAM;MAC1CP,cAAc,CAACQ,kBAAkB,IAAI;AACnC,QAAA,MAAMC,cAAc,GAAGC,IAAI,CAACC,KAAK,CAACH,kBAAkB,GAAI,EAAE,GAAGA,kBAAkB,GAAI,GAAG,CAAC,CAAA;QAEvF,IAAIC,cAAc,KAAKD,kBAAkB,EAAE;AACzCI,UAAAA,aAAa,CAACX,eAAe,CAACK,OAAO,CAAC,CAAA;AACxC,SAAA;AAEA,QAAA,OAAOG,cAAc,CAAA;AACvB,OAAC,CAAC,CAAA;KACH,EAAE,GAAG,CAAC,CAAA;IAEPZ,eAAe,CAAC,IAAI,CAAC,CAAA;GACtB,CAAA;EAED,MAAMgB,cAAc,GAAGA,MAAM;AAC3BD,IAAAA,aAAa,CAACX,eAAe,CAACK,OAAO,CAAC,CAAA;IAEtCN,cAAc,CAAC,CAAC,CAAC,CAAA;AAEjBc,IAAAA,UAAU,CAAC,MAAM;MACfjB,eAAe,CAAC,KAAK,CAAC,CAAA;MACtBG,cAAc,CAAC,GAAG,CAAC,CAAA;KACpB,EAAE,GAAG,CAAC,CAAA;GACR,CAAA;AAEDe,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAI3B,OAAO,EAAE;AACXiB,MAAAA,aAAa,EAAE,CAAA;AACjB,KAAC,MAAM;AACLQ,MAAAA,cAAc,EAAE,CAAA;AAClB,KAAA;AAEA,IAAA,OAAO,MAAMD,aAAa,CAACX,eAAe,CAACK,OAAO,CAAC,CAAA;AACrD,GAAC,EAAE,CAAClB,OAAO,CAAC,CAAC,CAAA;EAEb,MAAM4B,yBAAyB,GAAGA,MAAM;IACtCZ,mBAAmB,CAAC,IAAI,CAAC,CAAA;GAC1B,CAAA;EAED,MAAMa,mBAAmB,GAAGA,MAAM;IAChCb,mBAAmB,CAAC,KAAK,CAAC,CAAA;GAC3B,CAAA;AAED,EAAA,OACE5B,cAAA,CAAA0C,aAAA,CAACC,aAAe,EAAA,IAAA,EACb,CAACxC,YAAY,GACZH,cAAA,CAAA0C,aAAA,CAACC,iBAAmB,EAAA;AAClBvC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,aAAa,EAAEA,aAAc;AAC7BE,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,SAAS,EAAEA,SAAU;AACrBE,IAAAA,KAAK,EAAEA,KAAAA;AAAM,GAAA,EAEbR,cAAA,CAAA0C,aAAA,CAACC,mBAAqB,EAAA;AACpBtC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,KAAK,EAAEA,KAAAA;GAEPR,EAAAA,cAAA,CAAA0C,aAAA,CAACC,QAAQ,EAAAC,QAAA,CAAA;AACPC,IAAAA,GAAG,EAAE1B,YAAa;AAClB2B,IAAAA,OAAO,EAAE5C,aAAc;AACvBe,IAAAA,MAAM,EAAEA,MAAO;AACfd,IAAAA,YAAY,EAAEA,YAAa;AAC3BE,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,KAAK,EAAEA,KAAM;AACbE,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,QAAQ,EAAEA,QAAS;AACnBE,IAAAA,SAAS,EAAEA,SAAU;AACrB,IAAA,WAAA,EAAWF,QAAS;AACpBK,IAAAA,KAAK,EAAEA,KAAAA;GACHE,EAAAA,KAAK,GAETlB,cAAA,CAAA0C,aAAA,CAACC,aAAe,EAAA;AAACI,IAAAA,QAAQ,EAAE3B,YAAa;AAACV,IAAAA,IAAI,EAAEA,IAAAA;GAC5CD,EAAAA,IAAI,EACJK,QACc,CAAC,EAClBd,cAAA,CAAA0C,aAAA,CAACC,gBAAkB,EAAA;AACjBI,IAAAA,QAAQ,EAAE3B,YAAa;AACvB4B,IAAAA,KAAK,EAAE;AACLC,MAAAA,OAAO,EAAE7B,YAAY,GAAG,CAAC,GAAG,CAAA;AAC9B,KAAA;AAAE,GAAA,EAEFpB,cAAA,CAAA0C,aAAA,CAACC,mBAAqB,EAAA;AAACO,IAAAA,OAAO,EAAC,aAAA;AAAa,GAAA,EAC1ClD,cAAA,CAAA0C,aAAA,CAACC,yBAA2B,EAAA;AAC1BQ,IAAAA,EAAE,EAAC,IAAI;AACPC,IAAAA,EAAE,EAAC,IAAI;AACPC,IAAAA,CAAC,EAAC,IAAI;AACNC,IAAAA,IAAI,EAAC,MAAM;AACXC,IAAAA,WAAW,EAAC,GAAG;AACfC,IAAAA,MAAM,EAAC,cAAc;AACrBR,IAAAA,KAAK,EAAE;MACLS,gBAAgB,EAAE,GAAGlC,WAAW,CAAA,EAAA,CAAA;AAClC,KAAA;AAAE,GACH,CACoB,CACL,CACZ,CACW,CAAC,EACvB,CAACnB,cAAc,IAAIC,aAAa,KAC/BL,cAAA,CAAA0C,aAAA,CAACC,uBAAyB,EAAA;AACxBtC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,EAEnBP,cAAA,CAAA0C,aAAA,CAACgB,OAAO,EAAA;IACNC,OAAO,EAAE3D,cAAA,CAAA0C,aAAA,CAACkB,WAAW,EAAA,IAAA,EAAEvD,aAA2B,CAAE;AACpDwD,IAAAA,SAAS,EAAE,YAAa;AACxBC,IAAAA,KAAK,EAAE,KAAM;AACbC,IAAAA,WAAW,EAAE,IAAK;AAClBC,IAAAA,MAAM,EAAEvB,mBAAAA;AAAoB,GAAA,EAE5BzC,cAAA,CAAA0C,aAAA,CAACC,QAAQ,EAAA;AACPE,IAAAA,GAAG,EAAE1B,YAAa;AAClBhB,IAAAA,YAAY,EAAEA,YAAa;AAC3BY,IAAAA,eAAe,EAAEA,eAAgB;AACjCV,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBU,IAAAA,MAAM,EAAEA,MAAO;AACfT,IAAAA,KAAK,EAAEA,KAAM;AACbE,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,QAAQ,EAAEA,QAAS;AACnBmC,IAAAA,OAAO,EAAEN,yBAA0B;AACnC3B,IAAAA,SAAS,EAAEc,gBAAgB,GAAG,oBAAoB,GAAG,EAAG;AACxDX,IAAAA,KAAK,EAAEA,KAAAA;GAEPhB,EAAAA,cAAA,CAAA0C,aAAA,CAACuB,aAAY,EAAE,IAAA,CACP,CACH,CACgB,CAEV,CAAC,GAEtBjE,cAAA,CAAA0C,aAAA,CAAA1C,cAAA,CAAAkE,QAAA,EAAA,IAAA,EACElE,cAAA,CAAA0C,aAAA,CAACC,yBAA2B,EAAA;AAC1BtC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBM,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAErBb,cAAA,CAAA0C,aAAA,CAACC,uBAAyB,EAAA;AAACxC,IAAAA,YAAY,EAAEA,YAAAA;AAAa,GAAA,EACpDH,cAAA,CAAA0C,aAAA,CAACgB,OAAO,EAAA;IACNC,OAAO,EAAE3D,cAAA,CAAA0C,aAAA,CAACkB,WAAW,EAAA,IAAA,EAAEvD,aAA2B,CAAE;AACpDwD,IAAAA,SAAS,EAAE,YAAa;AACxBC,IAAAA,KAAK,EAAE,KAAM;AACbC,IAAAA,WAAW,EAAE,IAAK;AAClBC,IAAAA,MAAM,EAAEvB,mBAAAA;AAAoB,GAAA,EAE5BzC,cAAA,CAAA0C,aAAA,CAACC,QAAQ,EAAA;AACPE,IAAAA,GAAG,EAAE1B,YAAa;AAClBhB,IAAAA,YAAY,EAAEA,YAAa;AAC3BY,IAAAA,eAAe,EAAEA,eAAgB;AACjCV,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBU,IAAAA,MAAM,EAAEA,MAAO;AACfT,IAAAA,KAAK,EAAEA,KAAM;AACbE,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,QAAQ,EAAEA,QAAS;AACnBmC,IAAAA,OAAO,EAAEN,yBAA0B;AACnC3B,IAAAA,SAAS,EAAEc,gBAAgB,GAAG,oBAAoB,GAAG,EAAG;AACxDX,IAAAA,KAAK,EAAEA,KAAAA;AAAM,GAAA,EAEbhB,cAAA,CAAA0C,aAAA,CAACC,aAAe,EAAA;AAACI,IAAAA,QAAQ,EAAE3B,YAAa;AAACV,IAAAA,IAAI,EAAEA,IAAK;AAACP,IAAAA,YAAY,EAAEA,YAAAA;AAAa,GAAA,EAC7EM,IAAI,EACJK,QACc,CAAC,EAClBd,cAAA,CAAA0C,aAAA,CAACuB,aAAY,MAAE,CACP,CACH,CACgB,CACA,CAC7B,CAEW,CAAC,CAAA;AAEtB,CAAC,EAAC;AAEFlE,MAAM,CAACoE,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;EAIjBpE,aAAa,EAAEqE,SAAS,CAACC,IAAI;EAM7BrE,YAAY,EAAEoE,SAAS,CAACE,IAAI;EAK5BrE,cAAc,EAAEmE,SAAS,CAACE,IAAI;EAK9BpE,aAAa,EAAEkE,SAAS,CAACG,IAAI;EAK7BpE,SAAS,EAAEiE,SAAS,CAACE,IAAI;EAKzBlE,QAAQ,EAAEgE,SAAS,CAACE,IAAI;EAKxBxD,MAAM,EAAEsD,SAAS,CAACI,MAAM;EAKxBnE,KAAK,EAAE+D,SAAS,CAACE,IAAI;EAKrBhE,IAAI,EAAE8D,SAAS,CAACK,OAAO;AAKvBlE,EAAAA,IAAI,EAAE6D,SAAS,CAACM,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;EAK9DlE,QAAQ,EAAE4D,SAAS,CAACE,IAAI;EAKxB7D,OAAO,EAAE2D,SAAS,CAACE,IAAI;EAKvB5D,SAAS,EAAE0D,SAAS,CAACO,MAAM;AAK3BhE,EAAAA,QAAQ,EAAEyD,SAAS,CAACQ,GAAG,CAACC,UAAU;EAIlCjE,eAAe,EAAEwD,SAAS,CAACI,MAAM;EAKjC3D,KAAK,EAAEuD,SAAS,CAACI,MAAAA;AACnB,CAAC,GAAA,EAAA;;;;"}
@@ -1,12 +1,7 @@
1
- import { _ as _extends } from './_rollupPluginBabelHelpers-c245b26a.js';
2
- import React__default, { useState, useRef, useEffect } from 'react';
3
- import { a as applyDefaultTheme, P as PropTypes } from './defaultTheme-1bcc2541.js';
4
1
  import styled, { css } from 'styled-components';
5
- import { P as Popover } from './Popover-20050b91.js';
6
- import { C as ContextMenu } from './ContextMenu-0f7134e4.js';
7
- import { S as SvgExpandMore } from './expand-more-c5523c46.js';
2
+ import { applyDefaultTheme } from '../../utils/defaultTheme.js';
8
3
 
9
- const Button$1 = styled.button.attrs(applyDefaultTheme)`
4
+ const Button = styled.button.attrs(applyDefaultTheme)`
10
5
  position: relative;
11
6
  border-radius: 3px;
12
7
  font-family: inherit;
@@ -261,182 +256,5 @@ const DropdownButtonContainer = styled.div.attrs(applyDefaultTheme)`
261
256
  }
262
257
  `;
263
258
 
264
- const Button = React__default.forwardRef(function Button({
265
- onClickEffect,
266
- singleAction = false,
267
- activeDropdown = false,
268
- dropdownItems,
269
- secondary,
270
- outlined,
271
- block = false,
272
- icon,
273
- size = 'normal',
274
- disabled,
275
- loading,
276
- className,
277
- children,
278
- singleActionGap = 34,
279
- width,
280
- border = 2,
281
- ...props
282
- }, forwardedRef) {
283
- const [loadingState, setLoadingState] = useState(loading || false);
284
- const [loadingStep, setLoadingStep] = useState(113);
285
- const loadingInterval = useRef(0);
286
- const [dropdownIsActive, setDropdownIsActive] = useState(false);
287
- const enableLoading = () => {
288
- loadingInterval.current = setInterval(() => {
289
- setLoadingStep(currentLoadingStep => {
290
- const newLoadingStep = Math.round(currentLoadingStep - 15 * currentLoadingStep / 100);
291
- if (newLoadingStep === currentLoadingStep) {
292
- clearInterval(loadingInterval.current);
293
- }
294
- return newLoadingStep;
295
- });
296
- }, 300);
297
- setLoadingState(true);
298
- };
299
- const disableLoading = () => {
300
- clearInterval(loadingInterval.current);
301
- setLoadingStep(0);
302
- setTimeout(() => {
303
- setLoadingState(false);
304
- setLoadingStep(113);
305
- }, 500);
306
- };
307
- useEffect(() => {
308
- if (loading) {
309
- enableLoading();
310
- } else {
311
- disableLoading();
312
- }
313
- return () => clearInterval(loadingInterval.current);
314
- }, [loading]);
315
- const handleDropdownButtonClick = () => {
316
- setDropdownIsActive(true);
317
- };
318
- const handleDropdownClose = () => {
319
- setDropdownIsActive(false);
320
- };
321
- return React__default.createElement(ButtonWrapper, null, !singleAction ? React__default.createElement(MainButtonWrapper, {
322
- activeDropdown: activeDropdown,
323
- dropdownItems: dropdownItems,
324
- outlined: outlined,
325
- secondary: secondary,
326
- block: block
327
- }, React__default.createElement(MainButtonContainer, {
328
- dropdownItems: dropdownItems,
329
- secondary: secondary,
330
- outlined: outlined,
331
- block: block
332
- }, React__default.createElement(Button$1, _extends({
333
- ref: forwardedRef,
334
- onClick: onClickEffect,
335
- border: border,
336
- singleAction: singleAction,
337
- dropdownItems: dropdownItems,
338
- secondary: secondary,
339
- outlined: outlined,
340
- block: block,
341
- size: size,
342
- disabled: disabled,
343
- className: className,
344
- "aria-busy": disabled,
345
- width: width
346
- }, props), React__default.createElement(ButtonContent, {
347
- $loading: loadingState,
348
- size: size
349
- }, icon, children), React__default.createElement(LoadingIndicator, {
350
- $loading: loadingState,
351
- style: {
352
- opacity: loadingState ? 1 : 0
353
- }
354
- }, React__default.createElement(LoadingIndicatorSvg, {
355
- viewBox: "22 22 44 44"
356
- }, React__default.createElement(LoadingIndicatorSvgCircle, {
357
- cx: "44",
358
- cy: "44",
359
- r: "18",
360
- fill: "none",
361
- strokeWidth: "4",
362
- stroke: "currentColor",
363
- style: {
364
- strokeDashoffset: `${loadingStep}px`
365
- }
366
- }))))), (activeDropdown || dropdownItems) && React__default.createElement(DropdownButtonContainer, {
367
- dropdownItems: dropdownItems,
368
- secondary: secondary,
369
- outlined: outlined
370
- }, React__default.createElement(Popover, {
371
- content: React__default.createElement(ContextMenu, null, dropdownItems),
372
- placement: 'bottom-end',
373
- arrow: false,
374
- contextMenu: true,
375
- onHide: handleDropdownClose
376
- }, React__default.createElement(Button$1, {
377
- ref: forwardedRef,
378
- singleAction: singleAction,
379
- singleActionGap: singleActionGap,
380
- dropdownItems: dropdownItems,
381
- secondary: secondary,
382
- outlined: outlined,
383
- border: border,
384
- block: block,
385
- size: size,
386
- disabled: disabled,
387
- onClick: handleDropdownButtonClick,
388
- className: dropdownIsActive ? 'dropdown-is-active' : '',
389
- width: width
390
- }, React__default.createElement(SvgExpandMore, null))))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(MainButtonContainerSingle, {
391
- dropdownItems: dropdownItems,
392
- secondary: secondary,
393
- outlined: outlined,
394
- className: className
395
- }, React__default.createElement(DropdownButtonContainer, {
396
- singleAction: singleAction
397
- }, React__default.createElement(Popover, {
398
- content: React__default.createElement(ContextMenu, null, dropdownItems),
399
- placement: 'bottom-end',
400
- arrow: false,
401
- contextMenu: true,
402
- onHide: handleDropdownClose
403
- }, React__default.createElement(Button$1, {
404
- ref: forwardedRef,
405
- singleAction: singleAction,
406
- singleActionGap: singleActionGap,
407
- dropdownItems: dropdownItems,
408
- secondary: secondary,
409
- outlined: outlined,
410
- border: border,
411
- block: block,
412
- size: size,
413
- disabled: disabled,
414
- onClick: handleDropdownButtonClick,
415
- className: dropdownIsActive ? 'dropdown-is-active' : '',
416
- width: width
417
- }, React__default.createElement(ButtonContent, {
418
- $loading: loadingState,
419
- size: size,
420
- singleAction: singleAction
421
- }, icon, children), React__default.createElement(SvgExpandMore, null)))))));
422
- });
423
- Button.propTypes = process.env.NODE_ENV !== "production" ? {
424
- onClickEffect: PropTypes.func,
425
- singleAction: PropTypes.bool,
426
- activeDropdown: PropTypes.bool,
427
- dropdownItems: PropTypes.node,
428
- secondary: PropTypes.bool,
429
- outlined: PropTypes.bool,
430
- border: PropTypes.number,
431
- block: PropTypes.bool,
432
- icon: PropTypes.element,
433
- size: PropTypes.oneOf(['x-small', 'small', 'normal', 'large']),
434
- disabled: PropTypes.bool,
435
- loading: PropTypes.bool,
436
- className: PropTypes.string,
437
- children: PropTypes.any.isRequired,
438
- singleActionGap: PropTypes.number,
439
- width: PropTypes.number
440
- } : {};
441
-
442
- export { Button as B };
259
+ export { Button, ButtonContent, ButtonWrapper, DropdownButtonContainer, LoadingIndicator, LoadingIndicatorSvg, LoadingIndicatorSvgCircle, MainButtonContainer, MainButtonContainerSingle, MainButtonWrapper };
260
+ //# sourceMappingURL=Button.styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.styled.js","sources":["../../../src/components/inputs/Button/Button.styled.js"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\nexport const Button = styled.button.attrs(applyDefaultTheme)`\n position: relative;\n border-radius: 3px;\n font-family: inherit;\n font-size: 0.875rem;\n font-weight: 400;\n padding: 12px 16px;\n cursor: pointer;\n background: ${props => props.theme.getColor('emerald-500')};\n border: ${props => props.border}px solid ${props => props.theme.getColor('emerald-500')};\n transition: all 250ms, opacity 200ms;\n\n &:hover,\n &.dropdown-is-active {\n background: #296c58;\n border-color: #296c58;\n }\n\n ${props =>\n props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('white'))}\n\n && {\n ${props =>\n props.secondary &&\n css`\n background: ${props => props.theme.getColor('gray-200')};\n border-color: ${props => props.theme.getColor('gray-200')};\n\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-700'),\n props.theme.getColor('gray-700')\n )}\n\n &:hover,\n &.dropdown-is-active {\n background: ${props => props.theme.getColor('gray-300')};\n border-color: ${props => props.theme.getColor('gray-300')};\n }\n `};\n }\n\n && {\n ${props =>\n props.outlined &&\n css`\n background: transparent;\n transition: none;\n\n ${props.theme.themeProp(\n 'border-color',\n props.theme.getColor('emerald-400'),\n props.theme.getColor('emerald-500')\n )}\n\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('emerald-400'),\n props.theme.getColor('emerald-500')\n )}\n\n &:hover,\n &.dropdown-is-active {\n background-color: #296c58;\n\n ${props.theme.themeProp(\n 'border-color',\n props.theme.getColor('emerald-600'),\n props.theme.getColor('emerald-600')\n )}\n\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-200'),\n props.theme.getColor('gray-200')\n )}\n }\n `};\n }\n\n && {\n ${props =>\n props.outlined &&\n props.secondary &&\n css`\n ${props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-400'),\n props.theme.getColor('gray-700')\n )}\n\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-200'),\n props.theme.getColor('gray-700')\n )}\n\n &:hover,\n &.dropdown-is-active {\n background: ${props.theme.getColor('gray-300')};\n\n ${props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-300'),\n props.theme.getColor('gray-300')\n )}\n\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-700'),\n props.theme.getColor('gray-700')\n )}\n }\n `};\n }\n\n && {\n ${props =>\n props.outlined &&\n props.secondary &&\n props.dropdownItems &&\n css`\n &:hover,\n &.dropdown-is-active {\n ${props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-300'),\n props.theme.getColor('gray-300')\n )}\n }\n `};\n }\n\n ${props =>\n props.block &&\n css`\n width: 100%;\n `};\n\n ${props =>\n props.disabled &&\n css`\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n `};\n\n ${props =>\n props.size === 'x-small' &&\n css`\n padding: 1px 16px;\n height: 24px;\n `};\n\n ${props =>\n props.size === 'small' &&\n css`\n padding: 6px 16px;\n `};\n\n ${props =>\n props.size === 'large' &&\n css`\n padding: 16px 16px;\n `};\n\n ${props =>\n props.singleAction &&\n css`\n display: flex;\n align-items: center;\n gap: ${props.singleActionGap}px;\n border-radius: 3px !important;\n transition: all 250ms, opacity 200ms;\n `};\n\n ${props =>\n props.width &&\n css`\n min-width: ${props.width}px;\n justify-content: center;\n `};\n`;\n\nexport const ButtonContent = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n justify-content: center;\n align-items: center;\n transform: scale(1);\n opacity: 1;\n transition: all 200ms;\n\n > svg {\n width: 100%;\n max-width: 16px;\n max-height: 16px;\n margin-right: 8px;\n\n ${props =>\n props.size === 'small' &&\n css`\n max-width: 13px;\n max-height: 13px;\n `};\n\n ${props =>\n props.size === 'x-small' &&\n css`\n max-width: 11px;\n max-height: 11px;\n `};\n }\n\n ${props =>\n props.$loading &&\n css`\n transform: scale(0.95);\n opacity: 0;\n `}\n\n ${props =>\n props.singleAction &&\n css`\n svg {\n width: 100% !important;\n height: 100% !important;\n margin-right: 24px;\n }\n `};\n`;\n\nexport const LoadingIndicator = styled.div.attrs(applyDefaultTheme)`\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n padding: 4px;\n background: inherit;\n opacity: 0;\n transition: opacity 200ms;\n box-sizing: border-box;\n\n ${props =>\n props.$loading &&\n css`\n opacity: 1;\n `}\n`;\n\nexport const LoadingIndicatorSvg = styled.svg.attrs(applyDefaultTheme)`\n height: 100%;\n color: inherit;\n transform: rotate(-88deg);\n`;\n\nexport const LoadingIndicatorSvgCircle = styled.circle.attrs(applyDefaultTheme)`\n transition: stroke-dashoffset 300ms linear;\n stroke-dasharray: 113;\n`;\n\nexport const ButtonWrapper = styled.span.attrs(applyDefaultTheme)`\n white-space: nowrap;\n display: flex;\n ${props =>\n props.block &&\n css`\n width: 100%;\n `}\n`;\n\nexport const MainButtonWrapper = styled.div.attrs(applyDefaultTheme)`\n border-radius: 3px;\n ${props =>\n props.block &&\n css`\n width: 100%;\n display: flex;\n `}\n\n ${props => {\n return (\n (props.activeDropdown || props.dropdownItems) &&\n !props.outlined &&\n css`\n background: ${props.secondary\n ? props.theme.getColor('gray-200')\n : props.theme.getColor('emerald-500')};\n `\n );\n }};\n`;\n\nexport const MainButtonContainer = styled.div.attrs(applyDefaultTheme)`\n display: inline-block;\n\n ${props =>\n props.block &&\n css`\n flex: 1;\n width: 100%;\n `}\n\n button {\n ${props =>\n (props.activeDropdown || props.dropdownItems) &&\n css`\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n `};\n\n ${props =>\n (props.activeDropdown || props.dropdownItems) &&\n props.outlined &&\n css`\n border-right: none;\n `};\n }\n`;\n\nexport const MainButtonContainerSingle = styled.div.attrs(applyDefaultTheme)`\n display: inline-block;\n width: 100%;\n ${props =>\n props.singleAction &&\n css`\n display: flex;\n align-items: center;\n border-radius: 3px !important;\n transition: all 250ms, opacity 200ms;\n `};\n\n button {\n ${props =>\n (props.activeDropdown || props.dropdownItems) &&\n css`\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n `};\n }\n`;\n\nexport const DropdownButtonContainer = styled.div.attrs(applyDefaultTheme)`\n display: inline-block;\n\n button {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n\n ${props => !props.singleAction && 'border-left: none'};\n }\n\n svg {\n color: inherit;\n height: 7px;\n width: 12px;\n\n ${props => !props.singleAction && 'margin-bottom: 1px'};\n }\n`;\n"],"names":["Button","styled","button","attrs","applyDefaultTheme","props","theme","getColor","border","themeProp","secondary","css","outlined","dropdownItems","block","disabled","size","singleAction","singleActionGap","width","ButtonContent","div","$loading","LoadingIndicator","LoadingIndicatorSvg","svg","LoadingIndicatorSvgCircle","circle","ButtonWrapper","span","MainButtonWrapper","activeDropdown","MainButtonContainer","MainButtonContainerSingle","DropdownButtonContainer"],"mappings":";;;AAGO,MAAMA,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAgBC,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC5D,UAAA,EAAYF,KAAK,IAAIA,KAAK,CAACG,MAAM,CAAYH,SAAAA,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,CAAA;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAIF,EAAAA,KAAK,IACLA,KAAK,CAACC,KAAK,CAACG,SAAS,CAAC,OAAO,EAAEJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAEF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;AAChG;AACA;AACA,IAAA,EAAMF,KAAK,IACLA,KAAK,CAACK,SAAS,IACfC,GAAG,CAAA;AACT,oBAAsBN,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAA;AAC/D,sBAAwBF,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACjE;AACA,QAAUF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,OAAO,EACPJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACT;AACA;AACA;AACA,sBAAwBF,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACjE,wBAA0BF,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACnE;AACA,MAAO,CAAA,CAAA;AACP;AACA;AACA;AACA,IAAA,EAAMF,KAAK,IACLA,KAAK,CAACO,QAAQ,IACdD,GAAG,CAAA;AACT;AACA;AACA;AACA,QAAUN,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,cAAc,EACdJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,EACnCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CACpC,CAAC,CAAA;AACT;AACA,QAAUF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,OAAO,EACPJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,EACnCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CACpC,CAAC,CAAA;AACT;AACA;AACA;AACA;AACA;AACA,UAAYF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,cAAc,EACdJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,EACnCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CACpC,CAAC,CAAA;AACX;AACA,UAAYF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,OAAO,EACPJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACX;AACA,MAAO,CAAA,CAAA;AACP;AACA;AACA;AACA,IAAMF,EAAAA,KAAK,IACLA,KAAK,CAACO,QAAQ,IACdP,KAAK,CAACK,SAAS,IACfC,GAAG,CAAA;AACT,QAAUN,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,cAAc,EACdJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACT;AACA,QAAUF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,OAAO,EACPJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACT;AACA;AACA;AACA,sBAAA,EAAwBF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACxD;AACA,UAAYF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,cAAc,EACdJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACX;AACA,UAAYF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,OAAO,EACPJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACX;AACA,MAAO,CAAA,CAAA;AACP;AACA;AACA;AACA,IAAA,EAAMF,KAAK,IACLA,KAAK,CAACO,QAAQ,IACdP,KAAK,CAACK,SAAS,IACfL,KAAK,CAACQ,aAAa,IACnBF,GAAG,CAAA;AACT;AACA;AACA,UAAYN,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,cAAc,EACdJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACX;AACA,MAAO,CAAA,CAAA;AACP;AACA;AACA,EAAA,EAAIF,KAAK,IACLA,KAAK,CAACS,KAAK,IACXH,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIN,KAAK,IACLA,KAAK,CAACU,QAAQ,IACdJ,GAAG,CAAA;AACP;AACA;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAIN,EAAAA,KAAK,IACLA,KAAK,CAACW,IAAI,KAAK,SAAS,IACxBL,GAAG,CAAA;AACP;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAIN,EAAAA,KAAK,IACLA,KAAK,CAACW,IAAI,KAAK,OAAO,IACtBL,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAIN,EAAAA,KAAK,IACLA,KAAK,CAACW,IAAI,KAAK,OAAO,IACtBL,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIN,KAAK,IACLA,KAAK,CAACY,YAAY,IAClBN,GAAG,CAAA;AACP;AACA;AACA,WAAaN,EAAAA,KAAK,CAACa,eAAe,CAAA;AAClC;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIb,KAAK,IACLA,KAAK,CAACc,KAAK,IACXR,GAAG,CAAA;AACP,iBAAmBN,EAAAA,KAAK,CAACc,KAAK,CAAA;AAC9B;AACA,IAAK,CAAA,CAAA;AACL,EAAC;AAEM,MAAMC,aAAa,GAAGnB,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,EAAAA,KAAK,IACLA,KAAK,CAACW,IAAI,KAAK,OAAO,IACtBL,GAAG,CAAA;AACT;AACA;AACA,MAAO,CAAA,CAAA;AACP;AACA,IAAMN,EAAAA,KAAK,IACLA,KAAK,CAACW,IAAI,KAAK,SAAS,IACxBL,GAAG,CAAA;AACT;AACA;AACA,MAAO,CAAA,CAAA;AACP;AACA;AACA,EAAA,EAAIN,KAAK,IACLA,KAAK,CAACiB,QAAQ,IACdX,GAAG,CAAA;AACP;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIN,KAAK,IACLA,KAAK,CAACY,YAAY,IAClBN,GAAG,CAAA;AACP;AACA;AACA;AACA;AACA;AACA,IAAK,CAAA,CAAA;AACL,EAAC;AAEM,MAAMY,gBAAgB,GAAGtB,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIC,KAAK,IACLA,KAAK,CAACiB,QAAQ,IACdX,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL,EAAC;AAEM,MAAMa,mBAAmB,GAAGvB,MAAM,CAACwB,GAAG,CAACtB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACtE;AACA;AACA;AACA,EAAC;AAEM,MAAMsB,yBAAyB,GAAGzB,MAAM,CAAC0B,MAAM,CAACxB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC/E;AACA;AACA,EAAC;AAEM,MAAMwB,aAAa,GAAG3B,MAAM,CAAC4B,IAAI,CAAC1B,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACjE;AACA;AACA,EAAA,EAAIC,KAAK,IACLA,KAAK,CAACS,KAAK,IACXH,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL,EAAC;AAEM,MAAMmB,iBAAiB,GAAG7B,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACpE;AACA,EAAA,EAAIC,KAAK,IACLA,KAAK,CAACS,KAAK,IACXH,GAAG,CAAA;AACP;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIN,KAAK,IAAI;AACT,EAAA,OACE,CAACA,KAAK,CAAC0B,cAAc,IAAI1B,KAAK,CAACQ,aAAa,KAC5C,CAACR,KAAK,CAACO,QAAQ,IACfD,GAAG,CAAA;AACT,oBAAsBN,EAAAA,KAAK,CAACK,SAAS,GACzBL,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,GAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC/C,MAAO,CAAA,CAAA;AAEL,CAAC,CAAA;AACH,EAAC;AAEM,MAAMyB,mBAAmB,GAAG/B,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACtE;AACA;AACA,EAAA,EAAIC,KAAK,IACLA,KAAK,CAACS,KAAK,IACXH,GAAG,CAAA;AACP;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA;AACA,IAAMN,EAAAA,KAAK,IACL,CAACA,KAAK,CAAC0B,cAAc,IAAI1B,KAAK,CAACQ,aAAa,KAC5CF,GAAG,CAAA;AACT;AACA;AACA,MAAO,CAAA,CAAA;AACP;AACA,IAAA,EAAMN,KAAK,IACL,CAACA,KAAK,CAAC0B,cAAc,IAAI1B,KAAK,CAACQ,aAAa,KAC5CR,KAAK,CAACO,QAAQ,IACdD,GAAG,CAAA;AACT;AACA,MAAO,CAAA,CAAA;AACP;AACA,EAAC;AAEM,MAAMsB,yBAAyB,GAAGhC,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC5E;AACA;AACA,EAAA,EAAIC,KAAK,IACLA,KAAK,CAACY,YAAY,IAClBN,GAAG,CAAA;AACP;AACA;AACA;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA;AACA,IAAMN,EAAAA,KAAK,IACL,CAACA,KAAK,CAAC0B,cAAc,IAAI1B,KAAK,CAACQ,aAAa,KAC5CF,GAAG,CAAA;AACT;AACA;AACA,MAAO,CAAA,CAAA;AACP;AACA,EAAC;AAEM,MAAMuB,uBAAuB,GAAGjC,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMC,KAAK,IAAI,CAACA,KAAK,CAACY,YAAY,IAAI,mBAAmB,CAAA;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMZ,KAAK,IAAI,CAACA,KAAK,CAACY,YAAY,IAAI,oBAAoB,CAAA;AAC1D;AACA;;;;"}
@@ -1,13 +1,2 @@
1
- export { B as default } from '../../Button-73eb8516.js';
2
- import '../../_rollupPluginBabelHelpers-c245b26a.js';
3
- import 'react';
4
- import '../../defaultTheme-1bcc2541.js';
5
- import 'styled-components';
6
- import '../../Popover-20050b91.js';
7
- import 'lodash';
8
- import 'polished';
9
- import '@tippyjs/react';
10
- import '../../shift-away-subtle-0dd94a03.js';
11
- import 'popper-max-size-modifier';
12
- import '../../ContextMenu-0f7134e4.js';
13
- import '../../expand-more-c5523c46.js';
1
+ export { default } from './Button.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,97 @@
1
+ import React__default, { useState, useMemo } from 'react';
2
+ import { nanoid } from 'nanoid';
3
+ import PropTypes from 'prop-types';
4
+ import { isBoolean, isEmpty } from 'lodash';
5
+ import { Checkbox as Checkbox$1, CheckboxLabel, IndeterminateCheckIcon, CheckIcon, CheckboxVisualLabel, Description } from './Checkbox.styled.js';
6
+
7
+ const Checkbox = React__default.forwardRef(function Checkbox({
8
+ checked,
9
+ defaultChecked,
10
+ disabled,
11
+ readOnly,
12
+ name,
13
+ value,
14
+ description,
15
+ error,
16
+ indeterminate,
17
+ muted,
18
+ label,
19
+ onChange,
20
+ onBlur,
21
+ className,
22
+ style
23
+ }, forwardedRef) {
24
+ const [uniqueId] = useState(nanoid());
25
+ const hasError = useMemo(() => {
26
+ if (isBoolean(error)) {
27
+ return error;
28
+ }
29
+ return !isEmpty(error);
30
+ }, [error]);
31
+ const descriptionText = useMemo(() => {
32
+ if (!isEmpty(error)) {
33
+ return error;
34
+ }
35
+ if (!isEmpty(description)) {
36
+ return description;
37
+ }
38
+ return null;
39
+ }, [description, error]);
40
+ return React__default.createElement(Checkbox$1, {
41
+ className: className,
42
+ disabled: disabled,
43
+ readOnly: readOnly,
44
+ style: style
45
+ }, React__default.createElement(CheckboxLabel, {
46
+ disabled: disabled,
47
+ muted: muted,
48
+ readOnly: readOnly,
49
+ htmlFor: uniqueId
50
+ }, React__default.createElement("input", {
51
+ ref: forwardedRef,
52
+ id: uniqueId,
53
+ checked: checked,
54
+ defaultChecked: defaultChecked,
55
+ disabled: disabled,
56
+ readOnly: readOnly,
57
+ value: value,
58
+ name: name,
59
+ type: "checkbox",
60
+ onChange: onChange,
61
+ onBlur: onBlur,
62
+ "data-indeterminate": indeterminate
63
+ }), React__default.createElement(IndeterminateCheckIcon, null), React__default.createElement(CheckIcon, null, React__default.createElement("svg", {
64
+ xmlns: "http://www.w3.org/2000/svg",
65
+ viewBox: "0 0 10.9 8.45"
66
+ }, React__default.createElement("path", {
67
+ d: "m3.68,8.45L0,4.75l1.21-1.21,2.47,2.45L9.7,0l1.21,1.23-7.22,7.22Z",
68
+ fill: "currentColor"
69
+ }))), (typeof label === 'string' && label.length > 0 || typeof label === 'object') && React__default.createElement(CheckboxVisualLabel, null, label)), typeof descriptionText === 'string' && descriptionText.length > 0 && React__default.createElement(Description, {
70
+ error: hasError
71
+ }, descriptionText));
72
+ });
73
+ Checkbox.propTypes = process.env.NODE_ENV !== "production" ? {
74
+ checked: PropTypes.bool,
75
+ defaultChecked: PropTypes.bool,
76
+ label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
77
+ disabled: PropTypes.bool,
78
+ readOnly: PropTypes.bool,
79
+ name: PropTypes.string,
80
+ value: PropTypes.string,
81
+ description: PropTypes.string,
82
+ error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
83
+ indeterminate: PropTypes.bool,
84
+ muted: PropTypes.bool,
85
+ onChange: PropTypes.func,
86
+ onBlur: PropTypes.func,
87
+ className: PropTypes.string,
88
+ style: PropTypes.object
89
+ } : {};
90
+ Checkbox.defaultProps = {
91
+ disabled: false,
92
+ readOnly: false,
93
+ indeterminate: false
94
+ };
95
+
96
+ export { Checkbox as default };
97
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../src/components/inputs/Checkbox/Checkbox.js"],"sourcesContent":["import React, { useMemo, useState } from 'react';\n\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\n\nimport { isBoolean, isEmpty } from 'lodash';\nimport * as S from './Checkbox.styled';\n\n/**\n * Checkboxes allow the user to select one or more items from a set.\n *\n * If you have a single option, avoid using a checkbox and use an on/off switch (`Switch` component) instead.\n *\n *\n * ### Import\n *\n * ``` js\n * import { Checkbox } from '@ntbjs/react-components/inputs'\n * // or\n * import Checkbox from '@ntbjs/react-components/inputs/Checkbox'\n * ```\n */\nconst Checkbox = React.forwardRef(function Checkbox(\n {\n checked,\n defaultChecked,\n disabled,\n readOnly,\n name,\n value,\n description,\n error,\n indeterminate,\n muted,\n label,\n onChange,\n onBlur,\n className,\n style\n },\n forwardedRef\n) {\n const [uniqueId] = useState(nanoid());\n\n const hasError = useMemo(() => {\n if (isBoolean(error)) {\n return error;\n }\n\n return !isEmpty(error);\n }, [error]);\n\n const descriptionText = useMemo(() => {\n if (!isEmpty(error)) {\n return error;\n }\n\n if (!isEmpty(description)) {\n return description;\n }\n\n return null;\n }, [description, error]);\n\n return (\n <S.Checkbox className={className} disabled={disabled} readOnly={readOnly} style={style}>\n <S.CheckboxLabel disabled={disabled} muted={muted} readOnly={readOnly} htmlFor={uniqueId}>\n <input\n ref={forwardedRef}\n id={uniqueId}\n checked={checked}\n defaultChecked={defaultChecked}\n disabled={disabled}\n readOnly={readOnly}\n value={value}\n name={name}\n type=\"checkbox\"\n onChange={onChange}\n onBlur={onBlur}\n data-indeterminate={indeterminate}\n />\n\n <S.IndeterminateCheckIcon />\n <S.CheckIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10.9 8.45\">\n <path\n d=\"m3.68,8.45L0,4.75l1.21-1.21,2.47,2.45L9.7,0l1.21,1.23-7.22,7.22Z\"\n fill=\"currentColor\"\n />\n </svg>\n </S.CheckIcon>\n {((typeof label === 'string' && label.length > 0) || typeof label === 'object') && (\n <S.CheckboxVisualLabel>{label}</S.CheckboxVisualLabel>\n )}\n </S.CheckboxLabel>\n {typeof descriptionText === 'string' && descriptionText.length > 0 && (\n <S.Description error={hasError}>{descriptionText}</S.Description>\n )}\n </S.Checkbox>\n );\n});\n\nCheckbox.propTypes = {\n /**\n * Whether the checkbox is checked\n */\n checked: PropTypes.bool,\n\n /**\n * Whether the checkbox should be checked or unchecked by default\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * The checkbox' label\n */\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\n /**\n * Whether the checkbox is disabled\n */\n disabled: PropTypes.bool,\n\n /**\n * Whether the checkbox is read-only\n */\n readOnly: PropTypes.bool,\n\n /**\n * The checkbox' name\n */\n name: PropTypes.string,\n\n /**\n * The checkbox' value\n */\n value: PropTypes.string,\n\n /**\n * Description of the checkbox\n */\n description: PropTypes.string,\n\n /**\n * Whether there's an error. Error message can be passed as a `string` to be displayed below the checkbox.\n */\n error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n\n /**\n * Whether the checkbox is indeterminate. This will display a dash in the checkbox instead of the default checkmark.\n */\n indeterminate: PropTypes.bool,\n\n /**\n * Mutes the color of the visual checkbox – Does not mute the label or other parts of the Checkbox\n */\n muted: PropTypes.bool,\n\n /**\n * On-change effect\n */\n onChange: PropTypes.func,\n\n /**\n * On-blur effect\n */\n onBlur: PropTypes.func,\n\n /**\n * Optional class name for the HTML element\n */\n className: PropTypes.string,\n\n /**\n * Optional in-line styling for the HTML element\n */\n style: PropTypes.object\n};\n\nCheckbox.defaultProps = {\n disabled: false,\n readOnly: false,\n indeterminate: false\n};\n\nexport default Checkbox;\n"],"names":["Checkbox","React","forwardRef","checked","defaultChecked","disabled","readOnly","name","value","description","error","indeterminate","muted","label","onChange","onBlur","className","style","forwardedRef","uniqueId","useState","nanoid","hasError","useMemo","isBoolean","isEmpty","descriptionText","createElement","S","htmlFor","ref","id","type","xmlns","viewBox","d","fill","length","propTypes","process","env","NODE_ENV","PropTypes","bool","oneOfType","string","element","func","object","defaultProps"],"mappings":"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"}