@ntbjs/react-components 2.0.13 → 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 -120
  163. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -1
  164. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +99 -285
  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":"SeverityBadge.js","sources":["../../../src/components/data/SeverityBadge/SeverityBadge.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Badge from '../Badge/Badge';\n\nconst InformationIcon = () => (\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M6 11C3.2385 11 1 8.7615 1 6C1 3.2385 3.2385 1 6 1C8.7615 1 11 3.2385 11 6C11 8.7615 8.7615 11 6 11ZM6 10C7.06087 10 8.07828 9.57857 8.82843 8.82843C9.57857 8.07828 10 7.06087 10 6C10 4.93913 9.57857 3.92172 8.82843 3.17157C8.07828 2.42143 7.06087 2 6 2C4.93913 2 3.92172 2.42143 3.17157 3.17157C2.42143 3.92172 2 4.93913 2 6C2 7.06087 2.42143 8.07828 3.17157 8.82843C3.92172 9.57857 4.93913 10 6 10ZM5.5 3.5H6.5V4.5H5.5V3.5ZM5.5 5.5H6.5V8.5H5.5V5.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst SEVERITY_BADGE_STYLES = {\n 1: {\n backgroundColors: ['#272727', '#ffffff'],\n colors: ['#d9dce0', '#202435'],\n borderColors: ['#3a3a3a', '#ece4e1']\n },\n 2: {\n backgroundColors: ['#272727', '#ffffff'],\n colors: ['#d9dce0', '#202435'],\n borderColors: ['#3a3a3a', '#ece4e1']\n },\n 3: {\n backgroundColors: ['#2e2301', '#faeeb3'],\n colors: ['#eab308', '#78350F']\n },\n 4: {\n backgroundColors: ['#2e2301', '#faeeb3'],\n colors: ['#eab308', '#78350F']\n },\n 5: {\n backgroundColors: ['#7E1B1B', 'rgba(182, 41, 2, 0.1)'],\n colors: ['#e8d5d6', '#b62902']\n }\n};\n\n/**\n * A severity-aware badge that maps a severity level (1-5) to the appropriate\n * color scheme and icon. Thin wrapper around Badge.\n *\n * ### Import\n *\n * ```js\n * import { SeverityBadge } from \"@ntbjs/react-components/data\";\n * // named exports for advanced use\n * ```\n */\nconst SeverityBadge = React.forwardRef(function SeverityBadge(\n {\n severity,\n label,\n icon,\n fontSize = 12,\n fontWeight = 500,\n height = 24,\n horizontalPadding = 8,\n verticalPadding = 2,\n ...rest\n },\n forwardedRef\n) {\n const style = SEVERITY_BADGE_STYLES[severity] || SEVERITY_BADGE_STYLES[1];\n\n return (\n <Badge\n ref={forwardedRef}\n badgeIcon={icon === undefined ? <InformationIcon /> : icon}\n badgeContent={label}\n backgroundColors={style.backgroundColors}\n colors={style.colors}\n borderColors={style.borderColors}\n fontSize={fontSize}\n fontWeight={fontWeight}\n height={height}\n horizontalPadding={horizontalPadding}\n verticalPadding={verticalPadding}\n {...rest}\n />\n );\n});\n\nSeverityBadge.propTypes = {\n /** Severity level (1-5). 1-2 = Info, 3-4 = Limited use, 5 = Highly restricted. */\n severity: PropTypes.oneOf([1, 2, 3, 4, 5]).isRequired,\n /** Badge content — string or JSX node (e.g. label with remove button). */\n label: PropTypes.node.isRequired,\n /** Override the default information icon. Pass null to suppress. */\n icon: PropTypes.node,\n /** Font size in pixels. */\n fontSize: PropTypes.number,\n /** Font weight. */\n fontWeight: PropTypes.number,\n /** Badge height in pixels. */\n height: PropTypes.number,\n /** Left and right padding in pixels. */\n horizontalPadding: PropTypes.number,\n /** Top and bottom padding in pixels. */\n verticalPadding: PropTypes.number\n};\n\nexport default SeverityBadge;\n"],"names":["InformationIcon","React","createElement","width","height","viewBox","fill","xmlns","d","SEVERITY_BADGE_STYLES","backgroundColors","colors","borderColors","SeverityBadge","forwardRef","severity","label","icon","fontSize","fontWeight","horizontalPadding","verticalPadding","rest","forwardedRef","style","Badge","_extends","ref","badgeIcon","undefined","badgeContent","propTypes","process","env","NODE_ENV","PropTypes","oneOf","isRequired","node","number"],"mappings":"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"}
1
+ {"version":3,"file":"SeverityBadge.js","sources":["../../../src/components/data/SeverityBadge/SeverityBadge.tsx"],"sourcesContent":["import React from 'react';\nimport Badge from '../Badge/Badge';\n\nconst InformationIcon = () => (\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M6 11C3.2385 11 1 8.7615 1 6C1 3.2385 3.2385 1 6 1C8.7615 1 11 3.2385 11 6C11 8.7615 8.7615 11 6 11ZM6 10C7.06087 10 8.07828 9.57857 8.82843 8.82843C9.57857 8.07828 10 7.06087 10 6C10 4.93913 9.57857 3.92172 8.82843 3.17157C8.07828 2.42143 7.06087 2 6 2C4.93913 2 3.92172 2.42143 3.17157 3.17157C2.42143 3.92172 2 4.93913 2 6C2 7.06087 2.42143 8.07828 3.17157 8.82843C3.92172 9.57857 4.93913 10 6 10ZM5.5 3.5H6.5V4.5H5.5V3.5ZM5.5 5.5H6.5V8.5H5.5V5.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\n/**\n * NMB-3998 playbook §E.3 defect #9: `style.borderColors` was read unconditionally while\n * only severities 1 and 2 define it, so `<Badge borderColors={undefined} />` is what\n * severities 3, 4 and 5 have always passed. That is TS2339 on the read.\n *\n * The asymmetry is REPORTED, NOT \"FIXED\", because both of §E.3's suggested fixes are\n * product decisions that change rendered output: inventing border colours for 3-5 adds a\n * 1px border that has never been there (`Badge` applies one only \"when provided\"), and\n * deleting the read removes the border severities 1-2 do have. Neither is derivable from\n * this repository, so per §E.1 rule 2 the type records what the code DOES instead: the\n * member is optional. `Badge.borderColors` is already `string[] | undefined`, so passing\n * `undefined` was always well-typed at the receiving end — only the read was not.\n *\n * This annotation is type-only. It emits identical JavaScript and cannot move the\n * baseline. If the missing borders turn out to be the bug, that is a visual change and\n * belongs with C10's re-record.\n */\ntype SeverityBadgeStyle = {\n backgroundColors: string[];\n colors: string[];\n borderColors?: string[];\n};\n\nconst SEVERITY_BADGE_STYLES: Record<1 | 2 | 3 | 4 | 5, SeverityBadgeStyle> = {\n 1: {\n backgroundColors: ['#272727', '#ffffff'],\n colors: ['#d9dce0', '#202435'],\n borderColors: ['#3a3a3a', '#ece4e1']\n },\n 2: {\n backgroundColors: ['#272727', '#ffffff'],\n colors: ['#d9dce0', '#202435'],\n borderColors: ['#3a3a3a', '#ece4e1']\n },\n 3: {\n backgroundColors: ['#2e2301', '#faeeb3'],\n colors: ['#eab308', '#78350F']\n },\n 4: {\n backgroundColors: ['#2e2301', '#faeeb3'],\n colors: ['#eab308', '#78350F']\n },\n 5: {\n backgroundColors: ['#7E1B1B', 'rgba(182, 41, 2, 0.1)'],\n colors: ['#e8d5d6', '#b62902']\n }\n};\n\ntype SeverityBadgeOwnProps = {\n /** Severity level (1-5). 1-2 = Info, 3-4 = Limited use, 5 = Highly restricted. */\n severity: 1 | 2 | 3 | 4 | 5;\n /** Badge content — string or JSX node (e.g. label with remove button). */\n label: React.ReactNode;\n /** Override the default information icon. Pass null to suppress. */\n icon?: React.ReactNode;\n /** Font size in pixels. */\n fontSize?: number;\n /** Font weight. */\n fontWeight?: number;\n /** Badge height in pixels. */\n height?: number;\n /** Left and right padding in pixels. */\n horizontalPadding?: number;\n /** Top and bottom padding in pixels. */\n verticalPadding?: number;\n};\n\n/*\n * NMB-3998 §C.2: `rest` is spread onto `Badge`, 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 SeverityBadgeOwnProps`);\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 SeverityBadgeProps = Omit<\n React.ComponentPropsWithoutRef<typeof Badge>,\n keyof SeverityBadgeOwnProps\n> &\n SeverityBadgeOwnProps;\n\n/**\n * A severity-aware badge that maps a severity level (1-5) to the appropriate\n * color scheme and icon. Thin wrapper around Badge.\n *\n * ### Import\n *\n * ```js\n * import { SeverityBadge } from \"@ntbjs/react-components/data\";\n * // named exports for advanced use\n * ```\n */\nconst SeverityBadge = React.forwardRef<any, SeverityBadgeProps>(function SeverityBadge(\n {\n severity,\n label,\n icon,\n fontSize = 12,\n fontWeight = 500,\n height = 24,\n horizontalPadding = 8,\n verticalPadding = 2,\n ...rest\n },\n forwardedRef\n) {\n const style = SEVERITY_BADGE_STYLES[severity] || SEVERITY_BADGE_STYLES[1];\n\n return (\n <Badge\n ref={forwardedRef}\n badgeIcon={icon === undefined ? <InformationIcon /> : icon}\n badgeContent={label}\n backgroundColors={style.backgroundColors}\n colors={style.colors}\n borderColors={style.borderColors}\n fontSize={fontSize}\n fontWeight={fontWeight}\n height={height}\n horizontalPadding={horizontalPadding}\n verticalPadding={verticalPadding}\n {...rest}\n />\n );\n});\n\nexport default SeverityBadge;\n"],"names":["InformationIcon","_jsx","width","height","viewBox","fill","xmlns","children","d","SEVERITY_BADGE_STYLES","backgroundColors","colors","borderColors","SeverityBadge","React","forwardRef","severity","label","icon","fontSize","fontWeight","horizontalPadding","verticalPadding","rest","forwardedRef","style","Badge","ref","badgeIcon","undefined","badgeContent"],"mappings":";;;;AAGA,MAAMA,eAAe,GAAGA,MACtBC,GAAA,CAAA,KAAA,EAAA;AAAKC,EAAAA,KAAK,EAAC,IAAI;AAACC,EAAAA,MAAM,EAAC,IAAI;AAACC,EAAAA,OAAO,EAAC,WAAW;AAACC,EAAAA,IAAI,EAAC,MAAM;AAACC,EAAAA,KAAK,EAAC,4BAA4B;AAAAC,EAAAA,QAAA,EAC5FN,GAAA,CAAA,MAAA,EAAA;AACEO,IAAAA,CAAC,EAAC,ocAAoc;AACtcH,IAAAA,IAAI,EAAC;GACN;AAAC,CACC,CACN;AAyBD,MAAMI,qBAAoE,GAAG;AAC3E,EAAA,CAAC,EAAE;AACDC,IAAAA,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AACxCC,IAAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AAC9BC,IAAAA,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS;GACpC;AACD,EAAA,CAAC,EAAE;AACDF,IAAAA,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AACxCC,IAAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AAC9BC,IAAAA,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS;GACpC;AACD,EAAA,CAAC,EAAE;AACDF,IAAAA,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AACxCC,IAAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS;GAC9B;AACD,EAAA,CAAC,EAAE;AACDD,IAAAA,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AACxCC,IAAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS;GAC9B;AACD,EAAA,CAAC,EAAE;AACDD,IAAAA,gBAAgB,EAAE,CAAC,SAAS,EAAE,uBAAuB,CAAC;AACtDC,IAAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS;AAC/B;AACF,CAAC;AA6CD,MAAME,aAAa,GAAGC,cAAK,CAACC,UAAU,CAA0B,SAASF,aAAaA,CACpF;EACEG,QAAQ;EACRC,KAAK;EACLC,IAAI;AACJC,EAAAA,QAAQ,GAAG,EAAE;AACbC,EAAAA,UAAU,GAAG,GAAG;AAChBjB,EAAAA,MAAM,GAAG,EAAE;AACXkB,EAAAA,iBAAiB,GAAG,CAAC;AACrBC,EAAAA,eAAe,GAAG,CAAC;EACnB,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAMC,KAAK,GAAGhB,qBAAqB,CAACO,QAAQ,CAAC,IAAIP,qBAAqB,CAAC,CAAC,CAAC;EAEzE,OACER,GAAA,CAACyB,KAAK,EAAA;AACJC,IAAAA,GAAG,EAAEH,YAAa;IAClBI,SAAS,EAAEV,IAAI,KAAKW,SAAS,GAAG5B,GAAA,CAACD,eAAe,EAAA,EAAE,CAAC,GAAGkB,IAAK;AAC3DY,IAAAA,YAAY,EAAEb,KAAM;IACpBP,gBAAgB,EAAEe,KAAK,CAACf,gBAAiB;IACzCC,MAAM,EAAEc,KAAK,CAACd,MAAO;IACrBC,YAAY,EAAEa,KAAK,CAACb,YAAa;AACjCO,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,UAAU,EAAEA,UAAW;AACvBjB,IAAAA,MAAM,EAAEA,MAAO;AACfkB,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,eAAe,EAAEA,eAAgB;IAAA,GAC7BC;AAAI,GACT,CAAC;AAEN,CAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ export { default } from './SeverityBadge.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,25 +1,19 @@
1
- import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import PropTypes from 'prop-types';
3
1
  import React__default from 'react';
4
2
  import { Tab as Tab$1 } from './Tab.styled.js';
3
+ import { jsx } from 'react/jsx-runtime';
5
4
 
6
5
  const Tab = React__default.forwardRef(function Tab({
7
6
  children,
8
- hidden,
7
+ hidden = false,
9
8
  ...props
10
9
  }, forwardedRef) {
11
10
  if (hidden) return null;
12
- return React__default.createElement(Tab$1, _extends({
13
- ref: forwardedRef
14
- }, props), children);
11
+ return jsx(Tab$1, {
12
+ ref: forwardedRef,
13
+ ...props,
14
+ children: children
15
+ });
15
16
  });
16
- Tab.propTypes = process.env.NODE_ENV !== "production" ? {
17
- children: PropTypes.any,
18
- hidden: PropTypes.bool
19
- } : {};
20
- Tab.defaultProps = {
21
- hidden: false
22
- };
23
17
 
24
18
  export { Tab as default };
25
19
  //# sourceMappingURL=Tab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sources":["../../../src/components/data/Tab/Tab.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport * as S from './Tab.styled';\n\n/**\n * This is a component to help you get started with development.\n */\nconst Tab = React.forwardRef(function Tab({ children, hidden, ...props }, forwardedRef) {\n if (hidden) return null;\n\n return (\n <S.Tab ref={forwardedRef} {...props}>\n {children}\n </S.Tab>\n );\n});\n\nTab.propTypes = {\n children: PropTypes.any,\n hidden: PropTypes.bool\n};\n\nTab.defaultProps = {\n hidden: false\n};\n\nexport default Tab;\n"],"names":["Tab","React","forwardRef","children","hidden","props","forwardedRef","createElement","S","_extends","ref","propTypes","process","env","NODE_ENV","PropTypes","any","bool","defaultProps"],"mappings":";;;;;AAOMA,MAAAA,GAAG,GAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,GAAGA,CAAC;EAAEG,QAAQ;EAAEC,MAAM;EAAE,GAAGC,KAAAA;AAAM,CAAC,EAAEC,YAAY,EAAE;EACtF,IAAIF,MAAM,EAAE,OAAO,IAAI,CAAA;EAEvB,OACEH,cAAA,CAAAM,aAAA,CAACC,KAAK,EAAAC,QAAA,CAAA;AAACC,IAAAA,GAAG,EAAEJ,YAAAA;GAAkBD,EAAAA,KAAK,CAChCF,EAAAA,QACI,CAAC,CAAA;AAEZ,CAAC,EAAC;AAEFH,GAAG,CAACW,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;EACdX,QAAQ,EAAEY,SAAS,CAACC,GAAG;EACvBZ,MAAM,EAAEW,SAAS,CAACE,IAAAA;AACpB,CAAC,GAAA,EAAA,CAAA;AAEDjB,GAAG,CAACkB,YAAY,GAAG;AACjBd,EAAAA,MAAM,EAAE,KAAA;AACV,CAAC;;;;"}
1
+ {"version":3,"file":"Tab.js","sources":["../../../src/components/data/Tab/Tab.tsx"],"sourcesContent":["import React from 'react';\nimport * as S from './Tab.styled';\n\ntype TabOwnProps = {\n children?: any;\n hidden?: boolean;\n /**\n * The tab's clickable header, conventionally a `Badge`:\n * `<Tab trigger={<Badge>Tab title</Badge>}>`.\n *\n * NOT DECLARED BY THE OLD propTypes AND NOT READ BY THIS COMPONENT — which is why\n * neither the codemod nor the widening pass could produce it, and why it is\n * hand-written here. `Tab` is a data carrier: `Tabs.tsx` walks its children with\n * `child.type === Tab` and lifts `child.props?.trigger` out, then renders it inside\n * `S.TabHeader`. The `<Tab>` element itself is never mounted, so `trigger` never\n * reaches the DOM and there is no attribute leak to fix.\n *\n * `ReactElement`, not `ReactNode`: `Tabs.handleTabClick` reads\n * `tab.trigger.props.children` to build the `triggerText` it passes to `onTabClick`.\n * A string trigger would compile under `ReactNode` and silently produce an empty\n * `triggerText`. All 44 call sites in `src` pass a `<Badge>`.\n */\n trigger?: React.ReactElement<any>;\n};\n\n/*\n * NMB-3998 §C.2: `props` is spread onto `S.Tab`, 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 TabOwnProps`);\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.Tab>, keyof TabOwnProps> & TabOwnProps;\n\n/**\n * This is a component to help you get started with development.\n */\nconst Tab = React.forwardRef<any, Props>(function Tab(\n { children, hidden = false, ...props },\n forwardedRef\n) {\n if (hidden) return null;\n\n return (\n <S.Tab ref={forwardedRef} {...props}>\n {children}\n </S.Tab>\n );\n});\n\nexport default Tab;\n"],"names":["Tab","React","forwardRef","children","hidden","props","forwardedRef","_jsx","S","ref"],"mappings":";;;;AAqCA,MAAMA,GAAG,GAAGC,cAAK,CAACC,UAAU,CAAa,SAASF,GAAGA,CACnD;EAAEG,QAAQ;AAAEC,EAAAA,MAAM,GAAG,KAAK;EAAE,GAAGC;AAAM,CAAC,EACtCC,YAAY,EACZ;EACA,IAAIF,MAAM,EAAE,OAAO,IAAI;AAEvB,EAAA,OACEG,GAAA,CAACC,KAAK,EAAA;AAACC,IAAAA,GAAG,EAAEH,YAAa;AAAA,IAAA,GAAKD,KAAK;AAAAF,IAAAA,QAAA,EAChCA;AAAQ,GACJ,CAAC;AAEZ,CAAC;;;;"}
@@ -6,13 +6,10 @@ const shouldForwardProp = prop => {
6
6
  };
7
7
  const Tab = styled.p.withConfig({
8
8
  shouldForwardProp
9
- }).attrs(applyDefaultTheme)`
10
- font-family: ${props => props.theme.primaryFontFamily};
11
- font-size: 1rem;
12
- font-weight: 500;
13
- border-bottom: 1px solid;
14
- min-height: 35px;
15
- `;
9
+ }).attrs(applyDefaultTheme).withConfig({
10
+ displayName: "Tabstyled__Tab",
11
+ componentId: "sc-omy3gs-0"
12
+ })(["font-family:", ";font-size:1rem;font-weight:500;border-bottom:1px solid;min-height:35px;"], props => props.theme.primaryFontFamily);
16
13
 
