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

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 (344) hide show
  1. package/README.md +34 -0
  2. package/build/data/Alert/Alert.js +18 -33
  3. package/build/data/Alert/Alert.js.map +1 -1
  4. package/build/data/Alert/Alert.styled.js +9 -47
  5. package/build/data/Alert/Alert.styled.js.map +1 -1
  6. package/build/data/Badge/Badge.js +36 -61
  7. package/build/data/Badge/Badge.js.map +1 -1
  8. package/build/data/Badge/Badge.styled.js +21 -70
  9. package/build/data/Badge/Badge.styled.js.map +1 -1
  10. package/build/data/Popover/Popover.js +125 -71
  11. package/build/data/Popover/Popover.js.map +1 -1
  12. package/build/data/Popover/Popover.styled.js +10 -140
  13. package/build/data/Popover/Popover.styled.js.map +1 -1
  14. package/build/data/SeverityBadge/SeverityBadge.js +13 -22
  15. package/build/data/SeverityBadge/SeverityBadge.js.map +1 -1
  16. package/build/data/SeverityBadge/index.js +2 -0
  17. package/build/data/SeverityBadge/index.js.map +1 -0
  18. package/build/data/Tab/Tab.js +7 -13
  19. package/build/data/Tab/Tab.js.map +1 -1
  20. package/build/data/Tab/Tab.styled.js +4 -7
  21. package/build/data/Tab/Tab.styled.js.map +1 -1
  22. package/build/data/Tabs/Tabs.js +30 -32
  23. package/build/data/Tabs/Tabs.js.map +1 -1
  24. package/build/data/Tabs/Tabs.styled.js +21 -57
  25. package/build/data/Tabs/Tabs.styled.js.map +1 -1
  26. package/build/data/Tooltip/Tooltip.js +102 -33
  27. package/build/data/Tooltip/Tooltip.js.map +1 -1
  28. package/build/data/Tooltip/Tooltip.styled.js +9 -22
  29. package/build/data/Tooltip/Tooltip.styled.js.map +1 -1
  30. package/build/data/VerificationStatusIcon/VerificationStatusIcon.js +16 -23
  31. package/build/data/VerificationStatusIcon/VerificationStatusIcon.js.map +1 -1
  32. package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js +13 -31
  33. package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js.map +1 -1
  34. package/build/data/VerificationStatusIcon/index.js +2 -0
  35. package/build/data/VerificationStatusIcon/index.js.map +1 -0
  36. package/build/data/_shared/FloatingArrow.styled.js +30 -0
  37. package/build/data/_shared/FloatingArrow.styled.js.map +1 -0
  38. package/build/hooks/useEventListner.js.map +1 -1
  39. package/build/hooks/useFloatingPopover.js +187 -0
  40. package/build/hooks/useFloatingPopover.js.map +1 -0
  41. package/build/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  42. package/build/hooks/useOnClickOutside.js.map +1 -1
  43. package/build/hooks/useTooltipAutoShow.js.map +1 -1
  44. package/build/icons/arrow-back.svg.js +3 -3
  45. package/build/icons/arrow-back.svg.js.map +1 -1
  46. package/build/icons/arrow-forward.svg.js +4 -4
  47. package/build/icons/arrow-forward.svg.js.map +1 -1
  48. package/build/icons/check-rectangle-filled.svg.js +3 -3
  49. package/build/icons/check-rectangle-filled.svg.js.map +1 -1
  50. package/build/icons/close.svg.js +3 -3
  51. package/build/icons/close.svg.js.map +1 -1
  52. package/build/icons/edit-note.svg.js +3 -3
  53. package/build/icons/edit-note.svg.js.map +1 -1
  54. package/build/icons/expand-more.svg.js +3 -3
  55. package/build/icons/expand-more.svg.js.map +1 -1
  56. package/build/icons/headset.svg.js +3 -3
  57. package/build/icons/headset.svg.js.map +1 -1
  58. package/build/icons/layers.svg.js +3 -3
  59. package/build/icons/layers.svg.js.map +1 -1
  60. package/build/icons/link.svg.js +3 -3
  61. package/build/icons/link.svg.js.map +1 -1
  62. package/build/icons/play.svg.js +3 -3
  63. package/build/icons/play.svg.js.map +1 -1
  64. package/build/icons/search.svg.js +3 -3
  65. package/build/icons/search.svg.js.map +1 -1
  66. package/build/icons/star-filled.svg.js +3 -3
  67. package/build/icons/star-filled.svg.js.map +1 -1
  68. package/build/icons/star.svg.js +3 -3
  69. package/build/icons/star.svg.js.map +1 -1
  70. package/build/icons/triangle-right.svg.js +3 -3
  71. package/build/icons/triangle-right.svg.js.map +1 -1
  72. package/build/icons/verification.svg.js +3 -3
  73. package/build/icons/verification.svg.js.map +1 -1
  74. package/build/icons/warning-circle.svg.js +3 -3
  75. package/build/icons/warning-circle.svg.js.map +1 -1
  76. package/build/inputs/ActionButton/ActionButton.js +11 -22
  77. package/build/inputs/ActionButton/ActionButton.js.map +1 -1
  78. package/build/inputs/ActionButton/ActionButton.styled.js +5 -54
  79. package/build/inputs/ActionButton/ActionButton.styled.js.map +1 -1
  80. package/build/inputs/Button/Button.js +125 -121
  81. package/build/inputs/Button/Button.js.map +1 -1
  82. package/build/inputs/Button/Button.styled.js +42 -260
  83. package/build/inputs/Button/Button.styled.js.map +1 -1
  84. package/build/inputs/Checkbox/Checkbox.js +45 -61
  85. package/build/inputs/Checkbox/Checkbox.js.map +1 -1
  86. package/build/inputs/Checkbox/Checkbox.styled.js +24 -153
  87. package/build/inputs/Checkbox/Checkbox.styled.js.map +1 -1
  88. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +106 -111
  89. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js.map +1 -1
  90. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js +88 -273
  91. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js.map +1 -1
  92. package/build/inputs/CompactStarRating/CompactStarRating.js +56 -77
  93. package/build/inputs/CompactStarRating/CompactStarRating.js.map +1 -1
  94. package/build/inputs/CompactStarRating/CompactStarRating.styled.js +32 -211
  95. package/build/inputs/CompactStarRating/CompactStarRating.styled.js.map +1 -1
  96. package/build/inputs/CompactTextInput/CompactTextInput.js +86 -105
  97. package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -1
  98. package/build/inputs/CompactTextInput/CompactTextInput.styled.js +55 -258
  99. package/build/inputs/CompactTextInput/CompactTextInput.styled.js.map +1 -1
  100. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js +70 -77
  101. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js.map +1 -1
  102. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js +28 -60
  103. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js.map +1 -1
  104. package/build/inputs/MultiLevelCheckbox/types.js +12 -12
  105. package/build/inputs/MultiLevelCheckbox/types.js.map +1 -1
  106. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +69 -73
  107. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js.map +1 -1
  108. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js +44 -87
  109. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js.map +1 -1
  110. package/build/inputs/MultiSelect/MultiSelect.js +69 -79
  111. package/build/inputs/MultiSelect/MultiSelect.js.map +1 -1
  112. package/build/inputs/MultiSelect/MultiSelect.styled.js +70 -76
  113. package/build/inputs/MultiSelect/MultiSelect.styled.js.map +1 -1
  114. package/build/inputs/Radio/Radio.js +20 -33
  115. package/build/inputs/Radio/Radio.js.map +1 -1
  116. package/build/inputs/Radio/Radio.styled.js +15 -96
  117. package/build/inputs/Radio/Radio.styled.js.map +1 -1
  118. package/build/inputs/Switch/Switch.js +28 -40
  119. package/build/inputs/Switch/Switch.js.map +1 -1
  120. package/build/inputs/Switch/Switch.styled.js +24 -94
  121. package/build/inputs/Switch/Switch.styled.js.map +1 -1
  122. package/build/inputs/TextArea/TextArea.js +98 -123
  123. package/build/inputs/TextArea/TextArea.js.map +1 -1
  124. package/build/inputs/TextArea/TextArea.styled.js +64 -379
  125. package/build/inputs/TextArea/TextArea.styled.js.map +1 -1
  126. package/build/inputs/TextInput/TextInput.js +59 -79
  127. package/build/inputs/TextInput/TextInput.js.map +1 -1
  128. package/build/inputs/TextInput/TextInput.styled.js +33 -224
  129. package/build/inputs/TextInput/TextInput.styled.js.map +1 -1
  130. package/build/layout/InputGroup/InputGroup.js +6 -9
  131. package/build/layout/InputGroup/InputGroup.js.map +1 -1
  132. package/build/layout/InputGroup/InputGroup.styled.js +4 -3
  133. package/build/layout/InputGroup/InputGroup.styled.js.map +1 -1
  134. package/build/layout/InputGroup/index.js +2 -0
  135. package/build/layout/InputGroup/index.js.map +1 -0
  136. package/build/layout/SectionSeparator/SectionSeparator.js +5 -9
  137. package/build/layout/SectionSeparator/SectionSeparator.js.map +1 -1
  138. package/build/layout/SectionSeparator/SectionSeparator.styled.js +4 -8
  139. package/build/layout/SectionSeparator/SectionSeparator.styled.js.map +1 -1
  140. package/build/styles/utils/colors-export.d.ts +54 -0
  141. package/build/styles/utils/colors-export.js.map +1 -1
  142. package/build/utils/dateTime.js.map +1 -1
  143. package/build/utils/defaultTheme.js +14 -28
  144. package/build/utils/defaultTheme.js.map +1 -1
  145. package/build/utils/getElementRef.js +14 -0
  146. package/build/utils/getElementRef.js.map +1 -0
  147. package/build/utils/parseTrigger.js +16 -0
  148. package/build/utils/parseTrigger.js.map +1 -0
  149. package/build/widgets/AssetAction/AssetAction.js +26 -33
  150. package/build/widgets/AssetAction/AssetAction.js.map +1 -1
  151. package/build/widgets/AssetAction/AssetAction.styled.js +20 -34
  152. package/build/widgets/AssetAction/AssetAction.styled.js.map +1 -1
  153. package/build/widgets/AssetActionsBase/AssetActionsBase.js +8 -13
  154. package/build/widgets/AssetActionsBase/AssetActionsBase.js.map +1 -1
  155. package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js +4 -9
  156. package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js.map +1 -1
  157. package/build/widgets/AssetGallery/AssetGallery.js +15 -40
  158. package/build/widgets/AssetGallery/AssetGallery.js.map +1 -1
  159. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js +55 -70
  160. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js.map +1 -1
  161. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js +12 -24
  162. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js.map +1 -1
  163. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +146 -122
  164. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -1
  165. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +99 -286
  166. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -1
  167. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +170 -125
  168. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -1
  169. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +135 -364
  170. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -1
  171. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +20 -21
  172. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js.map +1 -1
  173. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js +20 -71
  174. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js.map +1 -1
  175. package/build/widgets/ContextMenu/ContextMenu.js +12 -11
  176. package/build/widgets/ContextMenu/ContextMenu.js.map +1 -1
  177. package/build/widgets/ContextMenu/ContextMenu.styled.js +4 -4
  178. package/build/widgets/ContextMenu/ContextMenu.styled.js.map +1 -1
  179. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js +17 -25
  180. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js.map +1 -1
  181. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js +16 -71
  182. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js.map +1 -1
  183. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +7 -11
  184. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js.map +1 -1
  185. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js +4 -11
  186. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js.map +1 -1
  187. package/build/widgets/InfoCard/InfoCard.js +26 -21
  188. package/build/widgets/InfoCard/InfoCard.js.map +1 -1
  189. package/build/widgets/InfoCard/InfoCard.styled.js +36 -84
  190. package/build/widgets/InfoCard/InfoCard.styled.js.map +1 -1
  191. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.js +28 -34
  192. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.js.map +1 -1
  193. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.js +21 -57
  194. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.js.map +1 -1
  195. package/build/widgets/InstructionSeverityDisplay/index.js +2 -0
  196. package/build/widgets/InstructionSeverityDisplay/index.js.map +1 -0
  197. package/build/widgets/Instructions/Instructions.js +53 -95
  198. package/build/widgets/Instructions/Instructions.js.map +1 -1
  199. package/build/widgets/Instructions/Instructions.styled.js +27 -26
  200. package/build/widgets/Instructions/Instructions.styled.js.map +1 -1
  201. package/build/widgets/ProgressBar/ProgressBar.js +39 -37
  202. package/build/widgets/ProgressBar/ProgressBar.js.map +1 -1
  203. package/build/widgets/ProgressBar/ProgressBar.styled.js +56 -125
  204. package/build/widgets/ProgressBar/ProgressBar.styled.js.map +1 -1
  205. package/build/widgets/SummaryCard/SummaryCard.js +55 -64
  206. package/build/widgets/SummaryCard/SummaryCard.js.map +1 -1
  207. package/build/widgets/SummaryCard/SummaryCard.styled.js +51 -106
  208. package/build/widgets/SummaryCard/SummaryCard.styled.js.map +1 -1
  209. package/package.json +84 -36
  210. package/styles/utils/colors-export.d.ts +54 -0
  211. package/types/components/data/Alert/Alert.d.ts +76 -0
  212. package/types/components/data/Alert/Alert.styled.d.ts +52 -0
  213. package/types/components/data/Alert/index.d.ts +1 -0
  214. package/types/components/data/Badge/Badge.d.ts +120 -0
  215. package/types/components/data/Badge/Badge.styled.d.ts +33 -0
  216. package/types/components/data/Badge/index.d.ts +1 -0
  217. package/types/components/data/Popover/Popover.d.ts +116 -0
  218. package/types/components/data/Popover/Popover.styled.d.ts +15 -0
  219. package/types/components/data/Popover/index.d.ts +1 -0
  220. package/types/components/data/SeverityBadge/SeverityBadge.d.ts +72 -0
  221. package/types/components/data/SeverityBadge/index.d.ts +1 -0
  222. package/types/components/data/Tab/Tab.d.ts +14 -0
  223. package/types/components/data/Tab/Tab.styled.d.ts +1 -0
  224. package/types/components/data/Tab/index.d.ts +1 -0
  225. package/types/components/data/Tabs/Tabs.d.ts +111 -0
  226. package/types/components/data/Tabs/Tabs.styled.d.ts +26 -0
  227. package/types/components/data/Tabs/index.d.ts +1 -0
  228. package/types/components/data/Tooltip/Tooltip.d.ts +88 -0
  229. package/types/components/data/Tooltip/Tooltip.styled.d.ts +8 -0
  230. package/types/components/data/Tooltip/index.d.ts +1 -0
  231. package/types/components/data/VerificationStatusIcon/VerificationStatusIcon.d.ts +35 -0
  232. package/types/components/data/VerificationStatusIcon/VerificationStatusIcon.styled.d.ts +27 -0
  233. package/types/components/data/VerificationStatusIcon/index.d.ts +1 -0
  234. package/types/components/data/_shared/FloatingArrow.styled.d.ts +29 -0
  235. package/types/components/data/index.d.ts +8 -0
  236. package/types/components/index.d.ts +3 -0
  237. package/types/components/inputs/ActionButton/ActionButton.d.ts +55 -0
  238. package/types/components/inputs/ActionButton/ActionButton.styled.d.ts +16 -0
  239. package/types/components/inputs/ActionButton/index.d.ts +1 -0
  240. package/types/components/inputs/Button/Button.d.ts +82 -0
  241. package/types/components/inputs/Button/Button.styled.d.ts +60 -0
  242. package/types/components/inputs/Button/index.d.ts +1 -0
  243. package/types/components/inputs/Checkbox/Checkbox.d.ts +83 -0
  244. package/types/components/inputs/Checkbox/Checkbox.styled.d.ts +29 -0
  245. package/types/components/inputs/Checkbox/index.d.ts +1 -0
  246. package/types/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.d.ts +242 -0
  247. package/types/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.d.ts +104 -0
  248. package/types/components/inputs/CompactAutocompleteSelect/index.d.ts +1 -0
  249. package/types/components/inputs/CompactStarRating/CompactStarRating.d.ts +96 -0
  250. package/types/components/inputs/CompactStarRating/CompactStarRating.styled.d.ts +34 -0
  251. package/types/components/inputs/CompactStarRating/index.d.ts +1 -0
  252. package/types/components/inputs/CompactTextInput/CompactTextInput.d.ts +116 -0
  253. package/types/components/inputs/CompactTextInput/CompactTextInput.styled.d.ts +42 -0
  254. package/types/components/inputs/CompactTextInput/index.d.ts +1 -0
  255. package/types/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.d.ts +41 -0
  256. package/types/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.d.ts +13 -0
  257. package/types/components/inputs/MultiLevelCheckbox/index.d.ts +2 -0
  258. package/types/components/inputs/MultiLevelCheckbox/types.d.ts +29 -0
  259. package/types/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.d.ts +44 -0
  260. package/types/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.d.ts +11 -0
  261. package/types/components/inputs/MultiLevelCheckboxSelect/index.d.ts +1 -0
  262. package/types/components/inputs/MultiSelect/MultiSelect.d.ts +115 -0
  263. package/types/components/inputs/MultiSelect/MultiSelect.styled.d.ts +34 -0
  264. package/types/components/inputs/MultiSelect/index.d.ts +1 -0
  265. package/types/components/inputs/Radio/Radio.d.ts +65 -0
  266. package/types/components/inputs/Radio/Radio.styled.d.ts +11 -0
  267. package/types/components/inputs/Radio/index.d.ts +1 -0
  268. package/types/components/inputs/Switch/Switch.d.ts +62 -0
  269. package/types/components/inputs/Switch/Switch.styled.d.ts +16 -0
  270. package/types/components/inputs/Switch/index.d.ts +1 -0
  271. package/types/components/inputs/TextArea/TextArea.d.ts +120 -0
  272. package/types/components/inputs/TextArea/TextArea.styled.d.ts +93 -0
  273. package/types/components/inputs/TextArea/index.d.ts +1 -0
  274. package/types/components/inputs/TextInput/TextInput.d.ts +109 -0
  275. package/types/components/inputs/TextInput/TextInput.styled.d.ts +43 -0
  276. package/types/components/inputs/TextInput/index.d.ts +1 -0
  277. package/types/components/inputs/index.d.ts +13 -0
  278. package/types/components/layout/InputGroup/InputGroup.d.ts +31 -0
  279. package/types/components/layout/InputGroup/InputGroup.styled.d.ts +1 -0
  280. package/types/components/layout/InputGroup/index.d.ts +1 -0
  281. package/types/components/layout/SectionSeparator/SectionSeparator.d.ts +28 -0
  282. package/types/components/layout/SectionSeparator/SectionSeparator.styled.d.ts +7 -0
  283. package/types/components/layout/SectionSeparator/index.d.ts +1 -0
  284. package/types/components/layout/index.d.ts +2 -0
  285. package/types/components/widgets/AssetAction/AssetAction.d.ts +16 -0
  286. package/types/components/widgets/AssetAction/AssetAction.styled.d.ts +15 -0
  287. package/types/components/widgets/AssetAction/index.d.ts +1 -0
  288. package/types/components/widgets/AssetActionsBase/AssetActionsBase.d.ts +25 -0
  289. package/types/components/widgets/AssetActionsBase/AssetActionsBase.styled.d.ts +1 -0
  290. package/types/components/widgets/AssetActionsBase/index.d.ts +1 -0
  291. package/types/components/widgets/AssetGallery/AssetGallery.d.ts +170 -0
  292. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.d.ts +76 -0
  293. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.d.ts +3 -0
  294. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.d.ts +3 -0
  295. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.d.ts +52 -0
  296. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.d.ts +2 -0
  297. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.d.ts +49 -0
  298. package/types/components/widgets/AssetGallery/asset.types.d.ts +329 -0
  299. package/types/components/widgets/AssetGallery/index.d.ts +1 -0
  300. package/types/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.d.ts +60 -0
  301. package/types/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.d.ts +21 -0
  302. package/types/components/widgets/AssetPreview/AssetPreviewTopBar/index.d.ts +1 -0
  303. package/types/components/widgets/ContextMenu/ContextMenu.d.ts +118 -0
  304. package/types/components/widgets/ContextMenu/ContextMenu.styled.d.ts +1 -0
  305. package/types/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.d.ts +45 -0
  306. package/types/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.d.ts +18 -0
  307. package/types/components/widgets/ContextMenu/ContextMenuItem/index.d.ts +1 -0
  308. package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.d.ts +23 -0
  309. package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.d.ts +1 -0
  310. package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/index.d.ts +1 -0
  311. package/types/components/widgets/ContextMenu/index.d.ts +1 -0
  312. package/types/components/widgets/InfoCard/InfoCard.d.ts +33 -0
  313. package/types/components/widgets/InfoCard/InfoCard.styled.d.ts +28 -0
  314. package/types/components/widgets/InfoCard/index.d.ts +1 -0
  315. package/types/components/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.d.ts +46 -0
  316. package/types/components/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.d.ts +30 -0
  317. package/types/components/widgets/InstructionSeverityDisplay/index.d.ts +1 -0
  318. package/types/components/widgets/Instructions/Instructions.d.ts +156 -0
  319. package/types/components/widgets/Instructions/Instructions.styled.d.ts +14 -0
  320. package/types/components/widgets/Instructions/index.d.ts +1 -0
  321. package/types/components/widgets/ProgressBar/ProgressBar.d.ts +30 -0
  322. package/types/components/widgets/ProgressBar/ProgressBar.styled.d.ts +41 -0
  323. package/types/components/widgets/ProgressBar/index.d.ts +1 -0
  324. package/types/components/widgets/SummaryCard/SummaryCard.d.ts +83 -0
  325. package/types/components/widgets/SummaryCard/SummaryCard.styled.d.ts +29 -0
  326. package/types/components/widgets/SummaryCard/index.d.ts +1 -0
  327. package/types/components/widgets/index.d.ts +11 -0
  328. package/types/hooks/useElementSize.d.ts +14 -0
  329. package/types/hooks/useEventListner.d.ts +14 -0
  330. package/types/hooks/useFloatingPopover.d.ts +161 -0
  331. package/types/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  332. package/types/hooks/useOnClickOutside.d.ts +13 -0
  333. package/types/hooks/useTooltipAutoShow.d.ts +31 -0
  334. package/types/icons/index.d.ts +41 -0
  335. package/types/ssr/index.d.ts +1 -0
  336. package/types/styles/utils/colors-export.d.ts +54 -0
  337. package/types/utils/dateTime.d.ts +8 -0
  338. package/types/utils/defaultTheme.d.ts +95 -0
  339. package/types/utils/getElementRef.d.ts +2 -0
  340. package/types/utils/parseTrigger.d.ts +22 -0
  341. package/build/_virtual/_rollupPluginBabelHelpers.js +0 -12
  342. package/build/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  343. package/build/widgets/AssetGallery/asset.propType.js +0 -56
  344. package/build/widgets/AssetGallery/asset.propType.js.map +0 -1
