@zendeskgarden/react-chrome 8.75.0 → 8.76.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 (80) hide show
  1. package/dist/esm/elements/Chrome.js +99 -0
  2. package/dist/esm/elements/SkipNav.js +70 -0
  3. package/dist/esm/elements/body/Body.js +68 -0
  4. package/dist/esm/elements/body/Content.js +59 -0
  5. package/dist/esm/elements/body/Main.js +52 -0
  6. package/dist/esm/elements/body/Sidebar.js +52 -0
  7. package/dist/esm/elements/footer/Footer.js +52 -0
  8. package/dist/esm/elements/footer/FooterItem.js +52 -0
  9. package/dist/esm/elements/header/Header.js +56 -0
  10. package/dist/esm/elements/header/HeaderItem.js +74 -0
  11. package/dist/esm/elements/header/HeaderItemIcon.js +71 -0
  12. package/dist/esm/elements/header/HeaderItemText.js +56 -0
  13. package/dist/esm/elements/header/HeaderItemWrapper.js +52 -0
  14. package/dist/esm/elements/nav/Nav.js +74 -0
  15. package/dist/esm/elements/nav/NavItem.js +98 -0
  16. package/dist/esm/elements/nav/NavItemIcon.js +71 -0
  17. package/dist/esm/elements/nav/NavItemText.js +63 -0
  18. package/dist/esm/elements/sheet/Sheet.js +133 -0
  19. package/dist/esm/elements/sheet/components/Body.js +55 -0
  20. package/dist/esm/elements/sheet/components/Close.js +65 -0
  21. package/dist/esm/elements/sheet/components/Description.js +64 -0
  22. package/dist/esm/elements/sheet/components/Footer.js +55 -0
  23. package/dist/esm/elements/sheet/components/FooterItem.js +55 -0
  24. package/dist/esm/elements/sheet/components/Header.js +60 -0
  25. package/dist/esm/elements/sheet/components/Title.js +64 -0
  26. package/dist/esm/elements/subnav/CollapsibleSubNavItem.js +120 -0
  27. package/dist/esm/elements/subnav/SubNav.js +63 -0
  28. package/dist/esm/elements/subnav/SubNavItem.js +65 -0
  29. package/dist/esm/elements/subnav/SubNavItemText.js +56 -0
  30. package/dist/esm/index.js +29 -0
  31. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/12/chevron-down-stroke.svg.js +25 -0
  32. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/link-stroke.svg.js +25 -0
  33. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/x-stroke.svg.js +26 -0
  34. package/dist/esm/styled/StyledChrome.js +22 -0
  35. package/dist/esm/styled/StyledSkipNav.js +46 -0
  36. package/dist/esm/styled/StyledSkipNavIcon.js +28 -0
  37. package/dist/esm/styled/body/StyledBody.js +22 -0
  38. package/dist/esm/styled/body/StyledContent.js +25 -0
  39. package/dist/esm/styled/body/StyledMain.js +22 -0
  40. package/dist/esm/styled/body/StyledSidebar.js +22 -0
  41. package/dist/esm/styled/footer/StyledFooter.js +25 -0
  42. package/dist/esm/styled/footer/StyledFooterItem.js +22 -0
  43. package/dist/esm/styled/header/StyledBaseHeaderItem.js +35 -0
  44. package/dist/esm/styled/header/StyledHeader.js +31 -0
  45. package/dist/esm/styled/header/StyledHeaderItem.js +37 -0
  46. package/dist/esm/styled/header/StyledHeaderItemIcon.js +22 -0
  47. package/dist/esm/styled/header/StyledHeaderItemText.js +23 -0
  48. package/dist/esm/styled/header/StyledHeaderItemWrapper.js +24 -0
  49. package/dist/esm/styled/header/StyledLogoHeaderItem.js +47 -0
  50. package/dist/esm/styled/nav/StyledBaseNavItem.js +32 -0
  51. package/dist/esm/styled/nav/StyledBrandmarkNavItem.js +24 -0
  52. package/dist/esm/styled/nav/StyledLogoNavItem.js +49 -0
  53. package/dist/esm/styled/nav/StyledNav.js +34 -0
  54. package/dist/esm/styled/nav/StyledNavItem.js +65 -0
  55. package/dist/esm/styled/nav/StyledNavItemIcon.js +22 -0
  56. package/dist/esm/styled/nav/StyledNavItemText.js +34 -0
  57. package/dist/esm/styled/sheet/StyledSheet.js +41 -0
  58. package/dist/esm/styled/sheet/StyledSheetBody.js +22 -0
  59. package/dist/esm/styled/sheet/StyledSheetClose.js +34 -0
  60. package/dist/esm/styled/sheet/StyledSheetDescription.js +22 -0
  61. package/dist/esm/styled/sheet/StyledSheetFooter.js +22 -0
  62. package/dist/esm/styled/sheet/StyledSheetFooterItem.js +22 -0
  63. package/dist/esm/styled/sheet/StyledSheetHeader.js +23 -0
  64. package/dist/esm/styled/sheet/StyledSheetTitle.js +22 -0
  65. package/dist/esm/styled/sheet/StyledSheetWrapper.js +37 -0
  66. package/dist/esm/styled/subnav/StyledSubNav.js +34 -0
  67. package/dist/esm/styled/subnav/StyledSubNavItem.js +55 -0
  68. package/dist/esm/styled/subnav/StyledSubNavItemHeader.js +24 -0
  69. package/dist/esm/styled/subnav/StyledSubNavItemIcon.js +43 -0
  70. package/dist/esm/styled/subnav/StyledSubNavItemText.js +30 -0
  71. package/dist/esm/styled/subnav/StyledSubNavPanel.js +24 -0
  72. package/dist/esm/types/index.js +10 -0
  73. package/dist/esm/utils/useBodyContext.js +16 -0
  74. package/dist/esm/utils/useChromeContext.js +16 -0
  75. package/dist/esm/utils/useFocusableMount.js +31 -0
  76. package/dist/esm/utils/useNavContext.js +16 -0
  77. package/dist/esm/utils/useSheetContext.js +16 -0
  78. package/dist/index.cjs.js +78 -94
  79. package/package.json +5 -5
  80. package/dist/index.esm.js +0 -1449
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Copyright Zendesk, Inc.
3
+ *
4
+ * Use of this source code is governed under the Apache License, Version 2.0
5
+ * found at http://www.apache.org/licenses/LICENSE-2.0.
6
+ */
7
+ import React__default, { forwardRef } from 'react';
8
+ import '../../../styled/StyledChrome.js';
9
+ import '../../../styled/StyledSkipNav.js';
10
+ import '../../../styled/StyledSkipNavIcon.js';
11
+ import '../../../styled/body/StyledBody.js';
12
+ import '../../../styled/body/StyledContent.js';
13
+ import '../../../styled/body/StyledMain.js';
14
+ import '../../../styled/body/StyledSidebar.js';
15
+ import '../../../styled/footer/StyledFooter.js';
16
+ import '../../../styled/footer/StyledFooterItem.js';
17
+ import '../../../styled/header/StyledHeader.js';
18
+ import '../../../styled/header/StyledBaseHeaderItem.js';
19
+ import '../../../styled/header/StyledHeaderItem.js';
20
+ import '../../../styled/header/StyledHeaderItemIcon.js';
21
+ import '../../../styled/header/StyledLogoHeaderItem.js';
22
+ import '../../../styled/header/StyledHeaderItemText.js';
23
+ import '../../../styled/header/StyledHeaderItemWrapper.js';
24
+ import '../../../styled/nav/StyledNav.js';
25
+ import '../../../styled/nav/StyledBaseNavItem.js';
26
+ import '../../../styled/nav/StyledLogoNavItem.js';
27
+ import '../../../styled/nav/StyledBrandmarkNavItem.js';
28
+ import '../../../styled/nav/StyledNavItem.js';
29
+ import '../../../styled/nav/StyledNavItemIcon.js';
30
+ import '../../../styled/nav/StyledNavItemText.js';
31
+ import '../../../styled/subnav/StyledSubNav.js';
32
+ import '../../../styled/subnav/StyledSubNavItem.js';
33
+ import '../../../styled/subnav/StyledSubNavItemText.js';
34
+ import '../../../styled/subnav/StyledSubNavItemHeader.js';
35
+ import '../../../styled/subnav/StyledSubNavItemIcon.js';
36
+ import '../../../styled/subnav/StyledSubNavPanel.js';
37
+ import '../../../styled/sheet/StyledSheet.js';
38
+ import '../../../styled/sheet/StyledSheetWrapper.js';
39
+ import '../../../styled/sheet/StyledSheetTitle.js';
40
+ import '../../../styled/sheet/StyledSheetDescription.js';
41
+ import { StyledSheetBody } from '../../../styled/sheet/StyledSheetBody.js';
42
+ import '../../../styled/sheet/StyledSheetClose.js';
43
+ import '../../../styled/sheet/StyledSheetFooter.js';
44
+ import '../../../styled/sheet/StyledSheetFooterItem.js';
45
+ import '../../../styled/sheet/StyledSheetHeader.js';
46
+
47
+ const SheetBody = forwardRef((props, ref) => {
48
+ return React__default.createElement(StyledSheetBody, Object.assign({
49
+ ref: ref
50
+ }, props));
51
+ });
52
+ SheetBody.displayName = 'Sheet.Body';
53
+ const Body = SheetBody;
54
+
55
+ export { Body };
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Copyright Zendesk, Inc.
3
+ *
4
+ * Use of this source code is governed under the Apache License, Version 2.0
5
+ * found at http://www.apache.org/licenses/LICENSE-2.0.
6
+ */
7
+ import React__default, { forwardRef, useEffect } from 'react';
8
+ import SvgXStroke from '../../../node_modules/@zendeskgarden/svg-icons/src/16/x-stroke.svg.js';
9
+ import '../../../styled/StyledChrome.js';
10
+ import '../../../styled/StyledSkipNav.js';
11
+ import '../../../styled/StyledSkipNavIcon.js';
12
+ import '../../../styled/body/StyledBody.js';
13
+ import '../../../styled/body/StyledContent.js';
14
+ import '../../../styled/body/StyledMain.js';
15
+ import '../../../styled/body/StyledSidebar.js';
16
+ import '../../../styled/footer/StyledFooter.js';
17
+ import '../../../styled/footer/StyledFooterItem.js';
18
+ import '../../../styled/header/StyledHeader.js';
19
+ import '../../../styled/header/StyledBaseHeaderItem.js';
20
+ import '../../../styled/header/StyledHeaderItem.js';
21
+ import '../../../styled/header/StyledHeaderItemIcon.js';
22
+ import '../../../styled/header/StyledLogoHeaderItem.js';
23
+ import '../../../styled/header/StyledHeaderItemText.js';
24
+ import '../../../styled/header/StyledHeaderItemWrapper.js';
25
+ import '../../../styled/nav/StyledNav.js';
26
+ import '../../../styled/nav/StyledBaseNavItem.js';
27
+ import '../../../styled/nav/StyledLogoNavItem.js';
28
+ import '../../../styled/nav/StyledBrandmarkNavItem.js';
29
+ import '../../../styled/nav/StyledNavItem.js';
30
+ import '../../../styled/nav/StyledNavItemIcon.js';
31
+ import '../../../styled/nav/StyledNavItemText.js';
32
+ import '../../../styled/subnav/StyledSubNav.js';
33
+ import '../../../styled/subnav/StyledSubNavItem.js';
34
+ import '../../../styled/subnav/StyledSubNavItemText.js';
35
+ import '../../../styled/subnav/StyledSubNavItemHeader.js';
36
+ import '../../../styled/subnav/StyledSubNavItemIcon.js';
37
+ import '../../../styled/subnav/StyledSubNavPanel.js';
38
+ import '../../../styled/sheet/StyledSheet.js';
39
+ import '../../../styled/sheet/StyledSheetWrapper.js';
40
+ import '../../../styled/sheet/StyledSheetTitle.js';
41
+ import '../../../styled/sheet/StyledSheetDescription.js';
42
+ import '../../../styled/sheet/StyledSheetBody.js';
43
+ import { StyledSheetClose } from '../../../styled/sheet/StyledSheetClose.js';
44
+ import '../../../styled/sheet/StyledSheetFooter.js';
45
+ import '../../../styled/sheet/StyledSheetFooterItem.js';
46
+ import '../../../styled/sheet/StyledSheetHeader.js';
47
+ import { useSheetContext } from '../../../utils/useSheetContext.js';
48
+
49
+ const SheetClose = forwardRef((props, ref) => {
50
+ const {
51
+ setIsCloseButtonPresent
52
+ } = useSheetContext();
53
+ useEffect(() => {
54
+ setIsCloseButtonPresent(true);
55
+ return () => setIsCloseButtonPresent(false);
56
+ }, [setIsCloseButtonPresent]);
57
+ return React__default.createElement(StyledSheetClose, Object.assign({
58
+ "aria-label": "Close Sheet",
59
+ ref: ref
60
+ }, props), React__default.createElement(SvgXStroke, null));
61
+ });
62
+ SheetClose.displayName = 'Sheet.Close';
63
+ const Close = SheetClose;
64
+
65
+ export { Close };
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Copyright Zendesk, Inc.
3
+ *
4
+ * Use of this source code is governed under the Apache License, Version 2.0
5
+ * found at http://www.apache.org/licenses/LICENSE-2.0.
6
+ */
7
+ import React__default, { forwardRef } from 'react';
8
+ import '../../../styled/StyledChrome.js';
9
+ import '../../../styled/StyledSkipNav.js';
10
+ import '../../../styled/StyledSkipNavIcon.js';
11
+ import '../../../styled/body/StyledBody.js';
12
+ import '../../../styled/body/StyledContent.js';
13
+ import '../../../styled/body/StyledMain.js';
14
+ import '../../../styled/body/StyledSidebar.js';
15
+ import '../../../styled/footer/StyledFooter.js';
16
+ import '../../../styled/footer/StyledFooterItem.js';
17
+ import '../../../styled/header/StyledHeader.js';
18
+ import '../../../styled/header/StyledBaseHeaderItem.js';
19
+ import '../../../styled/header/StyledHeaderItem.js';
20
+ import '../../../styled/header/StyledHeaderItemIcon.js';
21
+ import '../../../styled/header/StyledLogoHeaderItem.js';
22
+ import '../../../styled/header/StyledHeaderItemText.js';
23
+ import '../../../styled/header/StyledHeaderItemWrapper.js';
24
+ import '../../../styled/nav/StyledNav.js';
25
+ import '../../../styled/nav/StyledBaseNavItem.js';
26
+ import '../../../styled/nav/StyledLogoNavItem.js';
27
+ import '../../../styled/nav/StyledBrandmarkNavItem.js';
28
+ import '../../../styled/nav/StyledNavItem.js';
29
+ import '../../../styled/nav/StyledNavItemIcon.js';
30
+ import '../../../styled/nav/StyledNavItemText.js';
31
+ import '../../../styled/subnav/StyledSubNav.js';
32
+ import '../../../styled/subnav/StyledSubNavItem.js';
33
+ import '../../../styled/subnav/StyledSubNavItemText.js';
34
+ import '../../../styled/subnav/StyledSubNavItemHeader.js';
35
+ import '../../../styled/subnav/StyledSubNavItemIcon.js';
36
+ import '../../../styled/subnav/StyledSubNavPanel.js';
37
+ import '../../../styled/sheet/StyledSheet.js';
38
+ import '../../../styled/sheet/StyledSheetWrapper.js';
39
+ import '../../../styled/sheet/StyledSheetTitle.js';
40
+ import { StyledSheetDescription } from '../../../styled/sheet/StyledSheetDescription.js';
41
+ import '../../../styled/sheet/StyledSheetBody.js';
42
+ import '../../../styled/sheet/StyledSheetClose.js';
43
+ import '../../../styled/sheet/StyledSheetFooter.js';
44
+ import '../../../styled/sheet/StyledSheetFooterItem.js';
45
+ import '../../../styled/sheet/StyledSheetHeader.js';
46
+ import { useSheetContext } from '../../../utils/useSheetContext.js';
47
+
48
+ const SheetDescription = forwardRef((_ref, ref) => {
49
+ let {
50
+ id,
51
+ ...props
52
+ } = _ref;
53
+ const {
54
+ descriptionId
55
+ } = useSheetContext();
56
+ return React__default.createElement(StyledSheetDescription, Object.assign({
57
+ id: id || descriptionId,
58
+ ref: ref
59
+ }, props));
60
+ });
61
+ SheetDescription.displayName = 'Sheet.Description';
62
+ const Description = SheetDescription;
63
+
64
+ export { Description };
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Copyright Zendesk, Inc.
3
+ *
4
+ * Use of this source code is governed under the Apache License, Version 2.0
5
+ * found at http://www.apache.org/licenses/LICENSE-2.0.
6
+ */
7
+ import React__default, { forwardRef } from 'react';
8
+ import '../../../styled/StyledChrome.js';
9
+ import '../../../styled/StyledSkipNav.js';
10
+ import '../../../styled/StyledSkipNavIcon.js';
11
+ import '../../../styled/body/StyledBody.js';
12
+ import '../../../styled/body/StyledContent.js';
13
+ import '../../../styled/body/StyledMain.js';
14
+ import '../../../styled/body/StyledSidebar.js';
15
+ import '../../../styled/footer/StyledFooter.js';
16
+ import '../../../styled/footer/StyledFooterItem.js';
17
+ import '../../../styled/header/StyledHeader.js';
18
+ import '../../../styled/header/StyledBaseHeaderItem.js';
19
+ import '../../../styled/header/StyledHeaderItem.js';
20
+ import '../../../styled/header/StyledHeaderItemIcon.js';
21
+ import '../../../styled/header/StyledLogoHeaderItem.js';
22
+ import '../../../styled/header/StyledHeaderItemText.js';
23
+ import '../../../styled/header/StyledHeaderItemWrapper.js';
24
+ import '../../../styled/nav/StyledNav.js';
25
+ import '../../../styled/nav/StyledBaseNavItem.js';
26
+ import '../../../styled/nav/StyledLogoNavItem.js';
27
+ import '../../../styled/nav/StyledBrandmarkNavItem.js';
28
+ import '../../../styled/nav/StyledNavItem.js';
29
+ import '../../../styled/nav/StyledNavItemIcon.js';
30
+ import '../../../styled/nav/StyledNavItemText.js';
31
+ import '../../../styled/subnav/StyledSubNav.js';
32
+ import '../../../styled/subnav/StyledSubNavItem.js';
33
+ import '../../../styled/subnav/StyledSubNavItemText.js';
34
+ import '../../../styled/subnav/StyledSubNavItemHeader.js';
35
+ import '../../../styled/subnav/StyledSubNavItemIcon.js';
36
+ import '../../../styled/subnav/StyledSubNavPanel.js';
37
+ import '../../../styled/sheet/StyledSheet.js';
38
+ import '../../../styled/sheet/StyledSheetWrapper.js';
39
+ import '../../../styled/sheet/StyledSheetTitle.js';
40
+ import '../../../styled/sheet/StyledSheetDescription.js';
41
+ import '../../../styled/sheet/StyledSheetBody.js';
42
+ import '../../../styled/sheet/StyledSheetClose.js';
43
+ import { StyledSheetFooter } from '../../../styled/sheet/StyledSheetFooter.js';
44
+ import '../../../styled/sheet/StyledSheetFooterItem.js';
45
+ import '../../../styled/sheet/StyledSheetHeader.js';
46
+
47
+ const SheetFooter = forwardRef((props, ref) => {
48
+ return React__default.createElement(StyledSheetFooter, Object.assign({
49
+ ref: ref
50
+ }, props));
51
+ });
52
+ SheetFooter.displayName = 'Sheet.Footer';
53
+ const Footer = SheetFooter;
54
+
55
+ export { Footer };
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Copyright Zendesk, Inc.
3
+ *
4
+ * Use of this source code is governed under the Apache License, Version 2.0
5
+ * found at http://www.apache.org/licenses/LICENSE-2.0.
6
+ */
7
+ import React__default, { forwardRef } from 'react';
8
+ import '../../../styled/StyledChrome.js';
9
+ import '../../../styled/StyledSkipNav.js';
10
+ import '../../../styled/StyledSkipNavIcon.js';
11
+ import '../../../styled/body/StyledBody.js';
12
+ import '../../../styled/body/StyledContent.js';
13
+ import '../../../styled/body/StyledMain.js';
14
+ import '../../../styled/body/StyledSidebar.js';
15
+ import '../../../styled/footer/StyledFooter.js';
16
+ import '../../../styled/footer/StyledFooterItem.js';
17
+ import '../../../styled/header/StyledHeader.js';
18
+ import '../../../styled/header/StyledBaseHeaderItem.js';
19
+ import '../../../styled/header/StyledHeaderItem.js';
20
+ import '../../../styled/header/StyledHeaderItemIcon.js';
21
+ import '../../../styled/header/StyledLogoHeaderItem.js';
22
+ import '../../../styled/header/StyledHeaderItemText.js';
23
+ import '../../../styled/header/StyledHeaderItemWrapper.js';
24
+ import '../../../styled/nav/StyledNav.js';
25
+ import '../../../styled/nav/StyledBaseNavItem.js';
26
+ import '../../../styled/nav/StyledLogoNavItem.js';
27
+ import '../../../styled/nav/StyledBrandmarkNavItem.js';
28
+ import '../../../styled/nav/StyledNavItem.js';
29
+ import '../../../styled/nav/StyledNavItemIcon.js';
30
+ import '../../../styled/nav/StyledNavItemText.js';
31
+ import '../../../styled/subnav/StyledSubNav.js';
32
+ import '../../../styled/subnav/StyledSubNavItem.js';
33
+ import '../../../styled/subnav/StyledSubNavItemText.js';
34
+ import '../../../styled/subnav/StyledSubNavItemHeader.js';
35
+ import '../../../styled/subnav/StyledSubNavItemIcon.js';
36
+ import '../../../styled/subnav/StyledSubNavPanel.js';
37
+ import '../../../styled/sheet/StyledSheet.js';
38
+ import '../../../styled/sheet/StyledSheetWrapper.js';
39
+ import '../../../styled/sheet/StyledSheetTitle.js';
40
+ import '../../../styled/sheet/StyledSheetDescription.js';
41
+ import '../../../styled/sheet/StyledSheetBody.js';
42
+ import '../../../styled/sheet/StyledSheetClose.js';
43
+ import '../../../styled/sheet/StyledSheetFooter.js';
44
+ import { StyledSheetFooterItem } from '../../../styled/sheet/StyledSheetFooterItem.js';
45
+ import '../../../styled/sheet/StyledSheetHeader.js';
46
+
47
+ const SheetFooterItem = forwardRef((props, ref) => {
48
+ return React__default.createElement(StyledSheetFooterItem, Object.assign({
49
+ ref: ref
50
+ }, props));
51
+ });
52
+ SheetFooterItem.displayName = 'Sheet.FooterItem';
53
+ const FooterItem = SheetFooterItem;
54
+
55
+ export { FooterItem };
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Copyright Zendesk, Inc.
3
+ *
4
+ * Use of this source code is governed under the Apache License, Version 2.0
5
+ * found at http://www.apache.org/licenses/LICENSE-2.0.
6
+ */
7
+ import React__default, { forwardRef } from 'react';
8
+ import '../../../styled/StyledChrome.js';
9
+ import '../../../styled/StyledSkipNav.js';
10
+ import '../../../styled/StyledSkipNavIcon.js';
11
+ import '../../../styled/body/StyledBody.js';
12
+ import '../../../styled/body/StyledContent.js';
13
+ import '../../../styled/body/StyledMain.js';
14
+ import '../../../styled/body/StyledSidebar.js';
15
+ import '../../../styled/footer/StyledFooter.js';
16
+ import '../../../styled/footer/StyledFooterItem.js';
17
+ import '../../../styled/header/StyledHeader.js';
18
+ import '../../../styled/header/StyledBaseHeaderItem.js';
19
+ import '../../../styled/header/StyledHeaderItem.js';
20
+ import '../../../styled/header/StyledHeaderItemIcon.js';
21
+ import '../../../styled/header/StyledLogoHeaderItem.js';
22
+ import '../../../styled/header/StyledHeaderItemText.js';
23
+ import '../../../styled/header/StyledHeaderItemWrapper.js';
24
+ import '../../../styled/nav/StyledNav.js';
25
+ import '../../../styled/nav/StyledBaseNavItem.js';
26
+ import '../../../styled/nav/StyledLogoNavItem.js';
27
+ import '../../../styled/nav/StyledBrandmarkNavItem.js';
28
+ import '../../../styled/nav/StyledNavItem.js';
29
+ import '../../../styled/nav/StyledNavItemIcon.js';
30
+ import '../../../styled/nav/StyledNavItemText.js';
31
+ import '../../../styled/subnav/StyledSubNav.js';
32
+ import '../../../styled/subnav/StyledSubNavItem.js';
33
+ import '../../../styled/subnav/StyledSubNavItemText.js';
34
+ import '../../../styled/subnav/StyledSubNavItemHeader.js';
35
+ import '../../../styled/subnav/StyledSubNavItemIcon.js';
36
+ import '../../../styled/subnav/StyledSubNavPanel.js';
37
+ import '../../../styled/sheet/StyledSheet.js';
38
+ import '../../../styled/sheet/StyledSheetWrapper.js';
39
+ import '../../../styled/sheet/StyledSheetTitle.js';
40
+ import '../../../styled/sheet/StyledSheetDescription.js';
41
+ import '../../../styled/sheet/StyledSheetBody.js';
42
+ import '../../../styled/sheet/StyledSheetClose.js';
43
+ import '../../../styled/sheet/StyledSheetFooter.js';
44
+ import '../../../styled/sheet/StyledSheetFooterItem.js';
45
+ import { StyledSheetHeader } from '../../../styled/sheet/StyledSheetHeader.js';
46
+ import { useSheetContext } from '../../../utils/useSheetContext.js';
47
+
48
+ const SheetHeader = forwardRef((props, ref) => {
49
+ const {
50
+ isCloseButtonPresent
51
+ } = useSheetContext();
52
+ return React__default.createElement(StyledSheetHeader, Object.assign({
53
+ ref: ref,
54
+ isCloseButtonPresent: isCloseButtonPresent
55
+ }, props));
56
+ });
57
+ SheetHeader.displayName = 'Sheet.Header';
58
+ const Header = SheetHeader;
59
+
60
+ export { Header };
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Copyright Zendesk, Inc.
3
+ *
4
+ * Use of this source code is governed under the Apache License, Version 2.0
5
+ * found at http://www.apache.org/licenses/LICENSE-2.0.
6
+ */
7
+ import React__default, { forwardRef } from 'react';
8
+ import '../../../styled/StyledChrome.js';
9
+ import '../../../styled/StyledSkipNav.js';
10
+ import '../../../styled/StyledSkipNavIcon.js';
11
+ import '../../../styled/body/StyledBody.js';
12
+ import '../../../styled/body/StyledContent.js';
13
+ import '../../../styled/body/StyledMain.js';
14
+ import '../../../styled/body/StyledSidebar.js';
15
+ import '../../../styled/footer/StyledFooter.js';
16
+ import '../../../styled/footer/StyledFooterItem.js';
17
+ import '../../../styled/header/StyledHeader.js';
18
+ import '../../../styled/header/StyledBaseHeaderItem.js';
19
+ import '../../../styled/header/StyledHeaderItem.js';
20
+ import '../../../styled/header/StyledHeaderItemIcon.js';
21
+ import '../../../styled/header/StyledLogoHeaderItem.js';
22
+ import '../../../styled/header/StyledHeaderItemText.js';
23
+ import '../../../styled/header/StyledHeaderItemWrapper.js';
24
+ import '../../../styled/nav/StyledNav.js';
25
+ import '../../../styled/nav/StyledBaseNavItem.js';
26
+ import '../../../styled/nav/StyledLogoNavItem.js';
27
+ import '../../../styled/nav/StyledBrandmarkNavItem.js';
28
+ import '../../../styled/nav/StyledNavItem.js';
29
+ import '../../../styled/nav/StyledNavItemIcon.js';
30
+ import '../../../styled/nav/StyledNavItemText.js';
31
+ import '../../../styled/subnav/StyledSubNav.js';
32
+ import '../../../styled/subnav/StyledSubNavItem.js';
33
+ import '../../../styled/subnav/StyledSubNavItemText.js';
34
+ import '../../../styled/subnav/StyledSubNavItemHeader.js';
35
+ import '../../../styled/subnav/StyledSubNavItemIcon.js';
36
+ import '../../../styled/subnav/StyledSubNavPanel.js';
37
+ import '../../../styled/sheet/StyledSheet.js';
38
+ import '../../../styled/sheet/StyledSheetWrapper.js';
39
+ import { StyledSheetTitle } from '../../../styled/sheet/StyledSheetTitle.js';
40
+ import '../../../styled/sheet/StyledSheetDescription.js';
41
+ import '../../../styled/sheet/StyledSheetBody.js';
42
+ import '../../../styled/sheet/StyledSheetClose.js';
43
+ import '../../../styled/sheet/StyledSheetFooter.js';
44
+ import '../../../styled/sheet/StyledSheetFooterItem.js';
45
+ import '../../../styled/sheet/StyledSheetHeader.js';
46
+ import { useSheetContext } from '../../../utils/useSheetContext.js';
47
+
48
+ const SheetTitle = forwardRef((_ref, ref) => {
49
+ let {
50
+ id,
51
+ ...props
52
+ } = _ref;
53
+ const {
54
+ titleId
55
+ } = useSheetContext();
56
+ return React__default.createElement(StyledSheetTitle, Object.assign({
57
+ id: id || titleId,
58
+ ref: ref
59
+ }, props));
60
+ });
61
+ SheetTitle.displayName = 'Sheet.Title';
62
+ const Title = SheetTitle;
63
+
64
+ export { Title };
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Copyright Zendesk, Inc.
3
+ *
4
+ * Use of this source code is governed under the Apache License, Version 2.0
5
+ * found at http://www.apache.org/licenses/LICENSE-2.0.
6
+ */
7
+ import React__default, { createRef, useState, useEffect } from 'react';
8
+ import PropTypes from 'prop-types';
9
+ import { useAccordion } from '@zendeskgarden/container-accordion';
10
+ import { getControlledValue } from '@zendeskgarden/container-utilities';
11
+ import '../../styled/StyledChrome.js';
12
+ import '../../styled/StyledSkipNav.js';
13
+ import '../../styled/StyledSkipNavIcon.js';
14
+ import '../../styled/body/StyledBody.js';
15
+ import '../../styled/body/StyledContent.js';
16
+ import '../../styled/body/StyledMain.js';
17
+ import '../../styled/body/StyledSidebar.js';
18
+ import '../../styled/footer/StyledFooter.js';
19
+ import '../../styled/footer/StyledFooterItem.js';
20
+ import '../../styled/header/StyledHeader.js';
21
+ import '../../styled/header/StyledBaseHeaderItem.js';
22
+ import '../../styled/header/StyledHeaderItem.js';
23
+ import '../../styled/header/StyledHeaderItemIcon.js';
24
+ import '../../styled/header/StyledLogoHeaderItem.js';
25
+ import '../../styled/header/StyledHeaderItemText.js';
26
+ import '../../styled/header/StyledHeaderItemWrapper.js';
27
+ import '../../styled/nav/StyledNav.js';
28
+ import '../../styled/nav/StyledBaseNavItem.js';
29
+ import '../../styled/nav/StyledLogoNavItem.js';
30
+ import '../../styled/nav/StyledBrandmarkNavItem.js';
31
+ import '../../styled/nav/StyledNavItem.js';
32
+ import '../../styled/nav/StyledNavItemIcon.js';
33
+ import '../../styled/nav/StyledNavItemText.js';
34
+ import '../../styled/subnav/StyledSubNav.js';
35
+ import '../../styled/subnav/StyledSubNavItem.js';
36
+ import '../../styled/subnav/StyledSubNavItemText.js';
37
+ import { StyledSubNavItemHeader } from '../../styled/subnav/StyledSubNavItemHeader.js';
38
+ import { StyledSubNavItemIconWrapper, StyledSubNavItemIcon } from '../../styled/subnav/StyledSubNavItemIcon.js';
39
+ import { StyledSubNavPanel } from '../../styled/subnav/StyledSubNavPanel.js';
40
+ import '../../styled/sheet/StyledSheet.js';
41
+ import '../../styled/sheet/StyledSheetWrapper.js';
42
+ import '../../styled/sheet/StyledSheetTitle.js';
43
+ import '../../styled/sheet/StyledSheetDescription.js';
44
+ import '../../styled/sheet/StyledSheetBody.js';
45
+ import '../../styled/sheet/StyledSheetClose.js';
46
+ import '../../styled/sheet/StyledSheetFooter.js';
47
+ import '../../styled/sheet/StyledSheetFooterItem.js';
48
+ import '../../styled/sheet/StyledSheetHeader.js';
49
+ import { useChromeContext } from '../../utils/useChromeContext.js';
50
+
51
+ const CollapsibleSubNavItem = React__default.forwardRef((_ref, ref) => {
52
+ let {
53
+ header,
54
+ children,
55
+ isExpanded: controlledExpanded,
56
+ onChange,
57
+ ...other
58
+ } = _ref;
59
+ const {
60
+ isDark,
61
+ isLight
62
+ } = useChromeContext();
63
+ const panelRef = createRef();
64
+ const [internalExpanded, setInternalExpanded] = useState(controlledExpanded);
65
+ const expanded = getControlledValue(controlledExpanded, internalExpanded);
66
+ const value = 0;
67
+ const expandedSections = expanded ? [value] : [];
68
+ const {
69
+ getHeaderProps,
70
+ getTriggerProps,
71
+ getPanelProps
72
+ } = useAccordion({
73
+ sections: [value],
74
+ expandedSections,
75
+ onChange: () => {
76
+ const isExpanded = expandedSections.length === 0;
77
+ if (onChange) {
78
+ onChange(isExpanded);
79
+ } else {
80
+ setInternalExpanded(isExpanded);
81
+ }
82
+ }
83
+ });
84
+ useEffect(() => {
85
+ if (expanded && panelRef.current) {
86
+ panelRef.current.style.maxHeight = `${panelRef.current.scrollHeight}px`;
87
+ }
88
+ }, [expanded, children, panelRef]);
89
+ return React__default.createElement("div", {
90
+ ref: ref
91
+ }, React__default.createElement("div", getHeaderProps({
92
+ 'aria-level': 2
93
+ }), React__default.createElement(StyledSubNavItemHeader, Object.assign({
94
+ isDark: isDark,
95
+ isLight: isLight,
96
+ isExpanded: expanded
97
+ }, getTriggerProps({
98
+ ...other,
99
+ role: null,
100
+ tabIndex: null,
101
+ value
102
+ }), {
103
+ type: "button"
104
+ }), React__default.createElement(React__default.Fragment, null, header, React__default.createElement(StyledSubNavItemIconWrapper, {
105
+ isExpanded: expanded
106
+ }, React__default.createElement(StyledSubNavItemIcon, null))))), React__default.createElement(StyledSubNavPanel, Object.assign({
107
+ isHidden: !expanded
108
+ }, getPanelProps({
109
+ ref: panelRef,
110
+ value
111
+ })), children));
112
+ });
113
+ CollapsibleSubNavItem.propTypes = {
114
+ header: PropTypes.any,
115
+ isExpanded: PropTypes.bool,
116
+ onChange: PropTypes.func
117
+ };
118
+ CollapsibleSubNavItem.displayName = 'CollapsibleSubNavItem';
119
+
120
+ export { CollapsibleSubNavItem };
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Copyright Zendesk, Inc.
3
+ *
4
+ * Use of this source code is governed under the Apache License, Version 2.0
5
+ * found at http://www.apache.org/licenses/LICENSE-2.0.
6
+ */
7
+ import React__default from 'react';
8
+ import '../../styled/StyledChrome.js';
9
+ import '../../styled/StyledSkipNav.js';
10
+ import '../../styled/StyledSkipNavIcon.js';
11
+ import '../../styled/body/StyledBody.js';
12
+ import '../../styled/body/StyledContent.js';
13
+ import '../../styled/body/StyledMain.js';
14
+ import '../../styled/body/StyledSidebar.js';
15
+ import '../../styled/footer/StyledFooter.js';
16
+ import '../../styled/footer/StyledFooterItem.js';
17
+ import '../../styled/header/StyledHeader.js';
18
+ import '../../styled/header/StyledBaseHeaderItem.js';
19
+ import '../../styled/header/StyledHeaderItem.js';
20
+ import '../../styled/header/StyledHeaderItemIcon.js';
21
+ import '../../styled/header/StyledLogoHeaderItem.js';
22
+ import '../../styled/header/StyledHeaderItemText.js';
23
+ import '../../styled/header/StyledHeaderItemWrapper.js';
24
+ import '../../styled/nav/StyledNav.js';
25
+ import '../../styled/nav/StyledBaseNavItem.js';
26
+ import '../../styled/nav/StyledLogoNavItem.js';
27
+ import '../../styled/nav/StyledBrandmarkNavItem.js';
28
+ import '../../styled/nav/StyledNavItem.js';
29
+ import '../../styled/nav/StyledNavItemIcon.js';
30
+ import '../../styled/nav/StyledNavItemText.js';
31
+ import { StyledSubNav } from '../../styled/subnav/StyledSubNav.js';
32
+ import '../../styled/subnav/StyledSubNavItem.js';
33
+ import '../../styled/subnav/StyledSubNavItemText.js';
34
+ import '../../styled/subnav/StyledSubNavItemHeader.js';
35
+ import '../../styled/subnav/StyledSubNavItemIcon.js';
36
+ import '../../styled/subnav/StyledSubNavPanel.js';
37
+ import '../../styled/sheet/StyledSheet.js';
38
+ import '../../styled/sheet/StyledSheetWrapper.js';
39
+ import '../../styled/sheet/StyledSheetTitle.js';
40
+ import '../../styled/sheet/StyledSheetDescription.js';
41
+ import '../../styled/sheet/StyledSheetBody.js';
42
+ import '../../styled/sheet/StyledSheetClose.js';
43
+ import '../../styled/sheet/StyledSheetFooter.js';
44
+ import '../../styled/sheet/StyledSheetFooterItem.js';
45
+ import '../../styled/sheet/StyledSheetHeader.js';
46
+ import { useChromeContext } from '../../utils/useChromeContext.js';
47
+
48
+ const SubNav = React__default.forwardRef((props, ref) => {
49
+ const {
50
+ hue,
51
+ isLight,
52
+ isDark
53
+ } = useChromeContext();
54
+ return React__default.createElement(StyledSubNav, Object.assign({
55
+ ref: ref,
56
+ hue: hue,
57
+ isLight: isLight,
58
+ isDark: isDark
59
+ }, props));
60
+ });
61
+ SubNav.displayName = 'SubNav';
62
+
63
+ export { SubNav };