17
14
  export { Tab };
18
15
  //# sourceMappingURL=Tab.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.styled.js","sources":["../../../src/components/data/Tab/Tab.styled.js"],"sourcesContent":["import styled from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\nconst shouldForwardProp = prop => {\n return prop !== 'theme' && !prop.startsWith('$');\n};\n\nexport const Tab = styled.p\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n font-family: ${props => props.theme.primaryFontFamily};\n font-size: 1rem;\n font-weight: 500;\n border-bottom: 1px solid;\n min-height: 35px;\n`;\n"],"names":["shouldForwardProp","prop","startsWith","Tab","styled","p","withConfig","attrs","applyDefaultTheme","props","theme","primaryFontFamily"],"mappings":";;;AAGA,MAAMA,iBAAiB,GAAGC,IAAI,IAAI;EAChC,OAAOA,IAAI,KAAK,OAAO,IAAI,CAACA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,CAAA;AAClD,CAAC,CAAA;AAEM,MAAMC,GAAG,GAAGC,MAAM,CAACC,CAAC,CACxBC,UAAU,CAAC;AACVN,EAAAA,iBAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3B,eAAA,EAAiBC,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,iBAAiB,CAAA;AACvD;AACA;AACA;AACA;AACA;;;;"}
1
+ {"version":3,"file":"Tab.styled.js","sources":["../../../src/components/data/Tab/Tab.styled.ts"],"sourcesContent":["/*\n * $-transient-prop pattern: rules in\n * `src/components/layout/SectionSeparator/SectionSeparator.styled.ts`, derivation and\n * measurements in `scripts/TS-MIGRATION-PLAYBOOK.md` §J.\n *\n * NO GENERIC HERE, AND THAT IS THE CORRECT OUTCOME, NOT AN OMISSION. The single template\n * below reads only `props.theme`, which `ExecutionContext` already supplies via the C6\n * `DefaultTheme` augmentation, and `Tab.tsx` passes no transient prop at all — it spreads\n * `{...props}` and consumes `hidden` itself by returning `null`. Rule 2: declare only what\n * the component actually passes. This file entered the styled-generics bucket at 0 errors\n * and the only change it needs is the `shouldForwardProp` parameter annotation.\n *\n * `Tab` is not independent of `Tabs`: `Tabs.tsx` identifies its children with\n * `child.type === Tab`, so the two are one unit for any change to either's props.\n */\nimport styled from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\n/*\n * Single-argument, and it stays that way — peer floor `styled-components: >=5.1.0`, and\n * the two majors disagree on the second parameter. §J.4. `prop` needs the annotation\n * because `withConfig` takes this by reference, so it gets no contextual typing and\n * `prop.startsWith` would otherwise go unchecked.\n */\nconst shouldForwardProp = (prop: string): boolean => {\n return prop !== 'theme' && !prop.startsWith('$');\n};\n\nexport const Tab = styled.p\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n font-family: ${props => props.theme.primaryFontFamily};\n font-size: 1rem;\n font-weight: 500;\n border-bottom: 1px solid;\n min-height: 35px;\n`;\n"],"names":["shouldForwardProp","prop","startsWith","Tab","styled","p","withConfig","attrs","applyDefaultTheme","displayName","componentId","props","theme","primaryFontFamily"],"mappings":";;;AAwBA,MAAMA,iBAAiB,GAAIC,IAAY,IAAc;EACnD,OAAOA,IAAI,KAAK,OAAO,IAAI,CAACA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC;AAClD,CAAC;AAEM,MAAMC,GAAG,GAAGC,MAAM,CAACC,CAAC,CACxBC,UAAU,CAAC;AACVN,EAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAAF,UAAA,CAAA;EAAAG,WAAA,EAAA,gBAAA;EAAAC,WAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,cAAA,EAAA,0EAAA,CAAA,EACVC,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,iBAAiB;;;;"}
@@ -1,14 +1,14 @@
1
- import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { isEmpty, isNil } from 'lodash';
3
- import PropTypes from 'prop-types';
4
2
  import React__default, { useState, useRef, useMemo, Children, Fragment } from 'react';
