@carbon/ibm-products 2.26.0 → 2.28.0-alpha.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (391) hide show
  1. package/css/index-full-carbon.css +700 -163
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +85 -22
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +700 -163
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +660 -152
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/_virtual/index.js +2 -2
  18. package/es/components/APIKeyModal/APIKeyModal.js +1 -1
  19. package/es/components/AboutModal/AboutModal.js +1 -1
  20. package/es/components/ActionBar/ActionBar.js +1 -1
  21. package/es/components/ActionBar/ActionBarItem.js +1 -1
  22. package/es/components/ActionBar/ActionBarOverflowItems.js +1 -1
  23. package/es/components/ActionSet/ActionSet.js +1 -1
  24. package/es/components/AddSelect/AddSelectBody.js +1 -1
  25. package/es/components/AddSelect/AddSelectBreadcrumbs.js +1 -1
  26. package/es/components/AddSelect/AddSelectFilter.js +1 -1
  27. package/es/components/AddSelect/AddSelectList.js +1 -1
  28. package/es/components/AddSelect/AddSelectRow.js +1 -1
  29. package/es/components/BigNumbers/BigNumbers.d.ts +11 -0
  30. package/es/components/BigNumbers/BigNumbers.js +238 -0
  31. package/es/components/BigNumbers/constants.d.ts +13 -0
  32. package/es/components/BigNumbers/constants.js +67 -0
  33. package/es/components/BigNumbers/index.d.ts +1 -0
  34. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +1 -1
  35. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +1 -1
  36. package/es/components/Card/Card.js +1 -1
  37. package/es/components/Card/CardFooter.js +1 -1
  38. package/es/components/Card/CardHeader.js +1 -1
  39. package/es/components/Carousel/Carousel.js +1 -1
  40. package/es/components/Carousel/CarouselItem.js +1 -1
  41. package/es/components/Cascade/Cascade.js +1 -1
  42. package/es/components/Checklist/Checklist.js +1 -1
  43. package/es/components/Checklist/ChecklistChart.js +1 -1
  44. package/es/components/Checklist/ChecklistIcon.js +1 -1
  45. package/es/components/Coachmark/Coachmark.js +1 -1
  46. package/es/components/Coachmark/CoachmarkDragbar.js +1 -1
  47. package/es/components/Coachmark/CoachmarkHeader.js +1 -1
  48. package/es/components/Coachmark/CoachmarkOverlay.js +1 -1
  49. package/es/components/Coachmark/CoachmarkTagline.js +1 -1
  50. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -1
  51. package/es/components/CoachmarkButton/CoachmarkButton.js +1 -1
  52. package/es/components/CoachmarkFixed/CoachmarkFixed.js +1 -1
  53. package/es/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +1 -1
  54. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +1 -1
  55. package/es/components/CoachmarkStack/CoachmarkStack.js +1 -1
  56. package/es/components/CoachmarkStack/CoachmarkStackHome.js +1 -1
  57. package/es/components/ComboButton/ComboButton.js +1 -1
  58. package/es/components/CreateFullPage/CreateFullPage.js +1 -1
  59. package/es/components/CreateFullPage/CreateFullPageStep.js +1 -1
  60. package/es/components/CreateInfluencer/CreateInfluencer.js +1 -1
  61. package/es/components/CreateModal/CreateModal.js +1 -1
  62. package/es/components/CreateSidePanel/CreateSidePanel.js +1 -1
  63. package/es/components/CreateTearsheet/CreateTearsheet.js +8 -2
  64. package/es/components/CreateTearsheet/CreateTearsheetDivider.js +1 -1
  65. package/es/components/CreateTearsheet/CreateTearsheetStep.js +1 -1
  66. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +1 -1
  67. package/es/components/DataSpreadsheet/DataSpreadsheet.js +1 -1
  68. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +5 -4
  69. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +4 -3
  70. package/es/components/DataSpreadsheet/utils/checkForHoldingKey.d.ts +1 -0
  71. package/es/components/DataSpreadsheet/utils/checkForHoldingKey.js +17 -0
  72. package/es/components/Datagrid/Datagrid/Datagrid.js +10 -3
  73. package/es/components/Datagrid/Datagrid/DatagridContent.d.ts +3 -1
  74. package/es/components/Datagrid/Datagrid/DatagridContent.js +7 -3
  75. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +8 -4
  76. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +9 -5
  77. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +1 -1
  78. package/es/components/Datagrid/Datagrid/DatagridRow.js +19 -15
  79. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +1 -1
  80. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +1 -1
  81. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -1
  82. package/es/components/Datagrid/Datagrid/DatagridToolbar.d.ts +10 -1
  83. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +22 -5
  84. package/es/components/Datagrid/Datagrid/DraggableElement.js +1 -1
  85. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +1 -1
  86. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +1 -1
  87. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +1 -1
  88. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +39 -16
  89. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.d.ts +4 -1
  90. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +5 -1
  91. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +102 -6
  92. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +12 -1
  93. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +1 -1
  94. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +1 -1
  95. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +1 -1
  96. package/es/components/Datagrid/Datagrid/addons/stateReducer.js +1 -1
  97. package/es/components/Datagrid/useActionsColumn.js +1 -1
  98. package/es/components/Datagrid/useColumnCenterAlign.js +1 -1
  99. package/es/components/Datagrid/useColumnRightAlign.js +1 -1
  100. package/es/components/Datagrid/useDefaultStringRenderer.js +1 -1
  101. package/es/components/Datagrid/useFiltering.js +48 -47
  102. package/es/components/Datagrid/useFloatingScroll.js +1 -1
  103. package/es/components/Datagrid/useInlineEdit.js +1 -1
  104. package/es/components/Datagrid/useNestedRowExpander.js +1 -1
  105. package/es/components/Datagrid/useNestedRows.js +1 -1
  106. package/es/components/Datagrid/useRowExpander.js +1 -1
  107. package/es/components/Datagrid/useSelectAllToggle.js +6 -4
  108. package/es/components/Datagrid/useSelectRows.js +2 -2
  109. package/es/components/Datagrid/useSortableColumns.js +1 -1
  110. package/es/components/Datagrid/useStickyColumn.js +1 -1
  111. package/es/components/DelimitedList/DelimitedList.js +1 -1
  112. package/es/components/EditFullPage/EditFullPage.js +1 -1
  113. package/es/components/EditInPlace/EditInPlace.js +1 -1
  114. package/es/components/EditSidePanel/EditSidePanel.js +1 -1
  115. package/es/components/EditTearsheet/EditTearsheet.js +1 -1
  116. package/es/components/EditTearsheet/EditTearsheetForm.js +1 -1
  117. package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +1 -1
  118. package/es/components/EditUpdateCards/EditUpdateCards.js +1 -1
  119. package/es/components/EmptyStates/EmptyState.js +1 -1
  120. package/es/components/EmptyStates/EmptyStateContent.js +1 -1
  121. package/es/components/EmptyStates/EmptyStateV2.js +1 -1
  122. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -1
  123. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -1
  124. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -1
  125. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -1
  126. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -1
  127. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -1
  128. package/es/components/EmptyStates/assets/ErrorIllustration.js +1 -1
  129. package/es/components/EmptyStates/assets/NoDataIllustration.js +1 -1
  130. package/es/components/EmptyStates/assets/NoTagsIllustration.js +1 -1
  131. package/es/components/EmptyStates/assets/NotFoundIllustration.js +1 -1
  132. package/es/components/EmptyStates/assets/NotificationsIllustration.js +1 -1
  133. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +1 -1
  134. package/es/components/ExportModal/ExportModal.js +1 -1
  135. package/es/components/FilterSummary/FilterSummary.js +1 -1
  136. package/es/components/FullPageError/FullPageError.js +1 -1
  137. package/es/components/Guidebanner/Guidebanner.js +1 -1
  138. package/es/components/Guidebanner/GuidebannerElement.js +1 -1
  139. package/es/components/Guidebanner/GuidebannerElementButton.js +1 -1
  140. package/es/components/Guidebanner/GuidebannerElementLink.js +1 -1
  141. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +1 -1
  142. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +1 -1
  143. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +1 -1
  144. package/es/components/ImportModal/ImportModal.js +1 -1
  145. package/es/components/InlineTip/InlineTip.js +1 -1
  146. package/es/components/InlineTip/InlineTipButton.js +1 -1
  147. package/es/components/InlineTip/InlineTipLink.js +1 -1
  148. package/es/components/InterstitialScreen/InterstitialScreen.js +1 -1
  149. package/es/components/InterstitialScreenView/InterstitialScreenView.js +1 -1
  150. package/es/components/InterstitialScreenViewModule/InterstitialScreenViewModule.js +1 -1
  151. package/es/components/NonLinearReading/NonLinearReading.js +1 -1
  152. package/es/components/NotificationsPanel/NotificationsPanel.js +1 -1
  153. package/es/components/OptionsTile/OptionsTile.js +1 -1
  154. package/es/components/PageHeader/PageHeader.js +1 -1
  155. package/es/components/PageHeader/PageHeaderTitle.js +1 -1
  156. package/es/components/PageHeader/PageHeaderUtils.js +1 -1
  157. package/es/components/RemoveModal/RemoveModal.js +1 -1
  158. package/es/components/Saving/Saving.js +1 -1
  159. package/es/components/SearchBar/SearchBar.js +1 -1
  160. package/es/components/SidePanel/SidePanel.js +14 -7
  161. package/es/components/SidePanel/motion/variants.d.ts +39 -12
  162. package/es/components/SidePanel/motion/variants.js +42 -11
  163. package/es/components/SimpleHeader/SimpleHeader.js +1 -1
  164. package/es/components/StatusIcon/StatusIcon.js +1 -1
  165. package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +1 -1
  166. package/es/components/StringFormatter/StringFormatter.d.ts +6 -0
  167. package/es/components/StringFormatter/StringFormatter.js +79 -0
  168. package/es/components/StringFormatter/index.d.ts +1 -0
  169. package/es/components/StringFormatter/utils/enums.d.ts +14 -0
  170. package/es/components/StringFormatter/utils/enums.js +23 -0
  171. package/es/components/TagSet/TagSet.js +1 -1
  172. package/es/components/TagSet/TagSetModal.js +1 -1
  173. package/es/components/TagSet/TagSetOverflow.js +1 -1
  174. package/es/components/Tearsheet/TearsheetShell.js +13 -8
  175. package/es/components/Toolbar/Toolbar.js +1 -1
  176. package/es/components/Toolbar/ToolbarButton.js +1 -1
  177. package/es/components/Toolbar/ToolbarGroup.js +1 -1
  178. package/es/components/TooltipTrigger/TooltipTrigger.js +1 -1
  179. package/es/components/TruncatedList/TruncatedList.js +1 -1
  180. package/es/components/UserAvatar/UserAvatar.js +59 -43
  181. package/es/components/UserProfileImage/UserProfileImage.js +1 -1
  182. package/es/components/WebTerminal/WebTerminal.js +1 -1
  183. package/es/components/WebTerminal/WebTerminalContentWrapper.js +1 -1
  184. package/es/components/_Canary/Canary.js +1 -1
  185. package/es/components/index.d.ts +2 -0
  186. package/es/global/js/hooks/index.d.ts +1 -0
  187. package/es/global/js/hooks/useIsomorphicEffect.d.ts +2 -0
  188. package/es/global/js/hooks/useIsomorphicEffect.js +14 -0
  189. package/es/global/js/package-settings.d.ts +2 -0
  190. package/es/global/js/package-settings.js +2 -0
  191. package/es/index.js +2 -0
  192. package/es/node_modules/prop-types/index.js +1 -1
  193. package/es/settings.d.ts +2 -0
  194. package/lib/_virtual/index.js +2 -2
  195. package/lib/components/APIKeyModal/APIKeyModal.js +50 -49
  196. package/lib/components/AboutModal/AboutModal.js +17 -16
  197. package/lib/components/ActionBar/ActionBar.js +16 -15
  198. package/lib/components/ActionBar/ActionBarItem.js +8 -7
  199. package/lib/components/ActionBar/ActionBarOverflowItems.js +9 -8
  200. package/lib/components/ActionSet/ActionSet.js +4 -3
  201. package/lib/components/AddSelect/AddSelectBody.js +67 -66
  202. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +7 -6
  203. package/lib/components/AddSelect/AddSelectFilter.js +19 -18
  204. package/lib/components/AddSelect/AddSelectList.js +7 -6
  205. package/lib/components/AddSelect/AddSelectRow.js +33 -32
  206. package/lib/components/BigNumbers/BigNumbers.d.ts +11 -0
  207. package/lib/components/BigNumbers/BigNumbers.js +245 -0
  208. package/lib/components/BigNumbers/constants.d.ts +13 -0
  209. package/lib/components/BigNumbers/constants.js +76 -0
  210. package/lib/components/BigNumbers/index.d.ts +1 -0
  211. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +20 -19
  212. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +3 -2
  213. package/lib/components/Card/Card.js +5 -4
  214. package/lib/components/Card/CardFooter.js +22 -21
  215. package/lib/components/Card/CardHeader.js +27 -26
  216. package/lib/components/Carousel/Carousel.js +13 -12
  217. package/lib/components/Carousel/CarouselItem.js +6 -5
  218. package/lib/components/Cascade/Cascade.js +9 -8
  219. package/lib/components/Checklist/Checklist.js +33 -32
  220. package/lib/components/Checklist/ChecklistChart.js +7 -6
  221. package/lib/components/Checklist/ChecklistIcon.js +7 -6
  222. package/lib/components/Coachmark/Coachmark.js +21 -20
  223. package/lib/components/Coachmark/CoachmarkDragbar.js +10 -9
  224. package/lib/components/Coachmark/CoachmarkHeader.js +8 -7
  225. package/lib/components/Coachmark/CoachmarkOverlay.js +10 -9
  226. package/lib/components/Coachmark/CoachmarkTagline.js +8 -7
  227. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +7 -6
  228. package/lib/components/CoachmarkButton/CoachmarkButton.js +6 -5
  229. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +11 -10
  230. package/lib/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +8 -7
  231. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +16 -15
  232. package/lib/components/CoachmarkStack/CoachmarkStack.js +20 -19
  233. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +17 -16
  234. package/lib/components/ComboButton/ComboButton.js +7 -6
  235. package/lib/components/CreateFullPage/CreateFullPage.js +29 -28
  236. package/lib/components/CreateFullPage/CreateFullPageStep.js +18 -17
  237. package/lib/components/CreateInfluencer/CreateInfluencer.js +13 -12
  238. package/lib/components/CreateModal/CreateModal.js +16 -15
  239. package/lib/components/CreateSidePanel/CreateSidePanel.js +21 -20
  240. package/lib/components/CreateTearsheet/CreateTearsheet.js +27 -20
  241. package/lib/components/CreateTearsheet/CreateTearsheetDivider.js +5 -4
  242. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +19 -18
  243. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +21 -20
  244. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +22 -21
  245. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +60 -58
  246. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +42 -40
  247. package/lib/components/DataSpreadsheet/utils/checkForHoldingKey.d.ts +1 -0
  248. package/lib/components/DataSpreadsheet/utils/checkForHoldingKey.js +21 -0
  249. package/lib/components/Datagrid/Datagrid/Datagrid.js +15 -7
  250. package/lib/components/Datagrid/Datagrid/DatagridContent.d.ts +3 -1
  251. package/lib/components/Datagrid/Datagrid/DatagridContent.js +37 -32
  252. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +8 -3
  253. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +14 -9
  254. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +3 -2
  255. package/lib/components/Datagrid/Datagrid/DatagridRow.js +20 -15
  256. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +4 -3
  257. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +14 -13
  258. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +3 -2
  259. package/lib/components/Datagrid/Datagrid/DatagridToolbar.d.ts +10 -1
  260. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +24 -6
  261. package/lib/components/Datagrid/Datagrid/DraggableElement.js +13 -12
  262. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +15 -14
  263. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +25 -24
  264. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +27 -26
  265. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +37 -14
  266. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.d.ts +4 -1
  267. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +6 -0
  268. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +98 -2
  269. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +11 -0
  270. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +15 -14
  271. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +20 -19
  272. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +9 -8
  273. package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +1 -1
  274. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  275. package/lib/components/Datagrid/useColumnCenterAlign.js +3 -2
  276. package/lib/components/Datagrid/useColumnRightAlign.js +3 -2
  277. package/lib/components/Datagrid/useDefaultStringRenderer.js +4 -3
  278. package/lib/components/Datagrid/useFiltering.js +46 -45
  279. package/lib/components/Datagrid/useFloatingScroll.js +6 -2
  280. package/lib/components/Datagrid/useInlineEdit.js +4 -3
  281. package/lib/components/Datagrid/useNestedRowExpander.js +4 -3
  282. package/lib/components/Datagrid/useNestedRows.js +6 -2
  283. package/lib/components/Datagrid/useRowExpander.js +3 -2
  284. package/lib/components/Datagrid/useSelectAllToggle.js +7 -4
  285. package/lib/components/Datagrid/useSelectRows.js +5 -4
  286. package/lib/components/Datagrid/useSortableColumns.js +3 -2
  287. package/lib/components/Datagrid/useStickyColumn.js +4 -3
  288. package/lib/components/DelimitedList/DelimitedList.js +8 -7
  289. package/lib/components/EditFullPage/EditFullPage.js +6 -5
  290. package/lib/components/EditInPlace/EditInPlace.js +23 -22
  291. package/lib/components/EditSidePanel/EditSidePanel.js +23 -22
  292. package/lib/components/EditTearsheet/EditTearsheet.js +18 -17
  293. package/lib/components/EditTearsheet/EditTearsheetForm.js +11 -10
  294. package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +6 -5
  295. package/lib/components/EditUpdateCards/EditUpdateCards.js +31 -30
  296. package/lib/components/EmptyStates/EmptyState.js +20 -19
  297. package/lib/components/EmptyStates/EmptyStateContent.js +16 -15
  298. package/lib/components/EmptyStates/EmptyStateV2.js +20 -19
  299. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +18 -17
  300. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +18 -17
  301. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +18 -17
  302. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +18 -17
  303. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +18 -17
  304. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +18 -17
  305. package/lib/components/EmptyStates/assets/ErrorIllustration.js +7 -6
  306. package/lib/components/EmptyStates/assets/NoDataIllustration.js +7 -6
  307. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +7 -6
  308. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +7 -6
  309. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +7 -6
  310. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +7 -6
  311. package/lib/components/ExportModal/ExportModal.js +30 -29
  312. package/lib/components/FilterSummary/FilterSummary.js +13 -12
  313. package/lib/components/FullPageError/FullPageError.js +13 -12
  314. package/lib/components/Guidebanner/Guidebanner.js +20 -19
  315. package/lib/components/Guidebanner/GuidebannerElement.js +8 -7
  316. package/lib/components/Guidebanner/GuidebannerElementButton.js +8 -7
  317. package/lib/components/Guidebanner/GuidebannerElementLink.js +6 -5
  318. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +11 -10
  319. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +11 -10
  320. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +11 -10
  321. package/lib/components/ImportModal/ImportModal.js +32 -31
  322. package/lib/components/InlineTip/InlineTip.js +21 -20
  323. package/lib/components/InlineTip/InlineTipButton.js +6 -5
  324. package/lib/components/InlineTip/InlineTipLink.js +6 -5
  325. package/lib/components/InterstitialScreen/InterstitialScreen.js +13 -12
  326. package/lib/components/InterstitialScreenView/InterstitialScreenView.js +7 -6
  327. package/lib/components/InterstitialScreenViewModule/InterstitialScreenViewModule.js +7 -6
  328. package/lib/components/NonLinearReading/NonLinearReading.js +9 -8
  329. package/lib/components/NotificationsPanel/NotificationsPanel.js +59 -58
  330. package/lib/components/OptionsTile/OptionsTile.js +21 -20
  331. package/lib/components/PageHeader/PageHeader.js +74 -73
  332. package/lib/components/PageHeader/PageHeaderTitle.js +21 -20
  333. package/lib/components/PageHeader/PageHeaderUtils.js +3 -2
  334. package/lib/components/RemoveModal/RemoveModal.js +22 -21
  335. package/lib/components/Saving/Saving.js +18 -17
  336. package/lib/components/SearchBar/SearchBar.js +20 -19
  337. package/lib/components/SidePanel/SidePanel.js +58 -50
  338. package/lib/components/SidePanel/motion/variants.d.ts +39 -12
  339. package/lib/components/SidePanel/motion/variants.js +42 -10
  340. package/lib/components/SimpleHeader/SimpleHeader.js +17 -16
  341. package/lib/components/StatusIcon/StatusIcon.js +9 -8
  342. package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +7 -6
  343. package/lib/components/StringFormatter/StringFormatter.d.ts +6 -0
  344. package/lib/components/StringFormatter/StringFormatter.js +86 -0
  345. package/lib/components/StringFormatter/index.d.ts +1 -0
  346. package/lib/components/StringFormatter/utils/enums.d.ts +14 -0
  347. package/lib/components/StringFormatter/utils/enums.js +27 -0
  348. package/lib/components/TagSet/TagSet.js +21 -20
  349. package/lib/components/TagSet/TagSetModal.js +13 -12
  350. package/lib/components/TagSet/TagSetOverflow.js +18 -17
  351. package/lib/components/Tearsheet/TearsheetShell.js +42 -36
  352. package/lib/components/Toolbar/Toolbar.js +7 -6
  353. package/lib/components/Toolbar/ToolbarButton.js +9 -8
  354. package/lib/components/Toolbar/ToolbarGroup.js +6 -5
  355. package/lib/components/TooltipTrigger/TooltipTrigger.js +6 -5
  356. package/lib/components/TruncatedList/TruncatedList.js +14 -13
  357. package/lib/components/UserAvatar/UserAvatar.js +61 -44
  358. package/lib/components/UserProfileImage/UserProfileImage.js +3 -2
  359. package/lib/components/WebTerminal/WebTerminal.js +14 -13
  360. package/lib/components/WebTerminal/WebTerminalContentWrapper.js +5 -4
  361. package/lib/components/_Canary/Canary.js +6 -5
  362. package/lib/components/index.d.ts +2 -0
  363. package/lib/global/js/hooks/index.d.ts +1 -0
  364. package/lib/global/js/hooks/useIsomorphicEffect.d.ts +2 -0
  365. package/lib/global/js/hooks/useIsomorphicEffect.js +18 -0
  366. package/lib/global/js/package-settings.d.ts +2 -0
  367. package/lib/global/js/package-settings.js +2 -0
  368. package/lib/index.js +10 -0
  369. package/lib/node_modules/prop-types/index.js +1 -1
  370. package/lib/settings.d.ts +2 -0
  371. package/package.json +8 -7
  372. package/scss/components/BigNumbers/_big-numbers.scss +151 -0
  373. package/scss/components/BigNumbers/_carbon-imports.scss +11 -0
  374. package/scss/components/BigNumbers/_index-with-carbon.scss +9 -0
  375. package/scss/components/BigNumbers/_index.scss +8 -0
  376. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +0 -1
  377. package/scss/components/Datagrid/styles/_datagrid.scss +61 -4
  378. package/scss/components/FullPageError/_full-page-error.scss +2 -2
  379. package/scss/components/SidePanel/_side-panel.scss +9 -2
  380. package/scss/components/StringFormatter/_carbon-imports.scss +10 -0
  381. package/scss/components/StringFormatter/_index-with-carbon.scss +9 -0
  382. package/scss/components/StringFormatter/_index.scss +8 -0
  383. package/scss/components/StringFormatter/_string-formatter.scss +97 -0
  384. package/scss/components/Tearsheet/_tearsheet.scss +38 -7
  385. package/scss/components/UserAvatar/_user-avatar.scss +40 -0
  386. package/scss/components/_index-with-carbon.scss +2 -0
  387. package/scss/components/_index.scss +2 -0
  388. package/es/_virtual/index2.js +0 -10
  389. package/es/node_modules/classnames/index.js +0 -70
  390. package/lib/_virtual/index2.js +0 -14
  391. package/lib/node_modules/classnames/index.js +0 -74
