@ntbjs/react-components 2.0.14 → 3.0.0-rc.1

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 (343) hide show
  1. package/build/data/Alert/Alert.js +18 -33
  2. package/build/data/Alert/Alert.js.map +1 -1
  3. package/build/data/Alert/Alert.styled.js +9 -47
  4. package/build/data/Alert/Alert.styled.js.map +1 -1
  5. package/build/data/Badge/Badge.js +36 -61
  6. package/build/data/Badge/Badge.js.map +1 -1
  7. package/build/data/Badge/Badge.styled.js +21 -70
  8. package/build/data/Badge/Badge.styled.js.map +1 -1
  9. package/build/data/Popover/Popover.js +125 -71
  10. package/build/data/Popover/Popover.js.map +1 -1
  11. package/build/data/Popover/Popover.styled.js +10 -140
  12. package/build/data/Popover/Popover.styled.js.map +1 -1
  13. package/build/data/SeverityBadge/SeverityBadge.js +13 -22
  14. package/build/data/SeverityBadge/SeverityBadge.js.map +1 -1
  15. package/build/data/SeverityBadge/index.js +2 -0
  16. package/build/data/SeverityBadge/index.js.map +1 -0
  17. package/build/data/Tab/Tab.js +7 -13
  18. package/build/data/Tab/Tab.js.map +1 -1
  19. package/build/data/Tab/Tab.styled.js +4 -7
  20. package/build/data/Tab/Tab.styled.js.map +1 -1
  21. package/build/data/Tabs/Tabs.js +30 -32
  22. package/build/data/Tabs/Tabs.js.map +1 -1
  23. package/build/data/Tabs/Tabs.styled.js +21 -57
  24. package/build/data/Tabs/Tabs.styled.js.map +1 -1
  25. package/build/data/Tooltip/Tooltip.js +102 -33
  26. package/build/data/Tooltip/Tooltip.js.map +1 -1
  27. package/build/data/Tooltip/Tooltip.styled.js +9 -22
  28. package/build/data/Tooltip/Tooltip.styled.js.map +1 -1
  29. package/build/data/VerificationStatusIcon/VerificationStatusIcon.js +16 -23
  30. package/build/data/VerificationStatusIcon/VerificationStatusIcon.js.map +1 -1
  31. package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js +13 -31
  32. package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js.map +1 -1
  33. package/build/data/VerificationStatusIcon/index.js +2 -0
  34. package/build/data/VerificationStatusIcon/index.js.map +1 -0
  35. package/build/data/_shared/FloatingArrow.styled.js +30 -0
  36. package/build/data/_shared/FloatingArrow.styled.js.map +1 -0
  37. package/build/hooks/useEventListner.js.map +1 -1
  38. package/build/hooks/useFloatingPopover.js +187 -0
  39. package/build/hooks/useFloatingPopover.js.map +1 -0
  40. package/build/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  41. package/build/hooks/useOnClickOutside.js.map +1 -1
  42. package/build/hooks/useTooltipAutoShow.js.map +1 -1
  43. package/build/icons/arrow-back.svg.js +3 -3
  44. package/build/icons/arrow-back.svg.js.map +1 -1
  45. package/build/icons/arrow-forward.svg.js +4 -4
  46. package/build/icons/arrow-forward.svg.js.map +1 -1
  47. package/build/icons/check-rectangle-filled.svg.js +3 -3
  48. package/build/icons/check-rectangle-filled.svg.js.map +1 -1
  49. package/build/icons/close.svg.js +3 -3
  50. package/build/icons/close.svg.js.map +1 -1
  51. package/build/icons/edit-note.svg.js +3 -3
  52. package/build/icons/edit-note.svg.js.map +1 -1
  53. package/build/icons/expand-more.svg.js +3 -3
  54. package/build/icons/expand-more.svg.js.map +1 -1
  55. package/build/icons/headset.svg.js +3 -3
  56. package/build/icons/headset.svg.js.map +1 -1
  57. package/build/icons/layers.svg.js +3 -3
  58. package/build/icons/layers.svg.js.map +1 -1
  59. package/build/icons/link.svg.js +3 -3
  60. package/build/icons/link.svg.js.map +1 -1
  61. package/build/icons/play.svg.js +3 -3
  62. package/build/icons/play.svg.js.map +1 -1
  63. package/build/icons/search.svg.js +3 -3
  64. package/build/icons/search.svg.js.map +1 -1
  65. package/build/icons/star-filled.svg.js +3 -3
  66. package/build/icons/star-filled.svg.js.map +1 -1
  67. package/build/icons/star.svg.js +3 -3
  68. package/build/icons/star.svg.js.map +1 -1
  69. package/build/icons/triangle-right.svg.js +3 -3
  70. package/build/icons/triangle-right.svg.js.map +1 -1
  71. package/build/icons/verification.svg.js +3 -3
  72. package/build/icons/verification.svg.js.map +1 -1
  73. package/build/icons/warning-circle.svg.js +3 -3
  74. package/build/icons/warning-circle.svg.js.map +1 -1
  75. package/build/inputs/ActionButton/ActionButton.js +11 -22
  76. package/build/inputs/ActionButton/ActionButton.js.map +1 -1
  77. package/build/inputs/ActionButton/ActionButton.styled.js +5 -54
  78. package/build/inputs/ActionButton/ActionButton.styled.js.map +1 -1
  79. package/build/inputs/Button/Button.js +125 -121
  80. package/build/inputs/Button/Button.js.map +1 -1
  81. package/build/inputs/Button/Button.styled.js +42 -260
  82. package/build/inputs/Button/Button.styled.js.map +1 -1
  83. package/build/inputs/Checkbox/Checkbox.js +45 -61
  84. package/build/inputs/Checkbox/Checkbox.js.map +1 -1
  85. package/build/inputs/Checkbox/Checkbox.styled.js +24 -153
  86. package/build/inputs/Checkbox/Checkbox.styled.js.map +1 -1
  87. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +106 -111
  88. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js.map +1 -1
  89. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js +88 -273
  90. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js.map +1 -1
  91. package/build/inputs/CompactStarRating/CompactStarRating.js +56 -77
  92. package/build/inputs/CompactStarRating/CompactStarRating.js.map +1 -1
  93. package/build/inputs/CompactStarRating/CompactStarRating.styled.js +32 -211
  94. package/build/inputs/CompactStarRating/CompactStarRating.styled.js.map +1 -1
  95. package/build/inputs/CompactTextInput/CompactTextInput.js +86 -105
  96. package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -1
  97. package/build/inputs/CompactTextInput/CompactTextInput.styled.js +55 -258
  98. package/build/inputs/CompactTextInput/CompactTextInput.styled.js.map +1 -1
  99. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js +70 -77
  100. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js.map +1 -1
  101. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js +28 -60
  102. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js.map +1 -1
  103. package/build/inputs/MultiLevelCheckbox/types.js +12 -12
  104. package/build/inputs/MultiLevelCheckbox/types.js.map +1 -1
  105. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +69 -73
  106. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js.map +1 -1
  107. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js +44 -87
  108. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js.map +1 -1
  109. package/build/inputs/MultiSelect/MultiSelect.js +69 -79
  110. package/build/inputs/MultiSelect/MultiSelect.js.map +1 -1
  111. package/build/inputs/MultiSelect/MultiSelect.styled.js +70 -76
  112. package/build/inputs/MultiSelect/MultiSelect.styled.js.map +1 -1
  113. package/build/inputs/Radio/Radio.js +20 -33
  114. package/build/inputs/Radio/Radio.js.map +1 -1
  115. package/build/inputs/Radio/Radio.styled.js +15 -96
  116. package/build/inputs/Radio/Radio.styled.js.map +1 -1
  117. package/build/inputs/Switch/Switch.js +28 -40
  118. package/build/inputs/Switch/Switch.js.map +1 -1
  119. package/build/inputs/Switch/Switch.styled.js +24 -94
  120. package/build/inputs/Switch/Switch.styled.js.map +1 -1
  121. package/build/inputs/TextArea/TextArea.js +98 -123
  122. package/build/inputs/TextArea/TextArea.js.map +1 -1
  123. package/build/inputs/TextArea/TextArea.styled.js +64 -379
  124. package/build/inputs/TextArea/TextArea.styled.js.map +1 -1
  125. package/build/inputs/TextInput/TextInput.js +59 -79
  126. package/build/inputs/TextInput/TextInput.js.map +1 -1
  127. package/build/inputs/TextInput/TextInput.styled.js +33 -224
  128. package/build/inputs/TextInput/TextInput.styled.js.map +1 -1
  129. package/build/layout/InputGroup/InputGroup.js +6 -9
  130. package/build/layout/InputGroup/InputGroup.js.map +1 -1
  131. package/build/layout/InputGroup/InputGroup.styled.js +4 -3
  132. package/build/layout/InputGroup/InputGroup.styled.js.map +1 -1
  133. package/build/layout/InputGroup/index.js +2 -0
  134. package/build/layout/InputGroup/index.js.map +1 -0
  135. package/build/layout/SectionSeparator/SectionSeparator.js +5 -9
  136. package/build/layout/SectionSeparator/SectionSeparator.js.map +1 -1
  137. package/build/layout/SectionSeparator/SectionSeparator.styled.js +4 -8
  138. package/build/layout/SectionSeparator/SectionSeparator.styled.js.map +1 -1
  139. package/build/styles/utils/colors-export.d.ts +73 -0
  140. package/build/styles/utils/colors-export.js.map +1 -1
  141. package/build/utils/dateTime.js.map +1 -1
  142. package/build/utils/defaultTheme.js +14 -28
  143. package/build/utils/defaultTheme.js.map +1 -1
  144. package/build/utils/getElementRef.js +14 -0
  145. package/build/utils/getElementRef.js.map +1 -0
  146. package/build/utils/parseTrigger.js +16 -0
  147. package/build/utils/parseTrigger.js.map +1 -0
  148. package/build/widgets/AssetAction/AssetAction.js +26 -33
  149. package/build/widgets/AssetAction/AssetAction.js.map +1 -1
  150. package/build/widgets/AssetAction/AssetAction.styled.js +20 -34
  151. package/build/widgets/AssetAction/AssetAction.styled.js.map +1 -1
  152. package/build/widgets/AssetActionsBase/AssetActionsBase.js +8 -13
  153. package/build/widgets/AssetActionsBase/AssetActionsBase.js.map +1 -1
  154. package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js +4 -9
  155. package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js.map +1 -1
  156. package/build/widgets/AssetGallery/AssetGallery.js +15 -40
  157. package/build/widgets/AssetGallery/AssetGallery.js.map +1 -1
  158. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js +55 -70
  159. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js.map +1 -1
  160. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js +12 -24
  161. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js.map +1 -1
  162. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +146 -122
  163. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -1
  164. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +99 -286
  165. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -1
  166. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +170 -125
  167. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -1
  168. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +135 -364
  169. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -1
  170. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +20 -21
  171. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js.map +1 -1
  172. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js +20 -71
  173. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js.map +1 -1
  174. package/build/widgets/ContextMenu/ContextMenu.js +12 -11
  175. package/build/widgets/ContextMenu/ContextMenu.js.map +1 -1
  176. package/build/widgets/ContextMenu/ContextMenu.styled.js +4 -4
  177. package/build/widgets/ContextMenu/ContextMenu.styled.js.map +1 -1
  178. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js +17 -25
  179. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js.map +1 -1
  180. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js +16 -71
  181. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js.map +1 -1
  182. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +7 -11
  183. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js.map +1 -1
  184. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js +4 -11
  185. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js.map +1 -1
  186. package/build/widgets/InfoCard/InfoCard.js +26 -21
  187. package/build/widgets/InfoCard/InfoCard.js.map +1 -1
  188. package/build/widgets/InfoCard/InfoCard.styled.js +36 -84
  189. package/build/widgets/InfoCard/InfoCard.styled.js.map +1 -1
  190. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.js +28 -34
  191. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.js.map +1 -1
  192. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.js +21 -57
  193. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.js.map +1 -1
  194. package/build/widgets/InstructionSeverityDisplay/index.js +2 -0
  195. package/build/widgets/InstructionSeverityDisplay/index.js.map +1 -0
  196. package/build/widgets/Instructions/Instructions.js +53 -95
  197. package/build/widgets/Instructions/Instructions.js.map +1 -1
  198. package/build/widgets/Instructions/Instructions.styled.js +27 -26
  199. package/build/widgets/Instructions/Instructions.styled.js.map +1 -1
  200. package/build/widgets/ProgressBar/ProgressBar.js +39 -37
  201. package/build/widgets/ProgressBar/ProgressBar.js.map +1 -1
  202. package/build/widgets/ProgressBar/ProgressBar.styled.js +56 -125
  203. package/build/widgets/ProgressBar/ProgressBar.styled.js.map +1 -1
  204. package/build/widgets/SummaryCard/SummaryCard.js +55 -64
  205. package/build/widgets/SummaryCard/SummaryCard.js.map +1 -1
  206. package/build/widgets/SummaryCard/SummaryCard.styled.js +51 -106
  207. package/build/widgets/SummaryCard/SummaryCard.styled.js.map +1 -1
  208. package/package.json +77 -36
  209. package/styles/utils/colors-export.d.ts +73 -0
  210. package/types/components/data/Alert/Alert.d.ts +76 -0
  211. package/types/components/data/Alert/Alert.styled.d.ts +83 -0
  212. package/types/components/data/Alert/index.d.ts +1 -0
  213. package/types/components/data/Badge/Badge.d.ts +128 -0
  214. package/types/components/data/Badge/Badge.styled.d.ts +132 -0
  215. package/types/components/data/Badge/index.d.ts +1 -0
  216. package/types/components/data/Popover/Popover.d.ts +205 -0
  217. package/types/components/data/Popover/Popover.styled.d.ts +15 -0
  218. package/types/components/data/Popover/index.d.ts +1 -0
  219. package/types/components/data/SeverityBadge/SeverityBadge.d.ts +72 -0
  220. package/types/components/data/SeverityBadge/index.d.ts +1 -0
  221. package/types/components/data/Tab/Tab.d.ts +27 -0
  222. package/types/components/data/Tab/Tab.styled.d.ts +1 -0
  223. package/types/components/data/Tab/index.d.ts +1 -0
  224. package/types/components/data/Tabs/Tabs.d.ts +111 -0
  225. package/types/components/data/Tabs/Tabs.styled.d.ts +42 -0
  226. package/types/components/data/Tabs/index.d.ts +1 -0
  227. package/types/components/data/Tooltip/Tooltip.d.ts +134 -0
  228. package/types/components/data/Tooltip/Tooltip.styled.d.ts +8 -0
  229. package/types/components/data/Tooltip/index.d.ts +1 -0
  230. package/types/components/data/VerificationStatusIcon/VerificationStatusIcon.d.ts +35 -0
  231. package/types/components/data/VerificationStatusIcon/VerificationStatusIcon.styled.d.ts +46 -0
  232. package/types/components/data/VerificationStatusIcon/index.d.ts +1 -0
  233. package/types/components/data/_shared/FloatingArrow.styled.d.ts +129 -0
  234. package/types/components/data/index.d.ts +8 -0
  235. package/types/components/index.d.ts +3 -0
  236. package/types/components/inputs/ActionButton/ActionButton.d.ts +55 -0
  237. package/types/components/inputs/ActionButton/ActionButton.styled.d.ts +34 -0
  238. package/types/components/inputs/ActionButton/index.d.ts +1 -0
  239. package/types/components/inputs/Button/Button.d.ts +82 -0
  240. package/types/components/inputs/Button/Button.styled.d.ts +102 -0
  241. package/types/components/inputs/Button/index.d.ts +1 -0
  242. package/types/components/inputs/Checkbox/Checkbox.d.ts +92 -0
  243. package/types/components/inputs/Checkbox/Checkbox.styled.d.ts +33 -0
  244. package/types/components/inputs/Checkbox/index.d.ts +1 -0
  245. package/types/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.d.ts +242 -0
  246. package/types/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.d.ts +157 -0
  247. package/types/components/inputs/CompactAutocompleteSelect/index.d.ts +1 -0
  248. package/types/components/inputs/CompactStarRating/CompactStarRating.d.ts +96 -0
  249. package/types/components/inputs/CompactStarRating/CompactStarRating.styled.d.ts +86 -0
  250. package/types/components/inputs/CompactStarRating/index.d.ts +1 -0
  251. package/types/components/inputs/CompactTextInput/CompactTextInput.d.ts +116 -0
  252. package/types/components/inputs/CompactTextInput/CompactTextInput.styled.d.ts +70 -0
  253. package/types/components/inputs/CompactTextInput/index.d.ts +1 -0
  254. package/types/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.d.ts +41 -0
  255. package/types/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.d.ts +21 -0
  256. package/types/components/inputs/MultiLevelCheckbox/index.d.ts +2 -0
  257. package/types/components/inputs/MultiLevelCheckbox/types.d.ts +72 -0
  258. package/types/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.d.ts +44 -0
  259. package/types/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.d.ts +11 -0
  260. package/types/components/inputs/MultiLevelCheckboxSelect/index.d.ts +1 -0
  261. package/types/components/inputs/MultiSelect/MultiSelect.d.ts +172 -0
  262. package/types/components/inputs/MultiSelect/MultiSelect.styled.d.ts +99 -0
  263. package/types/components/inputs/MultiSelect/index.d.ts +1 -0
  264. package/types/components/inputs/Radio/Radio.d.ts +65 -0
  265. package/types/components/inputs/Radio/Radio.styled.d.ts +11 -0
  266. package/types/components/inputs/Radio/index.d.ts +1 -0
  267. package/types/components/inputs/Switch/Switch.d.ts +62 -0
  268. package/types/components/inputs/Switch/Switch.styled.d.ts +20 -0
  269. package/types/components/inputs/Switch/index.d.ts +1 -0
  270. package/types/components/inputs/TextArea/TextArea.d.ts +124 -0
  271. package/types/components/inputs/TextArea/TextArea.styled.d.ts +95 -0
  272. package/types/components/inputs/TextArea/index.d.ts +1 -0
  273. package/types/components/inputs/TextInput/TextInput.d.ts +109 -0
  274. package/types/components/inputs/TextInput/TextInput.styled.d.ts +43 -0
  275. package/types/components/inputs/TextInput/index.d.ts +1 -0
  276. package/types/components/inputs/index.d.ts +13 -0
  277. package/types/components/layout/InputGroup/InputGroup.d.ts +31 -0
  278. package/types/components/layout/InputGroup/InputGroup.styled.d.ts +1 -0
  279. package/types/components/layout/InputGroup/index.d.ts +1 -0
  280. package/types/components/layout/SectionSeparator/SectionSeparator.d.ts +28 -0
  281. package/types/components/layout/SectionSeparator/SectionSeparator.styled.d.ts +14 -0
  282. package/types/components/layout/SectionSeparator/index.d.ts +1 -0
  283. package/types/components/layout/index.d.ts +2 -0
  284. package/types/components/widgets/AssetAction/AssetAction.d.ts +16 -0
  285. package/types/components/widgets/AssetAction/AssetAction.styled.d.ts +20 -0
  286. package/types/components/widgets/AssetAction/index.d.ts +1 -0
  287. package/types/components/widgets/AssetActionsBase/AssetActionsBase.d.ts +25 -0
  288. package/types/components/widgets/AssetActionsBase/AssetActionsBase.styled.d.ts +1 -0
  289. package/types/components/widgets/AssetActionsBase/index.d.ts +1 -0
  290. package/types/components/widgets/AssetGallery/AssetGallery.d.ts +170 -0
  291. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.d.ts +88 -0
  292. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.d.ts +3 -0
  293. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.d.ts +3 -0
  294. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.d.ts +100 -0
  295. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.d.ts +2 -0
  296. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.d.ts +85 -0
  297. package/types/components/widgets/AssetGallery/asset.types.d.ts +446 -0
  298. package/types/components/widgets/AssetGallery/index.d.ts +1 -0
  299. package/types/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.d.ts +60 -0
  300. package/types/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.d.ts +35 -0
  301. package/types/components/widgets/AssetPreview/AssetPreviewTopBar/index.d.ts +1 -0
  302. package/types/components/widgets/ContextMenu/ContextMenu.d.ts +134 -0
  303. package/types/components/widgets/ContextMenu/ContextMenu.styled.d.ts +1 -0
  304. package/types/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.d.ts +45 -0
  305. package/types/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.d.ts +26 -0
  306. package/types/components/widgets/ContextMenu/ContextMenuItem/index.d.ts +1 -0
  307. package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.d.ts +41 -0
  308. package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.d.ts +1 -0
  309. package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/index.d.ts +1 -0
  310. package/types/components/widgets/ContextMenu/index.d.ts +1 -0
  311. package/types/components/widgets/InfoCard/InfoCard.d.ts +33 -0
  312. package/types/components/widgets/InfoCard/InfoCard.styled.d.ts +45 -0
  313. package/types/components/widgets/InfoCard/index.d.ts +1 -0
  314. package/types/components/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.d.ts +46 -0
  315. package/types/components/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.d.ts +40 -0
  316. package/types/components/widgets/InstructionSeverityDisplay/index.d.ts +1 -0
  317. package/types/components/widgets/Instructions/Instructions.d.ts +156 -0
  318. package/types/components/widgets/Instructions/Instructions.styled.d.ts +26 -0
  319. package/types/components/widgets/Instructions/index.d.ts +1 -0
  320. package/types/components/widgets/ProgressBar/ProgressBar.d.ts +30 -0
  321. package/types/components/widgets/ProgressBar/ProgressBar.styled.d.ts +78 -0
  322. package/types/components/widgets/ProgressBar/index.d.ts +1 -0
  323. package/types/components/widgets/SummaryCard/SummaryCard.d.ts +83 -0
  324. package/types/components/widgets/SummaryCard/SummaryCard.styled.d.ts +68 -0
  325. package/types/components/widgets/SummaryCard/index.d.ts +1 -0
  326. package/types/components/widgets/index.d.ts +11 -0
  327. package/types/hooks/useElementSize.d.ts +25 -0
  328. package/types/hooks/useEventListner.d.ts +46 -0
  329. package/types/hooks/useFloatingPopover.d.ts +242 -0
  330. package/types/hooks/useIsomorphicLayoutEffect.d.ts +26 -0
  331. package/types/hooks/useOnClickOutside.d.ts +31 -0
  332. package/types/hooks/useTooltipAutoShow.d.ts +80 -0
  333. package/types/icons/index.d.ts +41 -0
  334. package/types/ssr/index.d.ts +1 -0
  335. package/types/styles/utils/colors-export.d.ts +73 -0
  336. package/types/utils/dateTime.d.ts +13 -0
  337. package/types/utils/defaultTheme.d.ts +174 -0
  338. package/types/utils/getElementRef.d.ts +21 -0
  339. package/types/utils/parseTrigger.d.ts +92 -0
  340. package/build/_virtual/_rollupPluginBabelHelpers.js +0 -12
  341. package/build/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  342. package/build/widgets/AssetGallery/asset.propType.js +0 -56
  343. package/build/widgets/AssetGallery/asset.propType.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"warning-circle.svg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"warning-circle.svg.js","sources":["../../src/icons/warning-circle.svg"],"sourcesContent":["export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%20%20%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M10.8%2C15.6h2.4V18H10.8Zm0-9.6h2.4v7.2H10.8Zm1.188-6A12%2C12%2C0%2C1%2C0%2C24%2C12%2C11.9941%2C11.9941%2C0%2C0%2C0%2C11.988%2C0ZM12%2C21.6A9.6%2C9.6%2C0%2C1%2C1%2C21.6%2C12%2C9.5974%2C9.5974%2C0%2C0%2C1%2C12%2C21.6Z%22%2F%3E%3C%2Fsvg%3E\""],"names":[],"mappings":";;AAAA,IAAI,KAAK;AACT,SAAS,QAAQ,GAAG,EAAE,OAAO,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AAEhR,IAAC,gBAAgB,GAAG,SAAS,gBAAgB,CAAC,KAAK,EAAE;AACxD,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC1D,IAAI,KAAK,EAAE,4BAA4B;AACvC,IAAI,OAAO,EAAE;AACb,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,KAAK,gBAAgB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACxE,IAAI,IAAI,EAAE,cAAc;AACxB,IAAI,CAAC,EAAE;AACP,GAAG,CAAC,CAAC,CAAC;AACN;;;;"}
