@zendeskgarden/react-chrome 9.0.0-next.7 → 9.0.0-next.8

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 (94) hide show
  1. package/README.md +13 -10
  2. package/dist/esm/elements/Chrome.js +94 -0
  3. package/dist/esm/elements/SkipNav.js +65 -0
  4. package/dist/esm/elements/body/Body.js +57 -0
  5. package/dist/esm/elements/body/Content.js +54 -0
  6. package/dist/esm/elements/body/Main.js +47 -0
  7. package/dist/esm/elements/footer/Footer.js +67 -0
  8. package/dist/esm/elements/footer/FooterItem.js +47 -0
  9. package/dist/esm/elements/header/Header.js +60 -0
  10. package/dist/esm/elements/header/HeaderItem.js +69 -0
  11. package/dist/esm/elements/header/HeaderItemIcon.js +66 -0
  12. package/dist/esm/elements/header/HeaderItemText.js +51 -0
  13. package/dist/esm/elements/header/HeaderItemWrapper.js +47 -0
  14. package/dist/esm/elements/nav/Nav.js +78 -0
  15. package/dist/esm/elements/nav/NavItem.js +101 -0
  16. package/dist/esm/elements/nav/NavItemIcon.js +66 -0
  17. package/dist/esm/elements/nav/NavItemText.js +58 -0
  18. package/dist/esm/elements/nav/NavList.js +55 -0
  19. package/dist/esm/elements/sheet/Sheet.js +128 -0
  20. package/dist/esm/elements/sheet/components/Body.js +50 -0
  21. package/dist/esm/elements/sheet/components/Close.js +60 -0
  22. package/dist/esm/elements/sheet/components/Description.js +59 -0
  23. package/dist/esm/elements/sheet/components/Footer.js +50 -0
  24. package/dist/esm/elements/sheet/components/FooterItem.js +50 -0
  25. package/dist/esm/elements/sheet/components/Header.js +55 -0
  26. package/dist/esm/elements/sheet/components/Title.js +59 -0
  27. package/dist/esm/index.js +24 -0
  28. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/link-stroke.svg.js +25 -0
  29. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/x-stroke.svg.js +26 -0
  30. package/dist/esm/styled/StyledChrome.js +22 -0
  31. package/dist/esm/styled/StyledSkipNav.js +46 -0
  32. package/dist/esm/styled/StyledSkipNavIcon.js +28 -0
  33. package/dist/esm/styled/body/StyledBody.js +22 -0
  34. package/dist/esm/styled/body/StyledContent.js +25 -0
  35. package/dist/esm/styled/body/StyledMain.js +22 -0
  36. package/dist/esm/styled/footer/StyledFooter.js +25 -0
  37. package/dist/esm/styled/footer/StyledFooterItem.js +22 -0
  38. package/dist/esm/styled/header/StyledBaseHeaderItem.js +35 -0
  39. package/dist/esm/styled/header/StyledHeader.js +31 -0
  40. package/dist/esm/styled/header/StyledHeaderItem.js +37 -0
  41. package/dist/esm/styled/header/StyledHeaderItemIcon.js +22 -0
  42. package/dist/esm/styled/header/StyledHeaderItemText.js +23 -0
  43. package/dist/esm/styled/header/StyledHeaderItemWrapper.js +24 -0
  44. package/dist/esm/styled/header/StyledLogoHeaderItem.js +47 -0
  45. package/dist/esm/styled/nav/StyledBaseNavItem.js +32 -0
  46. package/dist/esm/styled/nav/StyledBrandmarkNavItem.js +23 -0
  47. package/dist/esm/styled/nav/StyledLogoNavItem.js +48 -0
  48. package/dist/esm/styled/nav/StyledNav.js +34 -0
  49. package/dist/esm/styled/nav/StyledNavButton.js +65 -0
  50. package/dist/esm/styled/nav/StyledNavItemIcon.js +22 -0
  51. package/dist/esm/styled/nav/StyledNavItemText.js +34 -0
  52. package/dist/esm/styled/nav/StyledNavList.js +22 -0
  53. package/dist/esm/styled/nav/StyledNavListItem.js +22 -0
  54. package/dist/esm/styled/sheet/StyledSheet.js +41 -0
  55. package/dist/esm/styled/sheet/StyledSheetBody.js +22 -0
  56. package/dist/esm/styled/sheet/StyledSheetClose.js +34 -0
  57. package/dist/esm/styled/sheet/StyledSheetDescription.js +22 -0
  58. package/dist/esm/styled/sheet/StyledSheetFooter.js +22 -0
  59. package/dist/esm/styled/sheet/StyledSheetFooterItem.js +22 -0
  60. package/dist/esm/styled/sheet/StyledSheetHeader.js +23 -0
  61. package/dist/esm/styled/sheet/StyledSheetTitle.js +22 -0
  62. package/dist/esm/styled/sheet/StyledSheetWrapper.js +37 -0
  63. package/dist/esm/types/index.js +10 -0
  64. package/dist/esm/utils/useBodyContext.js +14 -0
  65. package/dist/esm/utils/useChromeContext.js +16 -0
  66. package/dist/esm/utils/useFocusableMount.js +31 -0
  67. package/dist/esm/utils/useNavContext.js +16 -0
  68. package/dist/esm/utils/useNavListContext.js +14 -0
  69. package/dist/esm/utils/useSheetContext.js +16 -0
  70. package/dist/index.cjs.js +208 -452
  71. package/dist/typings/elements/nav/Nav.d.ts +2 -0
  72. package/dist/typings/elements/nav/NavList.d.ts +11 -0
  73. package/dist/typings/index.d.ts +1 -5
  74. package/dist/typings/styled/index.d.ts +3 -7
  75. package/dist/typings/styled/nav/StyledBaseNavItem.d.ts +1 -5
  76. package/dist/typings/styled/nav/StyledBrandmarkNavItem.d.ts +4 -5
  77. package/dist/typings/styled/nav/StyledLogoNavItem.d.ts +4 -5
  78. package/dist/typings/styled/nav/{StyledNavItem.d.ts → StyledNavButton.d.ts} +3 -1
  79. package/dist/typings/styled/nav/StyledNavList.d.ts +10 -0
  80. package/dist/typings/styled/nav/StyledNavListItem.d.ts +10 -0
  81. package/dist/typings/types/index.d.ts +1 -24
  82. package/dist/typings/utils/useNavListContext.d.ts +13 -0
  83. package/package.json +5 -7
  84. package/dist/index.esm.js +0 -1456
  85. package/dist/typings/elements/subnav/CollapsibleSubNavItem.d.ts +0 -14
  86. package/dist/typings/elements/subnav/SubNav.d.ts +0 -19
  87. package/dist/typings/elements/subnav/SubNavItem.d.ts +0 -14
  88. package/dist/typings/elements/subnav/SubNavItemText.d.ts +0 -14
  89. package/dist/typings/styled/subnav/StyledSubNav.d.ts +0 -17
  90. package/dist/typings/styled/subnav/StyledSubNavItem.d.ts +0 -21
  91. package/dist/typings/styled/subnav/StyledSubNavItemHeader.d.ts +0 -14
  92. package/dist/typings/styled/subnav/StyledSubNavItemIcon.d.ts +0 -14
  93. package/dist/typings/styled/subnav/StyledSubNavItemText.d.ts +0 -11
  94. package/dist/typings/styled/subnav/StyledSubNavPanel.d.ts +0 -12