@@ -11,8 +11,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
12
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
13
  var React = require('react');
14
- var index$1 = require('../../node_modules/prop-types/index.js');
15
- var index = require('../../node_modules/classnames/index.js');
14
+ var index = require('../../node_modules/prop-types/index.js');
15
+ var cx = require('classnames');
16
16
  var settings = require('../../settings.js');
17
17
  var AddSelectRow = require('./AddSelectRow.js');
18
18
  var useFocus = require('./hooks/useFocus.js');
@@ -20,6 +20,7 @@ var useFocus = require('./hooks/useFocus.js');
20
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
21
 
22
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
24
 
24
25
  var _excluded = ["filteredItems", "multi"];
25
26
  var blockClass = "".concat(settings.pkg.prefix, "--add-select__selections");
@@ -34,7 +35,7 @@ var AddSelectList = function AddSelectList(_ref) {
34
35
  setFocus = _useFocus2[1];
35
36
  return /*#__PURE__*/React__default["default"].createElement("div", {
36
37
  id: "add-select-focus",
37
- className: index["default"]("".concat(blockClass, "-wrapper"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "-wrapper-multi"), multi))
38
+ className: cx__default["default"]("".concat(blockClass, "-wrapper"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "-wrapper-multi"), multi))
38
39
  }, /*#__PURE__*/React__default["default"].createElement("div", {
39
40
  className: "".concat(blockClass)
40
41
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -54,9 +55,9 @@ var AddSelectList = function AddSelectList(_ref) {
54
55
  }))));
