@redsift/design-system 11.6.0-muiv5-alpha.5 → 11.6.0-muiv5-alpha.7

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 (150) hide show
  1. package/_internal/Alert2.js +182 -39
  2. package/_internal/AppBar.js +240 -29
  3. package/_internal/AppContainer.js +132 -86
  4. package/_internal/AppContent.js +84 -17
  5. package/_internal/Badge2.js +137 -4
  6. package/_internal/BreadcrumbItem.js +85 -3
  7. package/_internal/Breadcrumbs2.js +86 -21
  8. package/_internal/Button2.js +81 -20
  9. package/_internal/ButtonGroup.js +165 -25
  10. package/_internal/ButtonLink.js +74 -18
  11. package/_internal/Card2.js +151 -29
  12. package/_internal/CardActions.js +38 -3
  13. package/_internal/CardBody.js +36 -3
  14. package/_internal/CardHeader.js +77 -3
  15. package/_internal/Checkbox2.js +234 -58
  16. package/_internal/CheckboxGroup.js +182 -4
  17. package/_internal/ConditionalWrapper.js +11 -12
  18. package/_internal/DetailedCard.js +6912 -48
  19. package/_internal/DetailedCardCollapsibleSectionItems.js +58 -3
  20. package/_internal/DetailedCardHeader.js +61 -3
  21. package/_internal/DetailedCardSection.js +166 -3
  22. package/_internal/DetailedCardSectionItem.js +88 -3
  23. package/_internal/Flexbox2.js +85 -22
  24. package/_internal/Grid2.js +87 -24
  25. package/_internal/GridItem.js +34 -3
  26. package/_internal/Heading2.js +107 -3
  27. package/_internal/Icon2.js +206 -5
  28. package/_internal/IconButton.js +71 -3
  29. package/_internal/IconButtonLink.js +65 -18
  30. package/_internal/Item2.js +390 -73
  31. package/_internal/Link2.js +56 -15
  32. package/_internal/LinkButton.js +56 -13
  33. package/_internal/Number2.js +103 -61
  34. package/_internal/NumberField.js +3959 -65
  35. package/_internal/Pill2.js +400 -4
  36. package/_internal/ProgressBar.js +61 -18
  37. package/_internal/Radio2.js +227 -56
  38. package/_internal/RadioGroup.js +170 -4
  39. package/_internal/Shield2.js +220 -4
  40. package/_internal/SideNavigationMenu.js +586 -4
  41. package/_internal/SideNavigationMenuItem.js +299 -4
  42. package/_internal/Skeleton2.js +36 -9
  43. package/_internal/SkeletonCircle.js +52 -3
  44. package/_internal/SkeletonText.js +71 -3
  45. package/_internal/Spinner2.js +319 -29
  46. package/_internal/Switch2.js +310 -56
  47. package/_internal/SwitchGroup.js +182 -4
  48. package/_internal/Text2.js +45 -3
  49. package/_internal/TextArea.js +430 -20
  50. package/_internal/TextField.js +463 -19
  51. package/_internal/alert.js +2 -5
  52. package/_internal/app-bar.js +2 -8
  53. package/_internal/app-container.js +3 -9
  54. package/_internal/app-content.js +2 -5
  55. package/_internal/app-side-panel.js +3 -11
  56. package/_internal/badge.js +2 -6
  57. package/_internal/breadcrumb-item.js +1 -4
  58. package/_internal/breadcrumbs.js +2 -6
  59. package/_internal/button-group.js +2 -5
  60. package/_internal/button-link.js +2 -8
  61. package/_internal/button.js +3 -8
  62. package/_internal/card-actions.js +1 -4
  63. package/_internal/card-body.js +1 -4
  64. package/_internal/card-header.js +1 -8
  65. package/_internal/card.js +2 -11
  66. package/_internal/checkbox-group.js +2 -6
  67. package/_internal/checkbox.js +2 -6
  68. package/_internal/colors.js +87 -91
  69. package/_internal/conditional-wrapper.js +2 -2
  70. package/_internal/detailed-card-collapsible-section-items.js +1 -3
  71. package/_internal/detailed-card-header.js +1 -7
  72. package/_internal/detailed-card-section-item.js +1 -10
  73. package/_internal/detailed-card-section.js +1 -6
  74. package/_internal/detailed-card.js +2 -16
  75. package/_internal/flexbox.js +2 -5
  76. package/_internal/focus-within-group.js +3 -3
  77. package/_internal/fonts.js +4 -6
  78. package/_internal/gradient-border.js +35 -16
  79. package/_internal/grid-item.js +1 -4
  80. package/_internal/grid.js +2 -6
  81. package/_internal/heading.js +2 -6
  82. package/_internal/icon-button-link.js +2 -8
  83. package/_internal/icon-button.js +2 -6
  84. package/_internal/icon.js +2 -6
  85. package/_internal/item.js +2 -8
  86. package/_internal/link-button.js +2 -8
  87. package/_internal/link.js +3 -8
  88. package/_internal/listbox.js +3 -6
  89. package/_internal/number-field.js +2 -9
  90. package/_internal/number.js +2 -7
  91. package/_internal/pill.js +2 -6
  92. package/_internal/progress-bar.js +2 -5
  93. package/_internal/radio-group.js +2 -6
  94. package/_internal/radio.js +2 -6
  95. package/_internal/shared.js +2 -5
  96. package/_internal/shield.js +2 -6
  97. package/_internal/side-navigation-menu-bar.js +3 -9
  98. package/_internal/side-navigation-menu-item.js +2 -8
  99. package/_internal/side-navigation-menu.js +2 -8
  100. package/_internal/skeleton-circle.js +1 -6
  101. package/_internal/skeleton-text.js +2 -6
  102. package/_internal/skeleton.js +1 -7
  103. package/_internal/spinner.js +2 -5
  104. package/_internal/styles.js +235 -17
  105. package/_internal/styles2.js +44 -280
  106. package/_internal/switch-group.js +2 -6
  107. package/_internal/switch.js +2 -6
  108. package/_internal/text-area.js +2 -9
  109. package/_internal/text-field.js +2 -10
  110. package/_internal/text.js +2 -6
  111. package/_internal/theme.js +1 -3
  112. package/_internal/types.js +7 -31
  113. package/_internal/types2.js +18 -29
  114. package/_internal/types3.js +15 -18
  115. package/_internal/useAppSidePanel.js +331 -6
  116. package/_internal/useFocusOnList.js +502 -44
  117. package/_internal/useListboxItem.js +120 -23
  118. package/_internal/useSideNavigationMenuBar.js +371 -7
  119. package/_internal/useTheme.js +10 -8
  120. package/index.d.ts +4667 -0
  121. package/index.js +523 -1674
  122. package/package.json +2 -2
  123. package/_internal/SideNavigationMenuBar.js +0 -9
  124. package/_internal/helpers.js +0 -23
  125. package/_internal/types10.js +0 -20
  126. package/_internal/types11.js +0 -27
  127. package/_internal/types12.js +0 -35
  128. package/_internal/types13.js +0 -143
  129. package/_internal/types14.js +0 -11
  130. package/_internal/types15.js +0 -62
  131. package/_internal/types16.js +0 -56
  132. package/_internal/types17.js +0 -57
  133. package/_internal/types18.js +0 -40
  134. package/_internal/types19.js +0 -101
  135. package/_internal/types20.js +0 -47
  136. package/_internal/types21.js +0 -68
  137. package/_internal/types22.js +0 -52
  138. package/_internal/types23.js +0 -174
  139. package/_internal/types24.js +0 -18
  140. package/_internal/types25.js +0 -12
  141. package/_internal/types26.js +0 -36
  142. package/_internal/types27.js +0 -72
  143. package/_internal/types28.js +0 -73
  144. package/_internal/types29.js +0 -99
  145. package/_internal/types4.js +0 -67
  146. package/_internal/types5.js +0 -11
  147. package/_internal/types6.js +0 -11
  148. package/_internal/types7.js +0 -28
  149. package/_internal/types8.js +0 -72
  150. package/_internal/types9.js +0 -16