@@ -0,0 +1,329 @@
1
+ import PropTypes from 'prop-types';
2
+ import type { DragEvent, MouseEvent as ReactMouseEvent, ReactElement, ReactNode } from 'react';
3
+ /**
4
+ * The asset contract — consumers build these objects rather than passing them as props.
5
+ *
6
+ * The interfaces are the source of truth; the propTypes at the bottom are legacy but still
7
+ * evaluated at runtime on React 16, so they cannot be deleted yet. Members marked `@recovered`
8
+ * were never declared by the propTypes but are read at runtime — grep `asset.<name>` before
9
+ * adding one, since a missing member becomes a compile error at the consumer's call site.
10
+ * `Asset` is meant to be extended (`interface MyAsset extends Asset { credit: string }`).
11
+ * The `AssetAction` interface here is unrelated to the `AssetAction` component in the widgets
12
+ * barrel; they never meet because this module is not re-exported there.
13
+ */
14
+ /** Identity and React key; must be `string | number`. */
15
+ export type AssetKey = string | number;
16
+ /** Cards lowercase before checking; `renderMediaBadge` does not, causing inconsistency. */
17
+ export type AssetFileType = 'image' | 'video' | 'pdf' | 'file' | 'audio';
18
+ /**
19
+ * Declared corner for the file-type glyph.
20
+ *
21
+ * NOTHING IN THE LIBRARY READS THIS. It is part of the published propTypes and
22
+ * therefore part of the published API, so it is recorded rather than dropped —
23
+ * removing it is a deliberate API change and belongs in its own commit.
24
+ */
25
+ export type AssetFileTypeIconPosition = 'top-left' | 'top-right';
26
+ /** Usage-restriction level (1=info, 5=highly restricted); controls badge styling. */
27
+ export type AssetInstructionSeverity = 1 | 2 | 3 | 4 | 5;
28
+ /**
29
+ * Which of the two things a computed row entry is: a real asset card, or the
30
+ * group heading `AssetGalleryBase` synthesises above the first asset of a group.
31
+ */
32
+ export type AssetLayoutType = 'groupLabel' | 'asset';
33
+ /**
34
+ * How a note is styled on the compact card. `'error'` gets a red circle; every
35
+ * other value gets the neutral grey one, because
36
+ * `AssetGalleryCompactCard.styled` only ever tests `type === 'error'`.
37
+ *
38
+ * @recovered `AssetGalleryCompactCard.tsx` reads `asset?.note?.type`; the value
39
+ * set comes from `AssetGallery.stories.tsx`.
40
+ */
41
+ export type AssetNoteType = 'error' | 'warning' | 'info';
42
+ /**
43
+ * A short note about the asset.
44
+ *
45
+ * THE propTypes AND THE RUNTIME DISAGREE ABOUT THIS SHAPE, and both halves are
46
+ * recorded because a consumer can reach both:
47
+ *
48
+ * - `title` and `type` are what `AssetGalleryCompactCard` actually reads (a
49
+ * warning glyph, coloured by `type`) and what all three note stories pass.
50
+ * - `icon` and `message` are what the propTypes declared. No component in this
51
+ * library reads either one.
52
+ *
53
+ * Deleting `icon`/`message` is an API removal and wiring them up is a feature;
54
+ * both are decisions for the per-component phase, not for a type-only commit.
55
+ * Until then this interface says what the field can contain.
56
+ */
57
+ export interface AssetNote {
58
+ /** @recovered `AssetGalleryCompactCard.tsx` — presence is what gates the glyph. */
59
+ title?: string;
60
+ /** @recovered `AssetGalleryCompactCard.tsx` — `'error'` is the only value with its own styling. */
61
+ type?: AssetNoteType;
62
+ /** Declared by the propTypes, read by nothing. */
63
+ icon?: ReactElement<any>;
64
+ /** Declared by the propTypes, read by nothing. */
65
+ message?: string;
66
+ }
67
+ /**
68
+ * One entry in an action's dropdown, rendered as a `ContextMenuItem`.
69
+ *
70
+ * NOT THE SAME CALLBACK CONTRACT AS `AssetAction`. `AssetGalleryGridCard` wires
71
+ * `onClick` straight into `ContextMenuItem`'s `onClickEffect`, which becomes a
72
+ * DOM `onClick` — so a sub-action's handler receives the CLICK EVENT, while a
73
+ * top-level action's handler receives the ASSET. The asymmetry is real,
74
+ * pre-existing, and the reason this is a separate interface rather than
75
+ * `AssetAction[]`.
76
+ *
77
+ * @recovered `AssetGalleryGridCard.tsx` reads `action?.subActions`; the
78
+ * propTypes never declared it.
79
+ */
80
+ export interface AssetSubAction {
81
+ title: string;
82
+ icon: ReactElement<any>;
83
+ /** Receives the click event, NOT the asset. See above. */
84
+ onClick: (event: ReactMouseEvent<HTMLElement>) => void;
85
+ }
86
+ /**
87
+ * A button rendered over the asset thumbnail.
88
+ *
89
+ * `title`, `icon` and `onClick` are required — `PropTypes.*.isRequired`,
90
+ * verbatim — and `title` doubles as the tooltip text and as part of the React
91
+ * key, so two actions sharing a title collide.
92
+ */
93
+ export interface AssetAction {
94
+ /** Tooltip text, and part of the action's React key. */
95
+ title: string;
96
+ icon: ReactElement<any>;
97
+ /**
98
+ * Called with the ASSET, not with the event: `AssetGalleryGridCard` stops the
99
+ * event itself and then calls `action.onClick(asset)`.
100
+ */
101
+ onClick: (asset: Asset) => void;
102
+ /**
103
+ * Forwarded to the underlying `ActionButton`'s `className`.
104
+ *
105
+ * WAS `PropTypes.shape` — the *uncalled* factory, not `PropTypes.shape({…})`.
106
+ * The fenced block at the end of this file records what that did.
107
+ */
108
+ className?: string;
109
+ /**
110
+ * Render the action yourself. Called with NO arguments and must return a valid
111
+ * element; the card then clones it with the computed props.
112
+ */
113
+ component?: () => ReactElement<any>;
114
+ /**
115
+ * `[width, height]` in px for the action button.
116
+ *
117
+ * @recovered `AssetGalleryGridCard.tsx` forwards `action.actionWidthHeight` to
118
+ * `ComputedActionButton`. `AssetAction.tsx` declares it in its own
119
+ * propTypes; `assetShape` never did.
120
+ */
121
+ actionWidthHeight?: [number, number];
122
+ /**
123
+ * Turns the action into a dropdown: a `ContextMenu` of `ContextMenuItem`s in a
124
+ * `Popover`, toggled by clicking the action.
125
+ *
126
+ * @recovered `AssetGalleryGridCard.tsx`.
127
+ */
128
+ subActions?: AssetSubAction[];
129
+ }
130
+ /**
131
+ * The hover-summary content, rendered by `AssetGalleryCompactCard` through
132
+ * `SummaryCard`, and used by `AssetGalleryGridCard` for its footer row.
133
+ *
134
+ * The four corner slots are `ReactNode`, so a fragment, a string or `null` all
135
+ * work — all three occur in `AssetGallery.stories.tsx`.
136
+ */
137
+ export interface AssetSummary {
138
+ title?: string;
139
+ description?: string;
140
+ instructions?: string;
141
+ instructionSeverity?: AssetInstructionSeverity;
142
+ headerLeft?: ReactNode;
143
+ headerRight?: ReactNode;
144
+ /** Read by BOTH cards — the grid card renders it in `CardFooter` directly. */
145
+ footerLeft?: ReactNode;
146
+ /** Read by BOTH cards — the grid card renders it in `CardFooter` directly. */
147
+ footerRight?: ReactNode;
148
+ }
149
+ /**
150
+ * Where `AssetGalleryBase` decided to put this asset. Computed, never supplied:
151
+ * the gallery clones every asset with a `layout` before handing it to a card, so
152
+ * a consumer neither sets this nor sees it — except inside a `component(asset)`
153
+ * callback, which receives the cloned object.
154
+ *
155
+ * `width` / `height` / `translateX` / `translateY` are REQUIRED because that is
156
+ * what the propTypes said and what every `type: 'asset'` entry carries. The
157
+ * synthetic `type: 'groupLabel'` entries are built with no `width`, but they are
158
+ * consumed inside `AssetGalleryBase` itself and never reach a card — and a card
159
+ * is the only place `AssetWithLayout` is used. Do not make these optional to
160
+ * accommodate the group labels; give the group labels their own type when
161
+ * `AssetGalleryBase` is typed.
162
+ */
163
+ export interface AssetLayout {
164
+ width: number;
165
+ height: number;
166
+ translateX: number;
167
+ translateY: number;
168
+ type: AssetLayoutType;
169
+ /** Whether the source asset declared both a width and a height. Compact view only. */
170
+ hasHeightAndWidth?: boolean;
171
+ /** Scroll-virtualisation flag: `false` unmounts the card. */
172
+ show?: boolean;
173
+ }
174
+ /**
175
+ * One asset in an `AssetGallery`.
176
+ *
177
+ * Every member except `key` and `fileType` is optional, which matches the
178
+ * propTypes exactly. Consumers are expected to EXTEND this rather than to match
179
+ * it exactly — see point 3 in the file header.
180
+ */
181
+ export interface Asset {
182
+ /** Required. Identity, and the React key. */
183
+ key: AssetKey;
184
+ /** Required. Selects the preview branch — see {@link AssetFileType}. */
185
+ fileType: AssetFileType;
186
+ previewUrl?: string;
187
+ /** Card title and `<img alt>`. */
188
+ title?: string;
189
+ /** Pixel width; drives compact view row aspect ratio (falls back to 1920). */
190
+ width?: number;
191
+ /** Pixel height; drives compact view row aspect ratio (falls back to 1080). */
192
+ height?: number;
193
+ note?: AssetNote;
194
+ /** Consecutive assets sharing this get one heading row above the first. */
195
+ group?: string;
196
+ actions?: AssetAction[];
197
+ /** Top-right glyph on the thumbnail; suppresses the note glyph when set. */
198
+ statusIcon?: ReactElement<any>;
199
+ /** Rendered over everything else on the card; consumer owns positioning. */
200
+ overlay?: ReactElement<any>;
201
+ completed?: boolean;
202
+ hasError?: boolean;
203
+ /** Dims the card but does not prevent click handlers. */
204
+ disabled?: boolean;
205
+ fileTypeIconPosition?: AssetFileTypeIconPosition;
206
+ instructionSeverity?: AssetInstructionSeverity;
207
+ summary?: AssetSummary;
208
+ /** Called with event + asset; skipped in extended-select mode (click selects instead). */
209
+ onClick?: (event: ReactMouseEvent<HTMLElement>, asset: Asset) => void;
210
+ /** Called with event + asset after video preview starts playing. */
211
+ onMouseEnter?: (event: ReactMouseEvent<HTMLElement>, asset: Asset) => void;
212
+ /** Called with native event (not React event); card prevents default before calling. */
213
+ onContextMenu?: (event: MouseEvent) => void;
214
+ /** Duration in MILLISECONDS (not seconds). */
215
+ duration?: number;
216
+ /** Body text under title on grid card and summary card. */
217
+ description?: string;
218
+ /** Usage-restriction text; its presence gates InstructionSeverityDisplay. */
219
+ imageRights?: string;
220
+ /** Severity level → label map, e.g. `{ 1: 'Info', 5: 'Svært begrenset' }`. */
221
+ instructionLabels?: Record<string, string>;
222
+ /** Number of versions, shown in layers badge. */
223
+ versions?: number;
224
+ /** Pre-rendered verification badge (ReactNode, not string); consumer owns markup. */
225
+ verifications?: ReactNode;
226
+ /** Per-asset override of gallery's `selectable` prop; `false` here beats `true` there. */
227
+ selectable?: boolean;
228
+ /** Sets DOM `draggable` attribute on card root. */
229
+ draggable?: boolean;
230
+ /** Called with native drag event; pair with `draggable: true`. */
231
+ onDragstart?: (event: DragEvent) => void;
232
+ }
233
+ /**
234
+ * An asset as a CARD receives it — after `AssetGalleryBase` has computed its
235
+ * position. This is the type of `AssetGalleryGridCard`'s and
236
+ * `AssetGalleryCompactCard`'s `asset` prop; `Asset` is the type of the `assets`
237
+ * array a consumer hands to `AssetGallery`.
238
+ */
239
+ export interface AssetWithLayout extends Asset {
240
+ layout: AssetLayout;
241
+ }
242
+ export declare const assetShape: {
243
+ key: PropTypes.Validator<NonNullable<NonNullable<string | number>>>;
244
+ previewUrl: PropTypes.Requireable<string>;
245
+ title: PropTypes.Requireable<string>;
246
+ note: PropTypes.Requireable<PropTypes.InferProps<{
247
+ icon: PropTypes.Requireable<PropTypes.ReactElementLike>;
248
+ message: PropTypes.Requireable<string>;
249
+ }>>;
250
+ width: PropTypes.Requireable<number>;
251
+ height: PropTypes.Requireable<number>;
252
+ fileType: PropTypes.Validator<string>;
253
+ fileTypeIconPosition: PropTypes.Requireable<string>;
254
+ group: PropTypes.Requireable<string>;
255
+ actions: PropTypes.Requireable<PropTypes.InferProps<{
256
+ title: PropTypes.Validator<string>;
257
+ icon: PropTypes.Validator<PropTypes.ReactElementLike>;
258
+ onClick: PropTypes.Validator<(...args: any[]) => any>;
259
+ className: PropTypes.Requireable<string>;
260
+ component: PropTypes.Requireable<(...args: any[]) => any>;
261
+ }>[]>;
262
+ statusIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
263
+ overlay: PropTypes.Requireable<PropTypes.ReactElementLike>;
264
+ completed: PropTypes.Requireable<boolean>;
265
+ hasError: PropTypes.Requireable<boolean>;
266
+ disabled: PropTypes.Requireable<boolean>;
267
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
268
+ onContextMenu: PropTypes.Requireable<(...args: any[]) => any>;
269
+ onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
270
+ instructionSeverity: PropTypes.Requireable<number>;
271
+ summary: PropTypes.Requireable<PropTypes.InferProps<{
272
+ title: PropTypes.Requireable<string>;
273
+ description: PropTypes.Requireable<string>;
274
+ instructions: PropTypes.Requireable<string>;
275
+ instructionSeverity: PropTypes.Requireable<number>;
276
+ headerLeft: PropTypes.Requireable<PropTypes.ReactNodeLike>;
277
+ headerRight: PropTypes.Requireable<PropTypes.ReactNodeLike>;
278
+ footerLeft: PropTypes.Requireable<PropTypes.ReactNodeLike>;
279
+ footerRight: PropTypes.Requireable<PropTypes.ReactNodeLike>;
280
+ }>>;
281
+ };
282
+ export declare const assetShapeWithLayout: {
283
+ layout: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
284
+ width: PropTypes.Validator<number>;
285
+ height: PropTypes.Validator<number>;
286
+ translateX: PropTypes.Validator<number>;
287
+ translateY: PropTypes.Validator<number>;
288
+ type: PropTypes.Validator<string>;
289
+ hasHeightAndWidth: PropTypes.Requireable<boolean>;
290
+ }>>>;
291
+ key: PropTypes.Validator<NonNullable<NonNullable<string | number>>>;
292
+ previewUrl: PropTypes.Requireable<string>;
293
+ title: PropTypes.Requireable<string>;
294
+ note: PropTypes.Requireable<PropTypes.InferProps<{
295
+ icon: PropTypes.Requireable<PropTypes.ReactElementLike>;
296
+ message: PropTypes.Requireable<string>;
297
+ }>>;
298
+ width: PropTypes.Requireable<number>;
299
+ height: PropTypes.Requireable<number>;
300
+ fileType: PropTypes.Validator<string>;
301
+ fileTypeIconPosition: PropTypes.Requireable<string>;
302
+ group: PropTypes.Requireable<string>;
303
+ actions: PropTypes.Requireable<PropTypes.InferProps<{
304
+ title: PropTypes.Validator<string>;
305
+ icon: PropTypes.Validator<PropTypes.ReactElementLike>;
306
+ onClick: PropTypes.Validator<(...args: any[]) => any>;
307
+ className: PropTypes.Requireable<string>;
308
+ component: PropTypes.Requireable<(...args: any[]) => any>;
309
+ }>[]>;
310
+ statusIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
311
+ overlay: PropTypes.Requireable<PropTypes.ReactElementLike>;
312
+ completed: PropTypes.Requireable<boolean>;
313
+ hasError: PropTypes.Requireable<boolean>;
314
+ disabled: PropTypes.Requireable<boolean>;
315
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
316
+ onContextMenu: PropTypes.Requireable<(...args: any[]) => any>;
317
+ onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
318
+ instructionSeverity: PropTypes.Requireable<number>;
319
+ summary: PropTypes.Requireable<PropTypes.InferProps<{
320
+ title: PropTypes.Requireable<string>;
321
+ description: PropTypes.Requireable<string>;
322
+ instructions: PropTypes.Requireable<string>;
323
+ instructionSeverity: PropTypes.Requireable<number>;
324
+ headerLeft: PropTypes.Requireable<PropTypes.ReactNodeLike>;
325
+ headerRight: PropTypes.Requireable<PropTypes.ReactNodeLike>;
326
+ footerLeft: PropTypes.Requireable<PropTypes.ReactNodeLike>;
327
+ footerRight: PropTypes.Requireable<PropTypes.ReactNodeLike>;
328
+ }>>;
329
+ };
@@ -0,0 +1 @@
1
+ export { default } from './AssetGallery';
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+ import * as S from './AssetPreviewTopBar.styled';
3
+ type AssetPreviewTopBarOwnProps = {
4
+ /**
5
+ * On-click function for the back button
6
+ */
7
+ onBackButtonClick: (...args: any[]) => any;
8
+ /**
9
+ * Translatable text for the back button
10
+ */
11
+ backButtonText: string;
12
+ /**
13
+ * Disable the back button
14
+ */
15
+ disabled?: boolean;
16
+ /**
17
+ * Display the back button as an X instead of an arrow
18
+ */
19
+ backButtonAsClose?: boolean;
20
+ /**
21
+ * Text to be displayed grayed out after the "Back" text – e.g. "Asset selected" in gallery
22
+ */
23
+ leftText?: string;
24
+ /**
25
+ * Add a shadow on the bottom border of the top bar – e.g. in gallery view
26
+ */
27
+ shadow?: boolean;
28
+ /**
29
+ * Add a border on the bottom of the top bar
30
+ */
31
+ border?: boolean;
32
+ /**
33
+ * `Array` of buttons to be placed on the right side of the top bar
34
+ */
35
+ buttons?: React.ReactNode[];
36
+ };
37
+ /**
38
+ * Top bar for asset preview.
39
+ *
40
+ * ### Import
41
+ *
42
+ * ``` js
43
+ * import { AssetPreviewTopBar } from '@ntbjs/react-components/widgets'
44
+ * // or
45
+ * import AssetPreviewTopBar from '@ntbjs/react-components/AssetPreview/AssetPreviewTopBar'
46
+ * ```
47
+ *
48
+ * ### Usage example
49
+ *
50
+ * ``` js
51
+ const button1 = <ActionButton key="btn1"icon={<IconAddCircle />} />;
52
+ const button2 = <Button key="btn2" secondary={true}>Edit</Button>;
53
+ const button3 = <Button key="btn3" secondary={true}>Share</Button>;
54
+ const button4 = <Button key="btn4">Download</Button>;
55
+
56
+ const topBar = <AssetPreviewTopBar backButtonText={t{"Back"}} onBackButtonClick={() => {}} buttons={[button1, button2, button3, button4]} />;
57
+ * ```
58
+ */
59
+ declare const AssetPreviewTopBar: React.ForwardRefExoticComponent<Omit<Omit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, S.AssetPreviewTopBarStyleProps>, never>, "ref">, keyof AssetPreviewTopBarOwnProps> & AssetPreviewTopBarOwnProps & React.RefAttributes<any>>;
60
+ export default AssetPreviewTopBar;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * `disabled` — greys out the back button. Not transient; present in baseline as bare boolean attribute.
3
+ */
4
+ interface AssetPreviewTopBarDisabledStyleProps {
5
+ disabled?: boolean;
6
+ }
7
+ /**
8
+ * Props passed by `AssetPreviewTopBar.tsx` to `<S.AssetPreviewTopBar>`.
9
+ */
10
+ export interface AssetPreviewTopBarStyleProps extends AssetPreviewTopBarDisabledStyleProps {
11
+ /** Swaps `border-bottom` between `1px solid` and `none`. */
12
+ $border?: boolean;
13
+ /** Shadow; evaluated as `props.$shadow && props.theme.themeProp(…)` to produce valid Interpolation. */
14
+ $shadow?: boolean;
15
+ }
16
+ export declare const AssetPreviewTopBar: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, AssetPreviewTopBarStyleProps>, never>> & string;
17
+ export declare const BackButtonContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>>, AssetPreviewTopBarDisabledStyleProps>, never>> & string;
18
+ export declare const BackHoverEffect: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
19
+ export declare const LeftText: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>, never>, never>> & string;
20
+ export declare const ButtonsContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>> & string;
21
+ export {};
@@ -0,0 +1 @@
1
+ export { default } from './AssetPreviewTopBar';
@@ -0,0 +1,118 @@
1
+ import React from 'react';
2
+ type ContextMenuOwnProps = {
3
+ /**
4
+ * An array containing nodes of the `ContextMenuItem` component
5
+ */
6
+ children?: any;
7
+ /**
8
+ * Marks this menu as the sublevel/submenu of another context menu. This is a documented public prop that is currently a no-op; removing it is an API break.
9
+ */
10
+ sublevel?: boolean;
11
+ };
12
+ /**
13
+ * This component wraps around an array of `ContextMenuItems` to display a context menu.
14
+ *
15
+ * In most use-cases, the `ContextMenu` will be wrapped in a `Popover` to provide the functionality for opening/closing and placing the menu.
16
+ * In such cases, send the `ContextMenu` to the `Popover` as its `content` prop.
17
+ *
18
+ * The context menu and sublevels will automatically adjust their placement in relation to the element that opens it
19
+ * based on available space if the provided placement doesn't work. See the `Popover` documentation for further instructions on placement.
20
+ *
21
+ * ### Import
22
+ *
23
+ * ``` js
24
+ * import { ContextMenu } from '@ntbjs/react-components/widgets'
25
+ * // or
26
+ * import ContextMenu from '@ntbjs/react-components/widgets/ContextMenu'
27
+ * ```
28
+ *
29
+ * ### Usage examples
30
+ * #### Plain context menu
31
+ *
32
+ * ``` js
33
+
34
+ const item1 = <ContextMenuItem title="Download" onClick={onClickEffect} key="item-1" />;
35
+ const item2 = <ContextMenuItem title="Delete" icon={<IconDelete />} onClick={onClickEffect} key="item-2" />;
36
+
37
+ <Popover content={<ContextMenu {...args}>{[item1, itemGroup1, item2]}</ContextMenu>} contextMenu={true}>
38
+ Click here to open
39
+ </Popover>
40
+ ```
41
+ *
42
+ * #### Context menu with grouped items
43
+ * Use the `ContextMenuItemsGroup` component to group menu items together. Grouped items will not show borders
44
+ * between themselves, indicating that their actions are related.
45
+ *
46
+ * ``` js
47
+
48
+ const item1 = <ContextMenuItem title="Download" onClick={onClickEffect} key="item-1" />;
49
+ const item2 = <ContextMenuItem title="Delete" icon={<IconDelete />} onClick={onClickEffect} key="item-2" />;
50
+
51
+ const groupItem1 = <ContextMenuItem title="Edit in Mediebank" icon={<IconDesignServices />} onClick={onClickEffect} key="group-item-1" />:
52
+ const groupItem2 = <ContextMenuItem title="Edit in Photoshop" icon={<IconDesignServices />} onClick={onClickEffect} key="group-item-2" />;
53
+ const groupItem3 = <ContextMenuItem title="Edit in Illustrator" icon={<IconDesignServices />} onClick={onClickEffect} key="group-item-3" />;
54
+
55
+ const itemGroup1 = <ContextMenuItemsGroup key="item-group-1">{[groupItem1, groupItem2, groupItem3]}</ContextMenuItemsGroup>;
56
+
57
+ <Popover content={<ContextMenu {...args}>{[item1, itemGroup1, item2]}</ContextMenu>} contextMenu={true}>
58
+ Click here to open
59
+ </Popover>
60
+ ```
61
+ *
62
+ * #### Context menu with sublevels
63
+ * Wrap a `ContextMenuItem` in a `Popover` and pass it a `ContextMenu` as child to create a sublevel/submenu.
64
+ * A sublevel will by default be placed adjacent and aligned with the `ContextMenuItem` which opens it,
65
+ * and adjust automatically based on available space.
66
+ *
67
+ * Set the `contextMenu` and `contextMenuSublevel` props of the `Popover` containing the sublevel to `true`.
68
+ *
69
+ * Set the `opensSublevel` prop of the `ContextMenuItem` containing the sublevel to `true`.
70
+ *
71
+ * ``` js
72
+
73
+ const item1 = <ContextMenuItem title="Download" onClick={onClickEffect} key="item-1" />;
74
+ const item2 = <ContextMenuItem title="Delete" icon={<IconDelete />} onClick={onClickEffect} hoverBackgroundColors={['#fbeae6', '#fbeae6']} key="item-2" />;
75
+
76
+ const subItem1 = <ContextMenuItem title="Edit in Mediebank" icon={<IconDesignServices />} onClick={onClickEffect} key="sub-item-1" />
77
+ const subItem2 = <ContextMenuItem title="Edit in Photoshop" icon={<IconDesignServices />} onClick={onClickEffect} key="sub-item-2" />
78
+ const subItem3 = <ContextMenuItem title="Edit in Illustrator" icon={<IconDesignServices />} onClick={onClickEffect} key="sub-item-3" />
79
+
80
+ const itemWithSublevel = (
81
+ <Popover
82
+ content={
83
+ <ContextMenu sublevel={true}>
84
+ {[subItem1, subItem2, subItem3, subItem4, subItem5]}
85
+ </ContextMenu>
86
+ }
87
+ contextMenu={true}
88
+ contextMenuSublevel={true}
89
+ key="item-3"
90
+ >
91
+ <ContextMenuItem title="Open level 2" opensSublevel={true} />
92
+ </Popover>
93
+ );
94
+
95
+ <Popover content={<ContextMenu {...args}>{[item1, item2, itemWithSublevel]}</ContextMenu>} contextMenu={true}>
96
+ Click here to open
97
+ </Popover>
98
+ ```
99
+ *
100
+ *
101
+ * #### Context menu from a dropdown button
102
+ * When used with a dropdown button, the `Button` component takes care of wrapping the menu items in a `Popover`.
103
+ * Just pass the array of `ContextMenuItems` directly into the `Button` as its children.
104
+ *
105
+ * ``` js
106
+
107
+ const item1 = <ContextMenuItem title="Edit in Mediebank" icon={<IconDesignServices />} onClick={onClickEffect} key="item-1" />;
108
+ const item2 = <ContextMenuItem title="Edit in Photoshop" icon={<IconDesignServices />} onClick={onClickEffect} key="item-2" />;
109
+ const item3 = <ContextMenuItem title="Edit in Illustrator" icon={<IconDesignServices />} onClick={onClickEffect} key="item-3" />;
110
+
111
+ <Button onClick={onClickEffect} dropdownItems={<ContextMenu {...args}>{[item1, item2, item3, item4, item5]}</ContextMenu>}>
112
+ Button text
113
+ </Button>
114
+ ```
115
+ *
116
+ */
117
+ declare const ContextMenu: React.ForwardRefExoticComponent<Omit<Omit<import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>, "ref">, keyof ContextMenuOwnProps> & ContextMenuOwnProps & React.RefAttributes<any>>;
118
+ export default ContextMenu;
@@ -0,0 +1 @@
1
+ export declare const ContextMenu: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>> & string;
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import * as S from './ContextMenuItem.styled';
3
+ type ContextMenuItemOwnProps = {
4
+ /**
5
+ * Menu item text
6
+ */
7
+ title: string;
8
+ /**
9
+ * Optional icon (left side)
10
+ */
11
+ icon?: React.ReactElement<any>;
12
+ /**
13
+ * Function to trigger when the item is clicked
14
+ */
15
+ onClickEffect?: (...args: any[]) => any;
16
+ /**
17
+ * Whether the `ContextMenuItem` opens another `ContextMenu`
18
+ */
19
+ opensSublevel?: boolean;
20
+ /**
21
+ * Array of custom hover text/icon color in the form of hex-strings (e.g. `'#FFFFFF'`).
22
+ * Must contain two colors, where the first is for dark-mode and the second is for light-mode.
23
+ */
24
+ hoverColors?: string[];
25
+ /**
26
+ * Array of custom hover background colors in the form of hex-strings (e.g. `'#FFFFFF'`).
27
+ * Must contain two colors, where the first is for dark-mode and the second is for light-mode.
28
+ */
29
+ hoverBackgroundColors?: string[];
30
+ };
31
+ /**
32
+ * Single context menu item.
33
+ *
34
+ * See the documentation for `ContextMenu` for usage examples.
35
+ *
36
+ * ### Import
37
+ *
38
+ * ``` js
39
+ * import { ContextMenuItem } from '@ntbjs/react-components/widgets/ContextMenu'
40
+ * // or
41
+ * import ContextMenuItem from '@ntbjs/react-components/widgets/ContextMenu/ContextMenuItem'
42
+ * ```
43
+ */
44
+ declare const ContextMenuItem: React.ForwardRefExoticComponent<Omit<Omit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>, S.ContextMenuItemStyleProps>, never>, "ref">, keyof ContextMenuItemOwnProps> & ContextMenuItemOwnProps & React.RefAttributes<any>>;
45
+ export default ContextMenuItem;
@@ -0,0 +1,18 @@
1
+ import type { ReactElement } from 'react';
2
+ /**
3
+ * Props passed by `ContextMenuItem.tsx` to `<S.ContextMenuItem>`.
4
+ */
5
+ export interface ContextMenuItemStyleProps {
6
+ /** React element, read for presence only. */
7
+ $icon?: ReactElement<any>;
8
+ /** Selects right-hand padding (sublevel items have their own chevron). */
9
+ $openssublevel?: boolean;
10
+ /** `[darkModeColor, lightModeColor]` hex strings. */
11
+ $hoverColors?: string[];
12
+ /** Same shape as `$hoverColors`. */
13
+ $hoverBackgroundColors?: string[];
14
+ }
15
+ export declare const ContextMenuItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>, ContextMenuItemStyleProps>, never>> & string;
16
+ export declare const IconContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>, never>, never>> & string;
17
+ export declare const SublevelIconContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>, never>, never>> & string;
18
+ export declare const Label: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
@@ -0,0 +1 @@
1
+ export { default } from './ContextMenuItem';
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ type ContextMenuItemsGroupOwnProps = {
3
+ /**
4
+ * Nodes of the `ContextMenuItem` component — one, or an array.
5
+ */
6
+ children?: React.ReactNode;
7
+ };
8
+ /**
9
+ * Simple wrapper for a group of context menu items. These will be displayed without a border between each item.
10
+ *
11
+ * See the documentation for `ContextMenu` for an example.
12
+ *
13
+ * ### Import
14
+ *
15
+ * ``` js
16
+ * import { ContextMenuItemsGroup } from '@ntbjs/react-components/widgets/ContextMenu'
17
+ * // or
18
+ * import ContextMenuItemsGroup from '@ntbjs/react-components/widgets/ContextMenu/ContextMenuItemsGroup'
19
+ * ```
20
+ *
21
+ */
22
+ declare const ContextMenuItemsGroup: React.ForwardRefExoticComponent<Omit<Omit<import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>, "ref">, "children"> & ContextMenuItemsGroupOwnProps & React.RefAttributes<any>>;
23
+ export default ContextMenuItemsGroup;
@@ -0,0 +1 @@
1
+ export declare const ContextMenuItemsGroup: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>> & string;
@@ -0,0 +1 @@
1
+ export { default } from './ContextMenuItemsGroup';
@@ -0,0 +1 @@
1
+ export { default } from './ContextMenu';