5
3
  import Tab from '../Tab/Tab.js';
6
4
  import { Tabs as Tabs$1, TabHeaders, TabHeader, TabHeaderBorder, TabContent } from './Tabs.styled.js';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
6
 
8
7
  const Tabs = React__default.forwardRef(function Tabs({
9
8
  children,
10
9
  defaultMinHeight = '',
11
10
  customPadding = 0,
11
+ backgroundColor,
12
12
  onTabClick = () => {},
13
13
  ...props
14
14
  }, forwardedRef) {
@@ -55,37 +55,35 @@ const Tabs = React__default.forwardRef(function Tabs({
55
55
  });
56
56
  }
57
57
  };
58
- return React__default.createElement(Tabs$1, _extends({
59
- ref: forwardedRef
60
- }, props, {
61
- role: "tablist"
62
- }), React__default.createElement(TabHeaders, {
63
- custompadding: customPadding
64
- }, tabs.map(tab => React__default.createElement(TabHeader, {
65
- key: tab.key,
66
- hidden: tab.hidden,
67
- $active: tab.key === activeTab,
68
- onClick: () => handleTabClick(tab),
69
- role: "tab"
70
- }, tab.trigger))), React__default.createElement(TabHeaderBorder, {
71
- custompadding: customPadding
72
- }), React__default.createElement(TabContent, null, tabs.map(tab => React__default.createElement("div", {
73
- ref: tab.key === activeTab?.key ? contentRef : null,
74
- key: tab.key,
75
- role: "tabpanel",
76
- hidden: tab.key !== activeTab,
77
- style: {
78
- minHeight: !isEmpty(defaultMinHeight) ? defaultMinHeight : ''
79
- }
80
- }, tab.content))));
58
+ return jsxs(Tabs$1, {
59
+ ref: forwardedRef,
60
+ $backgroundColor: backgroundColor,
61
+ ...props,
62
+ role: "tablist",
63
+ children: [jsx(TabHeaders, {
64
+ custompadding: customPadding,
65
+ children: tabs.map(tab => jsx(TabHeader, {
66
+ hidden: tab.hidden,
67
+ $active: tab.key === activeTab,
68
+ onClick: () => handleTabClick(tab),
69
+ role: "tab",
70
+ children: tab.trigger
71
+ }, tab.key))
72
+ }), jsx(TabHeaderBorder, {
73
+ custompadding: customPadding
74
+ }), jsx(TabContent, {
75
+ children: tabs.map(tab => jsx("div", {
76
+ ref: tab.key === activeTab?.key ? contentRef : null,
77
+ role: "tabpanel",
78
+ hidden: tab.key !== activeTab,
79
+ style: {
80
+ minHeight: !isEmpty(defaultMinHeight) ? defaultMinHeight : ''
81
+ },
82
+ children: tab.content
83
+ }, tab.key))
84
+ })]
85
+ });
81
86
  });