@@ -1,54 +1,197 @@
1
- import { ComponentProps } from 'react';
2
- import { V as ValueOf, C as Comp } from './helpers.js';
3
- import { h as StylingProps } from './styles2.js';
4
- import { T as Theme } from './colors.js';
1
+ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef, useState, useEffect, useCallback } from 'react';
3
+ import classNames from 'classnames';
4
+ import { mdiClose, mdiAlert, mdiTriangleOutline, mdiCheckCircle, mdiCheck, mdiAlertCircle, mdiAlertOutline, mdiInformation, mdiInformationOutline } from '@redsift/icons';
5
+ import styled, { css } from 'styled-components';
6
+ import { i as baseStyling } from './styles4.js';
7
+ import { T as Theme, N as NotificationsColorPalette } from './colors.js';
8
+ import { u as useMessageFormatter } from './useMessageFormatter.js';
9
+ import { F as Flexbox } from './Flexbox2.js';
10
+ import { T as Text } from './Text2.js';
11
+ import { tz as RedsiftTypographyFontWeightSemiBold } from './redsift-design-tokens.js';
12
+ import { I as IconButton } from './IconButton.js';
13
+ import { u as useTheme } from './useTheme.js';
14
+ import { a as Icon } from './Icon2.js';
5
15
 
6
16
  /**
7
17
  * Component variant.
8
18
  */