55
56
  };
56
57
  AddSelectList.propTypes = {
57
- filteredItems: index$1["default"].array,
58
- focus: index$1["default"].oneOfType([index$1["default"].number, index$1["default"].string]),
59
- multi: index$1["default"].bool
58
+ filteredItems: index["default"].array,
59
+ focus: index["default"].oneOfType([index["default"].number, index["default"].string]),
60
+ multi: index["default"].bool
60
61
  };
61
62
  AddSelectList.displayName = componentName;
62
63
 
@@ -13,14 +13,15 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
13
13
  var React = require('react');
14
14
  var react = require('@carbon/react');
15
15
  var icons = require('@carbon/react/icons');
16
- var index$1 = require('../../node_modules/prop-types/index.js');
17
- var index = require('../../node_modules/classnames/index.js');
16
+ var index = require('../../node_modules/prop-types/index.js');
17
+ var cx = require('classnames');
18
18
  var settings = require('../../settings.js');
19
19
  var AddSelectFormControl = require('./AddSelectFormControl.js');
20
20
 
21
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
22
 
23
23
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
24
25
 
25
26
  var blockClass = "".concat(settings.pkg.prefix, "--add-select__selections");
26
27
  var componentName = 'AddSelectList';
@@ -28,7 +29,7 @@ var AddSelectRow = function AddSelectRow(_ref) {
28
29
  var _modifiers$options;
29
30
  var appliedModifiers = _ref.appliedModifiers,
30
31
  displayMetalPanel = _ref.displayMetalPanel,
31
- index$1 = _ref.index,
32
+ index = _ref.index,
32
33
  focus = _ref.focus,
33
34
  item = _ref.item,
34
35
  metaIconDescription = _ref.metaIconDescription,
@@ -48,10 +49,10 @@ var AddSelectRow = function AddSelectRow(_ref) {
48
49
  singleSelection = _ref.singleSelection;
49
50
  var ref = React.useRef(null);
50
51
  React.useEffect(function () {
51
- if (focus === index$1) {
52
+ if (focus === index) {
52
53
  ref.current.focus();
53
54
  }
54
- }, [focus, index$1]);
55
+ }, [focus, index]);
55
56
  var isSelected = function isSelected() {
56
57
  if (multi) {
57
58
  return multiSelection.includes(item.id);
@@ -60,12 +61,12 @@ var AddSelectRow = function AddSelectRow(_ref) {
60
61
  };
61
62
  var getTabIndex = function getTabIndex() {
62
63
  // on initial load make the first item tabbable
63
- if (index$1 === 0 && focus === '') {
64
+ if (index === 0 && focus === '') {
64
65
  return 0;
65
66
  }
66
67
 
67
68
  // make it so only the last focused item is tabbable
68
- if (focus === index$1 && focus !== '') {
69
+ if (focus === index && focus !== '') {
69
70
  return 0;
70
71
  }
71
72
 
@@ -73,8 +74,8 @@ var AddSelectRow = function AddSelectRow(_ref) {
73
74
  return -1;
74
75
  };
75
76
  var focusHandler = React.useCallback(function (reset) {
76
- setFocus(reset ? '' : index$1);
77
- }, [setFocus, index$1]);
77
+ setFocus(reset ? '' : index);
78
+ }, [setFocus, index]);
78
79
  var handleSingleSelection = function handleSingleSelection() {
79
80
  setSingleSelection(item.id);
80
81
  };
@@ -129,13 +130,13 @@ var AddSelectRow = function AddSelectRow(_ref) {
129
130
  var selected = isSelected();
130
131
  var expanded = parentSelected === item.id;
131
132
  return /*#__PURE__*/React__default["default"].createElement("div", {
132
- className: index["default"]("".concat(blockClass, "-row"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "-row--selected"), isSelected()), "".concat(blockClass, "-row-meta--selected"), isInMetaPanel(item.id)), "".concat(blockClass, "-row--active"), expanded)),
133
+ className: cx__default["default"]("".concat(blockClass, "-row"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "-row--selected"), isSelected()), "".concat(blockClass, "-row-meta--selected"), isInMetaPanel(item.id)), "".concat(blockClass, "-row--active"), expanded)),
133
134
  onKeyDown: onSelectKeyDown,
134
135
  tabIndex: tabIndex,
135
136
  ref: ref,
136
137
  role: "row",
137
138
  "aria-selected": selected,
138
- "aria-posinset": index$1 + 1 // a11y aria-posinset must be >= 1, index is zero based
139
+ "aria-posinset": index + 1 // a11y aria-posinset must be >= 1, index is zero based
139
140
  ,
140
141
  "aria-setsize": setSize,
141
142
  "aria-expanded": expanded
@@ -200,27 +201,27 @@ var AddSelectRow = function AddSelectRow(_ref) {
200
201
  }))));
