@redsift/design-system 11.5.0-muiv5 → 11.6.0-alpha.0

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 (285) hide show
  1. package/_internal/Alert2.js +197 -0
  2. package/_internal/Alert2.js.map +1 -0
  3. package/_internal/AppBar.js +248 -0
  4. package/_internal/AppBar.js.map +1 -0
  5. package/_internal/AppContainer.js +142 -0
  6. package/_internal/AppContainer.js.map +1 -0
  7. package/_internal/AppContent.js +92 -0
  8. package/_internal/AppContent.js.map +1 -0
  9. package/_internal/Badge2.js +142 -0
  10. package/_internal/Badge2.js.map +1 -0
  11. package/_internal/BreadcrumbItem.js +91 -0
  12. package/_internal/BreadcrumbItem.js.map +1 -0
  13. package/_internal/Breadcrumbs2.js +94 -0
  14. package/_internal/Breadcrumbs2.js.map +1 -0
  15. package/_internal/Button2.js +91 -0
  16. package/_internal/Button2.js.map +1 -0
  17. package/_internal/ButtonGroup.js +181 -0
  18. package/_internal/ButtonGroup.js.map +1 -0
  19. package/_internal/ButtonLink.js +84 -0
  20. package/_internal/ButtonLink.js.map +1 -0
  21. package/_internal/Card2.js +157 -0
  22. package/_internal/Card2.js.map +1 -0
  23. package/_internal/CardActions.js +44 -0
  24. package/_internal/CardActions.js.map +1 -0
  25. package/_internal/CardBody.js +42 -0
  26. package/_internal/CardBody.js.map +1 -0
  27. package/_internal/CardHeader.js +83 -0
  28. package/_internal/CardHeader.js.map +1 -0
  29. package/_internal/Checkbox2.js +244 -0
  30. package/_internal/Checkbox2.js.map +1 -0
  31. package/_internal/CheckboxGroup.js +188 -0
  32. package/_internal/CheckboxGroup.js.map +1 -0
  33. package/_internal/ConditionalWrapper.js +13 -0
  34. package/_internal/ConditionalWrapper.js.map +1 -0
  35. package/_internal/DetailedCard.js +6916 -0
  36. package/_internal/DetailedCard.js.map +1 -0
  37. package/_internal/DetailedCardCollapsibleSectionItems.js +64 -0
  38. package/_internal/DetailedCardCollapsibleSectionItems.js.map +1 -0
  39. package/_internal/DetailedCardHeader.js +67 -0
  40. package/_internal/DetailedCardHeader.js.map +1 -0
  41. package/_internal/DetailedCardSection.js +172 -0
  42. package/_internal/DetailedCardSection.js.map +1 -0
  43. package/_internal/DetailedCardSectionItem.js +94 -0
  44. package/_internal/DetailedCardSectionItem.js.map +1 -0
  45. package/_internal/Flexbox2.js +93 -0
  46. package/_internal/Flexbox2.js.map +1 -0
  47. package/_internal/Grid2.js +95 -0
  48. package/_internal/Grid2.js.map +1 -0
  49. package/_internal/GridItem.js +40 -0
  50. package/_internal/GridItem.js.map +1 -0
  51. package/_internal/Heading2.js +113 -0
  52. package/_internal/Heading2.js.map +1 -0
  53. package/_internal/Icon2.js +211 -0
  54. package/_internal/Icon2.js.map +1 -0
  55. package/_internal/IconButton.js +80 -0
  56. package/_internal/IconButton.js.map +1 -0
  57. package/_internal/IconButtonLink.js +75 -0
  58. package/_internal/IconButtonLink.js.map +1 -0
  59. package/_internal/Item2.js +399 -0
  60. package/_internal/Item2.js.map +1 -0
  61. package/_internal/Link2.js +67 -0
  62. package/_internal/Link2.js.map +1 -0
  63. package/_internal/LinkButton.js +66 -0
  64. package/_internal/LinkButton.js.map +1 -0
  65. package/_internal/Listbox2.js +274 -0
  66. package/_internal/Listbox2.js.map +1 -0
  67. package/_internal/Number2.js +111 -0
  68. package/_internal/Number2.js.map +1 -0
  69. package/_internal/NumberField.js +3974 -0
  70. package/_internal/NumberField.js.map +1 -0
  71. package/_internal/Pill2.js +405 -0
  72. package/_internal/Pill2.js.map +1 -0
  73. package/_internal/ProgressBar.js +69 -0
  74. package/_internal/ProgressBar.js.map +1 -0
  75. package/_internal/Radio2.js +237 -0
  76. package/_internal/Radio2.js.map +1 -0
  77. package/_internal/RadioGroup.js +176 -0
  78. package/_internal/RadioGroup.js.map +1 -0
  79. package/_internal/Shield2.js +225 -0
  80. package/_internal/Shield2.js.map +1 -0
  81. package/_internal/SideNavigationMenu.js +591 -0
  82. package/_internal/SideNavigationMenu.js.map +1 -0
  83. package/_internal/SideNavigationMenuItem.js +304 -0
  84. package/_internal/SideNavigationMenuItem.js.map +1 -0
  85. package/_internal/Skeleton2.js +42 -0
  86. package/_internal/Skeleton2.js.map +1 -0
  87. package/_internal/SkeletonCircle.js +58 -0
  88. package/_internal/SkeletonCircle.js.map +1 -0
  89. package/_internal/SkeletonText.js +77 -0
  90. package/_internal/SkeletonText.js.map +1 -0
  91. package/_internal/Spinner2.js +333 -0
  92. package/_internal/Spinner2.js.map +1 -0
  93. package/_internal/Switch2.js +320 -0
  94. package/_internal/Switch2.js.map +1 -0
  95. package/_internal/SwitchGroup.js +188 -0
  96. package/_internal/SwitchGroup.js.map +1 -0
  97. package/_internal/Text2.js +51 -0
  98. package/_internal/Text2.js.map +1 -0
  99. package/_internal/TextArea.js +444 -0
  100. package/_internal/TextArea.js.map +1 -0
  101. package/_internal/TextField.js +473 -0
  102. package/_internal/TextField.js.map +1 -0
  103. package/_internal/_rollupPluginBabelHelpers.js +133 -0
  104. package/_internal/_rollupPluginBabelHelpers.js.map +1 -0
  105. package/_internal/alert.js +2 -0
  106. package/_internal/alert.js.map +1 -0
  107. package/_internal/app-bar.js +2 -0
  108. package/_internal/app-bar.js.map +1 -0
  109. package/_internal/app-container.js +3 -0
  110. package/_internal/app-container.js.map +1 -0
  111. package/_internal/app-content.js +2 -0
  112. package/_internal/app-content.js.map +1 -0
  113. package/_internal/app-side-panel.js +3 -0
  114. package/_internal/app-side-panel.js.map +1 -0
  115. package/_internal/badge.js +2 -0
  116. package/_internal/badge.js.map +1 -0
  117. package/_internal/breadcrumb-item.js +2 -0
  118. package/_internal/breadcrumb-item.js.map +1 -0
  119. package/_internal/breadcrumbs.js +2 -0
  120. package/_internal/breadcrumbs.js.map +1 -0
  121. package/_internal/button-group.js +2 -0
  122. package/_internal/button-group.js.map +1 -0
  123. package/_internal/button-link.js +2 -0
  124. package/_internal/button-link.js.map +1 -0
  125. package/_internal/button.js +3 -0
  126. package/_internal/button.js.map +1 -0
  127. package/_internal/card-actions.js +2 -0
  128. package/_internal/card-actions.js.map +1 -0
  129. package/_internal/card-body.js +2 -0
  130. package/_internal/card-body.js.map +1 -0
  131. package/_internal/card-header.js +2 -0
  132. package/_internal/card-header.js.map +1 -0
  133. package/_internal/card.js +2 -0
  134. package/_internal/card.js.map +1 -0
  135. package/_internal/checkbox-group.js +2 -0
  136. package/_internal/checkbox-group.js.map +1 -0
  137. package/_internal/checkbox.js +2 -0
  138. package/_internal/checkbox.js.map +1 -0
  139. package/_internal/colors.js +98 -0
  140. package/_internal/colors.js.map +1 -0
  141. package/_internal/conditional-wrapper.js +2 -0
  142. package/_internal/conditional-wrapper.js.map +1 -0
  143. package/_internal/context.js +6 -0
  144. package/_internal/context.js.map +1 -0
  145. package/_internal/context2.js +300 -0
  146. package/_internal/context2.js.map +1 -0
  147. package/_internal/context3.js +6 -0
  148. package/_internal/context3.js.map +1 -0
  149. package/_internal/context4.js +6 -0
  150. package/_internal/context4.js.map +1 -0
  151. package/_internal/context5.js +6 -0
  152. package/_internal/context5.js.map +1 -0
  153. package/_internal/detailed-card-collapsible-section-items.js +2 -0
  154. package/_internal/detailed-card-collapsible-section-items.js.map +1 -0
  155. package/_internal/detailed-card-header.js +2 -0
  156. package/_internal/detailed-card-header.js.map +1 -0
  157. package/_internal/detailed-card-section-item.js +2 -0
  158. package/_internal/detailed-card-section-item.js.map +1 -0
  159. package/_internal/detailed-card-section.js +2 -0
  160. package/_internal/detailed-card-section.js.map +1 -0
  161. package/_internal/detailed-card.js +2 -0
  162. package/_internal/detailed-card.js.map +1 -0
  163. package/_internal/filterComponents.js +24 -0
  164. package/_internal/filterComponents.js.map +1 -0
  165. package/_internal/flexbox.js +2 -0
  166. package/_internal/flexbox.js.map +1 -0
  167. package/_internal/focus-within-group.js +3 -0
  168. package/_internal/focus-within-group.js.map +1 -0
  169. package/_internal/fonts.js +10 -0
  170. package/_internal/fonts.js.map +1 -0
  171. package/_internal/gradient-border.js +38 -0
  172. package/_internal/gradient-border.js.map +1 -0
  173. package/_internal/grid-item.js +2 -0
  174. package/_internal/grid-item.js.map +1 -0
  175. package/_internal/grid.js +2 -0
  176. package/_internal/grid.js.map +1 -0
  177. package/_internal/heading.js +3 -0
  178. package/_internal/heading.js.map +1 -0
  179. package/_internal/icon-button-link.js +2 -0
  180. package/_internal/icon-button-link.js.map +1 -0
  181. package/_internal/icon-button.js +3 -0
  182. package/_internal/icon-button.js.map +1 -0
  183. package/_internal/icon.js +2 -0
  184. package/_internal/icon.js.map +1 -0
  185. package/_internal/isComponent.js +15 -0
  186. package/_internal/isComponent.js.map +1 -0
  187. package/_internal/item.js +2 -0
  188. package/_internal/item.js.map +1 -0
  189. package/_internal/link-button.js +2 -0
  190. package/_internal/link-button.js.map +1 -0
  191. package/_internal/link.js +3 -0
  192. package/_internal/link.js.map +1 -0
  193. package/_internal/listbox.js +3 -0
  194. package/_internal/listbox.js.map +1 -0
  195. package/_internal/number-field.js +2 -0
  196. package/_internal/number-field.js.map +1 -0
  197. package/_internal/number.js +2 -0
  198. package/_internal/number.js.map +1 -0
  199. package/_internal/partitionComponents.js +26 -0
  200. package/_internal/partitionComponents.js.map +1 -0
  201. package/_internal/pill.js +2 -0
  202. package/_internal/pill.js.map +1 -0
  203. package/_internal/progress-bar.js +2 -0
  204. package/_internal/progress-bar.js.map +1 -0
  205. package/_internal/radio-group.js +2 -0
  206. package/_internal/radio-group.js.map +1 -0
  207. package/_internal/radio.js +2 -0
  208. package/_internal/radio.js.map +1 -0
  209. package/_internal/redsift-design-tokens.js +1391 -0
  210. package/_internal/redsift-design-tokens.js.map +1 -0
  211. package/_internal/shared.js +2 -0
  212. package/_internal/shared.js.map +1 -0
  213. package/_internal/shield.js +2 -0
  214. package/_internal/shield.js.map +1 -0
  215. package/_internal/side-navigation-menu-bar.js +3 -0
  216. package/_internal/side-navigation-menu-bar.js.map +1 -0
  217. package/_internal/side-navigation-menu-item.js +2 -0
  218. package/_internal/side-navigation-menu-item.js.map +1 -0
  219. package/_internal/side-navigation-menu.js +2 -0
  220. package/_internal/side-navigation-menu.js.map +1 -0
  221. package/_internal/skeleton-circle.js +2 -0
  222. package/_internal/skeleton-circle.js.map +1 -0
  223. package/_internal/skeleton-text.js +3 -0
  224. package/_internal/skeleton-text.js.map +1 -0
  225. package/_internal/skeleton.js +2 -0
  226. package/_internal/skeleton.js.map +1 -0
  227. package/_internal/spinner.js +2 -0
  228. package/_internal/spinner.js.map +1 -0
  229. package/_internal/styles.js +235 -0
  230. package/_internal/styles.js.map +1 -0
  231. package/_internal/styles2.js +47 -0
  232. package/_internal/styles2.js.map +1 -0
  233. package/_internal/styles3.js +145 -0
  234. package/_internal/styles3.js.map +1 -0
  235. package/_internal/styles4.js +250 -0
  236. package/_internal/styles4.js.map +1 -0
  237. package/_internal/styles5.js +143 -0
  238. package/_internal/styles5.js.map +1 -0
  239. package/_internal/styles6.js +84 -0
  240. package/_internal/styles6.js.map +1 -0
  241. package/_internal/switch-group.js +2 -0
  242. package/_internal/switch-group.js.map +1 -0
  243. package/_internal/switch.js +2 -0
  244. package/_internal/switch.js.map +1 -0
  245. package/_internal/text-area.js +2 -0
  246. package/_internal/text-area.js.map +1 -0
  247. package/_internal/text-field.js +2 -0
  248. package/_internal/text-field.js.map +1 -0
  249. package/_internal/text.js +3 -0
  250. package/_internal/text.js.map +1 -0
  251. package/_internal/theme.js +2 -0
  252. package/_internal/theme.js.map +1 -0
  253. package/_internal/types.js +15 -0
  254. package/_internal/types.js.map +1 -0
  255. package/_internal/types2.js +26 -0
  256. package/_internal/types2.js.map +1 -0
  257. package/_internal/types3.js +20 -0
  258. package/_internal/types3.js.map +1 -0
  259. package/_internal/useAppSidePanel.js +337 -0
  260. package/_internal/useAppSidePanel.js.map +1 -0
  261. package/_internal/useFocusOnList.js +541 -0
  262. package/_internal/useFocusOnList.js.map +1 -0
  263. package/_internal/useFocusOnListItem.js +203 -0
  264. package/_internal/useFocusOnListItem.js.map +1 -0
  265. package/_internal/useFocusRing.js +669 -0
  266. package/_internal/useFocusRing.js.map +1 -0
  267. package/_internal/useId.js +42 -0
  268. package/_internal/useId.js.map +1 -0
  269. package/_internal/useIsLoaded.js +14 -0
  270. package/_internal/useIsLoaded.js.map +1 -0
  271. package/_internal/useListboxItem.js +129 -0
  272. package/_internal/useListboxItem.js.map +1 -0
  273. package/_internal/useMessageFormatter.js +143 -0
  274. package/_internal/useMessageFormatter.js.map +1 -0
  275. package/_internal/useNumberFormatter.js +239 -0
  276. package/_internal/useNumberFormatter.js.map +1 -0
  277. package/_internal/useSideNavigationMenuBar.js +373 -0
  278. package/_internal/useSideNavigationMenuBar.js.map +1 -0
  279. package/_internal/useTheme.js +15 -0
  280. package/_internal/useTheme.js.map +1 -0
  281. package/_internal/warnIfNoAccessibleLabelFound.js +20 -0
  282. package/_internal/warnIfNoAccessibleLabelFound.js.map +1 -0
  283. package/index.js +315 -24243
  284. package/index.js.map +1 -1
  285. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grid2.js","sources":["../../src/components/grid/styles.ts","../../src/components/grid/Grid.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { baseBorder, baseGrid, baseInternalSpacing, baseStyling } from '../shared';\nimport { StyledGridProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledGrid = styled.div<StyledGridProps>`\n display: ${({ inline }) => (inline ? 'inline-grid' : 'grid')};\n flex: 1;\n\n ${baseStyling}\n ${baseInternalSpacing}\n ${baseGrid}\n ${baseBorder}\n\n ${({ $divider }) =>\n $divider\n ? css`\n overflow: hidden;\n > .redsift-grid-item:not(:empty) {\n position: relative;\n\n ::before {\n content: '';\n position: absolute;\n background-color: var(--redsift-color-neutral-light-grey);\n inline-size: 1px;\n block-size: 100%;\n inset-inline-start: calc(${Math.max(1, $divider.colGap / 2)}px * -1);\n }\n\n ::after {\n content: '';\n position: absolute;\n background-color: var(--redsift-color-neutral-light-grey);\n inline-size: 200vw;\n block-size: 1px;\n inset-inline-start: -100vw;\n inset-block-start: calc(${Math.max(1, $divider.rowGap / 2)}px * -1);\n z-index: 0;\n }\n }\n `\n : ''}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '../../types';\nimport { StyledGrid } from './styles';\nimport { GridProps } from './types';\nimport { GridItem } from '../grid-item';\nimport { ThemeProvider, useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Grid';\nconst CLASSNAME = 'redsift-grid';\n\n/**\n * The Grid component.\n */\nexport const BaseGrid: Comp<GridProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, divider, gap, theme: propsTheme, ...forwardedProps } = props;\n const theme = useTheme(propsTheme);\n\n return (\n <ThemeProvider value={{ theme }}>\n <StyledGrid\n {...forwardedProps}\n gap={divider ? `${divider.rowGap}px ${divider.colGap}px` : gap}\n className={classNames(BaseGrid.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $divider={divider}\n $theme={theme}\n >\n {children}\n </StyledGrid>\n </ThemeProvider>\n );\n});\nBaseGrid.className = CLASSNAME;\nBaseGrid.displayName = COMPONENT_NAME;\n\nexport const Grid = Object.assign(BaseGrid, {\n Item: GridItem,\n});\n"],"names":["StyledGrid","styled","div","_ref","inline","baseStyling","baseInternalSpacing","baseGrid","baseBorder","_ref2","$divider","css","Math","max","colGap","rowGap","COMPONENT_NAME","CLASSNAME","BaseGrid","forwardRef","props","ref","children","className","divider","gap","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","useTheme","React","createElement","ThemeProvider","value","_extends","classNames","$theme","displayName","Grid","Object","assign","Item","GridItem"],"mappings":";;;;;;;;AAIA;AACA;AACA;AACO,MAAMA,UAAU,GAAGC,MAAM,CAACC,GAAqB,CAAA;AACtD,WAAA,EAAaC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAMC,MAAM,GAAG,aAAa,GAAG,MAAM,CAAA;AAAA,CAAE,CAAA;AAC/D;AACA;AACA,EAAA,EAAIC,WAAY,CAAA;AAChB,EAAA,EAAIC,mBAAoB,CAAA;AACxB,EAAA,EAAIC,QAAS,CAAA;AACb,EAAA,EAAIC,UAAW,CAAA;AACf;AACA,EAAA,EAAIC,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAAD,KAAA,CAAA;EAAA,OACbC,QAAQ,GACJC,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAyCC,EAAAA,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,QAAQ,CAACI,MAAM,GAAG,CAAC,CAAE,CAAA;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAwCF,EAAAA,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,QAAQ,CAACK,MAAM,GAAG,CAAC,CAAE,CAAA;AACzE;AACA;AACA;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX,CAAC;;;ACrCD,MAAMC,cAAc,GAAG,MAAM,CAAA;AAC7B,MAAMC,SAAS,GAAG,cAAc,CAAA;;AAEhC;AACA;AACA;AACO,MAAMC,QAAyC,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAClF,MAAM;MAAEC,QAAQ;MAAEC,SAAS;MAAEC,OAAO;MAAEC,GAAG;AAAEC,MAAAA,KAAK,EAAEC,UAAAA;AAA8B,KAAC,GAAGP,KAAK;AAAxBQ,IAAAA,cAAc,GAAAC,wBAAA,CAAKT,KAAK,EAAAU,SAAA,CAAA,CAAA;AACzF,EAAA,MAAMJ,KAAK,GAAGK,QAAQ,CAACJ,UAAU,CAAC,CAAA;AAElC,EAAA,oBACEK,cAAA,CAAAC,aAAA,CAACC,aAAa,EAAA;AAACC,IAAAA,KAAK,EAAE;AAAET,MAAAA,KAAAA;AAAM,KAAA;GAC5BM,eAAAA,cAAA,CAAAC,aAAA,CAACjC,UAAU,EAAAoC,QAAA,KACLR,cAAc,EAAA;AAClBH,IAAAA,GAAG,EAAED,OAAO,GAAI,CAAA,EAAEA,OAAO,CAACT,MAAO,CAAA,GAAA,EAAKS,OAAO,CAACV,MAAO,CAAA,EAAA,CAAG,GAAGW,GAAI;IAC/DF,SAAS,EAAEc,UAAU,CAACnB,QAAQ,CAACK,SAAS,EAAEA,SAAS,CAAE;AACrDF,IAAAA,GAAG,EAAEA,GAAiC;AACtCX,IAAAA,QAAQ,EAAEc,OAAQ;AAClBc,IAAAA,MAAM,EAAEZ,KAAAA;GAEPJ,CAAAA,EAAAA,QACS,CACC,CAAC,CAAA;AAEpB,CAAC,EAAC;AACFJ,QAAQ,CAACK,SAAS,GAAGN,SAAS,CAAA;AAC9BC,QAAQ,CAACqB,WAAW,GAAGvB,cAAc,CAAA;AAE9B,MAAMwB,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACxB,QAAQ,EAAE;AAC1CyB,EAAAA,IAAI,EAAEC,QAAAA;AACR,CAAC;;;;"}
@@ -0,0 +1,40 @@
1
+ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import styled from 'styled-components';
5
+ import { i as baseStyling, c as baseInternalSpacing, f as baseBorder } from './styles4.js';
6
+
7
+ /**
8
+ * Component style.
9
+ */
10
+ const StyledGridItem = styled.div`
11
+ display: inherit;
12
+
13
+ ${baseStyling}
14
+ ${baseInternalSpacing}
15
+ ${baseBorder}
16
+ `;
17
+
18
+ const _excluded = ["children", "className"];
19
+ const COMPONENT_NAME = 'GridItem';
20
+ const CLASSNAME = 'redsift-grid-item';
21
+
22
+ /**
23
+ * The GridItem component.
24
+ */
25
+ const GridItem = /*#__PURE__*/forwardRef((props, ref) => {
26
+ const {
27
+ children,
28
+ className
29
+ } = props,
30
+ forwardedProps = _objectWithoutProperties(props, _excluded);
31
+ return /*#__PURE__*/React__default.createElement(StyledGridItem, _extends({}, forwardedProps, {
32
+ className: classNames(GridItem.className, className),
33
+ ref: ref
34
+ }), children);
35
+ });
36
+ GridItem.className = CLASSNAME;
37
+ GridItem.displayName = COMPONENT_NAME;
38
+
39
+ export { GridItem as G };
40
+ //# sourceMappingURL=GridItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridItem.js","sources":["../../src/components/grid-item/styles.ts","../../src/components/grid-item/GridItem.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { baseBorder, baseInternalSpacing, baseStyling } from '../shared';\nimport { StyledGridItemProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledGridItem = styled.div<StyledGridItemProps>`\n display: inherit;\n\n ${baseStyling}\n ${baseInternalSpacing}\n ${baseBorder}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '../../types';\nimport { StyledGridItem } from './styles';\nimport { GridItemProps } from './types';\n\nconst COMPONENT_NAME = 'GridItem';\nconst CLASSNAME = 'redsift-grid-item';\n\n/**\n * The GridItem component.\n */\nexport const GridItem: Comp<GridItemProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <StyledGridItem\n {...forwardedProps}\n className={classNames(GridItem.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {children}\n </StyledGridItem>\n );\n});\nGridItem.className = CLASSNAME;\nGridItem.displayName = COMPONENT_NAME;\n"],"names":["StyledGridItem","styled","div","baseStyling","baseInternalSpacing","baseBorder","COMPONENT_NAME","CLASSNAME","GridItem","forwardRef","props","ref","children","className","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","_extends","classNames","displayName"],"mappings":";;;;;;AAIA;AACA;AACA;AACO,MAAMA,cAAc,GAAGC,MAAM,CAACC,GAAyB,CAAA;AAC9D;AACA;AACA,EAAA,EAAIC,WAAY,CAAA;AAChB,EAAA,EAAIC,mBAAoB,CAAA;AACxB,EAAA,EAAIC,UAAW,CAAA;AACf,CAAC;;;ACPD,MAAMC,cAAc,GAAG,UAAU,CAAA;AACjC,MAAMC,SAAS,GAAG,mBAAmB,CAAA;;AAErC;AACA;AACA;AACO,MAAMC,QAA6C,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACtF,MAAM;MAAEC,QAAQ;AAAEC,MAAAA,SAAAA;AAA6B,KAAC,GAAGH,KAAK;AAAxBI,IAAAA,cAAc,GAAAC,wBAAA,CAAKL,KAAK,EAAAM,SAAA,CAAA,CAAA;EAExD,oBACEC,cAAA,CAAAC,aAAA,CAAClB,cAAc,EAAAmB,QAAA,KACTL,cAAc,EAAA;IAClBD,SAAS,EAAEO,UAAU,CAACZ,QAAQ,CAACK,SAAS,EAAEA,SAAS,CAAE;AACrDF,IAAAA,GAAG,EAAEA,GAAAA;AAAiC,GAAA,CAAA,EAErCC,QACa,CAAC,CAAA;AAErB,CAAC,EAAC;AACFJ,QAAQ,CAACK,SAAS,GAAGN,SAAS,CAAA;AAC9BC,QAAQ,CAACa,WAAW,GAAGf,cAAc;;;;"}
@@ -0,0 +1,113 @@
1
+ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import styled, { css } from 'styled-components';
5
+ import { i as baseStyling } from './styles4.js';
6
+ import { N as NotificationsColorPalette, g as NeutralColorPalette, e as ProductColorPalette } from './colors.js';
7
+ import { F as FontFamily } from './fonts.js';
8
+ import { u as useTheme } from './useTheme.js';
9
+
10
+ /**
11
+ * Component style.
12
+ */
13
+ const StyledHeading = styled.span`
14
+ margin: 0;
15
+ padding: 0;
16
+ border: 0;
17
+ font-size: 100%;
18
+ font: inherit;
19
+ vertical-align: baseline;
20
+
21
+ ${baseStyling}
22
+
23
+ ${_ref => {
24
+ let {
25
+ $color,
26
+ $theme
27
+ } = _ref;
28
+ return $color && $color === 'radar' ? css`
29
+ background: linear-gradient(90deg, #51b78e 0%, #0081c3 100%);
30
+ background-clip: text;
31
+ color: transparent;
32
+ ` : Object.keys(NotificationsColorPalette).indexOf($color) !== -1 ? css`
33
+ color: var(--redsift-color-notifications-${$color}-primary);
34
+ ` : Object.keys(NeutralColorPalette).indexOf($color) !== -1 ? css`
35
+ color: var(--redsift-color-neutral-${$color});
36
+ ` : Object.keys(ProductColorPalette).indexOf($color) !== -1 ? css`
37
+ color: var(--redsift-color-product-${$color});
38
+ ` : css`
39
+ color: ${$color || css`var(--redsift-color-${$theme}-components-text-primary)`};
40
+ `;
41
+ }}
42
+
43
+ ${_ref2 => {
44
+ let {
45
+ $variant,
46
+ $fontFamily,
47
+ $fontSize,
48
+ $fontWeight,
49
+ $lineHeight
50
+ } = _ref2;
51
+ return css`
52
+ font-family: ${$fontFamily ? css`var(--redsift-typography-font-family-${$fontFamily})` : css`var(--redsift-typography-${$variant !== null && $variant !== void 0 ? $variant : 'body'}-font-family)`};
53
+ font-size: ${$fontSize ? $fontSize : css`var(--redsift-typography-${$variant !== null && $variant !== void 0 ? $variant : 'body'}-font-size)`};
54
+ font-weight: ${$fontWeight ? $fontWeight : css`var(--redsift-typography-${$variant !== null && $variant !== void 0 ? $variant : 'body'}-font-weight)`};
55
+ line-height: ${$lineHeight ? $lineHeight : css`var(--redsift-typography-${$variant !== null && $variant !== void 0 ? $variant : 'body'}-line-height)`};
56
+ `;
57
+ }}
58
+
59
+ ${_ref3 => {
60
+ let {
61
+ $noWrap
62
+ } = _ref3;
63
+ return $noWrap ? css`
64
+ overflow: hidden;
65
+ text-overflow: ellipsis;
66
+ white-space: nowrap;
67
+ ` : '';
68
+ }}
69
+ `;
70
+
71
+ const _excluded = ["as", "children", "className", "color", "fontFamily", "fontSize", "fontWeight", "lineHeight", "noWrap", "theme", "variant"];
72
+ const COMPONENT_NAME = 'Heading';
73
+ const CLASSNAME = 'redsift-heading';
74
+
75
+ /**
76
+ * The Heading component.
77
+ */
78
+ const Heading = /*#__PURE__*/forwardRef((props, ref) => {
79
+ const {
80
+ as,
81
+ children,
82
+ className,
83
+ color,
84
+ fontFamily = FontFamily.poppins,
85
+ fontSize,
86
+ fontWeight,
87
+ lineHeight,
88
+ noWrap,
89
+ theme: propsTheme,
90
+ variant
91
+ } = props,
92
+ forwardedProps = _objectWithoutProperties(props, _excluded);
93
+ const theme = useTheme(propsTheme);
94
+ return /*#__PURE__*/React__default.createElement(StyledHeading, _extends({
95
+ as: as
96
+ }, forwardedProps, {
97
+ className: classNames(Heading.className, className),
98
+ ref: ref,
99
+ $noWrap: noWrap,
100
+ $theme: theme,
101
+ $color: color,
102
+ $fontFamily: fontFamily,
103
+ $fontSize: fontSize,
104
+ $fontWeight: fontWeight,
105
+ $lineHeight: lineHeight,
106
+ $variant: variant ? variant : as === 'span' ? 'body' : as
107
+ }), children);
108
+ });
109
+ Heading.className = CLASSNAME;
110
+ Heading.displayName = COMPONENT_NAME;
111
+
112
+ export { Heading as H };
113
+ //# sourceMappingURL=Heading2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Heading2.js","sources":["../../src/components/heading/styles.ts","../../src/components/heading/Heading.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { StyledHeadingProps } from './types';\nimport { NotificationsColorPalette, NeutralColorPalette, ProductColorPalette } from '../../types';\n\n/**\n * Component style.\n */\nexport const StyledHeading = styled.span<StyledHeadingProps>`\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font: inherit;\n vertical-align: baseline;\n\n ${baseStyling}\n\n ${({ $color, $theme }) =>\n $color && $color === 'radar'\n ? css`\n background: linear-gradient(90deg, #51b78e 0%, #0081c3 100%);\n background-clip: text;\n color: transparent;\n `\n : Object.keys(NotificationsColorPalette).indexOf($color!) !== -1\n ? css`\n color: var(--redsift-color-notifications-${$color}-primary);\n `\n : Object.keys(NeutralColorPalette).indexOf($color!) !== -1\n ? css`\n color: var(--redsift-color-neutral-${$color});\n `\n : Object.keys(ProductColorPalette).indexOf($color!) !== -1\n ? css`\n color: var(--redsift-color-product-${$color});\n `\n : css`\n color: ${$color || css`var(--redsift-color-${$theme}-components-text-primary)`};\n `}\n\n ${({ $variant, $fontFamily, $fontSize, $fontWeight, $lineHeight }) => css`\n font-family: ${$fontFamily\n ? css`var(--redsift-typography-font-family-${$fontFamily})`\n : css`var(--redsift-typography-${$variant ?? 'body'}-font-family)`};\n font-size: ${$fontSize ? $fontSize : css`var(--redsift-typography-${$variant ?? 'body'}-font-size)`};\n font-weight: ${$fontWeight ? $fontWeight : css`var(--redsift-typography-${$variant ?? 'body'}-font-weight)`};\n line-height: ${$lineHeight ? $lineHeight : css`var(--redsift-typography-${$variant ?? 'body'}-line-height)`};\n `}\n\n ${({ $noWrap }) =>\n $noWrap\n ? css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `\n : ''}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp, FontFamily } from '../../types';\nimport { StyledHeading } from './styles';\nimport { HeadingProps } from './types';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Heading';\nconst CLASSNAME = 'redsift-heading';\n\n/**\n * The Heading component.\n */\nexport const Heading: Comp<HeadingProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n as,\n children,\n className,\n color,\n fontFamily = FontFamily.poppins,\n fontSize,\n fontWeight,\n lineHeight,\n noWrap,\n theme: propsTheme,\n variant,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n return (\n <StyledHeading\n as={as}\n {...forwardedProps}\n className={classNames(Heading.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $noWrap={noWrap}\n $theme={theme}\n $color={color}\n $fontFamily={fontFamily}\n $fontSize={fontSize}\n $fontWeight={fontWeight}\n $lineHeight={lineHeight}\n $variant={variant ? variant : as === 'span' ? 'body' : as}\n >\n {children}\n </StyledHeading>\n );\n});\nHeading.className = CLASSNAME;\nHeading.displayName = COMPONENT_NAME;\n"],"names":["StyledHeading","styled","span","baseStyling","_ref","$color","$theme","css","Object","keys","NotificationsColorPalette","indexOf","NeutralColorPalette","ProductColorPalette","_ref2","$variant","$fontFamily","$fontSize","$fontWeight","$lineHeight","_ref3","$noWrap","COMPONENT_NAME","CLASSNAME","Heading","forwardRef","props","ref","as","children","className","color","fontFamily","FontFamily","poppins","fontSize","fontWeight","lineHeight","noWrap","theme","propsTheme","variant","forwardedProps","_objectWithoutProperties","_excluded","useTheme","React","createElement","_extends","classNames","displayName"],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ import { b as _objectWithoutProperties, c as _extends, _ as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import styled, { css } from 'styled-components';
5
+ import { i as baseStyling } from './styles4.js';
6
+ import { N as NotificationsColorPalette, e as ProductColorPalette, T as Theme } from './colors.js';
7
+ import { u as useTheme } from './useTheme.js';
8
+
9
+ /**
10
+ * Component size.
11
+ */
12
+ const IconSize = {
13
+ xsmall: 'xsmall',
14
+ small: 'small',
15
+ medium: 'medium',
16
+ large: 'large',
17
+ xlarge: 'xlarge',
18
+ xxlarge: 'xxlarge'
19
+ };
20
+
21
+ /**
22
+ * Component props.
23
+ */
24
+
25
+ /**
26
+ * Component style.
27
+ */
28
+ const StyledIcon = styled.span`
29
+ position: relative;
30
+ display: inline-grid;
31
+ ${baseStyling}
32
+
33
+ font-style: normal;
34
+
35
+ svg {
36
+ vertical-align: -0.125em;
37
+ grid-column: 1;
38
+ grid-row: 1;
39
+ }
40
+
41
+ ${_ref => {
42
+ let {
43
+ $color,
44
+ $theme
45
+ } = _ref;
46
+ return $color && Object.keys(NotificationsColorPalette).indexOf($color) !== -1 ? css`
47
+ color: var(--redsift-color-notifications-${$color}-primary);
48
+ ` : $color && Object.keys(ProductColorPalette).indexOf($color) !== -1 ? css`
49
+ color: var(--redsift-color-product-${$color});
50
+ ` : css`
51
+ color: ${$color || css`var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'})`};
52
+ `;
53
+ }}
54
+
55
+ ${_ref2 => {
56
+ let {
57
+ $width,
58
+ $height,
59
+ $fontSize,
60
+ $lineHeight
61
+ } = _ref2;
62
+ return css`
63
+ ${$width ? css`
64
+ width: ${$width}px;
65
+ ` : ''}
66
+ ${$height ? css`
67
+ height: ${$height}px;
68
+ ` : ''}
69
+ ${$fontSize ? css`
70
+ font-size: ${$fontSize}px;
71
+ ` : ''}
72
+ ${$lineHeight ? css`
73
+ line-height: ${$lineHeight}px;
74
+ ` : ''}
75
+
76
+ & .redsift-badge-standard {
77
+ grid-column: 1;
78
+ grid-row: 1;
79
+ margin-right: unset;
80
+ ${$width ? css`
81
+ margin-left: ${$width * 0.75}px;
82
+ ` : ''}
83
+ ${$height ? css`
84
+ margin-top: ${$height * 0.1 - 4}px;
85
+ ` : ''}
86
+ }
87
+
88
+ & .redsift-badge-dot {
89
+ grid-column: 1;
90
+ grid-row: 1;
91
+ margin-right: unset;
92
+ ${$width ? css`
93
+ margin-left: ${$width * 0.8}px;
94
+ ` : ''}
95
+ ${$height ? css`
96
+ margin-top: ${$height * 0.2 - 3}px;
97
+ ` : ''}
98
+ }
99
+ `;
100
+ }}
101
+ `;
102
+
103
+ const _excluded = ["aria-hidden", "aria-label", "badge", "className", "color", "icon", "size", "svgProps", "theme"];
104
+ const COMPONENT_NAME = 'Icon';
105
+ const CLASSNAME = 'redsift-icon';
106
+ const sizeToDimension = size => {
107
+ if (typeof size !== 'string') {
108
+ return size;
109
+ }
110
+ switch (size) {
111
+ case IconSize.xsmall:
112
+ return {
113
+ width: 16,
114
+ height: 16,
115
+ fontSize: 16,
116
+ lineHeight: 16
117
+ };
118
+ case IconSize.small:
119
+ return {
120
+ width: 20,
121
+ height: 20,
122
+ fontSize: 20,
123
+ lineHeight: 20
124
+ };
125
+ case IconSize.medium:
126
+ default:
127
+ return {
128
+ width: 24,
129
+ height: 24,
130
+ fontSize: 24,
131
+ lineHeight: 24
132
+ };
133
+ case IconSize.large:
134
+ return {
135
+ width: 30,
136
+ height: 30,
137
+ fontSize: 30,
138
+ lineHeight: 30
139
+ };
140
+ case IconSize.xlarge:
141
+ return {
142
+ width: 40,
143
+ height: 40,
144
+ fontSize: 40,
145
+ lineHeight: 40
146
+ };
147
+ case IconSize.xxlarge:
148
+ return {
149
+ width: 55,
150
+ height: 55,
151
+ fontSize: 55,
152
+ lineHeight: 55
153
+ };
154
+ }
155
+ };
156
+
157
+ /**
158
+ * The Icon component.
159
+ */
160
+ const Icon = /*#__PURE__*/forwardRef((props, ref) => {
161
+ const {
162
+ 'aria-hidden': ariaHidden,
163
+ 'aria-label': ariaLabel,
164
+ badge,
165
+ className,
166
+ color,
167
+ icon,
168
+ size = IconSize.medium,
169
+ svgProps,
170
+ theme: propsTheme
171
+ } = props,
172
+ forwardedProps = _objectWithoutProperties(props, _excluded);
173
+ const theme = useTheme(propsTheme);
174
+ const {
175
+ width,
176
+ height,
177
+ fontSize,
178
+ lineHeight
179
+ } = sizeToDimension(size);
180
+ return /*#__PURE__*/React__default.createElement(StyledIcon, _extends({}, forwardedProps, {
181
+ $color: color,
182
+ $width: width,
183
+ $height: height,
184
+ $fontSize: fontSize,
185
+ $lineHeight: lineHeight,
186
+ $theme: theme,
187
+ "aria-hidden": ariaLabel ? ariaHidden ? ariaHidden : undefined : true,
188
+ "aria-label": ariaLabel,
189
+ className: classNames(Icon.className, className, color ? 'colored' : undefined),
190
+ ref: ref
191
+ }), /*#__PURE__*/React__default.cloneElement(typeof icon === 'string' || Array.isArray(icon) && icon.every(it => typeof it === 'string') ? /*#__PURE__*/React__default.createElement("svg", {
192
+ viewBox: "0 0 24 24"
193
+ }, (Array.isArray(icon) ? icon : [icon]).map(path => /*#__PURE__*/React__default.createElement("path", {
194
+ key: path,
195
+ d: path,
196
+ fill: "currentColor"
197
+ }))) : /*#__PURE__*/React__default.isValidElement(icon) ? icon : /*#__PURE__*/React__default.createElement(React__default.Fragment, null), _objectSpread2({
198
+ 'aria-hidden': ariaLabel ? ariaHidden ? ariaHidden : undefined : true,
199
+ 'aria-label': ariaLabel,
200
+ focusable: 'false',
201
+ height,
202
+ preserveAspectRatio: 'xMidYMid meet',
203
+ role: 'img',
204
+ width
205
+ }, svgProps)), badge ? badge : null);
206
+ });
207
+ Icon.className = CLASSNAME;
208
+ Icon.displayName = COMPONENT_NAME;
209
+
210
+ export { IconSize as I, Icon as a, sizeToDimension as s };
211
+ //# sourceMappingURL=Icon2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon2.js","sources":["../../src/components/icon/types.ts","../../src/components/icon/styles.ts","../../src/components/icon/Icon.tsx"],"sourcesContent":["import { ComponentProps, ReactElement } from 'react';\nimport {\n NotificationsColorPalette,\n LayoutProps,\n PositioningProps,\n SpacingProps,\n ValueOf,\n ProductColorPalette,\n Theme,\n} from '../../types';\n\n/**\n * Component size.\n */\nexport const IconSize = {\n xsmall: 'xsmall',\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n xxlarge: 'xxlarge',\n} as const;\nexport type IconSize = ValueOf<typeof IconSize>;\n\nexport type IconDimensions = { width?: number; height?: number; fontSize?: number; lineHeight?: number };\n\n/**\n * Component props.\n */\nexport interface IconProps extends ComponentProps<'span'>, LayoutProps, SpacingProps, PositioningProps {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Icon. */\n 'aria-label'?: string;\n /** Color variant. Either from color palette or hex or rgb strings. */\n color?: NotificationsColorPalette | ProductColorPalette | (string & {});\n /** Whether the icon has a badge attached to it. */\n badge?: ReactElement;\n /**\n * Can be a string or an array of strings containing `d` property of the `path` SVG element.<br />\n * Can also be a ReactElement.\n */\n icon: string | string[] | ReactElement;\n /** Icon size. */\n size?: IconSize | IconDimensions;\n /** Additional properties to forward to the SVG tag. */\n svgProps?: ComponentProps<'svg'>;\n /** Theme. */\n theme?: Theme;\n}\n\nexport type StyledIconProps = Omit<IconProps, 'color' | 'size' | 'icon' | 'svgProps'> & {\n $color: IconProps['color'];\n $width: IconDimensions['width'];\n $height: IconDimensions['height'];\n $fontSize: IconDimensions['fontSize'];\n $lineHeight: IconDimensions['lineHeight'];\n $theme: IconProps['theme'];\n};\n","import styled, { css } from 'styled-components';\nimport { NotificationsColorPalette, ProductColorPalette, Theme } from '../../types';\nimport { baseStyling } from '../shared';\nimport { StyledIconProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledIcon = styled.span<StyledIconProps>`\n position: relative;\n display: inline-grid;\n ${baseStyling}\n\n font-style: normal;\n\n svg {\n vertical-align: -0.125em;\n grid-column: 1;\n grid-row: 1;\n }\n\n ${({ $color, $theme }) =>\n $color && Object.keys(NotificationsColorPalette).indexOf($color) !== -1\n ? css`\n color: var(--redsift-color-notifications-${$color}-primary);\n `\n : $color && Object.keys(ProductColorPalette).indexOf($color) !== -1\n ? css`\n color: var(--redsift-color-product-${$color});\n `\n : css`\n color: ${$color || css`var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'})`};\n `}\n\n ${({ $width, $height, $fontSize, $lineHeight }) => css`\n ${$width\n ? css`\n width: ${$width}px;\n `\n : ''}\n ${$height\n ? css`\n height: ${$height}px;\n `\n : ''}\n ${$fontSize\n ? css`\n font-size: ${$fontSize}px;\n `\n : ''}\n ${$lineHeight\n ? css`\n line-height: ${$lineHeight}px;\n `\n : ''}\n\n & .redsift-badge-standard {\n grid-column: 1;\n grid-row: 1;\n margin-right: unset;\n ${$width\n ? css`\n margin-left: ${$width * 0.75}px;\n `\n : ''}\n ${$height\n ? css`\n margin-top: ${$height * 0.1 - 4}px;\n `\n : ''}\n }\n\n & .redsift-badge-dot {\n grid-column: 1;\n grid-row: 1;\n margin-right: unset;\n ${$width\n ? css`\n margin-left: ${$width * 0.8}px;\n `\n : ''}\n ${$height\n ? css`\n margin-top: ${$height * 0.2 - 3}px;\n `\n : ''}\n }\n `}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '../../types';\nimport { StyledIcon } from './styles';\nimport { IconDimensions, IconProps, IconSize } from './types';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Icon';\nconst CLASSNAME = 'redsift-icon';\n\nexport const sizeToDimension = (size: IconSize | IconDimensions): IconDimensions => {\n if (typeof size !== 'string') {\n return size;\n }\n\n switch (size) {\n case IconSize.xsmall:\n return { width: 16, height: 16, fontSize: 16, lineHeight: 16 };\n case IconSize.small:\n return { width: 20, height: 20, fontSize: 20, lineHeight: 20 };\n case IconSize.medium:\n default:\n return { width: 24, height: 24, fontSize: 24, lineHeight: 24 };\n case IconSize.large:\n return { width: 30, height: 30, fontSize: 30, lineHeight: 30 };\n case IconSize.xlarge:\n return { width: 40, height: 40, fontSize: 40, lineHeight: 40 };\n case IconSize.xxlarge:\n return { width: 55, height: 55, fontSize: 55, lineHeight: 55 };\n }\n};\n\n/**\n * The Icon component.\n */\nexport const Icon: Comp<IconProps, HTMLSpanElement> = forwardRef((props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n badge,\n className,\n color,\n icon,\n size = IconSize.medium,\n svgProps,\n theme: propsTheme,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const { width, height, fontSize, lineHeight } = sizeToDimension(size!);\n\n return (\n <StyledIcon\n {...forwardedProps}\n $color={color}\n $width={width}\n $height={height}\n $fontSize={fontSize}\n $lineHeight={lineHeight}\n $theme={theme}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Icon.className, className, color ? 'colored' : undefined)}\n ref={ref as RefObject<HTMLSpanElement>}\n >\n {React.cloneElement(\n typeof icon === 'string' || (Array.isArray(icon) && icon.every((it) => typeof it === 'string')) ? (\n <svg viewBox=\"0 0 24 24\">\n {(Array.isArray(icon) ? icon : [icon]).map((path) => (\n <path key={path} d={path} fill=\"currentColor\" />\n ))}\n </svg>\n ) : React.isValidElement(icon) ? (\n icon\n ) : (\n <></>\n ),\n {\n 'aria-hidden': ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true,\n 'aria-label': ariaLabel,\n focusable: 'false',\n height,\n preserveAspectRatio: 'xMidYMid meet',\n role: 'img',\n width,\n ...svgProps,\n }\n )}\n {badge ? badge : null}\n </StyledIcon>\n );\n});\nIcon.className = CLASSNAME;\nIcon.displayName = COMPONENT_NAME;\n"],"names":["IconSize","xsmall","small","medium","large","xlarge","xxlarge","StyledIcon","styled","span","baseStyling","_ref","$color","$theme","Object","keys","NotificationsColorPalette","indexOf","css","ProductColorPalette","Theme","dark","_ref2","$width","$height","$fontSize","$lineHeight","COMPONENT_NAME","CLASSNAME","sizeToDimension","size","width","height","fontSize","lineHeight","Icon","forwardRef","props","ref","ariaHidden","ariaLabel","badge","className","color","icon","svgProps","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","useTheme","React","createElement","_extends","undefined","classNames","cloneElement","Array","isArray","every","it","viewBox","map","path","key","d","fill","isValidElement","Fragment","_objectSpread","focusable","preserveAspectRatio","role","displayName"],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef, useRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import { w as warnIfNoAccessibleLabelFound } from './warnIfNoAccessibleLabelFound.js';
5
+ import { I as IconButtonVariant, S as StyledIconButton } from './styles2.js';
6
+ import { StyledGradientBorder } from './gradient-border.js';
7
+ import { u as useTheme } from './useTheme.js';
8
+ import { B as ButtonsColorPalette } from './colors.js';
9
+ import { C as ConditionalWrapper } from './ConditionalWrapper.js';
10
+ import { S as Spinner } from './Spinner2.js';
11
+ import { a as Icon } from './Icon2.js';
12
+
13
+ const _excluded = ["className", "color", "disabled", "icon", "iconProps", "isActive", "isDisabled", "isHovered", "isLoading", "theme", "variant"];
14
+ const COMPONENT_NAME = 'IconButton';
15
+ const CLASSNAME = 'redsift-icon-button';
16
+
17
+ /**
18
+ * The Icon Button is a component that contains only one icon as a child, without text.
19
+ *
20
+ * This component should use aria-label, aria-labelledby or aria-describedby to make this
21
+ * component usable with a screen reader.
22
+ */
23
+ const IconButton = /*#__PURE__*/forwardRef((props, ref) => {
24
+ const buttonRef = ref || useRef();
25
+ const {
26
+ className,
27
+ color: propsColor,
28
+ disabled,
29
+ icon,
30
+ iconProps,
31
+ isActive,
32
+ isDisabled: propsIsDisabled,
33
+ isHovered,
34
+ isLoading,
35
+ theme: propsTheme,
36
+ variant: propsVariant
37
+ } = props,
38
+ forwardedProps = _objectWithoutProperties(props, _excluded);
39
+ const isDisabled = props.isLoading || propsIsDisabled || disabled;
40
+ const theme = useTheme(propsTheme);
41
+ const color = Object.values(ButtonsColorPalette).includes(propsColor) ? propsColor : 'primary';
42
+ const variant = Object.values(IconButtonVariant).includes(propsVariant) ? propsVariant : 'unstyled';
43
+ warnIfNoAccessibleLabelFound(props, undefined, 'IconButton');
44
+ const isGradient = color === ButtonsColorPalette.radar;
45
+ return /*#__PURE__*/React__default.createElement(ConditionalWrapper, {
46
+ condition: isGradient && variant === IconButtonVariant.secondary,
47
+ wrapper: children => /*#__PURE__*/React__default.createElement(StyledGradientBorder, {
48
+ $color: color,
49
+ $isActive: isActive,
50
+ $isDisabled: isDisabled,
51
+ $isHovered: isHovered,
52
+ $theme: theme
53
+ }, children)
54
+ }, /*#__PURE__*/React__default.createElement(StyledIconButton, _extends({
55
+ type: "button"
56
+ }, forwardedProps, {
57
+ $color: color,
58
+ $isActive: isActive,
59
+ $isDisabled: isDisabled,
60
+ $isGradient: isGradient,
61
+ $isHovered: isHovered,
62
+ $isLoading: isLoading,
63
+ $theme: theme,
64
+ $variant: variant,
65
+ "aria-disabled": isDisabled,
66
+ className: classNames(IconButton.className, className),
67
+ disabled: isDisabled,
68
+ ref: buttonRef
69
+ }), isLoading ? /*#__PURE__*/React__default.createElement(Spinner, {
70
+ size: "small",
71
+ color: variant === IconButtonVariant.primary ? 'grey-l1' : 'grey-l2'
72
+ }) : /*#__PURE__*/React__default.createElement(Icon, _extends({}, iconProps, {
73
+ icon: icon
74
+ }))));
75
+ });
76
+ IconButton.className = CLASSNAME;
77
+ IconButton.displayName = COMPONENT_NAME;
78
+
79
+ export { IconButton as I };
80
+ //# sourceMappingURL=IconButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.js","sources":["../../src/components/icon-button/IconButton.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\nimport { ButtonsColorPalette, Comp } from '../../types';\nimport { Icon } from '../icon';\nimport { warnIfNoAccessibleLabelFound } from '../../utils/warnIfNoAccessibleLabelFound';\nimport { StyledIconButton } from './styles';\nimport { IconButtonProps, IconButtonVariant } from './types';\nimport { Spinner } from '../../components/spinner';\nimport { useTheme } from '../theme';\nimport { ConditionalWrapper } from '../conditional-wrapper';\nimport { StyledGradientBorder } from '../gradient-border';\n\nconst COMPONENT_NAME = 'IconButton';\nconst CLASSNAME = 'redsift-icon-button';\n\n/**\n * The Icon Button is a component that contains only one icon as a child, without text.\n *\n * This component should use aria-label, aria-labelledby or aria-describedby to make this\n * component usable with a screen reader.\n */\nexport const IconButton: Comp<IconButtonProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const buttonRef = ref || useRef<HTMLButtonElement>();\n\n const {\n className,\n color: propsColor,\n disabled,\n icon,\n iconProps,\n isActive,\n isDisabled: propsIsDisabled,\n isHovered,\n isLoading,\n theme: propsTheme,\n variant: propsVariant,\n ...forwardedProps\n } = props;\n const isDisabled = props.isLoading || propsIsDisabled || disabled;\n\n const theme = useTheme(propsTheme);\n const color = Object.values(ButtonsColorPalette).includes(propsColor!) ? propsColor : 'primary';\n const variant = Object.values(IconButtonVariant).includes(propsVariant!) ? propsVariant : 'unstyled';\n\n warnIfNoAccessibleLabelFound(props, undefined, 'IconButton');\n const isGradient = color === ButtonsColorPalette.radar;\n\n return (\n <ConditionalWrapper\n condition={isGradient && variant === IconButtonVariant.secondary}\n wrapper={(children) => (\n <StyledGradientBorder\n $color={color}\n $isActive={isActive}\n $isDisabled={isDisabled}\n $isHovered={isHovered}\n $theme={theme}\n >\n {children}\n </StyledGradientBorder>\n )}\n >\n <StyledIconButton\n type=\"button\"\n {...forwardedProps}\n $color={color}\n $isActive={isActive}\n $isDisabled={isDisabled}\n $isGradient={isGradient}\n $isHovered={isHovered}\n $isLoading={isLoading}\n $theme={theme}\n $variant={variant}\n aria-disabled={isDisabled}\n className={classNames(IconButton.className, className)}\n disabled={isDisabled}\n ref={buttonRef as RefObject<HTMLButtonElement>}\n >\n {isLoading ? (\n <Spinner size=\"small\" color={variant === IconButtonVariant.primary ? 'grey-l1' : 'grey-l2'} />\n ) : (\n <Icon {...iconProps} icon={icon} />\n )}\n </StyledIconButton>\n </ConditionalWrapper>\n );\n});\nIconButton.className = CLASSNAME;\nIconButton.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","IconButton","forwardRef","props","ref","buttonRef","useRef","className","color","propsColor","disabled","icon","iconProps","isActive","isDisabled","propsIsDisabled","isHovered","isLoading","theme","propsTheme","variant","propsVariant","forwardedProps","_objectWithoutProperties","_excluded","useTheme","Object","values","ButtonsColorPalette","includes","IconButtonVariant","warnIfNoAccessibleLabelFound","undefined","isGradient","radar","React","createElement","ConditionalWrapper","condition","secondary","wrapper","children","StyledGradientBorder","$color","$isActive","$isDisabled","$isHovered","$theme","StyledIconButton","_extends","type","$isGradient","$isLoading","$variant","classNames","Spinner","size","primary","Icon","displayName"],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import { StyledGradientBorder } from './gradient-border.js';
5
+ import { I as IconButtonVariant, S as StyledIconButton } from './styles2.js';
6
+ import { u as useTheme } from './useTheme.js';
7
+ import { B as ButtonsColorPalette } from './colors.js';
8
+ import { C as ConditionalWrapper } from './ConditionalWrapper.js';
9
+ import { a as Icon } from './Icon2.js';
10
+
11
+ const _excluded = ["as", "className", "color", "href", "icon", "iconProps", "isActive", "isDisabled", "isHovered", "target", "theme", "variant"];
12
+ const COMPONENT_NAME = 'IconButtonLink';
13
+ const CLASSNAME = 'redsift-icon-button-link';
14
+
15
+ /**
16
+ * The IconButtonLink is a semantic link that looks like an icon button.
17
+ *
18
+ * For a semantic button that looks like an icon button, please use the IconButton component.
19
+ * For a semantic link that looks like a link, please use the Link component.
20
+ * For a semantic button that looks like a link, please use the LinkButton component.
21
+ */
22
+ const IconButtonLink = /*#__PURE__*/forwardRef((props, ref) => {
23
+ const {
24
+ as,
25
+ className,
26
+ color: propsColor,
27
+ href,
28
+ icon,
29
+ iconProps,
30
+ isActive,
31
+ isDisabled,
32
+ isHovered,
33
+ target,
34
+ theme: propsTheme,
35
+ variant: propsVariant
36
+ } = props,
37
+ forwardedProps = _objectWithoutProperties(props, _excluded);
38
+ const theme = useTheme(propsTheme);
39
+ const color = Object.values(ButtonsColorPalette).includes(propsColor) ? propsColor : 'primary';
40
+ const variant = Object.values(IconButtonVariant).includes(propsVariant) ? propsVariant : 'unstyled';
41
+ const isGradient = color === ButtonsColorPalette.radar;
42
+ return /*#__PURE__*/React__default.createElement(ConditionalWrapper, {
43
+ condition: isGradient && variant === IconButtonVariant.secondary,
44
+ wrapper: children => /*#__PURE__*/React__default.createElement(StyledGradientBorder, {
45
+ $color: color,
46
+ $isActive: isActive,
47
+ $isDisabled: isDisabled,
48
+ $isHovered: isHovered,
49
+ $theme: theme
50
+ }, children)
51
+ }, /*#__PURE__*/React__default.createElement(StyledIconButton, _extends({
52
+ as: as || 'a',
53
+ role: "link",
54
+ tabIndex: !isDisabled ? 0 : undefined
55
+ }, forwardedProps, {
56
+ $color: color,
57
+ $isActive: isActive,
58
+ $isDisabled: isDisabled,
59
+ $isGradient: isGradient,
60
+ $isHovered: isHovered,
61
+ $theme: theme,
62
+ $variant: variant,
63
+ className: classNames(IconButtonLink.className, className),
64
+ href: !isDisabled ? href : undefined,
65
+ ref: ref,
66
+ target: target
67
+ }), /*#__PURE__*/React__default.createElement(Icon, _extends({}, iconProps, {
68
+ icon: icon
69
+ }))));
70
+ });
71
+ IconButtonLink.className = CLASSNAME;
72
+ IconButtonLink.displayName = COMPONENT_NAME;
73
+
74
+ export { IconButtonLink as I };
75
+ //# sourceMappingURL=IconButtonLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButtonLink.js","sources":["../../src/components/icon-button-link/IconButtonLink.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp, ButtonsColorPalette } from '../../types';\nimport { Icon } from '../icon';\nimport { IconButtonLinkProps } from './types';\nimport { useTheme } from '../theme';\nimport { ConditionalWrapper } from '../conditional-wrapper';\nimport { StyledGradientBorder } from '../gradient-border';\nimport { StyledIconButton } from '../icon-button/styles';\nimport { IconButtonVariant } from '../icon-button/types';\n\nconst COMPONENT_NAME = 'IconButtonLink';\nconst CLASSNAME = 'redsift-icon-button-link';\n\n/**\n * The IconButtonLink is a semantic link that looks like an icon button.\n *\n * For a semantic button that looks like an icon button, please use the IconButton component.\n * For a semantic link that looks like a link, please use the Link component.\n * For a semantic button that looks like a link, please use the LinkButton component.\n */\nexport const IconButtonLink: Comp<IconButtonLinkProps, HTMLAnchorElement> = forwardRef((props, ref) => {\n const {\n as,\n className,\n color: propsColor,\n href,\n icon,\n iconProps,\n isActive,\n isDisabled,\n isHovered,\n target,\n theme: propsTheme,\n variant: propsVariant,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n const color = Object.values(ButtonsColorPalette).includes(propsColor!) ? propsColor : 'primary';\n const variant = Object.values(IconButtonVariant).includes(propsVariant!) ? propsVariant : 'unstyled';\n const isGradient = color === ButtonsColorPalette.radar;\n\n return (\n <ConditionalWrapper\n condition={isGradient && variant === IconButtonVariant.secondary}\n wrapper={(children) => (\n <StyledGradientBorder\n $color={color}\n $isActive={isActive}\n $isDisabled={isDisabled}\n $isHovered={isHovered}\n $theme={theme}\n >\n {children}\n </StyledGradientBorder>\n )}\n >\n <StyledIconButton\n as={(as || 'a') as any}\n role=\"link\"\n tabIndex={!isDisabled ? 0 : undefined}\n {...forwardedProps}\n $color={color}\n $isActive={isActive}\n $isDisabled={isDisabled}\n $isGradient={isGradient}\n $isHovered={isHovered}\n $theme={theme}\n $variant={variant}\n className={classNames(IconButtonLink.className, className)}\n href={!isDisabled ? href : undefined}\n ref={ref as RefObject<HTMLAnchorElement>}\n target={target}\n >\n <Icon {...iconProps} icon={icon} />\n </StyledIconButton>\n </ConditionalWrapper>\n );\n});\nIconButtonLink.className = CLASSNAME;\nIconButtonLink.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","IconButtonLink","forwardRef","props","ref","as","className","color","propsColor","href","icon","iconProps","isActive","isDisabled","isHovered","target","theme","propsTheme","variant","propsVariant","forwardedProps","_objectWithoutProperties","_excluded","useTheme","Object","values","ButtonsColorPalette","includes","IconButtonVariant","isGradient","radar","React","createElement","ConditionalWrapper","condition","secondary","wrapper","children","StyledGradientBorder","$color","$isActive","$isDisabled","$isHovered","$theme","StyledIconButton","_extends","role","tabIndex","undefined","$isGradient","$variant","classNames","Icon","displayName"],"mappings":"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"}