82
- Tabs.propTypes = process.env.NODE_ENV !== "production" ? {
83
- children: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),
84
- backgroundColor: PropTypes.string,
85
- defaultMinHeight: PropTypes.string,
86
- customPadding: PropTypes.string,
87
- onTabClick: PropTypes.func
88
- } : {};
89
87
 
90
88
  export { Tabs as default };
91
89
  //# sourceMappingURL=Tabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../../../src/components/data/Tabs/Tabs.js"],"sourcesContent":["import { isEmpty, isNil } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { Children, Fragment, useMemo, useRef, useState } from 'react';\nimport Tab from '../Tab';\nimport * as S from './Tabs.styled';\n\n/**\n * Tabs that let you group content\n *\n * ### Import\n *\n * ``` js\n * import { Tabs, Tab } from '@ntbjs/react-components/data'\n * // or\n * import Tabs from '@ntbjs/react-components/data/Tabs'\n * import Tab from '@ntbjs/react-components/data/Tab'\n * ```\n * ### Tab - Tabs - Badge\n * `Tab`, `Tabs` and `Badge` must be used in order to implement the component.\n * ```\n * <Tabs>\n * <Tab trigger={<Badge>Tab title</Badge>}>\n * Tab content\n * </Tab>\n * </Tabs>\n * ```\n * ## Wrapping\n * Content (data displayed inside the `Tab`) is wrapped by `Tab`:\n * ```\n * <Tab>\n * Tab content\n * </Tab>\n * ```\n * ### Badge\n * The tab title is wrapped by `Badge` (which is passed as the trigger prop inside `Tab`):\n *\n *Props that can be passed inside the `Badge` component are: `badgeContent`, `active`, `error`, `warning` (check out the `Badge` component documentation for props options).\n * ```\n * <Tab trigger={<Badge>Tab title</Badge>}>\n * Tab content\n * </Tab>\n * ```\n * All tabs are wrapped by `Tabs`:\n * ```\n * <Tabs>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * <Tab trigger={<Badge>Tab title 3</Badge>}>Tab content 3</Tab>\n * <Tab trigger={<Badge>Tab title 4</Badge>}>Tab content 4</Tab>\n * <Tab trigger={<Badge>Tab title 5</Badge>}>Tab content 5</Tab>\n * </Tabs>\n * ```\n * ## Props\n * A `backgroundColor` prop can be passed as a string to set the `Tabs` component background color.\n * ```\n * <Tabs backgroundColor={'#bfe0d5'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n * ### hidden\n * A single Tab can be hidden by using the `hidden={true||false}` prop (this is useful when the tab has empty content):\n * ```\n * <Tabs>\n * <Tab hidden={true} trigger={<Badge>Tab title 1</Badge>}></Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * <Tab hidden={true} trigger={<Badge>Tab title 3</Badge>}></Tab>\n * <Tab trigger={<Badge>Tab title 4</Badge>}>Tab content 4</Tab>\n * <Tab hidden={true} trigger={<Badge>Tab title 5</Badge>}></Tab>\n * </Tabs>\n * ```\n * ### Default minHeight\n * A `defaultMinHeight` prop can be passed to the Tabs component to set a predefined min-height.\n *\n * Pass `defaultMinHeight={'value px'}` on the `Tabs` component to use this feature.\n * ```\n * <Tabs defaultMinHeight={'500px'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n *\n * ### Custom padding\n * A `customPadding` prop can be passed to the Tabs component to set a custom padding on the tabs. The custom padding is applied the the Tabs options,\n * not to the content within the Tabs.\n *\n * Pass `customPadding={'value px'}` on the `Tabs` component to use this feature.\n * ```\n * <Tabs customPadding={'40px'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n */\nconst Tabs = React.forwardRef(function Tabs(\n { children, defaultMinHeight = '', customPadding = 0, onTabClick = () => {}, ...props },\n forwardedRef\n) {\n const [activeTab, setActiveTab] = useState(0);\n const contentRef = useRef(null);\n\n const tabs = useMemo(() => {\n const tabs = [];\n function extractChildren(children) {\n Children.forEach(children, (child, index) => {\n if (isNil(child)) {\n return null;\n }\n\n if (child.type === Fragment) {\n extractChildren(child.props?.children);\n }\n\n if (child.props?.hidden) {\n return null;\n }\n\n if (child.type === Tab) {\n tabs.push({\n key: index,\n trigger: child.props?.trigger,\n content: child.props?.children\n });\n }\n });\n }\n\n extractChildren(children);\n\n if (!tabs.some(tab => tab?.key === activeTab)) {\n setActiveTab(tabs[0]?.key);\n }\n\n return tabs;\n }, [children]);\n\n const handleTabClick = tab => {\n setActiveTab(tab.key);\n let triggerText = '';\n\n if (tab.trigger && tab.trigger.props && tab.trigger.props.children) {\n triggerText = tab.trigger.props.children;\n }\n if (onTabClick) {\n onTabClick({\n ...tab,\n triggerText: triggerText\n });\n }\n };\n\n return (\n <S.Tabs ref={forwardedRef} {...props} role=\"tablist\">\n <S.TabHeaders custompadding={customPadding}>\n {tabs.map(tab => (\n <S.TabHeader\n key={tab.key}\n hidden={tab.hidden}\n $active={tab.key === activeTab}\n onClick={() => handleTabClick(tab)}\n role=\"tab\"\n >\n {tab.trigger}\n </S.TabHeader>\n ))}\n </S.TabHeaders>\n <S.TabHeaderBorder custompadding={customPadding}></S.TabHeaderBorder>\n <S.TabContent>\n {tabs.map(tab => (\n <div\n ref={tab.key === activeTab?.key ? contentRef : null}\n key={tab.key}\n role=\"tabpanel\"\n hidden={tab.key !== activeTab}\n style={{\n minHeight: !isEmpty(defaultMinHeight) ? defaultMinHeight : ''\n }}\n >\n {tab.content}\n </div>\n ))}\n </S.TabContent>\n </S.Tabs>\n );\n});\n\nTabs.propTypes = {\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * Whether `Tabs` component has a background color\n */\n backgroundColor: PropTypes.string,\n /**\n * Whether `tabs` will have a predefined min-height.\n */\n defaultMinHeight: PropTypes.string,\n /**\n * Custom padding.\n */\n customPadding: PropTypes.string,\n /**\n * Callback for clicked tab\n */\n onTabClick: PropTypes.func\n};\n\nexport default Tabs;\n"],"names":["Tabs","React","forwardRef","children","defaultMinHeight","customPadding","onTabClick","props","forwardedRef","activeTab","setActiveTab","useState","contentRef","useRef","tabs","useMemo","extractChildren","Children","forEach","child","index","isNil","type","Fragment","hidden","Tab","push","key","trigger","content","some","tab","handleTabClick","triggerText","createElement","S","_extends","ref","role","custompadding","map","$active","onClick","style","minHeight","isEmpty","propTypes","process","env","NODE_ENV","PropTypes","oneOfType","array","object","backgroundColor","string","func"],"mappings":";;;;;;;AA8FMA,MAAAA,IAAI,GAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,IAAIA,CACzC;EAAEG,QAAQ;AAAEC,EAAAA,gBAAgB,GAAG,EAAE;AAAEC,EAAAA,aAAa,GAAG,CAAC;AAAEC,EAAAA,UAAU,GAAGA,MAAM,EAAE;EAAE,GAAGC,KAAAA;AAAM,CAAC,EACvFC,YAAY,EACZ;EACA,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC7C,EAAA,MAAMC,UAAU,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AAE/B,EAAA,MAAMC,IAAI,GAAGC,OAAO,CAAC,MAAM;IACzB,MAAMD,IAAI,GAAG,EAAE,CAAA;IACf,SAASE,eAAeA,CAACb,QAAQ,EAAE;MACjCc,QAAQ,CAACC,OAAO,CAACf,QAAQ,EAAE,CAACgB,KAAK,EAAEC,KAAK,KAAK;AAC3C,QAAA,IAAIC,KAAK,CAACF,KAAK,CAAC,EAAE;AAChB,UAAA,OAAO,IAAI,CAAA;AACb,SAAA;AAEA,QAAA,IAAIA,KAAK,CAACG,IAAI,KAAKC,QAAQ,EAAE;AAC3BP,UAAAA,eAAe,CAACG,KAAK,CAACZ,KAAK,EAAEJ,QAAQ,CAAC,CAAA;AACxC,SAAA;AAEA,QAAA,IAAIgB,KAAK,CAACZ,KAAK,EAAEiB,MAAM,EAAE;AACvB,UAAA,OAAO,IAAI,CAAA;AACb,SAAA;AAEA,QAAA,IAAIL,KAAK,CAACG,IAAI,KAAKG,GAAG,EAAE;UACtBX,IAAI,CAACY,IAAI,CAAC;AACRC,YAAAA,GAAG,EAAEP,KAAK;AACVQ,YAAAA,OAAO,EAAET,KAAK,CAACZ,KAAK,EAAEqB,OAAO;AAC7BC,YAAAA,OAAO,EAAEV,KAAK,CAACZ,KAAK,EAAEJ,QAAAA;AACxB,WAAC,CAAC,CAAA;AACJ,SAAA;AACF,OAAC,CAAC,CAAA;AACJ,KAAA;IAEAa,eAAe,CAACb,QAAQ,CAAC,CAAA;AAEzB,IAAA,IAAI,CAACW,IAAI,CAACgB,IAAI,CAACC,GAAG,IAAIA,GAAG,EAAEJ,GAAG,KAAKlB,SAAS,CAAC,EAAE;AAC7CC,MAAAA,YAAY,CAACI,IAAI,CAAC,CAAC,CAAC,EAAEa,GAAG,CAAC,CAAA;AAC5B,KAAA;AAEA,IAAA,OAAOb,IAAI,CAAA;AACb,GAAC,EAAE,CAACX,QAAQ,CAAC,CAAC,CAAA;EAEd,MAAM6B,cAAc,GAAGD,GAAG,IAAI;AAC5BrB,IAAAA,YAAY,CAACqB,GAAG,CAACJ,GAAG,CAAC,CAAA;IACrB,IAAIM,WAAW,GAAG,EAAE,CAAA;AAEpB,IAAA,IAAIF,GAAG,CAACH,OAAO,IAAIG,GAAG,CAACH,OAAO,CAACrB,KAAK,IAAIwB,GAAG,CAACH,OAAO,CAACrB,KAAK,CAACJ,QAAQ,EAAE;AAClE8B,MAAAA,WAAW,GAAGF,GAAG,CAACH,OAAO,CAACrB,KAAK,CAACJ,QAAQ,CAAA;AAC1C,KAAA;AACA,IAAA,IAAIG,UAAU,EAAE;AACdA,MAAAA,UAAU,CAAC;AACT,QAAA,GAAGyB,GAAG;AACNE,QAAAA,WAAW,EAAEA,WAAAA;AACf,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;EAED,OACEhC,cAAA,CAAAiC,aAAA,CAACC,MAAM,EAAAC,QAAA,CAAA;AAACC,IAAAA,GAAG,EAAE7B,YAAAA;AAAa,GAAA,EAAKD,KAAK,EAAA;AAAE+B,IAAAA,IAAI,EAAC,SAAA;AAAS,GAAA,CAAA,EAClDrC,cAAA,CAAAiC,aAAA,CAACC,UAAY,EAAA;AAACI,IAAAA,aAAa,EAAElC,aAAAA;AAAc,GAAA,EACxCS,IAAI,CAAC0B,GAAG,CAACT,GAAG,IACX9B,cAAA,CAAAiC,aAAA,CAACC,SAAW,EAAA;IACVR,GAAG,EAAEI,GAAG,CAACJ,GAAI;IACbH,MAAM,EAAEO,GAAG,CAACP,MAAO;AACnBiB,IAAAA,OAAO,EAAEV,GAAG,CAACJ,GAAG,KAAKlB,SAAU;AAC/BiC,IAAAA,OAAO,EAAEA,MAAMV,cAAc,CAACD,GAAG,CAAE;AACnCO,IAAAA,IAAI,EAAC,KAAA;AAAK,GAAA,EAETP,GAAG,CAACH,OACM,CACd,CACW,CAAC,EACf3B,cAAA,CAAAiC,aAAA,CAACC,eAAiB,EAAA;AAACI,IAAAA,aAAa,EAAElC,aAAAA;AAAc,GAAoB,CAAC,EACrEJ,cAAA,CAAAiC,aAAA,CAACC,UAAY,EACVrB,IAAAA,EAAAA,IAAI,CAAC0B,GAAG,CAACT,GAAG,IACX9B,cAAA,CAAAiC,aAAA,CAAA,KAAA,EAAA;IACEG,GAAG,EAAEN,GAAG,CAACJ,GAAG,KAAKlB,SAAS,EAAEkB,GAAG,GAAGf,UAAU,GAAG,IAAK;IACpDe,GAAG,EAAEI,GAAG,CAACJ,GAAI;AACbW,IAAAA,IAAI,EAAC,UAAU;AACfd,IAAAA,MAAM,EAAEO,GAAG,CAACJ,GAAG,KAAKlB,SAAU;AAC9BkC,IAAAA,KAAK,EAAE;MACLC,SAAS,EAAE,CAACC,OAAO,CAACzC,gBAAgB,CAAC,GAAGA,gBAAgB,GAAG,EAAA;AAC7D,KAAA;AAAE,GAAA,EAED2B,GAAG,CAACF,OACF,CACN,CACW,CACR,CAAC,CAAA;AAEb,CAAC,EAAC;AAEF7B,IAAI,CAAC8C,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;AACf9C,EAAAA,QAAQ,EAAE+C,SAAS,CAACC,SAAS,CAAC,CAACD,SAAS,CAACE,KAAK,EAAEF,SAAS,CAACG,MAAM,CAAC,CAAC;EAIlEC,eAAe,EAAEJ,SAAS,CAACK,MAAM;EAIjCnD,gBAAgB,EAAE8C,SAAS,CAACK,MAAM;EAIlClD,aAAa,EAAE6C,SAAS,CAACK,MAAM;EAI/BjD,UAAU,EAAE4C,SAAS,CAACM,IAAAA;AACxB,CAAC,GAAA,EAAA;;;;"}