@@ -1,42 +1,31 @@
1
- import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React__default from 'react';
3
- import PropTypes from 'prop-types';
4
2
  import { ActionButton as ActionButton$1 } from './ActionButton.styled.js';
3
+ import { jsx } from 'react/jsx-runtime';
5
4
 
5
+ const NOOP = () => {};
6
+ const DEFAULT_ACTION_SIZE = [40, 40];
6
7
  const ActionButton = React__default.forwardRef(function ActionButton({
7
8
  icon,
8
9
  disabled,
9
10
  active,
10
- onClick,
11
- actionWidthHeight,
12
- useShadow,
11
+ onClick = NOOP,
12
+ actionWidthHeight = DEFAULT_ACTION_SIZE,
13
+ useShadow = false,
13
14
  backgroundColors,
14
15
  ...props
15
16
  }, forwardedRef) {
16
- return React__default.createElement(ActionButton$1, _extends({
17
+ return jsx(ActionButton$1, {
17
18
  ref: forwardedRef,
18
19
  disabled: disabled,
19
20
  $active: active,
20
21
  onClick: onClick,
21
22
  $actionWidthHeight: actionWidthHeight,
22
23
  $backgroundColors: backgroundColors,
23
- $useShadow: useShadow
24
- }, props), icon);
24
+ $useShadow: useShadow,
25
+ ...props,
26
+ children: icon
27
+ });
25
28
  });