201
202
  };
202
203
  AddSelectRow.propTypes = {
203
- appliedModifiers: index$1["default"].array,
204
- displayMetalPanel: index$1["default"].object,
205
- filteredItems: index$1["default"].array,
206
- focus: index$1["default"].oneOfType([index$1["default"].number, index$1["default"].string]),
207
- index: index$1["default"].number,
208
- item: index$1["default"].object,
209
- metaIconDescription: index$1["default"].string,
210
- modifiers: index$1["default"].object,
211
- multi: index$1["default"].bool,
212
- multiSelection: index$1["default"].array,
213
- navIconDescription: index$1["default"].string,
214
- parentId: index$1["default"].string,
215
- parentSelected: index$1["default"].string,
216
- setAppliedModifiers: index$1["default"].func,
217
- setDisplayMetaPanel: index$1["default"].func,
218
- setFocus: index$1["default"].func,
219
- setMultiSelection: index$1["default"].func,
220
- setParentSelected: index$1["default"].func,
221
- setSingleSelection: index$1["default"].func,
222
- setSize: index$1["default"].number,
223
- singleSelection: index$1["default"].string
204
+ appliedModifiers: index["default"].array,
205
+ displayMetalPanel: index["default"].object,
206
+ filteredItems: index["default"].array,
207
+ focus: index["default"].oneOfType([index["default"].number, index["default"].string]),
208
+ index: index["default"].number,
209
+ item: index["default"].object,
210
+ metaIconDescription: index["default"].string,
211
+ modifiers: index["default"].object,
212
+ multi: index["default"].bool,
213
+ multiSelection: index["default"].array,
214
+ navIconDescription: index["default"].string,
215
+ parentId: index["default"].string,
216
+ parentSelected: index["default"].string,
217
+ setAppliedModifiers: index["default"].func,
218
+ setDisplayMetaPanel: index["default"].func,
219
+ setFocus: index["default"].func,
220
+ setMultiSelection: index["default"].func,
221
+ setParentSelected: index["default"].func,
222
+ setSingleSelection: index["default"].func,
223
+ setSize: index["default"].number,
224
+ singleSelection: index["default"].string
224
225
  };