9
- declare const AlertVariant: {
10
- readonly success: "success";
11
- readonly error: "error";
12
- readonly warning: "warning";
13
- readonly info: "info";
19
+ const AlertVariant = {
20
+ success: 'success',
21
+ error: 'error',
22
+ warning: 'warning',
23
+ info: 'info'
14
24
  };
15
- type AlertVariant = ValueOf<typeof AlertVariant>;
16
- declare const AlertStyleVariant: {
17
- readonly default: "default";
18
- readonly minimal: "minimal";
25
+ const AlertStyleVariant = {
26
+ default: 'default',
27
+ minimal: 'minimal'
19
28
  };
20
- type AlertStyleVariant = ValueOf<typeof AlertStyleVariant>;
29
+
21
30
  /**
22
31
  * Component props.
23
32
  */
24
- interface AlertProps extends ComponentProps<'div'>, StylingProps {
25
- /** Whether the component can be closed or not. */
26
- isClosable?: boolean;
27
- /** Whether the component is closed or not. Used for controlled version. */
28
- isClosed?: boolean;
29
- /** Method to handle component change. */
30
- onClose?(isClosed: boolean): void;
31
- /** Title. */
32
- title?: string;
33
- /** Theme. */
34
- theme?: Theme;
35
- /** Variant */
36
- variant?: AlertVariant;
37
- /** Style variant. */
38
- styleVariant?: AlertStyleVariant;
39
- }
40
- type StyledAlertProps = Omit<AlertProps, 'variant' | 'styleVariant'> & {
41
- $hasTitle: boolean;
42
- $isClosable: AlertProps['isClosable'];
43
- $isClosed: AlertProps['isClosed'];
44
- $variant: AlertProps['variant'];
45
- $theme: AlertProps['theme'];
46
- $styleVariant: AlertProps['styleVariant'];
33
+
34
+ var close$1 = "Close";
35
+ var enUS = {
36
+ close: close$1
37
+ };
38
+
39
+ var close = "Fermer";
40
+ var frFR = {
41
+ close: close
42
+ };
43
+
44
+ var intlMessages = {
45
+ 'en-US': enUS,
46
+ 'fr-FR': frFR
47
+ };
48
+
49
+ /**
50
+ * Component style.
51
+ */
52
+ const StyledAlert = styled.div`
53
+ ${baseStyling}
54
+
55
+ padding: 16px;
56
+ ${_ref => {
57
+ let {
58
+ $hasTitle,
59
+ $isClosable,
60
+ $isClosed,
61
+ $variant,
62
+ $styleVariant,
63
+ $theme
64
+ } = _ref;
65
+ return css`
66
+ color: var(--redsift-color-neutral-${$theme === Theme.light ? 'x-dark-grey' : 'white'});
67
+ display: ${!$isClosed ? 'block' : 'none'};
68
+ background-color: ${$styleVariant == 'minimal' ? `var(--redsift-color-neutral-${$theme !== Theme.light ? 'x-dark-grey' : 'white'})` : `var(--redsift-color-${$theme}-components-alert-${$variant}-background)`};
69
+
70
+ border: ${$styleVariant == 'minimal' ? `1px solid var(--redsift-color-${$theme}-components-alert-${$variant}-border)` : 'none'};
71
+ border-radius: ${$styleVariant == 'minimal' ? '8px' : '4px'};
72
+
73
+ .redsift-alert-header__icon-button {
74
+ background-color: transparent;
75
+ padding: 0px;
76
+ .redsift-icon {
77
+ color: var(--redsift-color-neutral-x-dark-grey);
78
+ }
79
+
80
+ &:hover,
81
+ &:focus-visible {
82
+ background-color: var(--redsift-color-notifications-${$variant}-active);
83
+ }
84
+ }
85
+
86
+ .redsift-alert__content {
87
+ margin-top: ${$hasTitle ? '8px' : '-24px'};
88
+ margin-left: 38px;
89
+ ${$isClosable ? css`
90
+ margin-right: 24px;
91
+ ` : ''};
92
+ }
93
+ `;
94
+ }}
95
+ `;
96
+
97
+ const _excluded = ["children", "className", "isClosable", "isClosed", "onClose", "theme", "title", "variant", "styleVariant"];
98
+ const COMPONENT_NAME = 'Alert';
99
+ const CLASSNAME = 'redsift-alert';
100
+ const getVariant = (variant, styleVariant, theme) => {
101
+ switch (variant) {
102
+ case AlertVariant.info:
103
+ default:
104
+ return {
105
+ color: theme === Theme.light ? NotificationsColorPalette.info : 'white',
106
+ icon: styleVariant == 'default' ? mdiInformation : mdiInformationOutline
107
+ };
108
+ case AlertVariant.error:
109
+ return {
110
+ color: theme === Theme.light ? NotificationsColorPalette.error : 'white',
111
+ icon: styleVariant == 'default' ? mdiAlertCircle : mdiAlertOutline
112
+ };
113
+ case AlertVariant.success:
114
+ return {
115
+ color: theme === Theme.light ? NotificationsColorPalette.success : 'white',
116
+ icon: styleVariant == 'default' ? mdiCheckCircle : mdiCheck
117
+ };
118
+ case AlertVariant.warning:
119
+ return {
120
+ color: theme === Theme.light ? NotificationsColorPalette.warning : 'white',
121
+ icon: styleVariant == 'default' ? mdiAlert : mdiTriangleOutline
122
+ };
123
+ }
47
124
  };
48
125
 
49
126
  /**
50
127
  * The Alert component.
51
128
  */
52
- declare const Alert: Comp<AlertProps, HTMLDivElement>;
129
+ const Alert = /*#__PURE__*/forwardRef((props, ref) => {
130
+ const {
131
+ children,
132
+ className,
133
+ isClosable,
134
+ isClosed: propsIsClosed,
135
+ onClose,
136
+ theme: propsTheme,
137
+ title,
138
+ variant: propsVariant,
139
+ styleVariant: propsStyleVariant
140
+ } = props,
141
+ forwardedProps = _objectWithoutProperties(props, _excluded);
142
+ const theme = useTheme(propsTheme);
143
+ const variant = Object.values(AlertVariant).includes(propsVariant) ? propsVariant : 'info';
144
+ const styleVariant = Object.values(AlertStyleVariant).includes(propsStyleVariant) ? propsStyleVariant : 'default';
145
+ const format = useMessageFormatter(intlMessages);
146
+ const {
147
+ color,
148
+ icon
149
+ } = getVariant(variant, styleVariant, theme);
150
+ const [isClosed, setIsClosed] = useState(propsIsClosed);
151
+ useEffect(() => {
152
+ setIsClosed(propsIsClosed);
153
+ }, [propsIsClosed]);
154
+ const handleClose = useCallback(() => {
155
+ if (onClose) {
156
+ onClose(true);
157
+ }
158
+ if (propsIsClosed === undefined || propsIsClosed === null) {
159
+ setIsClosed(true);
160
+ }
161
+ }, [onClose]);
162
+ return /*#__PURE__*/React__default.createElement(StyledAlert, _extends({}, forwardedProps, {
163
+ className: classNames(Alert.className, className),
164
+ ref: ref,
165
+ $hasTitle: Boolean(title),
166
+ $isClosable: isClosable,
167
+ $isClosed: isClosed,
168
+ $theme: theme,
169
+ $variant: variant,
170
+ $styleVariant: styleVariant
171
+ }), /*#__PURE__*/React__default.createElement(Flexbox, {
172
+ className: `${Alert.className}__header`,
173
+ justifyContent: "space-between"
174
+ }, /*#__PURE__*/React__default.createElement(Flexbox, {
175
+ className: `${Alert.className}-header__title`,
176
+ gap: "14px",
177
+ alignItems: "center"
178
+ }, /*#__PURE__*/React__default.createElement(Icon, {
179
+ icon: icon,
180
+ color: color
181
+ }), title ? /*#__PURE__*/React__default.createElement(Text, {
182
+ fontWeight: RedsiftTypographyFontWeightSemiBold
183
+ }, title) : null), isClosable ? /*#__PURE__*/React__default.createElement(IconButton, {
184
+ "aria-label": format('close'),
185
+ className: `${Alert.className}-header__icon-button`,
186
+ icon: mdiClose,
187
+ onClick: handleClose,
188
+ color: color
189
+ }) : null), children ? /*#__PURE__*/React__default.createElement("div", {
190
+ className: `${Alert.className}__content`
191
+ }, children) : null);
192
+ });
193
+ Alert.className = CLASSNAME;
194
+ Alert.displayName = COMPONENT_NAME;
53
195
 
54
- export { AlertVariant as A, StyledAlertProps as S, AlertStyleVariant as a, AlertProps as b, Alert as c };
196
+ export { AlertVariant as A, AlertStyleVariant as a, Alert as b };
197
+ //# sourceMappingURL=Alert2.js.map
@@ -1,37 +1,248 @@
1
- import { ComponentProps, RefObject, ReactElement } from 'react';
2
- import { b as IconButtonProps } from './types16.js';
3
- import { B as BreadcrumbItemProps } from './types3.js';
4
- import { T as Theme } from './colors.js';
5
- import { C as Comp } from './helpers.js';
1
+ import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef, useState, useEffect, useContext } from 'react';
3
+ import classNames from 'classnames';
4
+ import { mdiMenuOpen } from '@redsift/icons';
5
+ import { A as AppContainerContext } from './context.js';
6
+ import { u as useIsLoaded } from './useIsLoaded.js';
7
+ import styled, { css } from 'styled-components';
8
+ import { u as useMessageFormatter } from './useMessageFormatter.js';
9
+ import { H as Heading } from './Heading2.js';
10
+ import { a as Breadcrumbs } from './Breadcrumbs2.js';
11
+ import { a as ProductName } from './colors.js';
12
+ import { u as useTheme } from './useTheme.js';
13
+ import { A as AppSidePanelVariant } from './types.js';
14
+ import { I as IconButton } from './IconButton.js';
15
+
16
+ var expand$1 = "Expand left side panel";
17
+ var collapse$1 = "Collapse left side panel";
18
+ var enUS = {
19
+ expand: expand$1,
20
+ collapse: collapse$1
21
+ };
22
+
23
+ var expand = "Développer le panneau latéral gauche";
24
+ var collapse = "Réduire le panneau latéral gauche";
25
+ var frFR = {
26
+ expand: expand,
27
+ collapse: collapse
28
+ };
29
+
30
+ var intlMessages = {
31
+ 'en-US': enUS,
32
+ 'fr-FR': frFR
33
+ };
6
34
 
7
35
  /**
8
- * Component props.
36
+ * Component style.
9
37
  */
10
- interface AppBarProps extends Omit<ComponentProps<'header'>, 'title'> {
11
- /** Array of breadcrumb item props to use to generate a Breadcrumbs in place of the title. The last item is considered as the current page. */
12
- breadcrumbs?: Omit<BreadcrumbItemProps, 'ref'>[];
13
- /** Custom props to pass to the IconButton used to collapse the side panel. */
14
- iconButtonProps?: Omit<IconButtonProps, 'icon'>;
15
- /** Custom ref to pass to the IconButton used to collapse the side panel. */
16
- iconButtonRef?: RefObject<HTMLButtonElement>;
17
- /** Title of the page if no one provided automatically */
18
- fallbackTitle?: string;
19
- /** Title of the page, if no breadcrumbs used. */
20
- title?: string | ReactElement;
21
- /** Theme. */
22
- theme?: Theme;
23
- }
24
- type StyledAppBarProps = AppBarProps & {
25
- $hasBorder: boolean;
26
- $isLoaded: boolean;
27
- $isSidePanelCollapsed: boolean;
28
- $isAppFullScreen: boolean;
29
- $theme: AppBarProps['theme'];
30
- };
38
+ const StyledAppBar = styled.header`
39
+ align-content: center;
40
+ align-items: center;
41
+
42
+ ${_ref => {
43
+ let {
44
+ $theme
45
+ } = _ref;
46
+ return css`
47
+ background-color: var(--redsift-color-${$theme}-components-app-bar-background);
48
+ color: var(--redsift-color-${$theme}-components-text);
49
+ `;
50
+ }};
51
+
52
+ display: flex;
53
+ flex-direction: row;
54
+ z-index: var(--redsift-layout-z-index-header);
55
+
56
+ ${_ref2 => {
57
+ let {
58
+ $isAppFullScreen
59
+ } = _ref2;
60
+ return !$isAppFullScreen ? css`
61
+ height: 92px;
62
+ @media (max-width: 1080px) {
63
+ height: 72px;
64
+ }
65
+ ` : css`
66
+ height: 0;
67
+ visibility: hidden;
68
+ @media (max-width: 1080px) {
69
+ height: 0;
70
+ }
71
+ `;
72
+ }}
73
+
74
+ justify-content: space-between;
75
+ left: 0;
76
+ position: sticky;
77
+ top: 0;
78
+
79
+ ${_ref3 => {
80
+ let {
81
+ $hasBorder,
82
+ $theme
83
+ } = _ref3;
84
+ return $hasBorder ? css`
85
+ border-bottom: 2px solid var(--redsift-color-${$theme}-components-app-bar-border);
86
+ ` : css`
87
+ border-bottom: none;
88
+ `;
89
+ }}
90
+
91
+ ${_ref4 => {
92
+ let {
93
+ $isSidePanelCollapsed,
94
+ $isAppFullScreen
95
+ } = _ref4;
96
+ return $isAppFullScreen ? css`
97
+ width: calc(100%);
98
+ ` : !$isSidePanelCollapsed ? css`
99
+ transform: translate(254px);
100
+ width: calc(100% - 254px);
101
+ ` : css`
102
+ transform: translate(64px);
103
+ width: calc(100% - 64px);
104
+ `;
105
+ }}
106
+
107
+ ${_ref5 => {
108
+ let {
109
+ $isLoaded
110
+ } = _ref5;
111
+ return $isLoaded ? css`
112
+ transition: transform 0.25s ease-out, width 0.25s ease-out, height 0.25s ease-out, visibility 0.25s ease-out;
113
+ ` : '';
114
+ }}
115
+
116
+ h1 {
117
+ margin: unset;
118
+ padding: unset;
119
+ }
120
+
121
+ .redsift-icon-button {
122
+ > span,
123
+ > span > svg {
124
+ width: 30px;
125
+ height: 30px;
126
+ }
127
+ }
128
+
129
+ .redsift-app-bar__left {
130
+ align-content: center;
131
+ align-items: center;
132
+ display: inline-flex;
133
+ flex-direction: row;
134
+ gap: 8px;
135
+ justify-content: center;
136
+ margin-left: 19px;
137
+ }
138
+
139
+ .redsift-app-bar-left__expand-button,
140
+ .redsift-app-bar-left__collapse-button {
141
+ margin-right: 3px;
142
+ padding: 2px;
143
+ margin-left: -2px;
144
+ }
145
+
146
+ .redsift-app-bar__right {
147
+ display: inline-flex;
148
+ margin: 16px;
149
+ }
150
+
151
+ .redsift-breadcrumb-item,
152
+ .redsift-breadcrumbs__separator {
153
+ font-family: var(--redsift-typography-h1-font-family) !important;
154
+ font-size: var(--redsift-typography-h1-font-size) !important;
155
+ font-weight: var(--redsift-typography-body-font-weight) !important;
156
+ line-height: var(--redsift-typography-h1-line-height) !important;
157
+ color: ${_ref6 => {
158
+ let {
159
+ $theme
160
+ } = _ref6;
161
+ return css`var(--redsift-color-${$theme}-components-app-bar-breadcrumb-default) !important`;
162
+ }};
163
+ }
164
+
165
+ h1.redsift-breadcrumb-item {
166
+ font-weight: var(--redsift-typography-h1-font-weight) !important;
167
+ }
168
+ `;
169
+
170
+ const _excluded = ["breadcrumbs", "children", "className", "iconButtonProps", "iconButtonRef", "fallbackTitle", "theme", "title"];
171
+ const COMPONENT_NAME = 'AppBar';
172
+ const CLASSNAME = 'redsift-app-bar';
31
173
 
32
174
  /**
33
175
  * The AppBar component.
34
176
  */
35
- declare const AppBar: Comp<AppBarProps, HTMLHeadingElement>;
177
+ const AppBar = /*#__PURE__*/forwardRef((props, ref) => {
178
+ var _breadcrumbs$, _appContainerState$pr;
179
+ const {
180
+ breadcrumbs,
181
+ children,
182
+ className,
183
+ iconButtonProps,
184
+ iconButtonRef,
185
+ fallbackTitle,
186
+ theme: propsTheme,
187
+ title: propsTitle
188
+ } = props,
189
+ forwardedProps = _objectWithoutProperties(props, _excluded);
190
+ const [scroll, setScroll] = useState(false);
191
+ useEffect(() => {
192
+ window.addEventListener('scroll', () => {
193
+ setScroll(window.scrollY > 8);
194
+ });
195
+ }, []);
196
+ const {
197
+ isLoaded
198
+ } = useIsLoaded();
199
+ const appContainerState = useContext(AppContainerContext);
200
+ const theme = useTheme(propsTheme);
201
+ const format = useMessageFormatter(intlMessages);
202
+ return /*#__PURE__*/React__default.createElement(StyledAppBar, _extends({}, forwardedProps, {
203
+ $hasBorder: scroll,
204
+ $isLoaded: isLoaded,
205
+ $isSidePanelCollapsed: appContainerState ? appContainerState.sidePanelVariant === AppSidePanelVariant.shrinked : true,
206
+ $isAppFullScreen: appContainerState ? appContainerState.sidePanelVariant === AppSidePanelVariant.hidden : false,
207
+ $theme: theme,
208
+ className: classNames(AppBar.className, className),
209
+ ref: ref
210
+ }), /*#__PURE__*/React__default.createElement("div", {
211
+ className: `${AppBar.className}__left`
212
+ }, appContainerState ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, appContainerState.sidePanelVariant === AppSidePanelVariant.shrinked ? /*#__PURE__*/React__default.createElement("div", {
213
+ style: {
214
+ width: '30px',
215
+ height: '30px',
216
+ marginRight: '3px'
217
+ }
218
+ }) : /*#__PURE__*/React__default.createElement(IconButton, _extends({
219
+ className: `${AppBar.className}-left__collapse-button`
220
+ }, iconButtonProps, {
221
+ "aria-label": format('collapse'),
222
+ icon: mdiMenuOpen,
223
+ onClick: appContainerState.collapseSidePanel,
224
+ ref: iconButtonRef,
225
+ color: "grey"
226
+ }))) : null, propsTitle && typeof propsTitle !== 'string' ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, propsTitle) : typeof propsTitle === 'string' ? /*#__PURE__*/React__default.createElement(Heading, {
227
+ as: "h1"
228
+ }, propsTitle) : breadcrumbs ? /*#__PURE__*/React__default.createElement(Breadcrumbs, {
229
+ "aria-label": "Breadcrumb"
230
+ }, appContainerState && appContainerState.sidePanelVariant === AppSidePanelVariant.shrinked ? /*#__PURE__*/React__default.createElement(Breadcrumbs.Item, {
231
+ href: "/",
232
+ as: ((_breadcrumbs$ = breadcrumbs[0]) === null || _breadcrumbs$ === void 0 ? void 0 : _breadcrumbs$.as) || 'a'
233
+ }, typeof appContainerState.product === 'string' ? ProductName[appContainerState.product] : (_appContainerState$pr = appContainerState.product) === null || _appContainerState$pr === void 0 ? void 0 : _appContainerState$pr.name) : null, breadcrumbs.map((breadcrumbItem, index) => /*#__PURE__*/React__default.createElement(Breadcrumbs.Item, _extends({
234
+ key: index
235
+ }, breadcrumbItem, {
236
+ isDisabled: breadcrumbItem.isDisabled || breadcrumbItem.href === undefined,
237
+ as: index === breadcrumbs.length - 1 ? 'h1' : breadcrumbItem.href === undefined ? 'span' : breadcrumbItem.as || 'a'
238
+ })))) : fallbackTitle ? /*#__PURE__*/React__default.createElement(Heading, {
239
+ as: "h1"
240
+ }, fallbackTitle) : null), children ? /*#__PURE__*/React__default.createElement("div", {
241
+ className: `${AppBar.className}__right`
242
+ }, children) : null);
243
+ });
244
+ AppBar.className = CLASSNAME;
245
+ AppBar.displayName = COMPONENT_NAME;
36
246
 
37
- export { AppBarProps as A, StyledAppBarProps as S, AppBar as a };
247
+ export { AppBar as A };
248
+ //# sourceMappingURL=AppBar.js.map