1
+ {"version":3,"file":"Tabs.js","sources":["../../../src/components/data/Tabs/Tabs.tsx"],"sourcesContent":["import { isEmpty, isNil } from 'lodash';\nimport React, { Children, Fragment, useMemo, useRef, useState } from 'react';\nimport Tab from '../Tab';\nimport * as S from './Tabs.styled';\n\ntype TabsOwnProps = {\n children?: any[] | any;\n /**\n * Whether `Tabs` component has a background color\n */\n backgroundColor?: string;\n /**\n * Whether `tabs` will have a predefined min-height.\n */\n defaultMinHeight?: string;\n /**\n * Custom padding.\n */\n customPadding?: string;\n /**\n * Callback for clicked tab\n */\n onTabClick?: (...args: any[]) => any;\n};\n\n/*\n * NMB-3998 §C.2: `props` is spread onto `S.Tabs`, 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 TabsOwnProps`);\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.Tabs>, keyof TabsOwnProps> & TabsOwnProps;\n\n/**\n * Tabs that let you group content\n *\n * ### Import\n *\n * ``` js\n * import { Tabs, Tab } from '@ntbjs/react-components/data'\n * // or\n * import Tabs from '@ntbjs/react-components/data/Tabs'\n * import Tab from '@ntbjs/react-components/data/Tab'\n * ```\n * ### Tab - Tabs - Badge\n * `Tab`, `Tabs` and `Badge` must be used in order to implement the component.\n * ```\n * <Tabs>\n * <Tab trigger={<Badge>Tab title</Badge>}>\n * Tab content\n * </Tab>\n * </Tabs>\n * ```\n * ## Wrapping\n * Content (data displayed inside the `Tab`) is wrapped by `Tab`:\n * ```\n * <Tab>\n * Tab content\n * </Tab>\n * ```\n * ### Badge\n * The tab title is wrapped by `Badge` (which is passed as the trigger prop inside `Tab`):\n *\n *Props that can be passed inside the `Badge` component are: `badgeContent`, `active`, `error`, `warning` (check out the `Badge` component documentation for props options).\n * ```\n * <Tab trigger={<Badge>Tab title</Badge>}>\n * Tab content\n * </Tab>\n * ```\n * All tabs are wrapped by `Tabs`:\n * ```\n * <Tabs>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * <Tab trigger={<Badge>Tab title 3</Badge>}>Tab content 3</Tab>\n * <Tab trigger={<Badge>Tab title 4</Badge>}>Tab content 4</Tab>\n * <Tab trigger={<Badge>Tab title 5</Badge>}>Tab content 5</Tab>\n * </Tabs>\n * ```\n * ## Props\n * A `backgroundColor` prop can be passed as a string to set the `Tabs` component background color.\n * ```\n * <Tabs backgroundColor={'#bfe0d5'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n * ### hidden\n * A single Tab can be hidden by using the `hidden={true||false}` prop (this is useful when the tab has empty content):\n * ```\n * <Tabs>\n * <Tab hidden={true} trigger={<Badge>Tab title 1</Badge>}></Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * <Tab hidden={true} trigger={<Badge>Tab title 3</Badge>}></Tab>\n * <Tab trigger={<Badge>Tab title 4</Badge>}>Tab content 4</Tab>\n * <Tab hidden={true} trigger={<Badge>Tab title 5</Badge>}></Tab>\n * </Tabs>\n * ```\n * ### Default minHeight\n * A `defaultMinHeight` prop can be passed to the Tabs component to set a predefined min-height.\n *\n * Pass `defaultMinHeight={'value px'}` on the `Tabs` component to use this feature.\n * ```\n * <Tabs defaultMinHeight={'500px'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n *\n * ### Custom padding\n * A `customPadding` prop can be passed to the Tabs component to set a custom padding on the tabs. The custom padding is applied the the Tabs options,\n * not to the content within the Tabs.\n *\n * Pass `customPadding={'value px'}` on the `Tabs` component to use this feature.\n * ```\n * <Tabs customPadding={'40px'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n */\nconst Tabs = React.forwardRef<any, Props>(function Tabs(\n {\n children,\n defaultMinHeight = '',\n customPadding = 0,\n backgroundColor,\n onTabClick = () => {},\n ...props\n },\n forwardedRef\n) {\n const [activeTab, setActiveTab] = useState(0);\n const contentRef = useRef(null);\n\n const tabs = useMemo(() => {\n const tabs = [];\n function extractChildren(children) {\n Children.forEach(children, (child, index) => {\n if (isNil(child)) {\n return null;\n }\n\n if (child.type === Fragment) {\n extractChildren(child.props?.children);\n }\n\n if (child.props?.hidden) {\n return null;\n }\n\n if (child.type === Tab) {\n tabs.push({\n key: index,\n trigger: child.props?.trigger,\n content: child.props?.children\n });\n }\n });\n }\n\n extractChildren(children);\n\n if (!tabs.some(tab => tab?.key === activeTab)) {\n setActiveTab(tabs[0]?.key);\n }\n\n return tabs;\n }, [children]);\n\n const handleTabClick = tab => {\n setActiveTab(tab.key);\n let triggerText = '';\n\n if (tab.trigger && tab.trigger.props && tab.trigger.props.children) {\n triggerText = tab.trigger.props.children;\n }\n if (onTabClick) {\n onTabClick({\n ...tab,\n triggerText: triggerText\n });\n }\n };\n\n return (\n <S.Tabs ref={forwardedRef} $backgroundColor={backgroundColor} {...props} role=\"tablist\">\n <S.TabHeaders custompadding={customPadding}>\n {tabs.map(tab => (\n <S.TabHeader\n key={tab.key}\n hidden={tab.hidden}\n $active={tab.key === activeTab}\n onClick={() => handleTabClick(tab)}\n role=\"tab\"\n >\n {tab.trigger}\n </S.TabHeader>\n ))}\n </S.TabHeaders>\n <S.TabHeaderBorder custompadding={customPadding}></S.TabHeaderBorder>\n <S.TabContent>\n {tabs.map(tab => (\n <div\n ref={tab.key === activeTab?.key ? contentRef : null}\n key={tab.key}\n role=\"tabpanel\"\n hidden={tab.key !== activeTab}\n style={{\n minHeight: !isEmpty(defaultMinHeight) ? defaultMinHeight : ''\n }}\n >\n {tab.content}\n </div>\n ))}\n </S.TabContent>\n </S.Tabs>\n );\n});\n\nexport default Tabs;\n"],"names":["Tabs","React","forwardRef","children","defaultMinHeight","customPadding","backgroundColor","onTabClick","props","forwardedRef","activeTab","setActiveTab","useState","contentRef","useRef","tabs","useMemo","extractChildren","Children","forEach","child","index","isNil","type","Fragment","hidden","Tab","push","key","trigger","content","some","tab","handleTabClick","triggerText","_jsxs","S","ref","$backgroundColor","role","_jsx","custompadding","map","$active","onClick","style","minHeight","isEmpty"],"mappings":"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"}
@@ -6,50 +6,22 @@ const shouldForwardProp = prop => {
6
6
  };