26
- ActionButton.propTypes = process.env.NODE_ENV !== "production" ? {
27
- icon: PropTypes.element.isRequired,
28
- disabled: PropTypes.bool,
29
- active: PropTypes.bool,
30
- onClick: PropTypes.func,
31
- backgroundColors: PropTypes.arrayOf(PropTypes.string),
32
- actionWidthHeight: PropTypes.array,
33
- useShadow: PropTypes.bool
34
- } : {};
35
- ActionButton.defaultProps = {
36
- onClick: () => {},
37
- actionWidthHeight: [40, 40],
38
- useShadow: false
39
- };
40
29
 
41
30
  export { ActionButton as default };
42
31
  //# sourceMappingURL=ActionButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButton.js","sources":["../../../src/components/inputs/ActionButton/ActionButton.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './ActionButton.styled';\n\n/**\n * An action button.\n *\n * ### Import\n *\n * ``` js\n * import { ActionButton } from '@ntbjs/react-components/inputs'\n * // or\n * import ActionButton from '@ntbjs/react-components/inputs/ActionButton'\n * ```\n *\n * ### Props\n * ```\n * Pass `icon={<svg></svg>}` to display an icon.\n * Pass `disabled={true}` to disable the button.\n * Pass `active={true}` to lock the hover state of the button.\n * Pass `onClick={() => {}}` to add an on-click effect.\n * Pass `backgroundColors={[#ffffff, #000000]}` to set the background color of the button\n * ```\n */\nconst ActionButton = React.forwardRef(function ActionButton(\n { icon, disabled, active, onClick, actionWidthHeight, useShadow, backgroundColors, ...props },\n forwardedRef\n) {\n return (\n <S.ActionButton\n ref={forwardedRef}\n disabled={disabled}\n $active={active}\n onClick={onClick}\n $actionWidthHeight={actionWidthHeight}\n $backgroundColors={backgroundColors}\n $useShadow={useShadow}\n {...props}\n >\n {icon}\n </S.ActionButton>\n );\n});\n\nActionButton.propTypes = {\n /**\n * Icon element – e.g: `icon={<SvgAddCircle />}`\n */\n icon: PropTypes.element.isRequired,\n /**\n * Disable the action button\n */\n disabled: PropTypes.bool,\n /**\n * Locks the hover state of the `ActionButton` – this prop only affects the visual appearance of the\n * `ActionButton`\n */\n active: PropTypes.bool,\n /**\n * On-click effect for the action button\n */\n onClick: PropTypes.func,\n /**\n * Color of the button background as an array of [darkThemeColor, lightThemeColor]\n */\n backgroundColors: PropTypes.arrayOf(PropTypes.string),\n /**\n * Width and Height of the Action Button [50, 50]\n */\n actionWidthHeight: PropTypes.array,\n /**\n *Use shadow for the action button\n */\n useShadow: PropTypes.bool\n};\n\nActionButton.defaultProps = {\n onClick: () => {},\n actionWidthHeight: [40, 40],\n useShadow: false\n};\n\nexport default ActionButton;\n"],"names":["ActionButton","React","forwardRef","icon","disabled","active","onClick","actionWidthHeight","useShadow","backgroundColors","props","forwardedRef","createElement","S","_extends","ref","$active","$actionWidthHeight","$backgroundColors","$useShadow","propTypes","process","env","NODE_ENV","PropTypes","element","isRequired","bool","func","arrayOf","string","array","defaultProps"],"mappings":";;;;;AAwBMA,MAAAA,YAAY,GAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,YAAYA,CACzD;EAAEG,IAAI;EAAEC,QAAQ;EAAEC,MAAM;EAAEC,OAAO;EAAEC,iBAAiB;EAAEC,SAAS;EAAEC,gBAAgB;EAAE,GAAGC,KAAAA;AAAM,CAAC,EAC7FC,YAAY,EACZ;EACA,OACEV,cAAA,CAAAW,aAAA,CAACC,cAAc,EAAAC,QAAA,CAAA;AACbC,IAAAA,GAAG,EAAEJ,YAAa;AAClBP,IAAAA,QAAQ,EAAEA,QAAS;AACnBY,IAAAA,OAAO,EAAEX,MAAO;AAChBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBW,IAAAA,kBAAkB,EAAEV,iBAAkB;AACtCW,IAAAA,iBAAiB,EAAET,gBAAiB;AACpCU,IAAAA,UAAU,EAAEX,SAAAA;GACRE,EAAAA,KAAK,CAERP,EAAAA,IACa,CAAC,CAAA;AAErB,CAAC,EAAC;AAEFH,YAAY,CAACoB,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;AAIvBpB,EAAAA,IAAI,EAAEqB,SAAS,CAACC,OAAO,CAACC,UAAU;EAIlCtB,QAAQ,EAAEoB,SAAS,CAACG,IAAI;EAKxBtB,MAAM,EAAEmB,SAAS,CAACG,IAAI;EAItBrB,OAAO,EAAEkB,SAAS,CAACI,IAAI;EAIvBnB,gBAAgB,EAAEe,SAAS,CAACK,OAAO,CAACL,SAAS,CAACM,MAAM,CAAC;EAIrDvB,iBAAiB,EAAEiB,SAAS,CAACO,KAAK;EAIlCvB,SAAS,EAAEgB,SAAS,CAACG,IAAAA;AACvB,CAAC,GAAA,EAAA,CAAA;AAED3B,YAAY,CAACgC,YAAY,GAAG;AAC1B1B,EAAAA,OAAO,EAAEA,MAAM,EAAE;AACjBC,EAAAA,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AAC3BC,EAAAA,SAAS,EAAE,KAAA;AACb,CAAC;;;;"}
