@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,20 @@
1
+ /**
2
+ * Component variant.
3
+ */
4
+ const SkeletonTextVariant = {
5
+ h1: 'h1',
6
+ h2: 'h2',
7
+ h3: 'h3',
8
+ h4: 'h4',
9
+ h5: 'h5',
10
+ body: 'body',
11
+ button: 'button',
12
+ caption: 'caption'
13
+ };
14
+
15
+ /**
16
+ * Component props.
17
+ */
18
+
19
+ export { SkeletonTextVariant as S };
20
+ //# sourceMappingURL=types3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types3.js","sources":["../../src/components/skeleton-text/types.ts"],"sourcesContent":["import { ValueOf } from '../../types';\nimport { SkeletonProps } from '../skeleton/types';\n\n/**\n * Component variant.\n */\nexport const SkeletonTextVariant = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n body: 'body',\n button: 'button',\n caption: 'caption',\n} as const;\nexport type SkeletonTextVariant = ValueOf<typeof SkeletonTextVariant>;\n\n/**\n * Component props.\n */\nexport interface SkeletonTextProps extends SkeletonProps {\n /** Font size. */\n fontSize?: string;\n /** Line height. */\n lineHeight?: string;\n /** Variant. */\n variant?: SkeletonTextVariant;\n}\n\nexport type StyledSkeletonTextProps = Omit<SkeletonTextProps, 'fontSize' | 'lineHeight' | 'variant'> & {\n $fontSize: SkeletonTextProps['fontSize'];\n $lineHeight: SkeletonTextProps['lineHeight'];\n $variant: SkeletonTextProps['variant'];\n $theme: SkeletonProps['theme'];\n};\n"],"names":["SkeletonTextVariant","h1","h2","h3","h4","h5","body","button","caption"],"mappings":"AAGA;AACA;AACA;AACO,MAAMA,mBAAmB,GAAG;AACjCC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,OAAO,EAAE,SAAA;AACX,EAAU;;AAGV;AACA;AACA;;;;"}
@@ -0,0 +1,337 @@
1
+ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { useState, useEffect, forwardRef, useContext } from 'react';
3
+ import classNames from 'classnames';
4
+ import { A as AppContainerContext } from './context.js';
5
+ import styled, { css } from 'styled-components';
6
+ import { A as AppSidePanelVariant } from './types.js';
7
+ import { mdiMenu } from '@redsift/icons';
8
+ import { u as useMessageFormatter } from './useMessageFormatter.js';
9
+ import { b as ProductLogo } from './colors.js';
10
+ import { u as useTheme } from './useTheme.js';
11
+ import { a as Icon } from './Icon2.js';
12
+ import { I as IconButton } from './IconButton.js';
13
+ import { a as useSideNavigationMenuBar, S as SideNavigationMenuBar } from './useSideNavigationMenuBar.js';
14
+
15
+ const useWindowSize = () => {
16
+ const [windowSize, setWindowSize] = useState({
17
+ width: undefined,
18
+ height: undefined,
19
+ size: undefined
20
+ });
21
+ useEffect(() => {
22
+ function handleResize() {
23
+ setWindowSize(windowSize => {
24
+ if (window.innerWidth === windowSize.width && window.innerHeight === windowSize.height) {
25
+ return windowSize;
26
+ }
27
+ let size;
28
+ if (window.innerWidth <= 480) {
29
+ size = 'xs';
30
+ } else if (window.innerWidth <= 768) {
31
+ size = 'sm';
32
+ } else if (window.innerWidth <= 1024) {
33
+ size = 'md';
34
+ } else if (window.innerWidth <= 1200) {
35
+ size = 'lg';
36
+ } else {
37
+ size = 'xl';
38
+ }
39
+ return {
40
+ width: window.innerWidth,
41
+ height: window.innerHeight,
42
+ size
43
+ };
44
+ });
45
+ }
46
+ window.addEventListener('resize', handleResize);
47
+ handleResize();
48
+ return () => window.removeEventListener('resize', handleResize);
49
+ }, []);
50
+ return windowSize;
51
+ };
52
+
53
+ var expand$1 = "Expand left side panel";
54
+ var collapse$1 = "Collapse left side panel";
55
+ var enUS = {
56
+ expand: expand$1,
57
+ collapse: collapse$1
58
+ };
59
+
60
+ var expand = "Développer le panneau latéral gauche";
61
+ var collapse = "Réduire le panneau latéral gauche";
62
+ var frFR = {
63
+ expand: expand,
64
+ collapse: collapse
65
+ };
66
+
67
+ var intlMessages = {
68
+ 'en-US': enUS,
69
+ 'fr-FR': frFR
70
+ };
71
+
72
+ /**
73
+ * Component style.
74
+ */
75
+ const StyledAppSidePanel = styled.div`
76
+ align-items: center;
77
+ background-color: ${_ref => {
78
+ let {
79
+ $theme
80
+ } = _ref;
81
+ return css`var(--redsift-color-${$theme}-components-side-navigation-background)`;
82
+ }};
83
+ border-right: 4px solid ${_ref2 => {
84
+ let {
85
+ $theme
86
+ } = _ref2;
87
+ return css`var(--redsift-color-${$theme}-components-side-navigation-right-line)`;
88
+ }};
89
+ box-sizing: border-box;
90
+ flex-direction: column;
91
+ height: 100%;
92
+ left: 0px;
93
+ overflow: hidden;
94
+ position: fixed;
95
+ top: 0;
96
+ transition: width 300ms ease-out;
97
+ width: ${_ref3 => {
98
+ let {
99
+ $variant
100
+ } = _ref3;
101
+ return $variant === AppSidePanelVariant.hidden ? '0' : $variant === AppSidePanelVariant.shrinked ? '68px' : '254px';
102
+ }};
103
+ z-index: var(--redsift-layout-z-index-side-panel);
104
+
105
+ .redsift-app-side-panel__header {
106
+ box-sizing: border-box;
107
+ transition: padding 300ms ease-out;
108
+ padding: 18px
109
+ ${_ref4 => {
110
+ let {
111
+ $variant
112
+ } = _ref4;
113
+ return $variant === AppSidePanelVariant.hidden ? '0' : $variant === AppSidePanelVariant.shrinked ? '16px' : '24px';
114
+ }};
115
+ margin-bottom: 16px;
116
+ width: 100%;
117
+
118
+ height: 92px;
119
+ @media (max-width: 1080px) {
120
+ height: 72px;
121
+ }
122
+
123
+ display: grid;
124
+ justify-items: start;
125
+ align-items: center;
126
+
127
+ .redsift-icon-button {
128
+ > span,
129
+ > span > svg {
130
+ width: 24px;
131
+ height: 24px;
132
+ }
133
+ }
134
+ }
135
+
136
+ .redsift-app-side-panel-header__logo {
137
+ align-items: center;
138
+ display: flex;
139
+ grid-column: 1;
140
+ grid-row: 1;
141
+ transition: opacity 300ms ease-out;
142
+ opacity: ${_ref5 => {
143
+ let {
144
+ $variant
145
+ } = _ref5;
146
+ return $variant === AppSidePanelVariant.shrinked ? '0' : '1';
147
+ }};
148
+
149
+ height: 56px;
150
+ @media (max-width: 1080px) {
151
+ height: 36px;
152
+ }
153
+ }
154
+
155
+ .redsift-app-side-panel-header__logo > img {
156
+ max-height: 56px;
157
+ @media (max-width: 1080px) {
158
+ max-height: 36px;
159
+ }
160
+ max-width: 195px;
161
+ }
162
+
163
+ .redsift-app-side-panel-header__expand-button {
164
+ grid-column: 1;
165
+ grid-row: 1;
166
+ transition: opacity 300ms ease-out;
167
+ opacity: ${_ref6 => {
168
+ let {
169
+ $variant
170
+ } = _ref6;
171
+ return $variant === AppSidePanelVariant.shrinked ? '1' : '0';
172
+ }};
173
+ padding: 2px;
174
+ margin-left: -1px;
175
+ }
176
+
177
+ .redsift-app-side-panel__featured {
178
+ box-sizing: border-box;
179
+ border-left: 4px solid #e1e1e1;
180
+ border-right: unset;
181
+ margin-bottom: 16px;
182
+ padding: 0px 16px;
183
+ width: 100%;
184
+ }
185
+
186
+ [dir='rtl'] & {
187
+ left: unset;
188
+ right: 0px;
189
+ transform: unset;
190
+ transition: unset;
191
+ }
192
+
193
+ scrollbar-color: ${_ref7 => {
194
+ let {
195
+ $theme
196
+ } = _ref7;
197
+ return css`var(--redsift-color-${$theme}-components-side-navigation-scrollbar-resting) transparent`;
198
+ }};
199
+ scrollbar-width: thin;
200
+
201
+ &::-webkit-scrollbar {
202
+ block-size: 9px;
203
+ inline-size: 9px;
204
+ }
205
+
206
+ &::-webkit-scrollbar-thumb {
207
+ background-clip: padding-box;
208
+ background-color: ${_ref8 => {
209
+ let {
210
+ $theme
211
+ } = _ref8;
212
+ return css`var(--redsift-color-${$theme}-components-side-navigation-scrollbar-resting)`;
213
+ }};
214
+ border-radius: 0px;
215
+ border-left: 2px solid transparent;
216
+ border-right: 2px solid transparent;
217
+ }
218
+
219
+ &::-webkit-scrollbar-track {
220
+ background-color: transparent;
221
+ }
222
+
223
+ &::-webkit-scrollbar-thumb:horizontal,
224
+ &::-webkit-scrollbar-thumb:vertical {
225
+ &:hover {
226
+ background-color: ${_ref9 => {
227
+ let {
228
+ $theme
229
+ } = _ref9;
230
+ return css`var(--redsift-color-${$theme}-components-side-navigation-scrollbar-hover)`;
231
+ }};
232
+ }
233
+ }
234
+
235
+ &::-webkit-scrollbar-corner {
236
+ visibility: hidden;
237
+ }
238
+ `;
239
+
240
+ // --redsift-color-${$theme}-components-side-navigation-background
241
+ // --redsift-color-${$theme}-components-side-navigation-right-line
242
+ // --redsift-color-${$theme}-components-side-navigation-current-marker
243
+ // --redsift-color-${$theme}-components-side-navigation-text
244
+ // --redsift-color-${$theme}-components-side-navigation-icon
245
+ // --redsift-color-${$theme}-components-side-navigation-chat-background-hover
246
+ // --redsift-color-${$theme}-components-side-navigation-chat-background-down
247
+
248
+ // ${({ $theme }) => css`var(--redsift-color-${$theme}-components-side-navigation-background)`};
249
+
250
+ const _excluded = ["children", "className", "featuredElements", "iconButtonProps", "iconButtonRef", "logo", "onOpen", "theme", "variant"];
251
+ const COMPONENT_NAME = 'AppSidePanel';
252
+ const CLASSNAME = 'redsift-app-side-panel';
253
+
254
+ /**
255
+ * The AppSidePanel component.
256
+ */
257
+ const AppSidePanel = /*#__PURE__*/forwardRef((props, ref) => {
258
+ const {
259
+ children,
260
+ className,
261
+ featuredElements,
262
+ iconButtonProps,
263
+ iconButtonRef,
264
+ logo,
265
+ onOpen,
266
+ theme: propsTheme,
267
+ variant
268
+ } = props,
269
+ forwardedProps = _objectWithoutProperties(props, _excluded);
270
+ const {
271
+ width
272
+ } = useWindowSize();
273
+ const appContainerState = useContext(AppContainerContext);
274
+ const theme = useTheme(propsTheme);
275
+ const format = useMessageFormatter(intlMessages);
276
+ useEffect(() => {
277
+ if (appContainerState && variant && appContainerState.sidePanelVariant !== variant) {
278
+ appContainerState.setSidePanelVariant(variant);
279
+ }
280
+ }, [variant]);
281
+ const handleClose = event => {
282
+ onOpen === null || onOpen === void 0 ? void 0 : onOpen(event);
283
+ appContainerState === null || appContainerState === void 0 ? void 0 : appContainerState.expandSidePanel();
284
+ };
285
+ const computedVariant = appContainerState ? appContainerState.sidePanelVariant : variant;
286
+ const product = appContainerState && appContainerState.product;
287
+ return /*#__PURE__*/React__default.createElement(StyledAppSidePanel, _extends({}, forwardedProps, {
288
+ $theme: theme,
289
+ $variant: computedVariant,
290
+ className: classNames(AppSidePanel.className, className),
291
+ ref: ref
292
+ }), /*#__PURE__*/React__default.createElement("div", {
293
+ className: `${AppSidePanel.className}__header`
294
+ }, /*#__PURE__*/React__default.createElement("div", {
295
+ className: `${AppSidePanel.className}-header__logo`
296
+ }, /*#__PURE__*/React__default.isValidElement(logo) ? logo : logo ? /*#__PURE__*/React__default.createElement("img", {
297
+ src: logo.src,
298
+ alt: logo.alt
299
+ }) : product && (typeof product === 'string' || product.logo) ? /*#__PURE__*/React__default.createElement(Icon, {
300
+ icon: typeof product === 'string' ? ProductLogo[product] : product.logo,
301
+ size: {
302
+ height: width && width > 1080 ? 41 : 36
303
+ }
304
+ }) : null), /*#__PURE__*/React__default.createElement(IconButton, _extends({
305
+ className: `${AppSidePanel.className}-header__expand-button`
306
+ }, iconButtonProps, {
307
+ "aria-label": format('expand'),
308
+ icon: mdiMenu,
309
+ onClick: handleClose,
310
+ ref: iconButtonRef,
311
+ color: "grey",
312
+ isDisabled: computedVariant === 'standard'
313
+ }))), featuredElements ? /*#__PURE__*/React__default.createElement("div", {
314
+ className: `${AppSidePanel.className}__featured`
315
+ }, featuredElements) : null, children);
316
+ });
317
+ AppSidePanel.className = CLASSNAME;
318
+ AppSidePanel.displayName = COMPONENT_NAME;
319
+
320
+ const useAppSidePanel = _ref => {
321
+ let {
322
+ items,
323
+ isActive
324
+ } = _ref;
325
+ const sideNavigationMenuBarProps = useSideNavigationMenuBar({
326
+ items,
327
+ isActive
328
+ });
329
+ return {
330
+ children: /*#__PURE__*/React__default.createElement(SideNavigationMenuBar, _extends({}, sideNavigationMenuBarProps, {
331
+ "aria-label": "Navigation"
332
+ }))
333
+ };
334
+ };
335
+
336
+ export { AppSidePanel as A, useAppSidePanel as a, useWindowSize as u };
337
+ //# sourceMappingURL=useAppSidePanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAppSidePanel.js","sources":["../../src/hooks/useWindowSize.ts","../../src/components/app-side-panel/intl/index.ts","../../src/components/app-side-panel/styles.ts","../../src/components/app-side-panel/AppSidePanel.tsx","../../src/components/app-side-panel/useAppSidePanel.tsx"],"sourcesContent":["import { useState, useEffect } from 'react';\n\ninterface WindowSize {\n height?: number;\n width?: number;\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n}\n\nexport const useWindowSize = () => {\n const [windowSize, setWindowSize] = useState<WindowSize>({\n width: undefined,\n height: undefined,\n size: undefined,\n });\n\n useEffect(() => {\n function handleResize() {\n setWindowSize((windowSize) => {\n if (\n window.innerWidth === windowSize.width &&\n window.innerHeight === windowSize.height\n ) {\n return windowSize;\n }\n\n let size: WindowSize['size'];\n if (window.innerWidth <= 480) {\n size = 'xs';\n } else if (window.innerWidth <= 768) {\n size = 'sm';\n } else if (window.innerWidth <= 1024) {\n size = 'md';\n } else if (window.innerWidth <= 1200) {\n size = 'lg';\n } else {\n size = 'xl';\n }\n return {\n width: window.innerWidth,\n height: window.innerHeight,\n size,\n };\n });\n }\n\n window.addEventListener('resize', handleResize);\n handleResize();\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n return windowSize;\n};\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import styled, { css } from 'styled-components';\nimport { AppSidePanelVariant, StyledAppSidePanelProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledAppSidePanel = styled.div<StyledAppSidePanelProps>`\n align-items: center;\n background-color: ${({ $theme }) => css`var(--redsift-color-${$theme}-components-side-navigation-background)`};\n border-right: 4px solid ${({ $theme }) => css`var(--redsift-color-${$theme}-components-side-navigation-right-line)`};\n box-sizing: border-box;\n flex-direction: column;\n height: 100%;\n left: 0px;\n overflow: hidden;\n position: fixed;\n top: 0;\n transition: width 300ms ease-out;\n width: ${({ $variant }) =>\n $variant === AppSidePanelVariant.hidden ? '0' : $variant === AppSidePanelVariant.shrinked ? '68px' : '254px'};\n z-index: var(--redsift-layout-z-index-side-panel);\n\n .redsift-app-side-panel__header {\n box-sizing: border-box;\n transition: padding 300ms ease-out;\n padding: 18px\n ${({ $variant }) =>\n $variant === AppSidePanelVariant.hidden ? '0' : $variant === AppSidePanelVariant.shrinked ? '16px' : '24px'};\n margin-bottom: 16px;\n width: 100%;\n\n height: 92px;\n @media (max-width: 1080px) {\n height: 72px;\n }\n\n display: grid;\n justify-items: start;\n align-items: center;\n\n .redsift-icon-button {\n > span,\n > span > svg {\n width: 24px;\n height: 24px;\n }\n }\n }\n\n .redsift-app-side-panel-header__logo {\n align-items: center;\n display: flex;\n grid-column: 1;\n grid-row: 1;\n transition: opacity 300ms ease-out;\n opacity: ${({ $variant }) => ($variant === AppSidePanelVariant.shrinked ? '0' : '1')};\n\n height: 56px;\n @media (max-width: 1080px) {\n height: 36px;\n }\n }\n\n .redsift-app-side-panel-header__logo > img {\n max-height: 56px;\n @media (max-width: 1080px) {\n max-height: 36px;\n }\n max-width: 195px;\n }\n\n .redsift-app-side-panel-header__expand-button {\n grid-column: 1;\n grid-row: 1;\n transition: opacity 300ms ease-out;\n opacity: ${({ $variant }) => ($variant === AppSidePanelVariant.shrinked ? '1' : '0')};\n padding: 2px;\n margin-left: -1px;\n }\n\n .redsift-app-side-panel__featured {\n box-sizing: border-box;\n border-left: 4px solid #e1e1e1;\n border-right: unset;\n margin-bottom: 16px;\n padding: 0px 16px;\n width: 100%;\n }\n\n [dir='rtl'] & {\n left: unset;\n right: 0px;\n transform: unset;\n transition: unset;\n }\n\n scrollbar-color: ${({ $theme }) =>\n css`var(--redsift-color-${$theme}-components-side-navigation-scrollbar-resting) transparent`};\n scrollbar-width: thin;\n\n &::-webkit-scrollbar {\n block-size: 9px;\n inline-size: 9px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-clip: padding-box;\n background-color: ${({ $theme }) =>\n css`var(--redsift-color-${$theme}-components-side-navigation-scrollbar-resting)`};\n border-radius: 0px;\n border-left: 2px solid transparent;\n border-right: 2px solid transparent;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-thumb:horizontal,\n &::-webkit-scrollbar-thumb:vertical {\n &:hover {\n background-color: ${({ $theme }) =>\n css`var(--redsift-color-${$theme}-components-side-navigation-scrollbar-hover)`};\n }\n }\n\n &::-webkit-scrollbar-corner {\n visibility: hidden;\n }\n`;\n\n// --redsift-color-${$theme}-components-side-navigation-background\n// --redsift-color-${$theme}-components-side-navigation-right-line\n// --redsift-color-${$theme}-components-side-navigation-current-marker\n// --redsift-color-${$theme}-components-side-navigation-text\n// --redsift-color-${$theme}-components-side-navigation-icon\n// --redsift-color-${$theme}-components-side-navigation-chat-background-hover\n// --redsift-color-${$theme}-components-side-navigation-chat-background-down\n\n// ${({ $theme }) => css`var(--redsift-color-${$theme}-components-side-navigation-background)`};\n","import React, { ComponentProps, forwardRef, MouseEvent, RefObject, useContext, useEffect } from 'react';\nimport classNames from 'classnames';\n\nimport { useMessageFormatter } from '../../react-aria/react-aria/i18n';\nimport intlMessages from './intl';\n\nimport { Comp, ProductLogo } from '../../types';\nimport { IconButton } from '../icon-button';\nimport { AppContainerContext } from '../app-container/context';\nimport { StyledAppSidePanel } from './styles';\nimport { AppSidePanelProps } from './types';\nimport { mdiMenu } from '@redsift/icons';\nimport { Icon } from '../icon';\nimport { useWindowSize } from '../../hooks';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'AppSidePanel';\nconst CLASSNAME = 'redsift-app-side-panel';\n\n/**\n * The AppSidePanel component.\n */\nexport const AppSidePanel: Comp<AppSidePanelProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n children,\n className,\n featuredElements,\n iconButtonProps,\n iconButtonRef,\n logo,\n onOpen,\n theme: propsTheme,\n variant,\n ...forwardedProps\n } = props;\n\n const { width } = useWindowSize();\n\n const appContainerState = useContext(AppContainerContext);\n const theme = useTheme(propsTheme);\n\n const format = useMessageFormatter(intlMessages);\n\n useEffect(() => {\n if (appContainerState && variant && appContainerState.sidePanelVariant !== variant) {\n appContainerState.setSidePanelVariant(variant);\n }\n }, [variant]);\n\n const handleClose = (event: MouseEvent) => {\n onOpen?.(event);\n appContainerState?.expandSidePanel();\n };\n\n const computedVariant = appContainerState ? appContainerState.sidePanelVariant : variant;\n const product = appContainerState && appContainerState.product;\n\n return (\n <StyledAppSidePanel\n {...forwardedProps}\n $theme={theme}\n $variant={computedVariant}\n className={classNames(AppSidePanel.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <div className={`${AppSidePanel.className}__header`}>\n <div className={`${AppSidePanel.className}-header__logo`}>\n {React.isValidElement(logo) ? (\n logo\n ) : logo ? (\n <img src={(logo as ComponentProps<'img'>).src} alt={(logo as ComponentProps<'img'>).alt} />\n ) : product && (typeof product === 'string' || product.logo) ? (\n <Icon\n icon={typeof product === 'string' ? ProductLogo[product] : product.logo!}\n size={{ height: width && width > 1080 ? 41 : 36 }}\n />\n ) : null}\n </div>\n <IconButton\n className={`${AppSidePanel.className}-header__expand-button`}\n {...iconButtonProps}\n aria-label={format('expand')}\n icon={mdiMenu}\n onClick={handleClose}\n ref={iconButtonRef as RefObject<HTMLButtonElement>}\n color=\"grey\"\n isDisabled={computedVariant === 'standard'}\n />\n </div>\n {featuredElements ? <div className={`${AppSidePanel.className}__featured`}>{featuredElements}</div> : null}\n {children}\n </StyledAppSidePanel>\n );\n});\nAppSidePanel.className = CLASSNAME;\nAppSidePanel.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport {\n SideNavigationMenuBar,\n useSideNavigationMenuBar,\n UseSideNavigationMenuBarProps,\n} from '../side-navigation-menu-bar';\nimport { AppSidePanelProps } from './types';\n\nexport const useAppSidePanel = ({ items, isActive }: UseSideNavigationMenuBarProps): Omit<AppSidePanelProps, 'ref'> => {\n const sideNavigationMenuBarProps = useSideNavigationMenuBar({\n items,\n isActive,\n });\n\n return {\n children: <SideNavigationMenuBar {...sideNavigationMenuBarProps} aria-label=\"Navigation\" />,\n };\n};\n"],"names":["useWindowSize","windowSize","setWindowSize","useState","width","undefined","height","size","useEffect","handleResize","window","innerWidth","innerHeight","addEventListener","removeEventListener","enUS","frFR","StyledAppSidePanel","styled","div","_ref","$theme","css","_ref2","_ref3","$variant","AppSidePanelVariant","hidden","shrinked","_ref4","_ref5","_ref6","_ref7","_ref8","_ref9","COMPONENT_NAME","CLASSNAME","AppSidePanel","forwardRef","props","ref","children","className","featuredElements","iconButtonProps","iconButtonRef","logo","onOpen","theme","propsTheme","variant","forwardedProps","_objectWithoutProperties","_excluded","appContainerState","useContext","AppContainerContext","useTheme","format","useMessageFormatter","intlMessages","sidePanelVariant","setSidePanelVariant","handleClose","event","expandSidePanel","computedVariant","product","React","createElement","_extends","classNames","isValidElement","src","alt","Icon","icon","ProductLogo","IconButton","mdiMenu","onClick","color","isDisabled","displayName","useAppSidePanel","items","isActive","sideNavigationMenuBarProps","useSideNavigationMenuBar","SideNavigationMenuBar"],"mappings":"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"}