225
226
  AddSelectRow.displayName = componentName;
226
227
 
@@ -0,0 +1,11 @@
1
+ /**
2
+ * BigNumbers is used to display large values in a small area. The display of
3
+ * values can be the value itself, or grouped in a numerator / denominator fashion.
4
+ * Control over the total fraction decimals displayed as well as how the
5
+ * values/totals are displayed are done via a locale prop. Other optional props
6
+ * allow control over size, truncation, if the value is a percentage, the addition
7
+ * of a button as well as tool tip functionality.
8
+ * The default locale is English (`en-US`) if one is not provided or if the provided one is not supported.
9
+ */
10
+ export let BigNumbers: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
11
+ import React from 'react';
@@ -0,0 +1,245 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var index = require('../../node_modules/prop-types/index.js');
15
+ var cx = require('classnames');
16
+ var devtools = require('../../global/js/utils/devtools.js');
17
+ var settings = require('../../settings.js');
18
+ var icons = require('@carbon/react/icons');
19
+ var react = require('@carbon/react');
20
+ var constants = require('./constants.js');
21
+ var TooltipTrigger = require('../TooltipTrigger/TooltipTrigger.js');
22
+
23
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
+
25
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
26
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
27
+
28
+ var _Information;
29
+ var _excluded = ["className", "forceShowTotal", "fractionDigits", "iconButton", "loading", "label", "locale", "percentage", "size", "tooltipDescription", "total", "trending", "truncate", "value"],
30
+ _excluded2 = ["className", "size"];
31
+
32
+ // The block part of our conventional BEM class names (blockClass__E--M).
33
+ var blockClass = "".concat(settings.pkg.prefix, "--big-numbers");
34
+ var skeletonBlockClass = "".concat(settings.pkg.prefix, "--big-numbers-skeleton");
35
+ var componentName = 'BigNumbers';
36
+
37
+ // NOTE: the component SCSS is not imported here: it is rolled up separately.
38
+
39
+ // Default values for props
40
+ var defaults = {
41
+ forceShowTotal: false,
42
+ fractionDigits: 1,
43
+ loading: false,
44
+ locale: constants.DefaultLocale,
45
+ percentage: false,
46
+ size: constants.BigNumbersSize.Default,
47
+ total: 0,
48
+ trending: false,
49
+ truncate: true,
50
+ value: null
51
+ };
52
+
53
+ /**
54
+ * BigNumbers is used to display large values in a small area. The display of
55
+ * values can be the value itself, or grouped in a numerator / denominator fashion.
56
+ * Control over the total fraction decimals displayed as well as how the
57
+ * values/totals are displayed are done via a locale prop. Other optional props
58
+ * allow control over size, truncation, if the value is a percentage, the addition
59
+ * of a button as well as tool tip functionality.
60
+ * The default locale is English (`en-US`) if one is not provided or if the provided one is not supported.
61
+ */
62
+ exports.BigNumbers = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
63
+ var _formatValue, _formatValue2;
64
+ var className = _ref.className,
65
+ _ref$forceShowTotal = _ref.forceShowTotal,
66
+ forceShowTotal = _ref$forceShowTotal === void 0 ? defaults.forceShowTotal : _ref$forceShowTotal,
67
+ _ref$fractionDigits = _ref.fractionDigits,
68
+ fractionDigits = _ref$fractionDigits === void 0 ? defaults.fractionDigits : _ref$fractionDigits,
69
+ iconButton = _ref.iconButton,
70
+ _ref$loading = _ref.loading,
71
+ loading = _ref$loading === void 0 ? defaults.loading : _ref$loading,
72
+ label = _ref.label,
73
+ _ref$locale = _ref.locale,
74
+ locale = _ref$locale === void 0 ? defaults.locale : _ref$locale,
75
+ _ref$percentage = _ref.percentage,
76
+ percentage = _ref$percentage === void 0 ? defaults.percentage : _ref$percentage,
77
+ _ref$size = _ref.size,
78
+ size = _ref$size === void 0 ? defaults.size : _ref$size,
79
+ tooltipDescription = _ref.tooltipDescription,
80
+ _ref$total = _ref.total,
81
+ total = _ref$total === void 0 ? defaults.total : _ref$total,
82
+ _ref$trending = _ref.trending,
83
+ trending = _ref$trending === void 0 ? defaults.trending : _ref$trending,
84
+ _ref$truncate = _ref.truncate,
85
+ truncate = _ref$truncate === void 0 ? defaults.truncate : _ref$truncate,
86
+ _ref$value = _ref.value,
87
+ value = _ref$value === void 0 ? defaults.value : _ref$value,
88
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
89
+ var BigNumbersClasses = cx__default["default"](className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--lg"), size === constants.BigNumbersSize.Large), "".concat(blockClass, "--xl"), size === constants.BigNumbersSize.XLarge));
90
+ var supportedLocale = constants.getSupportedLocale(locale);
91
+ var truncatedValue = (_formatValue = constants.formatValue(supportedLocale, value, fractionDigits, truncate)) !== null && _formatValue !== void 0 ? _formatValue : constants.Characters.Dash;
92
+ var truncatedTotal = (_formatValue2 = constants.formatValue(supportedLocale, total, fractionDigits, truncate)) !== null && _formatValue2 !== void 0 ? _formatValue2 : 'Unknown';
93
+ var shouldDisplayDenominator = !percentage && total > value && truncatedValue !== truncatedTotal || forceShowTotal && total > 0;
94
+ if (loading) {
95
+ return /*#__PURE__*/React__default["default"].createElement(SkeletonBigNumbers, _rollupPluginBabelHelpers["extends"]({}, rest, {
96
+ ref: ref,
97
+ className: className,
98
+ size: size
99
+ }, devtools.getDevtoolsProps(componentName)));
100
+ }
101
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
102
+ className: cx__default["default"](blockClass, BigNumbersClasses, className),
103
+ ref: ref
104
+ }, devtools.getDevtoolsProps(componentName)), /*#__PURE__*/React__default["default"].createElement("span", {
105
+ className: "".concat(blockClass, "__row")
106
+ }, /*#__PURE__*/React__default["default"].createElement("h4", {
107
+ className: "".concat(blockClass, "__label")
108
+ }, label), tooltipDescription && /*#__PURE__*/React__default["default"].createElement(react.Tooltip, {
109
+ description: tooltipDescription,
110
+ align: "right",
111
+ className: "".concat(blockClass, "__info")
112
+ }, /*#__PURE__*/React__default["default"].createElement(TooltipTrigger.TooltipTrigger, {
113
+ className: "".concat(blockClass, "__tooltip-trigger")
114
+ }, _Information || (_Information = /*#__PURE__*/React__default["default"].createElement(icons.Information, {
115
+ size: 16
116
+ }))))), /*#__PURE__*/React__default["default"].createElement("span", {
117
+ className: "".concat(blockClass, "__row"),
118
+ role: "math"
119
+ }, trending && /*#__PURE__*/React__default["default"].createElement(icons.ArrowUp, {
120
+ className: "".concat(blockClass, "__trend"),
121
+ size: constants.getIconSize(size)
122
+ }), /*#__PURE__*/React__default["default"].createElement("span", {
123
+ className: "".concat(blockClass, "__value")
124
+ }, percentage ? /*#__PURE__*/React__default["default"].createElement("div", {
125
+ className: "".concat(blockClass, "__percentage")
126
+ }, truncatedValue, /*#__PURE__*/React__default["default"].createElement("span", {
127
+ className: "".concat(blockClass, "__percentage-mark")
128
+ }, "%")) : truncatedValue), shouldDisplayDenominator && /*#__PURE__*/React__default["default"].createElement("span", {
129
+ className: "".concat(blockClass, "__total")
130
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, constants.Characters.Slash, truncatedTotal)), iconButton));
131
+ });
132
+
133
+ // Return a placeholder if not released and not enabled by feature flag
134
+ exports.BigNumbers = settings.pkg.checkComponentEnabled(exports.BigNumbers, componentName);
135
+
136
+ // The display name of the component, used by React. Note that displayName
137
+ // is used in preference to relying on function.name.
138
+ exports.BigNumbers.displayName = componentName;
139
+
140
+ // The types and DocGen commentary for the component props,
141
+ // in alphabetical order (for consistency).
142
+ // See https://www.npmjs.com/package/prop-types#usage.
143
+ exports.BigNumbers.propTypes = {
144
+ /**
145
+ * Optional class name.
146
+ * @type number
147
+ */
148
+ className: index["default"].string,
149
+ /**
150
+ * Display the `total` even when the `value` is equal to
151
+ * the `total` when `forceShowTotal` prop is true on the
152
+ * condition that the `total` is greater than 0.
153
+ * @type bool
154
+ */
155
+ forceShowTotal: index["default"].bool,
156
+ /**
157
+ * Optional value to control the maximum fraction digits
158
+ * used when truncating the value and total.
159
+ * @type number
160
+ */
161
+ fractionDigits: index["default"].number,
162
+ /** Displays an iconButton next to the BigNumbers value
163
+ * @type node
164
+ */
165
+ iconButton: index["default"].node,
166
+ /**
167
+ * Text label for BigNumbers.
168
+ * @type string
169
+ */
170
+ label: index["default"].string.isRequired,
171
+ /** Specify if the BigNumbers is in a loading state
172
+ * @type bool
173
+ */
174
+ loading: index["default"].bool,
175
+ /**
176
+ * Locale value to determine approach to formatting numbers.
177
+ * @type string
178
+ */
179
+ locale: index["default"].string,
180
+ /**
181
+ * Format number to percentage when `percentage` prop is true.
182
+ * @type bool
183
+ */
184
+ percentage: index["default"].bool,
185
+ /** The size of the BigNumbers.
186
+ * @type string
187
+ */
188
+ size: index["default"].oneOf(Object.values(constants.BigNumbersSize)),
189
+ /** Label applied to a Tooltip - marked with the Information icon.
190
+ * @type string
191
+ */
192
+ tooltipDescription: index["default"].string,
193
+ /**
194
+ * Total value that the main BigNumbers value is a subset of.
195
+ * @type number
196
+ */
197
+ total: index["default"].number,
198
+ /** Display trending icon.
199
+ * @type boolean
200
+ */
201
+ trending: index["default"].bool,
202
+ /** Specify whether or not the values should be truncated.
203
+ * @type boolean
204
+ */
205
+ truncate: index["default"].bool,
206
+ /**
207
+ * The main BigNumbers value to display
208
+ * @type number
209
+ */
210
+ value: index["default"].number
211
+ };
212
+
213
+ /**
214
+ * SkeletonBigNumbers is used to display a skeleton version while
215
+ * content is loading (handled by the BigNumbers prop `loading').
216
+ *
217
+ * Note: This component is only used within BigNumbers.
218
+ */
219
+ var SkeletonBigNumbers = /*#__PURE__*/React__default["default"].forwardRef(function (_ref2, ref) {
220
+ var className = _ref2.className,
221
+ size = _ref2.size,
222
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref2, _excluded2);
223
+ var BigNumbersSkeletonClasses = cx__default["default"](className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(skeletonBlockClass, "--lg"), size === constants.BigNumbersSize.Large), "".concat(skeletonBlockClass, "--xl"), size === constants.BigNumbersSize.XLarge));
224
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
225
+ className: cx__default["default"](className, skeletonBlockClass, BigNumbersSkeletonClasses),
226
+ ref: ref
227
+ }, devtools.getDevtoolsProps(componentName)), /*#__PURE__*/React__default["default"].createElement(react.SkeletonText, {
228
+ className: "".concat(skeletonBlockClass, "__label")
229
+ }), /*#__PURE__*/React__default["default"].createElement(react.SkeletonText, {
230
+ heading: true,
231
+ className: "".concat(skeletonBlockClass, "__value"),
232
+ width: "80%"
233
+ }));
234
+ });
235
+ SkeletonBigNumbers.propTypes = {
236
+ /**
237
+ * Optional class name.
238
+ * @type number
239
+ */
240
+ className: index["default"].string,
241
+ /** The size of the BigNumbers.
242
+ * @type string
243
+ */
244
+ size: index["default"].oneOf(Object.values(constants.BigNumbersSize))
245
+ };
@@ -0,0 +1,13 @@
1
+ export namespace BigNumbersSize {
2
+ let Default: string;
3
+ let Large: string;
4
+ let XLarge: string;
5
+ }
6
+ export namespace Characters {
7
+ let Dash: string;
8
+ let Slash: string;
9
+ }
10
+ export const DefaultLocale: "en-US";
11
+ export function formatValue(locale: string, value: number, fractionDigits: number, truncate: boolean): string | null;
12
+ export function getIconSize(size: string): 16 | 20 | 24;
13
+ export function getSupportedLocale(locale: string): string;
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ /* **************************** | CONSTANTS | ***************************** */
13
+
14
+ var BigNumbersSize = {
15
+ Default: 'default',
16
+ Large: 'lg',
17
+ XLarge: 'xl'
18
+ };
19
+ var Characters = {
20
+ Dash: '–',
21
+ Slash: '/'
22
+ };
23
+ var DefaultLocale = 'en-US';
24
+
25
+ /* ************************ | UTILITY FUNCTIONS | ************************* */
26
+
27
+ /**
28
+ * Ensure that the value is formatted correctly based on whether it should be truncated or not.
29
+ * @param {string} locale Locale value to be used in formatting numbers.
30
+ * @param {number} value The value to format.
31
+ * @param {number} fractionDigits How many significant figures should be displayed.
32
+ * @param {boolean} truncate Whether or not the value should be truncated.
33
+ * @returns {string | null} The formatted value.
34
+ */
35
+ var formatValue = function formatValue(locale, value, fractionDigits, truncate) {
36
+ if (value === null || value === undefined || typeof value !== 'number') {
37
+ return null;
38
+ }
39
+ return truncate ? Intl.NumberFormat(locale, {
40
+ notation: 'compact',
41
+ minimumFractionDigits: 0,
42
+ maximumFractionDigits: Math.round(fractionDigits)
43
+ }).format(value) : Intl.NumberFormat(locale).format(value);
44
+ };
45
+
46
+ /**
47
+ * Function which takes a size and returns a numeric value for sizing icons
48
+ * @param {string} size Size of desired icon. Expected values are 'default', 'lg', or 'xl'.
49
+ */
50
+ var getIconSize = function getIconSize(size) {
51
+ switch (size) {
52
+ case BigNumbersSize.Large:
53
+ return 20;
54
+ case BigNumbersSize.XLarge:
55
+ return 24;
56
+ default:
57
+ return 16;
58
+ }
59
+ };
60
+
61
+ /**
62
+ * Function which takes a locale and returns a supported locale or the default
63
+ * @param {string} locale Desired locale for number formatting.
64
+ *
65
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#locales
66
+ */
67
+ var getSupportedLocale = function getSupportedLocale(locale) {
68
+ return Intl.NumberFormat.supportedLocalesOf(locale).length > 0 ? locale : DefaultLocale;
69
+ };
70
+
71
+ exports.BigNumbersSize = BigNumbersSize;
72
+ exports.Characters = Characters;
73
+ exports.DefaultLocale = DefaultLocale;
74
+ exports.formatValue = formatValue;
75
+ exports.getIconSize = getIconSize;
76
+ exports.getSupportedLocale = getSupportedLocale;
@@ -0,0 +1 @@
1
+ export { BigNumbers } from "./BigNumbers";
@@ -11,8 +11,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
12
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
13
  var React = require('react');