1
+ {"version":3,"file":"ActionButton.js","sources":["../../../src/components/inputs/ActionButton/ActionButton.tsx"],"sourcesContent":["import React from 'react';\nimport * as S from './ActionButton.styled';\n\nconst NOOP = () => {};\nconst DEFAULT_ACTION_SIZE = [40, 40];\n\ntype ActionButtonOwnProps = {\n /**\n * Icon element – e.g: `icon={<SvgAddCircle />}`\n */\n icon: React.ReactElement<any>;\n /**\n * Disable the action button\n */\n disabled?: boolean;\n /**\n * Locks the hover state of the `ActionButton` – this prop only affects the visual appearance of the\n * `ActionButton`\n */\n active?: boolean;\n /**\n * On-click effect for the action button\n */\n onClick?: (...args: any[]) => any;\n /**\n * Color of the button background as an array of [darkThemeColor, lightThemeColor]\n */\n backgroundColors?: string[];\n /**\n * Width and Height of the Action Button [50, 50]\n */\n actionWidthHeight?: any[];\n /**\n *Use shadow for the action button\n */\n useShadow?: boolean;\n};\n\n/*\n * NMB-3998 §C.2: `props` is spread onto `S.ActionButton`, so the published type\n * has to admit that target's props too — a closed type here is worse than `any` for the\n * 125 consumer files. Declared members win over the base (`Omit` by `keyof ActionButtonOwnProps`);\n * a bare `&` would INTERSECT a colliding member instead of overriding it, which narrows\n * it (measured: `rows?: number | string` & `rows?: number`) or empties it to `never`.\n */\ntype ActionButtonProps = Omit<\n React.ComponentPropsWithoutRef<typeof S.ActionButton>,\n keyof ActionButtonOwnProps\n> &\n ActionButtonOwnProps;\n\n/**\n * An action button.\n *\n * ### Import\n *\n * ``` js\n * import { ActionButton } from '@ntbjs/react-components/inputs'\n * // or\n * import ActionButton from '@ntbjs/react-components/inputs/ActionButton'\n * ```\n *\n * ### Props\n * ```\n * Pass `icon={<svg></svg>}` to display an icon.\n * Pass `disabled={true}` to disable the button.\n * Pass `active={true}` to lock the hover state of the button.\n * Pass `onClick={() => {}}` to add an on-click effect.\n * Pass `backgroundColors={[#ffffff, #000000]}` to set the background color of the button\n * ```\n */\nconst ActionButton = React.forwardRef<any, ActionButtonProps>(function ActionButton(\n {\n icon,\n disabled,\n active,\n onClick = NOOP,\n actionWidthHeight = DEFAULT_ACTION_SIZE,\n useShadow = false,\n backgroundColors,\n ...props\n },\n forwardedRef\n) {\n return (\n <S.ActionButton\n ref={forwardedRef}\n disabled={disabled}\n $active={active}\n onClick={onClick}\n $actionWidthHeight={actionWidthHeight}\n $backgroundColors={backgroundColors}\n $useShadow={useShadow}\n {...props}\n >\n {icon}\n </S.ActionButton>\n );\n});\n\nexport default ActionButton;\n"],"names":["NOOP","DEFAULT_ACTION_SIZE","ActionButton","React","forwardRef","icon","disabled","active","onClick","actionWidthHeight","useShadow","backgroundColors","props","forwardedRef","_jsx","S","ref","$active","$actionWidthHeight","$backgroundColors","$useShadow","children"],"mappings":";;;;AAGA,MAAMA,IAAI,GAAGA,MAAM,CAAC,CAAC;AACrB,MAAMC,mBAAmB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;AAmEpC,MAAMC,YAAY,GAAGC,cAAK,CAACC,UAAU,CAAyB,SAASF,YAAYA,CACjF;EACEG,IAAI;EACJC,QAAQ;EACRC,MAAM;AACNC,EAAAA,OAAO,GAAGR,IAAI;AACdS,EAAAA,iBAAiB,GAAGR,mBAAmB;AACvCS,EAAAA,SAAS,GAAG,KAAK;EACjBC,gBAAgB;EAChB,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;AACA,EAAA,OACEC,GAAA,CAACC,cAAc,EAAA;AACbC,IAAAA,GAAG,EAAEH,YAAa;AAClBP,IAAAA,QAAQ,EAAEA,QAAS;AACnBW,IAAAA,OAAO,EAAEV,MAAO;AAChBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBU,IAAAA,kBAAkB,EAAET,iBAAkB;AACtCU,IAAAA,iBAAiB,EAAER,gBAAiB;AACpCS,IAAAA,UAAU,EAAEV,SAAU;AAAA,IAAA,GAClBE,KAAK;AAAAS,IAAAA,QAAA,EAERhB;AAAI,GACS,CAAC;AAErB,CAAC;;;;"}
@@ -5,63 +5,14 @@ import { applyDefaultTheme } from '../../utils/defaultTheme.js';
5
5
  const shouldForwardProp = prop => prop !== 'theme' && !prop.startsWith('$');