7
7
  const Tabs = styled.div.withConfig({
8
8
  shouldForwardProp
9
- }).attrs(applyDefaultTheme)`
10
- display: block;
11
- position: relative;
12
- ${props => props.backgroundColor && css`
13
- background-color: ${props.backgroundColor};
14
- `};
15
- `;
9
+ }).attrs(applyDefaultTheme).withConfig({
10
+ displayName: "Tabsstyled__Tabs",
11
+ componentId: "sc-1mbopdp-0"
12
+ })(["display:block;position:relative;", ";"], props => props.$backgroundColor && css(["background-color:", ";"], props.$backgroundColor));
16
13
  const TabHeaders = styled.ul.withConfig({
17
14
  shouldForwardProp
18
- }).attrs(applyDefaultTheme)`
19
- display: flex;
20
- overflow-x: auto;
21
- overflow-y: hidden;
22
- white-space: nowrap;
23
- gap: 24px;
24
-
25
- margin: 0;
26
- ${props => !props.custompadding && css`
27
- padding: 0;
28
- `};
29
- ${props => props.custompadding && css`
30
- padding: 0 ${props.custompadding};
31
- `};
32
- `;
15
+ }).attrs(applyDefaultTheme).withConfig({
16
+ displayName: "Tabsstyled__TabHeaders",
17
+ componentId: "sc-1mbopdp-1"
18
+ })(["display:flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;gap:24px;margin:0;", ";", ";"], props => !props.custompadding && css(["padding:0;"]), props => props.custompadding && css(["padding:0 ", ";"], props.custompadding));
33
19
  const TabHeader = styled.li.withConfig({
34
20
  shouldForwardProp
35
- }).attrs(applyDefaultTheme)`
36
- font-family: ${props => props.theme.secondaryFontFamily};
37
- text-transform: uppercase;
38
- font-weight: 600;
39
- font-size: 0.875rem;
40
- display: flex;
41
- padding-bottom: 8px;
42
- letter-spacing: 0.6px;
43
- cursor: pointer;
44
- border-bottom: 1px solid;
45
- border-color: transparent;
46
- margin-bottom: 1px;
47
-
48
- ${props => props.$active && css`
49
- ${props => props.theme.themeProp('border-color', props.theme.getColor('gray-400'), props.theme.getColor('gray-700'))}
50
- `};
51
- &&:hover:not(:focus) {
52
- ${props => props.theme.themeProp('border-color', () => {
21
+ }).attrs(applyDefaultTheme).withConfig({
22
+ displayName: "Tabsstyled__TabHeader",
23
+ componentId: "sc-1mbopdp-2"
24
+ })(["font-family:", ";text-transform:uppercase;font-weight:600;font-size:0.875rem;display:flex;padding-bottom:8px;letter-spacing:0.6px;cursor:pointer;border-bottom:1px solid;border-color:transparent;margin-bottom:1px;", ";&&:hover:not(:focus){", ";}"], props => props.theme.secondaryFontFamily, props => props.$active && css(["", ""], props => props.theme.themeProp('border-color', props.theme.getColor('gray-400'), props.theme.getColor('gray-700'))), props => props.theme.themeProp('border-color', () => {
53
25
  if (props.$active) {
54
26
  return props.theme.getColor('gray-400');
55
27
  } else {
@@ -61,27 +33,19 @@ const TabHeader = styled.li.withConfig({
61
33
  } else {
62
34
  return props.theme.getColor('gray-700');
63
35
  }
64
- })};
65
- }
66
- `;
36
+ }));
67
37
  const TabContent = styled.div.withConfig({
68
38
  shouldForwardProp
69
- }).attrs(applyDefaultTheme)`
70
- display: block;
71
- `;
39
+ }).attrs(applyDefaultTheme).withConfig({
40
+ displayName: "Tabsstyled__TabContent",
41
+ componentId: "sc-1mbopdp-3"
42
+ })(["display:block;"]);
72
43
  const TabHeaderBorder = styled.div.withConfig({
73
44
  shouldForwardProp
74
- }).attrs(applyDefaultTheme)`
75
- border-top: 1px solid;
76
-
77
- ${props => props.theme.themeProp('border-color', props.theme.getColor('gray-600'), '#F0F2F5')};
78
- ${props => !props.custompadding && css`
79
- margin: -2px 0;
80
- `};
81
- ${props => props.custompadding && css`
82
- margin: -2px ${props.custompadding};
83
- `};
84
- `;
45
+ }).attrs(applyDefaultTheme).withConfig({
46
+ displayName: "Tabsstyled__TabHeaderBorder",
47
+ componentId: "sc-1mbopdp-4"
48
+ })(["border-top:1px solid;", ";", ";", ";"], props => props.theme.themeProp('border-color', props.theme.getColor('gray-600'), '#F0F2F5'), props => !props.custompadding && css(["margin:-2px 0;"]), props => props.custompadding && css(["margin:-2px ", ";"], props.custompadding));
85
49
 