14
- var index$1 = require('../../node_modules/prop-types/index.js');
15
- var index = require('../../node_modules/classnames/index.js');
14
+ var index = require('../../node_modules/prop-types/index.js');
15
+ var cx = require('classnames');
16
16
  var useResizeObserver = require('../../global/js/hooks/useResizeObserver.js');
17
17
  var react = require('@carbon/react');
18
18
  var settings = require('../../settings.js');
@@ -24,6 +24,7 @@ var TooltipTrigger = require('../TooltipTrigger/TooltipTrigger.js');
24
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
25
 
26
26
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
27
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
27
28
 
28
29
  var _TooltipTrigger;
29
30
  var _excluded = ["breadcrumbs", "className", "maxVisible", "noTrailingSlash", "overflowAriaLabel"],
@@ -130,7 +131,7 @@ exports.BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
130
131
  setDisplayedBreadcrumbItems([]);
131
132
  return;
132
133
  }
133
- var newDisplayedBreadcrumbItems = breadcrumbs.map(function (_ref4, index$1) {
134
+ var newDisplayedBreadcrumbItems = breadcrumbs.map(function (_ref4, index) {
134
135
  var className = _ref4.className,
135
136
  key = _ref4.key,
136
137
  label = _ref4.label,
@@ -138,8 +139,8 @@ exports.BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
138
139
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref4, _excluded3);
139
140
  return /*#__PURE__*/React__default["default"].createElement(react.BreadcrumbItem, _rollupPluginBabelHelpers["extends"]({
140
141
  key: key,
141
- className: index$1 > 0 || displayCount > 1 ? index["default"]([className, "".concat(blockClass, "__displayed-breadcrumb")]) : className,
142
- title: index$1 + 1 === breadcrumbs.length ? title : null
142
+ className: index > 0 || displayCount > 1 ? cx__default["default"]([className, "".concat(blockClass, "__displayed-breadcrumb")]) : className,
143
+ title: index + 1 === breadcrumbs.length ? title : null
143
144
  }, rest), label);
144
145
  });
145
146
 
@@ -258,15 +259,15 @@ exports.BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
258
259
  // item resize
259
260
  useResizeObserver.useResizeObserver(breadcrumbItemWithOverflow, handleResize);
260
261
  return /*#__PURE__*/React__default["default"].createElement("div", {
261
- className: index["default"](blockClass, className, _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__with-items"), displayedBreadcrumbItems.length > 1)),
262
+ className: cx__default["default"](blockClass, className, _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__with-items"), displayedBreadcrumbItems.length > 1)),
262
263
  ref: breadcrumbItemWithOverflow
263
264
  }, /*#__PURE__*/React__default["default"].createElement("div", {
264
- className: index["default"](["".concat(blockClass, "__space")])
265
+ className: cx__default["default"](["".concat(blockClass, "__space")])
265
266
  }, hiddenSizingItems, /*#__PURE__*/React__default["default"].createElement(react.Breadcrumb, _rollupPluginBabelHelpers["extends"]({
266
- className: index["default"]("".concat(blockClass, "__breadcrumb-container"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__breadcrumb-container-with-items"), displayedBreadcrumbItems.length > 1)),
267
+ className: cx__default["default"]("".concat(blockClass, "__breadcrumb-container"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__breadcrumb-container-with-items"), displayedBreadcrumbItems.length > 1)),
267
268
  noTrailingSlash: noTrailingSlash
268
269
  }, other), ((_backItem = backItem) === null || _backItem === void 0 ? void 0 : _backItem.href) && (((_backItem2 = backItem) === null || _backItem2 === void 0 ? void 0 : _backItem2.label) || ((_backItem3 = backItem) === null || _backItem3 === void 0 ? void 0 : _backItem3.title)) && /*#__PURE__*/React__default["default"].createElement(react.BreadcrumbItem, {
269
- className: index["default"]("".concat(blockClass, "__breadcrumb-back"))
270
+ className: cx__default["default"]("".concat(blockClass, "__breadcrumb-back"))
270
271
  }, /*#__PURE__*/React__default["default"].createElement(react.Link, {
271
272
  href: backItem.href,
272
273
  renderIcon: function renderIcon() {
@@ -284,27 +285,27 @@ exports.BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
284
285
  // Return a placeholder if not released and not enabled by feature flag
285
286
  exports.BreadcrumbWithOverflow = settings.pkg.checkComponentEnabled(exports.BreadcrumbWithOverflow, componentName);
286
287
  exports.BreadcrumbWithOverflow.propTypes = {
287
- breadcrumbs: index$1["default"].arrayOf(index$1["default"].shape({
288
+ breadcrumbs: index["default"].arrayOf(index["default"].shape({
288
289
  /**
289
290
  * Optional string representing the link location for the BreadcrumbItem
290
291
  */
291
- href: index$1["default"].string,
292
+ href: index["default"].string,
292
293
  /**
293
294
  * Provide if this breadcrumb item represents the current page
294
295
  */
295
- isCurrentPage: index$1["default"].bool,
296
+ isCurrentPage: index["default"].bool,
296
297
  /**
297
298
  * Key required to render array efficiently
298
299
  */
299
- key: index$1["default"].string.isRequired,
300
+ key: index["default"].string.isRequired,
300
301
  /**
301
302
  * Pass in content that will be inside of the BreadcrumbItem
302
303
  */
303
- label: index$1["default"].node,
304
+ label: index["default"].node,
304
305
  /**
305
306
  * A string based alternative to the children, required only if children is not of type string.
306
307
  */
307
- title: index$1["default"].string.isRequired.if(function (_ref5) {
308
+ title: index["default"].string.isRequired.if(function (_ref5) {
308
309
  var label = _ref5.label;
309
310
  return typeof label !== 'string';
310
311
  })
@@ -312,19 +313,19 @@ exports.BreadcrumbWithOverflow.propTypes = {
312
313
  /**
313
314
  * className
314
315
  */
315
- className: index$1["default"].string,
316
+ className: index["default"].string,
316
317
  /**
317
318
  * maxVisible: maximum visible breadcrumb-items before overflow is used (values less than 1 are treated as 1)
318
319
  */
319
- maxVisible: index$1["default"].number,
320
+ maxVisible: index["default"].number,
320
321
  /**
321
322
  * noTrailing slash - same as for Carbon
322
323
  */
323
- noTrailingSlash: index$1["default"].bool,
324
+ noTrailingSlash: index["default"].bool,
324
325
  /**
325
326
  * overflowAriaLabel label for open close button overflow used for breadcrumb items that do not fit.
326
327
  */
327
- overflowAriaLabel: index$1["default"].string.isRequired.if(function (_ref6) {
328
+ overflowAriaLabel: index["default"].string.isRequired.if(function (_ref6) {
328
329
  var breadcrumbs = _ref6.breadcrumbs;
329
330
  return breadcrumbs.length > 1;
330
331
  })