6
6
  const ActionButton = styled.button.withConfig({
7
7
  shouldForwardProp
8
- }).attrs(applyDefaultTheme)`
9
- display: inline-flex;
10
- justify-content: center;
11
- align-items: center;
12
- border-radius: 50%;
13
- width: ${props => `${props.$actionWidthHeight[0]}px`};
14
- height: ${props => `${props.$actionWidthHeight[1]}px`};
15
- border: 0;
16
- color: inherit;
17
- background-color: transparent;
18
-
19
- background-position: center;
20
- background-repeat: no-repeat;
21
- background-size: 0 0;
22
- transition: background-size 250ms ease;
23
- cursor: pointer;
24
-
25
- ${props => {
8
+ }).attrs(applyDefaultTheme).withConfig({
9
+ displayName: "ActionButtonstyled__ActionButton",
10
+ componentId: "sc-1e4xjt4-0"
11
+ })(["display:inline-flex;justify-content:center;align-items:center;border-radius:50%;width:", ";height:", ";border:0;color:inherit;background-color:transparent;background-position:center;background-repeat:no-repeat;background-size:0 0;transition:background-size 250ms ease;cursor:pointer;", " &:hover:not(:disabled){background-size:", "px ", "px;svg{", ";}}", " ", " &:disabled{opacity:0.5;color:inherit;cursor:not-allowed;}svg{width:100%;max-width:", ";max-height:", ";pointer-events:none;transition:color 250ms;}"], props => `${props.$actionWidthHeight[0]}px`, props => `${props.$actionWidthHeight[1]}px`, props => {
26
12
  const darkThemeBgColor = props?.$backgroundColors?.[0] ?? props.theme.getColor('gray-600');
27
13
  const lightThemeBgColor = props?.$backgroundColors?.[1] ?? props.theme.getColor('gray-200');
28
14
  return props.theme.themeProp('background-image', `radial-gradient(circle at center, ${darkThemeBgColor} 50%, transparent 51%)`, `radial-gradient(circle at center, ${lightThemeBgColor} 50%, transparent 51%)`);
29
- }}
30
-
31
- &:hover:not(:disabled) {
32
- background-size: ${props => Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px
33
- ${props => Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px;
34
-
35
- svg {
36
- ${props => props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-700'))};
37
- }
38
- }
39
-
40
- ${props => props.$active && css`
41
- background-size: ${Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px
42
- ${Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px;
43
-
44
- svg {
45
- ${props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-700'))};
46
- }
47
- `}
48
-
49
- ${props => props.$useShadow ? props.theme.themeProp('box-shadow', `0px 3px 6px ${rgba(props.theme.getColor('black'), 0.7)}`, `0px 3px 6px ${props.theme.getColor('black')}`) : null}
50
-
51
- &:disabled {
52
- opacity: 0.5;
53
- color: inherit;
54
- cursor: not-allowed;
55
- }
56
-
57
- svg {
58
- width: 100%;
59
- max-width: ${props => `${props.$actionWidthHeight[0] - 15}px`};
60
- max-height: ${props => `${props.$actionWidthHeight[1] - 15}px`};
61
- pointer-events: none;
62
- transition: color 250ms;
63
- }
64
- `;
15
+ }, props => Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2, props => Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2, props => props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-700')), props => props.$active && css(["background-size:", "px ", "px;svg{", ";}"], Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2, Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2, props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-700'))), props => props.$useShadow ? props.theme.themeProp('box-shadow', `0px 3px 6px ${rgba(props.theme.getColor('black'), 0.7)}`, `0px 3px 6px ${props.theme.getColor('black')}`) : null, props => `${props.$actionWidthHeight[0] - 15}px`, props => `${props.$actionWidthHeight[1] - 15}px`);
65
16
 