86
50
  export { TabContent, TabHeader, TabHeaderBorder, TabHeaders, Tabs };
87
51
  //# sourceMappingURL=Tabs.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.styled.js","sources":["../../../src/components/data/Tabs/Tabs.styled.js"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\nconst shouldForwardProp = prop => {\n return prop !== 'theme' && !prop.startsWith('$');\n};\n\nexport const Tabs = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: block;\n position: relative;\n ${props =>\n props.backgroundColor &&\n css`\n background-color: ${props.backgroundColor};\n `};\n`;\n\nexport const TabHeaders = styled.ul\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: flex;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n gap: 24px;\n\n margin: 0;\n ${props =>\n !props.custompadding &&\n css`\n padding: 0;\n `};\n ${props =>\n props.custompadding &&\n css`\n padding: 0 ${props.custompadding};\n `};\n`;\n\nexport const TabHeader = styled.li\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n font-family: ${props => props.theme.secondaryFontFamily};\n text-transform: uppercase;\n font-weight: 600;\n font-size: 0.875rem;\n display: flex;\n padding-bottom: 8px;\n letter-spacing: 0.6px;\n cursor: pointer;\n border-bottom: 1px solid;\n border-color: transparent;\n margin-bottom: 1px;\n\n ${props =>\n props.$active &&\n css`\n ${props =>\n props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-400'),\n props.theme.getColor('gray-700')\n )}\n `};\n &&:hover:not(:focus) {\n ${props =>\n props.theme.themeProp(\n 'border-color',\n () => {\n if (props.$active) {\n return props.theme.getColor('gray-400');\n } else {\n return props.theme.getColor('gray-400');\n }\n },\n () => {\n if (props.$active) {\n return props.theme.getColor('gray-700');\n } else {\n return props.theme.getColor('gray-700');\n }\n }\n )};\n }\n`;\n\nexport const TabContent = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: block;\n`;\n\nexport const TabHeaderBorder = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n border-top: 1px solid;\n\n ${props => props.theme.themeProp('border-color', props.theme.getColor('gray-600'), '#F0F2F5')};\n ${props =>\n !props.custompadding &&\n css`\n margin: -2px 0;\n `};\n ${props =>\n props.custompadding &&\n css`\n margin: -2px ${props.custompadding};\n `};\n`;\n"],"names":["shouldForwardProp","prop","startsWith","Tabs","styled","div","withConfig","attrs","applyDefaultTheme","props","backgroundColor","css","TabHeaders","ul","custompadding","TabHeader","li","theme","secondaryFontFamily","$active","themeProp","getColor","TabContent","TabHeaderBorder"],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.styled.js","sources":["../../../src/components/data/Tabs/Tabs.styled.ts"],"sourcesContent":["/*\n * $-transient-prop pattern: rules in\n * `src/components/layout/SectionSeparator/SectionSeparator.styled.ts`, derivation and\n * measurements in `scripts/TS-MIGRATION-PLAYBOOK.md` §J.\n *\n * `Tabs` is not independent of `Tab`: `Tabs.tsx` identifies its children with\n * `child.type === Tab`, so the two files are one unit for any change to either's props.\n *\n * ONE DEFERRED DEFECT, DECLARED NOT FIXED, and it is the only one in this file:\n * `custompadding` has no `$`, so it is in the rendered HTML. It is CONFIRMED in the\n * recorded baseline rather than inferred — `scripts/r19-harness/baseline.json` contains\n * `<ul custompadding=\"40px\" …>` for `data/Tabs`. See `TabPaddingStyleProps`.\n */\nimport styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\n/** Props of the `Tabs` root, i.e. what `Tabs.tsx` passes to `S.Tabs`. */\nexport interface TabsStyleProps {\n /** `backgroundColor` — `PropTypes.string`, a CSS colour, interpolated raw. */\n $backgroundColor?: string;\n}\n\n/**\n * Shared by `TabHeaders` and `TabHeaderBorder`, the two components `Tabs.tsx` hands\n * `custompadding` to. One interface rather than two because the key, the value and the\n * defect are the same at both sites; a change here is a change to both, which is the\n * point of naming them together.\n *\n * DEFECT, DECLARED NOT FIXED: `custompadding` HAS NO `$`, so `shouldForwardProp` forwards\n * it and it lands on the rendered `<ul>` and `<div>`. This is not inferred — it is in\n * `scripts/r19-harness/baseline.json` as `<ul custompadding=\"40px\" …>`. The fix is to\n * rename it `$customPadding` at both ends, which REMOVES a DOM attribute and so belongs to\n * C10 with its baseline re-record. §E.4's third case.\n *\n * `number | string`, not the `PropTypes.string` the propTypes claim: `Tabs.tsx` DEFAULTS\n * `customPadding` to the NUMBER `0`, and that default is what reaches these templates in\n * the common case. It is falsy, so the `!props.custompadding` arm wins and the padding\n * shorthand is emitted as `padding: 0` / `margin: -2px 0` — correct by accident. A\n * caller-supplied number would emit a unitless `padding: 0 8`, which is why the union is\n * worth stating rather than tidying away.\n */\ninterface TabPaddingStyleProps {\n /** `customPadding` — see the interface JSDoc; both the leak and the union are there. */\n custompadding?: number | string;\n}\n\n/** Props of `TabHeader`, one `<li>` per tab. */\ninterface TabHeaderStyleProps {\n /**\n * `tab.key === activeTab`, derived in the component, so genuinely `boolean`. Read both\n * in the `$active &&` block and inside the two `themeProp()` callbacks below.\n */\n $active?: boolean;\n}\n\n/*\n * Single-argument, and it stays that way — peer floor `styled-components: >=5.1.0`, and\n * the two majors disagree on the second parameter. §J.4. `prop` needs the annotation\n * because `withConfig` takes this by reference, so it gets no contextual typing.\n */\nconst shouldForwardProp = (prop: string): boolean => {\n return prop !== 'theme' && !prop.startsWith('$');\n};\n\nexport const Tabs = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs<TabsStyleProps>(applyDefaultTheme)`\n display: block;\n position: relative;\n ${props =>\n props.$backgroundColor &&\n css`\n background-color: ${props.$backgroundColor};\n `};\n`;\n\nexport const TabHeaders = styled.ul\n .withConfig({\n shouldForwardProp\n })\n .attrs<TabPaddingStyleProps>(applyDefaultTheme)`\n display: flex;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n gap: 24px;\n\n margin: 0;\n ${props =>\n !props.custompadding &&\n css`\n padding: 0;\n `};\n ${props =>\n props.custompadding &&\n css`\n padding: 0 ${props.custompadding};\n `};\n`;\n\nexport const TabHeader = styled.li\n .withConfig({\n shouldForwardProp\n })\n .attrs<TabHeaderStyleProps>(applyDefaultTheme)`\n font-family: ${props => props.theme.secondaryFontFamily};\n text-transform: uppercase;\n font-weight: 600;\n font-size: 0.875rem;\n display: flex;\n padding-bottom: 8px;\n letter-spacing: 0.6px;\n cursor: pointer;\n border-bottom: 1px solid;\n border-color: transparent;\n margin-bottom: 1px;\n\n ${props =>\n props.$active &&\n css`\n ${props =>\n props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-400'),\n props.theme.getColor('gray-700')\n )}\n `};\n &&:hover:not(:focus) {\n ${props =>\n props.theme.themeProp(\n 'border-color',\n () => {\n if (props.$active) {\n return props.theme.getColor('gray-400');\n } else {\n return props.theme.getColor('gray-400');\n }\n },\n () => {\n if (props.$active) {\n return props.theme.getColor('gray-700');\n } else {\n return props.theme.getColor('gray-700');\n }\n }\n )};\n }\n`;\n\nexport const TabContent = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: block;\n`;\n\nexport const TabHeaderBorder = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs<TabPaddingStyleProps>(applyDefaultTheme)`\n border-top: 1px solid;\n\n ${props => props.theme.themeProp('border-color', props.theme.getColor('gray-600'), '#F0F2F5')};\n ${props =>\n !props.custompadding &&\n css`\n margin: -2px 0;\n `};\n ${props =>\n props.custompadding &&\n css`\n margin: -2px ${props.custompadding};\n `};\n`;\n"],"names":["shouldForwardProp","prop","startsWith","Tabs","styled","div","withConfig","attrs","applyDefaultTheme","displayName","componentId","props","$backgroundColor","css","TabHeaders","ul","custompadding","TabHeader","li","theme","secondaryFontFamily","$active","themeProp","getColor","TabContent","TabHeaderBorder"],"mappings":"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"}