@@ -9,11 +9,13 @@ import { INavProps } from '../../types';
9
9
  import { NavItem } from './NavItem';
10
10
  import { NavItemIcon } from './NavItemIcon';
11
11
  import { NavItemText } from './NavItemText';
12
+ import { NavList } from './NavList';
12
13
  export declare const NavComponent: React.ForwardRefExoticComponent<INavProps & React.RefAttributes<HTMLElement>>;
13
14
  /**
14
15
  * @extends HTMLAttributes<HTMLElement>
15
16
  */
16
17
  export declare const Nav: React.ForwardRefExoticComponent<INavProps & React.RefAttributes<HTMLElement>> & {
18
+ List: typeof NavList;
17
19
  Item: typeof NavItem;
18
20
  ItemIcon: typeof NavItemIcon;
19
21
  ItemText: typeof NavItemText;
@@ -0,0 +1,11 @@
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 from 'react';
8
+ /**
9
+ * @extends HTMLAttributes<HTMLUListElement>
10
+ */
11
+ export declare const NavList: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLUListElement> & React.RefAttributes<HTMLUListElement>>;
@@ -12,9 +12,6 @@ export { FooterItem } from './elements/footer/FooterItem';
12
12
  export { NavItem } from './elements/nav/NavItem';
13
13
  export { NavItemIcon } from './elements/nav/NavItemIcon';
14
14
  export { NavItemText } from './elements/nav/NavItemText';
15
- export { SubNavItem } from './elements/subnav/SubNavItem';
16
- export { SubNavItemText } from './elements/subnav/SubNavItemText';
17
- export { CollapsibleSubNavItem } from './elements/subnav/CollapsibleSubNavItem';
18
15
  export { Chrome } from './elements/Chrome';
19
16
  export { SkipNav } from './elements/SkipNav';
20
17
  export { Body } from './elements/body/Body';
@@ -23,6 +20,5 @@ export { Main } from './elements/body/Main';
23
20
  export { Header } from './elements/header/Header';
24
21
  export { Footer } from './elements/footer/Footer';
25
22
  export { Nav } from './elements/nav/Nav';
26
- export { SubNav } from './elements/subnav/SubNav';
27
23
  export { Sheet } from './elements/sheet/Sheet';
28
- export { PRODUCTS, type IChromeProps, type ISkipNavProps, type IHeaderProps, type IHeaderItemProps, type IHeaderItemTextProps, type IHeaderItemWrapperProps, type INavProps, type INavItemProps, type INavItemTextProps, type ISubNavItemProps, type ICollapsibleSubNavItemProps, type ISheetProps, type ISheetFooterProps } from './types';
24
+ export { PRODUCTS, type IChromeProps, type ISkipNavProps, type IHeaderProps, type IHeaderItemProps, type IHeaderItemTextProps, type IHeaderItemWrapperProps, type INavProps, type INavItemProps, type INavItemTextProps, type ISheetProps, type ISheetFooterProps } from './types';
@@ -20,18 +20,14 @@ export { StyledLogoHeaderItem } from './header/StyledLogoHeaderItem';
20
20
  export { StyledHeaderItemText } from './header/StyledHeaderItemText';
21
21
  export { StyledHeaderItemWrapper } from './header/StyledHeaderItemWrapper';
22
22
  export { StyledNav } from './nav/StyledNav';
23
+ export { StyledNavList } from './nav/StyledNavList';
24
+ export { StyledNavListItem } from './nav/StyledNavListItem';
23
25
  export { StyledBaseNavItem } from './nav/StyledBaseNavItem';
24
26
  export { StyledLogoNavItem } from './nav/StyledLogoNavItem';
25
27
  export { StyledBrandmarkNavItem } from './nav/StyledBrandmarkNavItem';
26
- export { StyledNavItem } from './nav/StyledNavItem';
28
+ export { StyledNavButton } from './nav/StyledNavButton';
27
29
  export { StyledNavItemIcon } from './nav/StyledNavItemIcon';
28
30
  export { StyledNavItemText } from './nav/StyledNavItemText';
29
- export { StyledSubNav } from './subnav/StyledSubNav';
30
- export { StyledSubNavItem } from './subnav/StyledSubNavItem';
31
- export { StyledSubNavItemText } from './subnav/StyledSubNavItemText';
32
- export { StyledSubNavItemHeader } from './subnav/StyledSubNavItemHeader';
33
- export { StyledSubNavItemIconWrapper, StyledSubNavItemIcon } from './subnav/StyledSubNavItemIcon';
34
- export { StyledSubNavPanel } from './subnav/StyledSubNavPanel';
35
31
  export { StyledSheet } from './sheet/StyledSheet';
36
32
  export { StyledSheetWrapper } from './sheet/StyledSheetWrapper';
37
33
  export { StyledSheetTitle } from './sheet/StyledSheetTitle';
@@ -6,11 +6,7 @@
6
6
  */
7
7
  import { ThemeProps, DefaultTheme } from 'styled-components';
8
8
  export declare const getNavItemHeight: (props: ThemeProps<DefaultTheme>) => string;
9
- /**
10
- * 1. Button reset.
11
- * 2. Anchor reset.
12
- */
13
- export declare const StyledBaseNavItem: import("styled-components").StyledComponent<"button", DefaultTheme, {
9
+ export declare const StyledBaseNavItem: import("styled-components").StyledComponent<"div", DefaultTheme, {
14
10
  'data-garden-id': string;
15
11
  'data-garden-version': string;
16
12
  }, "data-garden-id" | "data-garden-version">;
@@ -4,11 +4,10 @@
4
4
  * Use of this source code is governed under the Apache License, Version 2.0
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
+ /**
8
+ * 1. Overrides flex default `min-height: auto`
9
+ */
7
10
  export declare const StyledBrandmarkNavItem: import("styled-components").StyledComponent<"button", import("styled-components").DefaultTheme, {
8
11
  'data-garden-id': string;
9
12
  'data-garden-version': string;
10
- } & {
11
- 'data-garden-id': string;
12
- 'data-garden-version': string;
13
- as: string;
14
- }, "as" | "data-garden-id" | "data-garden-version">;
13
+ }, "data-garden-id" | "data-garden-version">;
@@ -11,11 +11,10 @@ export interface IStyledLogoNavItemProps extends ThemeProps<DefaultTheme> {
11
11
  isDark?: boolean;
12
12
  isLight?: boolean;
13
13
  }
14
+ /**
15
+ * 1. Overrides flex default `min-height: auto`
16
+ */
14
17
  export declare const StyledLogoNavItem: import("styled-components").StyledComponent<"button", DefaultTheme, {
15
18
  'data-garden-id': string;
16
19
  'data-garden-version': string;
17
- } & {
18
- 'data-garden-id': string;
19
- 'data-garden-version': string;
20
- as: string;
21
- } & IStyledLogoNavItemProps, "as" | "data-garden-id" | "data-garden-version">;
20
+ } & IStyledLogoNavItemProps, "data-garden-id" | "data-garden-version">;
@@ -17,8 +17,10 @@ interface IStyledNavItemProps extends ThemeProps<DefaultTheme> {
17
17
  * 2. Button reset
18
18
  * 3. Override `focusStyles` outline (in `colorStyles`)
19
19
  * 4. Use of negative offset to create an inset outline
20
+ * 5. Overrides flex default `min-width: auto`
21
+ * https://ishadeed.com/article/min-max-css/#setting-min-width-to-zero-with-flexbox
20
22
  */
21
- export declare const StyledNavItem: import("styled-components").StyledComponent<"button", DefaultTheme, {
23
+ export declare const StyledNavButton: import("styled-components").StyledComponent<"button", DefaultTheme, {
22
24
  'data-garden-id': string;
23
25
  'data-garden-version': string;
24
26
  as: string;
@@ -0,0 +1,10 @@
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
+ export declare const StyledNavList: import("styled-components").StyledComponent<"ul", import("styled-components").DefaultTheme, {
8
+ 'data-garden-id': string;
9
+ 'data-garden-version': string;
10
+ }, "data-garden-id" | "data-garden-version">;
@@ -0,0 +1,10 @@
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
+ export declare const StyledNavListItem: import("styled-components").StyledComponent<"li", import("styled-components").DefaultTheme, {
8
+ 'data-garden-id': string;
9
+ 'data-garden-version': string;
10
+ }, "data-garden-id" | "data-garden-version">;
@@ -4,7 +4,7 @@
4
4
  * Use of this source code is governed under the Apache License, Version 2.0
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
- import { AnchorHTMLAttributes, ButtonHTMLAttributes, HTMLAttributes, ReactNode } from 'react';
7
+ import { AnchorHTMLAttributes, ButtonHTMLAttributes, HTMLAttributes } from 'react';
8
8
  export declare const PLACEMENT: readonly ["end", "start"];
9
9
  export declare const PRODUCTS: readonly ["chat", "connect", "explore", "guide", "message", "support", "talk"];
10
10
  export type Product = (typeof PRODUCTS)[number];
@@ -70,29 +70,6 @@ export interface INavItemTextProps extends HTMLAttributes<HTMLSpanElement> {
70
70
  /** Wraps overflow item text instead of truncating long strings with an ellipsis */
71
71
  isWrapped?: boolean;
72
72
  }
73
- export interface ISubNavItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
74
- /** Indicates that the item is current in the subnav */
75
- isCurrent?: boolean;
76
- }
77
- export interface ISubNavItemTextProps extends HTMLAttributes<HTMLSpanElement> {
78
- /**
79
- * Wraps overflow item text instead of truncating long strings with an ellipsis.
80
- * Use when `max-width` styling is applied to the subnav container.
81
- */
82
- isWrapped?: boolean;
83
- }
84
- export interface ICollapsibleSubNavItemProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
85
- /** Sets the item's section header */
86
- header?: ReactNode;
87
- /** Reveals the item's section */
88
- isExpanded?: boolean;
89
- /**
90
- * Handles changes in the item's expansion state
91
- *
92
- * @param {boolean} isExpanded An item's expansion state
93
- */
94
- onChange?: (isExpanded: boolean) => void;
95
- }
96
73
  export interface ISheetProps extends HTMLAttributes<HTMLElement> {
97
74
  /** Opens the sheet */
98
75
  isOpen?: boolean;
@@ -0,0 +1,13 @@
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 from 'react';
8
+ interface INavListContext {
9
+ hasList: boolean;
10
+ }
11
+ export declare const NavListContext: React.Context<INavListContext | undefined>;
12
+ export declare const useNavListContext: () => INavListContext | undefined;
13
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zendeskgarden/react-chrome",
3
- "version": "9.0.0-next.7",
3
+ "version": "9.0.0-next.8",
4
4
  "description": "Components relating to Chrome within the Garden Design System.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Zendesk Garden <garden@zendesk.com>",
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/zendeskgarden/react-components/issues"
11
11
  },
12
12
  "main": "dist/index.cjs.js",
13
- "module": "dist/index.esm.js",
13
+ "module": "dist/esm/index.js",
14
14
  "files": [
15
15
  "dist"
16
16
  ],
@@ -21,21 +21,19 @@
21
21
  "sideEffects": false,
22
22
  "types": "dist/typings/index.d.ts",
23
23
  "dependencies": {
24
- "@zendeskgarden/container-accordion": "^3.0.4",
25
- "@zendeskgarden/container-utilities": "^2.0.0",
26
24
  "dom-helpers": "^5.2.1",
27
25
  "polished": "^4.0.0",
28
26
  "prop-types": "^15.5.7",
29
27
  "react-merge-refs": "^2.0.0"
30
28
  },
31
29
  "peerDependencies": {
32
- "@zendeskgarden/react-theming": "^9.0.0",
30
+ "@zendeskgarden/react-theming": ">=9.0.0-next",
33
31
  "react": ">=16.8.0",
34
32
  "react-dom": ">=16.8.0",
35
33
  "styled-components": "^5.3.1"
36
34
  },
37
35
  "devDependencies": {
38
- "@zendeskgarden/react-theming": "^9.0.0-next.7",
36
+ "@zendeskgarden/react-theming": "^9.0.0-next.8",
39
37
  "@zendeskgarden/svg-icons": "7.0.0"
40
38
  },
41
39
  "keywords": [
@@ -48,5 +46,5 @@
48
46
  "access": "public"
49
47
  },
50
48
  "zendeskgarden:src": "src/index.ts",
51
- "gitHead": "50a2b45b2e237a490a6d460818d33498b92479ec"
49
+ "gitHead": "a3d6534843d5a4f5cb60b52bc67264f3230f2da0"
52
50
  }