66
17
  export { ActionButton };
67
18
  //# sourceMappingURL=ActionButton.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButton.styled.js","sources":["../../../src/components/inputs/ActionButton/ActionButton.styled.js"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { rgba } from 'polished';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\nconst shouldForwardProp = prop => prop !== 'theme' && !prop.startsWith('$');\n\nexport const ActionButton = styled.button\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n width: ${props => `${props.$actionWidthHeight[0]}px`};\n height: ${props => `${props.$actionWidthHeight[1]}px`};\n border: 0;\n color: inherit;\n background-color: transparent;\n\n background-position: center;\n background-repeat: no-repeat;\n background-size: 0 0;\n transition: background-size 250ms ease;\n cursor: pointer;\n\n ${props => {\n const darkThemeBgColor = props?.$backgroundColors?.[0] ?? props.theme.getColor('gray-600');\n const lightThemeBgColor = props?.$backgroundColors?.[1] ?? props.theme.getColor('gray-200');\n return props.theme.themeProp(\n 'background-image',\n `radial-gradient(circle at center, ${darkThemeBgColor} 50%, transparent 51%)`,\n `radial-gradient(circle at center, ${lightThemeBgColor} 50%, transparent 51%)`\n );\n }}\n\n &:hover:not(:disabled) {\n background-size: ${props =>\n Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px\n ${props => Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px;\n\n svg {\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-100'),\n props.theme.getColor('gray-700')\n )};\n }\n }\n\n ${props =>\n props.$active &&\n css`\n background-size: ${Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px\n ${Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px;\n\n svg {\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-100'),\n props.theme.getColor('gray-700')\n )};\n }\n `}\n\n ${props =>\n props.$useShadow\n ? props.theme.themeProp(\n 'box-shadow',\n `0px 3px 6px ${rgba(props.theme.getColor('black'), 0.7)}`,\n `0px 3px 6px ${props.theme.getColor('black')}`\n )\n : null}\n\n &:disabled {\n opacity: 0.5;\n color: inherit;\n cursor: not-allowed;\n }\n\n svg {\n width: 100%;\n max-width: ${props => `${props.$actionWidthHeight[0] - 15}px`};\n max-height: ${props => `${props.$actionWidthHeight[1] - 15}px`};\n pointer-events: none;\n transition: color 250ms;\n }\n`;\n"],"names":["shouldForwardProp","prop","startsWith","ActionButton","styled","button","withConfig","attrs","applyDefaultTheme","props","$actionWidthHeight","darkThemeBgColor","$backgroundColors","theme","getColor","lightThemeBgColor","themeProp","Math","max","$active","css","$useShadow","rgba"],"mappings":"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"}