@@ -1,46 +1,115 @@
1
- import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import PropTypes from 'prop-types';
3
1
  import React__default from 'react';
2
+ import { useMergeRefs, FloatingPortal } from '@floating-ui/react';
3
+ import useFloatingPopover from '../../hooks/useFloatingPopover.js';
4
+ import { getElementRef } from '../../utils/getElementRef.js';
5
+ import { SharedFloatingArrow, TOOLTIP_ARROW } from '../_shared/FloatingArrow.styled.js';
4
6
  import { Tooltip as Tooltip$1 } from './Tooltip.styled.js';
7
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
8
 
9
+ const TIPPY_DEFAULT_ARROW = true;
10
+ const TIPPY_DEFAULT_MAX_WIDTH = 350;
11
+ const TIPPY_DEFAULT_Z_INDEX = 9999;
12
+ const TOOLTIP_OFFSET = [0, 10];
13
+ const TOOLTIP_ARROW_HEIGHT_IS_IN_THE_OFFSET_ALREADY = 0;
14
+ const POSITIONER_MAX_WIDTH = 'calc(100vw - 10px)';
15
+ const PROPS_NEVER_FORWARDED = ['onClick', 'onChange', 'onSubmit', 'modifiers', 'popperOptions'];
6
16
  const Tooltip = React__default.forwardRef(function Tooltip({
7
- content,
8
- interactive,
9
- placement,
10
- duration,
17
+ content = 'Tooltip',
18
+ interactive = false,
19
+ placement = 'top',
20
+ duration = 350,
11
21
  trigger,
12
22
  visible,
13
23
  children,
24
+ arrow: hasArrow = TIPPY_DEFAULT_ARROW,
25
+ zIndex = TIPPY_DEFAULT_Z_INDEX,
26
+ disabled = false,
27
+ offset = TOOLTIP_OFFSET,
28
+ maxWidth = TIPPY_DEFAULT_MAX_WIDTH,
29
+ appendTo,
30
+ onClickOutside,
14
31
  ...props
15
32
  }, ref) {
16
- const eventHandlerProps = ['onClick', 'onChange', 'onSubmit'];
17
- const filteredProps = Object.fromEntries(Object.entries(props).filter(([key]) => !eventHandlerProps.includes(key)));
18
- return React__default.createElement("div", null, React__default.createElement(Tooltip$1, _extends({
19
- ref: ref,
20
- content: content,
21
- interactive: interactive,
22
- placement: placement,
23
- duration: duration,
24
- trigger: trigger,
25
- visible: visible,
26
- animation: 'shift-away-subtle'
27
- }, filteredProps), children));
33
+ const onOpenChange = React__default.useCallback((open, event, reason) => {
34
+ if (!open && reason === 'outside-press') {
35
+ onClickOutside?.(event);
36
+ }
37
+ }, [onClickOutside]);
38
+ const {
39
+ refs,
40
+ floatingStyles,
41
+ context,
42
+ getReferenceProps,
43
+ getFloatingProps,
44
+ isMounted,
45
+ transitionStyles,
46
+ arrowRef,
47
+ placement: resolvedPlacement,
48
+ pointerEvents
49
+ } = useFloatingPopover({
50
+ placement,
51
+ open: visible,
52
+ onOpenChange,
53
+ trigger,
54
+ offset,
55
+ arrow: hasArrow,
56
+ arrowHeight: TOOLTIP_ARROW_HEIGHT_IS_IN_THE_OFFSET_ALREADY,
57
+ interactive,
58
+ disabled,
59
+ duration
60
+ });
61
+ const childRef = React__default.isValidElement(children) ? getElementRef(children) : null;
62
+ const referenceRef = useMergeRefs([ref, childRef, refs.setReference]);
63
+ const filteredProps = Object.fromEntries(Object.entries(props).filter(([key]) => !PROPS_NEVER_FORWARDED.includes(key)));
64
+ const reference = React__default.isValidElement(children) ? React__default.cloneElement(children, {
65
+ ...getReferenceProps(children.props),
66
+ ref: referenceRef
67
+ }) : children;
68
+ const renderInline = appendTo === 'parent' || interactive && appendTo === undefined;
69
+ const resolvePortalRoot = () => {
70
+ if (renderInline || appendTo === undefined) return undefined;
71
+ if (typeof appendTo === 'function') {
72
+ const node = refs.reference.current;
73
+ return node instanceof Element ? appendTo(node) : null;
74
+ }
75
+ return appendTo;
76
+ };
77
+ const floating = isMounted ? jsx("div", {
78
+ ref: refs.setFloating,
79
+ style: {
80
+ ...floatingStyles,
81
+ zIndex,
82
+ pointerEvents,
83
+ maxWidth: POSITIONER_MAX_WIDTH
84
+ },
85
+ ...getFloatingProps(),
86
+ children: jsxs(Tooltip$1, {
87
+ ...filteredProps,
88
+ "data-placement": resolvedPlacement,
89
+ role: "tooltip",
90
+ tabIndex: -1,
91
+ style: {
92
+ ...transitionStyles,
93
+ maxWidth
94
+ },
95
+ children: [jsx("div", {
96
+ className: "tippy-content",
97
+ children: content
98
+ }), hasArrow && jsx(SharedFloatingArrow, {
99
+ ref: arrowRef,
100
+ context: context,
101
+ "data-arrow-surface": "tooltip",
102
+ ...TOOLTIP_ARROW
103
+ })]
104
+ })
105
+ }) : null;
106
+ return jsxs("div", {
107
+ children: [reference, renderInline ? floating : jsx(FloatingPortal, {
108
+ root: resolvePortalRoot(),
109
+ children: floating
110
+ })]
111
+ });
28
112
  });
29
- Tooltip.defaultProps = {
30
- content: 'Tooltip',
31
- interactive: false,
32
- placement: 'top',
33
- duration: 350
34
- };
35
- Tooltip.propTypes = process.env.NODE_ENV !== "production" ? {
36
- content: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,
37
- interactive: PropTypes.bool,
38
- placement: PropTypes.oneOf(['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'auto', 'auto-start', 'auto-end']),
39
- duration: PropTypes.number,
40
- trigger: PropTypes.oneOf(['mouseenter', 'mouseenter focus', 'click', 'focusin', 'mouseenter click', '']),
41
- visible: PropTypes.bool,
42
- children: PropTypes.node
43
- } : {};
44
113
 
45
114
  export { Tooltip as default };
46
115
  //# sourceMappingURL=Tooltip.js.map