1
+ {"version":3,"file":"ActionButton.styled.js","sources":["../../../src/components/inputs/ActionButton/ActionButton.styled.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { rgba } from 'polished';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\n/*\n * THE ONE-LINE VARIANT OF THE PREDICATE 33 OTHER FILES SPELL OVER THREE LINES — kept\n * on one line, because reformatting it is churn in a diff that has to be reviewable as\n * \"types only\". Single-argument, and it stays that way: the peer floor is\n * `styled-components: >=5.1.0` and the two majors disagree on the second parameter (v6\n * `elementToBeCreated`, v5.1 `defaultValidatorFn`), so a one-parameter function is the\n * only form correct on both. Rules in\n * `layout/SectionSeparator/SectionSeparator.styled.ts`, derivation in\n * `scripts/TS-MIGRATION-PLAYBOOK.md` §J.4. `prop` needs the annotation because\n * `withConfig` takes this by reference, so it gets no contextual typing.\n */\nconst shouldForwardProp = (prop: string): boolean => prop !== 'theme' && !prop.startsWith('$');\n\n/**\n * Props of the one styled component in this file. Value types from\n * `ActionButton.tsx`'s propTypes; all optional per §J.5 — and here that is not\n * theoretical, `ActionButton.tsx` spreads `{...props}` onto this root, which is the\n * measured TS2769 case.\n *\n * `disabled` is deliberately ABSENT: it is a real `ButtonHTMLAttributes` member, the\n * component passes it, and the template only uses the `&:disabled` CSS pseudo-class\n * rather than reading the prop. Nothing to declare. §J.9, first row.\n */\nexport interface ActionButtonStyleProps {\n /**\n * `actionWidthHeight` — `PropTypes.array`, `[width, height]` in px, defaulted to\n * `[40, 40]` BY THE COMPONENT (which is not a default here, so still optional).\n * `number[]` rather than `[number, number]`: the propTypes accept any array and the\n * template only ever indexes `[0]` and `[1]`.\n *\n * NOTE FOR THE `strictNullChecks` FLIP: these seven reads are UNGUARDED\n * (`props.$actionWidthHeight[0]`, not `props.$actionWidthHeight?.[0]`), unlike every\n * other transient prop in the converted files. They compile today because\n * `strictNullChecks` is off; when it is turned on at the end of the migration this\n * is the site that needs either `?.` plus a fallback or a required prop, and either\n * is a behaviour question rather than a typing one — so it is recorded, not changed\n * here. (`$backgroundColors` below is already read with `?.`.)\n */\n $actionWidthHeight?: number[];\n /** `backgroundColors` — `PropTypes.arrayOf(PropTypes.string)`, `[dark, light]`. */\n $backgroundColors?: string[];\n /** `active` — `PropTypes.bool`. Locks the hover state. */\n $active?: boolean;\n /** `useShadow` — `PropTypes.bool`. Component defaults it to `false`. */\n $useShadow?: boolean;\n}\n\nexport const ActionButton = styled.button\n .withConfig({\n shouldForwardProp\n })\n .attrs<ActionButtonStyleProps>(applyDefaultTheme)`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n width: ${props => `${props.$actionWidthHeight[0]}px`};\n height: ${props => `${props.$actionWidthHeight[1]}px`};\n border: 0;\n color: inherit;\n background-color: transparent;\n\n background-position: center;\n background-repeat: no-repeat;\n background-size: 0 0;\n transition: background-size 250ms ease;\n cursor: pointer;\n\n ${props => {\n const darkThemeBgColor = props?.$backgroundColors?.[0] ?? props.theme.getColor('gray-600');\n const lightThemeBgColor = props?.$backgroundColors?.[1] ?? props.theme.getColor('gray-200');\n return props.theme.themeProp(\n 'background-image',\n `radial-gradient(circle at center, ${darkThemeBgColor} 50%, transparent 51%)`,\n `radial-gradient(circle at center, ${lightThemeBgColor} 50%, transparent 51%)`\n );\n }}\n\n &:hover:not(:disabled) {\n background-size: ${props =>\n Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px\n ${props => Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px;\n\n svg {\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-100'),\n props.theme.getColor('gray-700')\n )};\n }\n }\n\n ${props =>\n props.$active &&\n css`\n background-size: ${Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px\n ${Math.max(props.$actionWidthHeight[0], props.$actionWidthHeight[1]) * 2}px;\n\n svg {\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-100'),\n props.theme.getColor('gray-700')\n )};\n }\n `}\n\n ${props =>\n props.$useShadow\n ? props.theme.themeProp(\n 'box-shadow',\n `0px 3px 6px ${rgba(props.theme.getColor('black'), 0.7)}`,\n `0px 3px 6px ${props.theme.getColor('black')}`\n )\n : null}\n\n &:disabled {\n opacity: 0.5;\n color: inherit;\n cursor: not-allowed;\n }\n\n svg {\n width: 100%;\n max-width: ${props => `${props.$actionWidthHeight[0] - 15}px`};\n max-height: ${props => `${props.$actionWidthHeight[1] - 15}px`};\n pointer-events: none;\n transition: color 250ms;\n }\n`;\n"],"names":["shouldForwardProp","prop","startsWith","ActionButton","styled","button","withConfig","attrs","applyDefaultTheme","displayName","componentId","props","$actionWidthHeight","darkThemeBgColor","$backgroundColors","theme","getColor","lightThemeBgColor","themeProp","Math","max","$active","css","$useShadow","rgba"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React__default, { useState, useRef, useEffect } from 'react';
3
- import PropTypes from 'prop-types';
4
2
  import { ButtonWrapper, MainButtonWrapper, MainButtonContainer, Button as Button$1, ButtonContent, LoadingIndicator, LoadingIndicatorSvg, LoadingIndicatorSvgCircle, DropdownButtonContainer, MainButtonContainerSingle } from './Button.styled.js';
5
3
  import Popover from '../../data/Popover/Popover.js';
6
4
  import ContextMenu from '../../widgets/ContextMenu/ContextMenu.js';
7
5
  import { ReactComponent as SvgExpandMore } from '../../icons/expand-more.svg.js';
6
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
7
 
9
8
  const Button = React__default.forwardRef(function Button({
10
9
  onClickEffect,
@@ -77,126 +76,131 @@ const Button = React__default.forwardRef(function Button({
77
76
  const handleDropdownClose = () => {
78
77
  setDropdownIsActive(false);
79
78
  };
80
- return React__default.createElement(ButtonWrapper, null, !singleAction ? React__default.createElement(MainButtonWrapper, {
81
- $activeDropdown: activeDropdown,
82
- $dropdownItems: dropdownItems,
83
- $outlined: outlined,
84
- $secondary: secondary,
85
- $block: block
86
- }, React__default.createElement(MainButtonContainer, {
87
- $dropdownItems: dropdownItems,
88
- $secondary: secondary,
89
- $outlined: outlined,
90
- $block: block
91
- }, React__default.createElement(Button$1, _extends({
92
- ref: forwardedRef,
93
- onClick: onClickEffect,
94
- $border: border,
95
- $singleaction: singleAction,
96
- $dropdownItems: dropdownItems,
97
- $secondary: secondary,
98
- $outlined: outlined,
99
- $block: block,
100
- size: size,
101
- disabled: disabled,
102
- className: className,
103
- "aria-busy": disabled,
104
- $width: width
105
- }, props), React__default.createElement(ButtonContent, {
106
- $loading: loadingState,
107
- size: size
108
- }, icon, children), React__default.createElement(LoadingIndicator, {
109
- $loading: loadingState,
110
- style: {
111
- opacity: loadingState ? 1 : 0
112
- }
113
- }, React__default.createElement(LoadingIndicatorSvg, {
114
- viewBox: "22 22 44 44"
115
- }, React__default.createElement(LoadingIndicatorSvgCircle, {
116
- cx: "44",
117
- cy: "44",
118
- r: "18",
119
- fill: "none",
120
- strokeWidth: "4",
121
- stroke: "currentColor",
122
- style: {
123
- strokeDashoffset: `${loadingStep}px`
124
- }
125
- }))))), (activeDropdown || dropdownItems) && React__default.createElement(DropdownButtonContainer, {
126
- $dropdownItems: dropdownItems,
127
- $secondary: secondary,
128
- $outlined: outlined
129
- }, React__default.createElement(Popover, {
130
- content: React__default.createElement(ContextMenu, null, dropdownItems),
131
- placement: 'bottom-end',
132
- arrow: false,
133
- contextMenu: true,
134
- onHide: handleDropdownClose
135
- }, React__default.createElement(Button$1, {
136
- ref: forwardedRef,
137
- $singleaction: singleAction,
138
- $singleactiongap: singleActionGap,
139
- $dropdownItems: dropdownItems,
140
- $secondary: secondary,
141
- $outlined: outlined,
142
- $border: border,
143
- $block: block,
144
- size: size,
145
- disabled: disabled,
146
- onClick: handleDropdownButtonClick,
147
- className: dropdownIsActive ? 'dropdown-is-active' : '',
148
- $width: width
149
- }, React__default.createElement(SvgExpandMore, null))))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(MainButtonContainerSingle, {
150
- $dropdownItems: dropdownItems,
151
- $secondary: secondary,
152
- $outlined: outlined,
153
- className: className
154
- }, React__default.createElement(DropdownButtonContainer, {
155
- $singleaction: singleAction
156
- }, React__default.createElement(Popover, {
157
- content: React__default.createElement(ContextMenu, null, dropdownItems),
158
- placement: 'bottom-end',
159
- arrow: false,
160
- contextMenu: true,
161
- onHide: handleDropdownClose
162
- }, React__default.createElement(Button$1, {
163
- ref: forwardedRef,
164
- $singleaction: singleAction,
165
- $singleactiongap: singleActionGap,
166
- $dropdownItems: dropdownItems,
167
- $secondary: secondary,
168
- $outlined: outlined,
169
- $border: border,
170
- $block: block,
171
- size: size,
172
- disabled: disabled,
173
- onClick: handleDropdownButtonClick,
174
- className: dropdownIsActive ? 'dropdown-is-active' : '',
175
- $width: width
176
- }, React__default.createElement(ButtonContent, {
177
- $loading: loadingState,
178
- size: size,
179
- $singleaction: singleAction
180
- }, icon, children), React__default.createElement(SvgExpandMore, null)))))));
79
+ return jsx(ButtonWrapper, {
80
+ children: !singleAction ? jsxs(MainButtonWrapper, {
81
+ $activeDropdown: activeDropdown,
82
+ $dropdownItems: dropdownItems,
83
+ $outlined: outlined,
84
+ $secondary: secondary,
85
+ $block: block,
86
+ children: [jsx(MainButtonContainer, {
87
+ $dropdownItems: dropdownItems,
88
+ $secondary: secondary,
89
+ $outlined: outlined,
90
+ $block: block,
91
+ children: jsxs(Button$1, {
92
+ ref: forwardedRef,
93
+ onClick: onClickEffect,
94
+ $border: border,
95
+ $singleaction: singleAction,
96
+ $dropdownItems: dropdownItems,
97
+ $secondary: secondary,
98
+ $outlined: outlined,
99
+ $block: block,
100
+ size: size,
101
+ disabled: disabled,
102
+ className: className,
103
+ "aria-busy": disabled,
104
+ $width: width,
105
+ ...props,
106
+ children: [jsxs(ButtonContent, {
107
+ $loading: loadingState,
108
+ size: size,
109
+ children: [icon, children]
110
+ }), jsx(LoadingIndicator, {
111
+ $loading: loadingState,
112
+ style: {
113
+ opacity: loadingState ? 1 : 0
114
+ },
115
+ children: jsx(LoadingIndicatorSvg, {
116
+ viewBox: "22 22 44 44",
117
+ children: jsx(LoadingIndicatorSvgCircle, {
118
+ cx: "44",
119
+ cy: "44",
120
+ r: "18",
121
+ fill: "none",
122
+ strokeWidth: "4",
123
+ stroke: "currentColor",
124
+ style: {
125
+ strokeDashoffset: `${loadingStep}px`
126
+ }
127
+ })
128
+ })
129
+ })]
130
+ })
131
+ }), (activeDropdown || dropdownItems) && jsx(DropdownButtonContainer, {
132
+ $dropdownItems: dropdownItems,
133
+ $secondary: secondary,
134
+ $outlined: outlined,
135
+ children: jsx(Popover, {
136
+ content: jsx(ContextMenu, {
137
+ children: dropdownItems
138
+ }),
139
+ placement: 'bottom-end',
140
+ arrow: false,
141
+ contextMenu: true,
142
+ onHide: handleDropdownClose,
143
+ children: jsx(Button$1, {
144
+ ref: forwardedRef,
145
+ $singleaction: singleAction,
146
+ $singleactiongap: singleActionGap,
147
+ $dropdownItems: dropdownItems,
148
+ $secondary: secondary,
149
+ $outlined: outlined,
150
+ $border: border,
151
+ $block: block,
152
+ size: size,
153
+ disabled: disabled,
154
+ onClick: handleDropdownButtonClick,
155
+ className: dropdownIsActive ? 'dropdown-is-active' : '',
156
+ $width: width,
157
+ children: jsx(SvgExpandMore, {})
158
+ })
159
+ })
160
+ })]
161
+ }) : jsx(Fragment, {
162
+ children: jsx(MainButtonContainerSingle, {
163
+ $dropdownItems: dropdownItems,
164
+ $secondary: secondary,
165
+ $outlined: outlined,
166
+ className: className,
167
+ children: jsx(DropdownButtonContainer, {
168
+ $singleaction: singleAction,
169
+ children: jsx(Popover, {
170
+ content: jsx(ContextMenu, {
171
+ children: dropdownItems
172
+ }),
173
+ placement: 'bottom-end',
174
+ arrow: false,
175
+ contextMenu: true,
176
+ onHide: handleDropdownClose,
177
+ children: jsxs(Button$1, {
178
+ ref: forwardedRef,
179
+ $singleaction: singleAction,
180
+ $singleactiongap: singleActionGap,
181
+ $dropdownItems: dropdownItems,
182
+ $secondary: secondary,
183
+ $outlined: outlined,
184
+ $border: border,
185
+ $block: block,
186
+ size: size,
187
+ disabled: disabled,
188
+ onClick: handleDropdownButtonClick,
189
+ className: dropdownIsActive ? 'dropdown-is-active' : '',
190
+ $width: width,
191
+ children: [jsxs(ButtonContent, {
192
+ $loading: loadingState,
193
+ size: size,
194
+ $singleaction: singleAction,
195
+ children: [icon, children]
196
+ }), jsx(SvgExpandMore, {})]
197
+ })
198
+ })
199
+ })
200
+ })
201
+ })
202
+ });
181
203
  });
182
- Button.propTypes = process.env.NODE_ENV !== "production" ? {
183
- onClickEffect: PropTypes.func,
184
- singleAction: PropTypes.bool,
185
- activeDropdown: PropTypes.bool,
186
- dropdownItems: PropTypes.node,
187
- secondary: PropTypes.bool,
188
- outlined: PropTypes.bool,
189
- border: PropTypes.number,
190
- block: PropTypes.bool,
191
- icon: PropTypes.element,
192
- size: PropTypes.oneOf(['x-small', 'small', 'normal', 'large']),
193
- disabled: PropTypes.bool,
194
- loading: PropTypes.bool,
195
- className: PropTypes.string,
196
- children: PropTypes.any.isRequired,
197
- singleActionGap: PropTypes.number,
198
- width: PropTypes.number
199
- } : {};
200
204
 
201
205
  export { Button as default };
202
206
  //# sourceMappingURL=Button.js.map
@@ -1 +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 const loadingTimeout = useRef(0);\n const [dropdownIsActive, setDropdownIsActive] = useState(false);\n\n const isMounted = useRef(true);\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n clearInterval(loadingInterval.current);\n clearTimeout(loadingTimeout.current);\n };\n }, []);\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 setLoadingStep(0);\n\n loadingTimeout.current = setTimeout(() => {\n if (isMounted.current) {\n setLoadingState(false);\n setLoadingStep(113);\n }\n }, 500);\n };\n\n useEffect(() => {\n if (loading) {\n enableLoading();\n } else {\n disableLoading();\n }\n\n return () => {\n clearInterval(loadingInterval.current);\n clearTimeout(loadingTimeout.current);\n };\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","loadingTimeout","dropdownIsActive","setDropdownIsActive","isMounted","useEffect","current","clearInterval","clearTimeout","enableLoading","setInterval","currentLoadingStep","newLoadingStep","Math","round","disableLoading","setTimeout","handleDropdownButtonClick","handleDropdownClose","createElement","S","$activeDropdown","$dropdownItems","$outlined","$secondary","$block","_extends","ref","onClick","$border","$singleaction","$width","$loading","style","opacity","viewBox","cx","cy","r","fill","strokeWidth","stroke","strokeDashoffset","Popover","content","ContextMenu","placement","arrow","contextMenu","onHide","$singleactiongap","DropdownIcon","Fragment","propTypes","process","env","NODE_ENV","PropTypes","func","bool","node","number","element","oneOf","string","any","isRequired"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sources":["../../../src/components/inputs/Button/Button.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\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\ntype ButtonOwnProps = {\n /**\n * On-click effect for the main button\n */\n onClickEffect?: (...args: any[]) => any;\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?: boolean;\n /**\n * Whether the button must have an active dropdown menu.\n */\n activeDropdown?: boolean;\n /**\n * An array containing nodes of the `ContextMenuItem` component\n */\n dropdownItems?: React.ReactNode;\n /**\n * Whether the button should be styled as a secondary button\n */\n secondary?: boolean;\n /**\n * Whether the button should be styled with borders\n */\n outlined?: boolean;\n /**\n * Whether the button should customize the border width\n */\n border?: number;\n /**\n * Whether the button should be of 100% width\n */\n block?: boolean;\n /**\n * Optional icon to be displayed on the left side of the button\n */\n icon?: React.ReactElement<any>;\n /**\n * Which size variation should be used\n */\n size?: 'x-small' | 'small' | 'normal' | 'large';\n /**\n * Whether the button should be disabled\n */\n disabled?: boolean;\n /**\n * Whether the button should be initiated in a loading state\n */\n loading?: boolean;\n /**\n * Optional custom classnames for the HTML element\n */\n className?: string;\n /**\n * Main content of the button\n */\n children: any;\n /**\n * Gap between arrow and text in single action button\n */\n singleActionGap?: number;\n /**\n * Custom min-width\n */\n width?: number;\n};\n\n/*\n * NMB-3998 §C.2: `props` is spread onto `S.Button`, so the published type\n * has to admit that target's props too — a closed type here is worse than `any` for the\n * 125 consumer files. Declared members win over the base (`Omit` by `keyof ButtonOwnProps`);\n * a bare `&` would INTERSECT a colliding member instead of overriding it, which narrows\n * it (measured: `rows?: number | string` & `rows?: number`) or empties it to `never`.\n */\ntype Props = Omit<React.ComponentPropsWithoutRef<typeof S.Button>, keyof ButtonOwnProps> &\n ButtonOwnProps;\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<any, Props>(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 const loadingTimeout = useRef(0);\n const [dropdownIsActive, setDropdownIsActive] = useState(false);\n\n const isMounted = useRef(true);\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n clearInterval(loadingInterval.current);\n clearTimeout(loadingTimeout.current);\n };\n }, []);\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 setLoadingStep(0);\n\n loadingTimeout.current = setTimeout(() => {\n if (isMounted.current) {\n setLoadingState(false);\n setLoadingStep(113);\n }\n }, 500);\n };\n\n useEffect(() => {\n if (loading) {\n enableLoading();\n } else {\n disableLoading();\n }\n\n return () => {\n clearInterval(loadingInterval.current);\n clearTimeout(loadingTimeout.current);\n };\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\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","loadingTimeout","dropdownIsActive","setDropdownIsActive","isMounted","useEffect","current","clearInterval","clearTimeout","enableLoading","setInterval","currentLoadingStep","newLoadingStep","Math","round","disableLoading","setTimeout","handleDropdownButtonClick","handleDropdownClose","_jsx","S","_jsxs","$activeDropdown","$dropdownItems","$outlined","$secondary","$block","ref","onClick","$border","$singleaction","$width","$loading","style","opacity","viewBox","cx","cy","r","fill","strokeWidth","stroke","strokeDashoffset","Popover","content","ContextMenu","placement","arrow","contextMenu","onHide","$singleactiongap","DropdownIcon","_Fragment"],"mappings":"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"}