@primer/react-brand 0.5.0-rc.fc95189 → 0.5.1-rc.3eb50cb

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 (113) hide show
  1. package/CHANGELOG.md +38 -2
  2. package/lib/Button/Button.d.ts +2 -0
  3. package/lib/SubdomainNavBar/NavigationVisbilityObserver.d.ts +6 -0
  4. package/lib/SubdomainNavBar/SubdomainNavBar.d.ts +63 -0
  5. package/lib/SubdomainNavBar/SubdomainNavBar.visual.spec.d.ts +1 -0
  6. package/lib/SubdomainNavBar/index.d.ts +1 -0
  7. package/lib/SubdomainNavBar/useVisibilityObserver.d.ts +5 -0
  8. package/lib/css/main.css +786 -32
  9. package/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes.css +1 -1
  10. package/lib/design-tokens/css/tokens/base/colors/color-scales.css +1 -1
  11. package/lib/design-tokens/css/tokens/base/size/size.css +1 -1
  12. package/lib/design-tokens/css/tokens/base/typography/typography.css +1 -1
  13. package/lib/design-tokens/css/tokens/functional/colors/global-with-modes.css +1 -1
  14. package/lib/design-tokens/css/tokens/functional/colors/global.css +1 -1
  15. package/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes.css +1 -1
  16. package/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css +1 -1
  17. package/lib/design-tokens/css/tokens/functional/components/control/base.css +1 -1
  18. package/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css +1 -1
  19. package/lib/design-tokens/css/tokens/functional/components/faq/base.css +1 -1
  20. package/lib/design-tokens/css/tokens/functional/components/faq/colors-with-modes.css +1 -1
  21. package/lib/design-tokens/css/tokens/functional/components/faq/colors.css +1 -1
  22. package/lib/design-tokens/css/tokens/functional/components/hero/base.css +1 -1
  23. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css +1 -1
  24. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors.css +1 -1
  25. package/lib/design-tokens/css/tokens/functional/components/river/base.css +1 -1
  26. package/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css +27 -0
  27. package/lib/design-tokens/css/tokens/functional/size/border.css +1 -1
  28. package/lib/design-tokens/css/tokens/functional/size/breakpoints.css +1 -1
  29. package/lib/design-tokens/css/tokens/functional/size/size-coarse.css +1 -1
  30. package/lib/design-tokens/css/tokens/functional/size/size-fine.css +1 -1
  31. package/lib/design-tokens/css/tokens/functional/size/size.css +1 -1
  32. package/lib/design-tokens/css/tokens/functional/typography/typography-responsive.css +15 -15
  33. package/lib/design-tokens/css/tokens/functional/typography/typography.css +11 -11
  34. package/lib/design-tokens/js/module/tokens/base/colors/color-scales.js +1 -1
  35. package/lib/design-tokens/js/module/tokens/base/size/size.js +1 -1
  36. package/lib/design-tokens/js/module/tokens/base/typography/typography.js +1 -1
  37. package/lib/design-tokens/js/module/tokens/functional/colors/global.js +1 -1
  38. package/lib/design-tokens/js/module/tokens/functional/components/control/base.js +1 -1
  39. package/lib/design-tokens/js/module/tokens/functional/components/faq/base.js +1 -1
  40. package/lib/design-tokens/js/module/tokens/functional/components/faq/colors.js +1 -1
  41. package/lib/design-tokens/js/module/tokens/functional/components/hero/base.js +1 -1
  42. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/colors.js +1 -1
  43. package/lib/design-tokens/js/module/tokens/functional/components/river/base.js +1 -1
  44. package/lib/design-tokens/js/module/tokens/functional/size/border.js +1 -1
  45. package/lib/design-tokens/js/module/tokens/functional/size/breakpoints.js +1 -1
  46. package/lib/design-tokens/js/module/tokens/functional/size/size-coarse.js +1 -1
  47. package/lib/design-tokens/js/module/tokens/functional/size/size-fine.js +1 -1
  48. package/lib/design-tokens/js/module/tokens/functional/size/size.js +1 -1
  49. package/lib/design-tokens/js/module/tokens/functional/size/viewport.js +1 -1
  50. package/lib/design-tokens/js/module/tokens/functional/typography/typography-responsive.js +1 -1
  51. package/lib/design-tokens/js/module/tokens/functional/typography/typography.js +1 -1
  52. package/lib/design-tokens/js/tokens/base/colors/color-scales.js +1 -1
  53. package/lib/design-tokens/js/tokens/base/size/size.js +1 -1
  54. package/lib/design-tokens/js/tokens/base/typography/typography.js +1 -1
  55. package/lib/design-tokens/js/tokens/functional/colors/global.js +1 -1
  56. package/lib/design-tokens/js/tokens/functional/components/control/base.js +1 -1
  57. package/lib/design-tokens/js/tokens/functional/components/faq/base.js +1 -1
  58. package/lib/design-tokens/js/tokens/functional/components/faq/colors.js +1 -1
  59. package/lib/design-tokens/js/tokens/functional/components/hero/base.js +1 -1
  60. package/lib/design-tokens/js/tokens/functional/components/inline-link/colors.js +1 -1
  61. package/lib/design-tokens/js/tokens/functional/components/river/base.js +1 -1
  62. package/lib/design-tokens/js/tokens/functional/size/border.js +1 -1
  63. package/lib/design-tokens/js/tokens/functional/size/breakpoints.js +1 -1
  64. package/lib/design-tokens/js/tokens/functional/size/size-coarse.js +1 -1
  65. package/lib/design-tokens/js/tokens/functional/size/size-fine.js +1 -1
  66. package/lib/design-tokens/js/tokens/functional/size/size.js +1 -1
  67. package/lib/design-tokens/js/tokens/functional/size/viewport.js +1 -1
  68. package/lib/design-tokens/js/tokens/functional/typography/typography-responsive.js +1 -1
  69. package/lib/design-tokens/js/tokens/functional/typography/typography.js +1 -1
  70. package/lib/design-tokens/ts/tokens/base/colors/color-scales.d.ts +1 -1
  71. package/lib/design-tokens/ts/tokens/base/colors/color-scales.js +1 -1
  72. package/lib/design-tokens/ts/tokens/base/size/size.d.ts +1 -1
  73. package/lib/design-tokens/ts/tokens/base/size/size.js +1 -1
  74. package/lib/design-tokens/ts/tokens/base/typography/typography.d.ts +1 -1
  75. package/lib/design-tokens/ts/tokens/base/typography/typography.js +1 -1
  76. package/lib/design-tokens/ts/tokens/functional/colors/global.d.ts +1 -1
  77. package/lib/design-tokens/ts/tokens/functional/colors/global.js +1 -1
  78. package/lib/design-tokens/ts/tokens/functional/components/control/base.d.ts +1 -1
  79. package/lib/design-tokens/ts/tokens/functional/components/control/base.js +1 -1
  80. package/lib/design-tokens/ts/tokens/functional/components/faq/base.d.ts +1 -1
  81. package/lib/design-tokens/ts/tokens/functional/components/faq/base.js +1 -1
  82. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.d.ts +1 -1
  83. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.js +1 -1
  84. package/lib/design-tokens/ts/tokens/functional/components/hero/base.d.ts +1 -1
  85. package/lib/design-tokens/ts/tokens/functional/components/hero/base.js +1 -1
  86. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.d.ts +1 -1
  87. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.js +1 -1
  88. package/lib/design-tokens/ts/tokens/functional/components/river/base.d.ts +1 -1
  89. package/lib/design-tokens/ts/tokens/functional/components/river/base.js +1 -1
  90. package/lib/design-tokens/ts/tokens/functional/size/border.d.ts +1 -1
  91. package/lib/design-tokens/ts/tokens/functional/size/border.js +1 -1
  92. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.d.ts +1 -1
  93. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.js +1 -1
  94. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.d.ts +1 -1
  95. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.js +1 -1
  96. package/lib/design-tokens/ts/tokens/functional/size/size-fine.d.ts +1 -1
  97. package/lib/design-tokens/ts/tokens/functional/size/size-fine.js +1 -1
  98. package/lib/design-tokens/ts/tokens/functional/size/size.d.ts +1 -1
  99. package/lib/design-tokens/ts/tokens/functional/size/size.js +1 -1
  100. package/lib/design-tokens/ts/tokens/functional/size/viewport.d.ts +1 -1
  101. package/lib/design-tokens/ts/tokens/functional/size/viewport.js +1 -1
  102. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.d.ts +1 -1
  103. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.js +1 -1
  104. package/lib/design-tokens/ts/tokens/functional/typography/typography.d.ts +1 -1
  105. package/lib/design-tokens/ts/tokens/functional/typography/typography.js +1 -1
  106. package/lib/forms/Checkbox/Checkbox.d.ts +1 -1
  107. package/lib/forms/Select/Select.d.ts +1 -1
  108. package/lib/forms/TextInput/TextInput.d.ts +10 -2
  109. package/lib/hooks/useKeyboardEscape.d.ts +1 -0
  110. package/lib/hooks/useOnClickOutside.d.ts +1 -0
  111. package/lib/index.d.ts +1 -0
  112. package/lib/index.js +1 -1
  113. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,10 +1,46 @@
1
1
  # @primer/react-brand
2
2
 
3
+ ## 0.5.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#87](https://github.com/primer/brand/pull/87) [`0a82cd4`](https://github.com/primer/brand/commit/0a82cd42e8eb4f001504345172d209a33e18a476) Thanks [@rezrah](https://github.com/rezrah)! - UI bugfixes for `SubdomainNavBar` and `Testimonial` components.
8
+
9
+ ## SubdomainNavBar
10
+
11
+ - Fix bug where a missing `SubdomainNavBar.Search` child would cause the `SubdomainNavBar` to render incorrectly, despite being optional.
12
+ - Fix bug where the overflow menu still appears when there are no items in the overflow menu.
13
+ - Fix bug where longer titles caused text wrapping and layout issues. Slightly longer titles are now accepted.
14
+
15
+ ## Testimonial
16
+
17
+ - Increase spacing beneath the quote visual to 48px from 45px.
18
+
3
19
  ## 0.5.0
4
20
 
5
21
  ### Minor Changes
6
22
 
7
- - [#82](https://github.com/primer/brand/pull/82) [`afbab6c`](https://github.com/primer/brand/commit/afbab6c24b5a8fe08d6eea28dfebc4bde143bfd5) Thanks [@rezrah](https://github.com/rezrah)! - Added `Testimonial` component.
23
+ - [#81](https://github.com/primer/brand/pull/81) [`88e2007`](https://github.com/primer/brand/commit/88e20076f797338b9ab6d7d2d932320094cda5d7) Thanks [@rezrah](https://github.com/rezrah)! - Added `SubdomainNavBar` component.
24
+
25
+ Usage example:
26
+
27
+ ```jsx
28
+ <SubdomainNavBar title="Subdomain">
29
+ <SubdomainNavBar.Link href="#">Collections</SubdomainNavBar.Link>
30
+ <SubdomainNavBar.Link href="#">Topics</SubdomainNavBar.Link>
31
+ <SubdomainNavBar.Link href="#">Articles</SubdomainNavBar.Link>
32
+ <SubdomainNavBar.Link href="#">Events</SubdomainNavBar.Link>
33
+ <SubdomainNavBar.Link href="#">Video</SubdomainNavBar.Link>
34
+ <SubdomainNavBar.Link href="#">Social</SubdomainNavBar.Link>
35
+ <SubdomainNavBar.Search ref={inputRef} onSubmit={handleSubmit} />
36
+ <SubdomainNavBar.PrimaryAction href="#">Primary CTA</SubdomainNavBar.PrimaryAction>
37
+ <SubdomainNavBar.SecondaryAction href="#">Secondary CTA</SubdomainNavBar.SecondaryAction>
38
+ </SubdomainNavBar>
39
+ ```
40
+
41
+ See the [documentation](https://primer.style/brand/components/SubdomainNavBar) and [Storybook](https://primer.style/brand/storybook/?path=/story/components-subdomainnavbar--playground) for more usage examples.
42
+
43
+ * [#82](https://github.com/primer/brand/pull/82) [`afbab6c`](https://github.com/primer/brand/commit/afbab6c24b5a8fe08d6eea28dfebc4bde143bfd5) Thanks [@rezrah](https://github.com/rezrah)! - Added `Testimonial` component.
8
44
 
9
45
  Usage example:
10
46
 
@@ -24,7 +60,7 @@
24
60
 
25
61
  See the [documentation](https://primer.style/brand/components/Testimonial) or [Storybook](https://primer.style/brand/storybook/?path=/story/components-testimonial--playground) for more usage examples.
26
62
 
27
- * [#82](https://github.com/primer/brand/pull/82) [`afbab6c`](https://github.com/primer/brand/commit/afbab6c24b5a8fe08d6eea28dfebc4bde143bfd5) Thanks [@rezrah](https://github.com/rezrah)! - Added `Stack` component.
63
+ - [#82](https://github.com/primer/brand/pull/82) [`afbab6c`](https://github.com/primer/brand/commit/afbab6c24b5a8fe08d6eea28dfebc4bde143bfd5) Thanks [@rezrah](https://github.com/rezrah)! - Added `Stack` component.
28
64
 
29
65
  Usage example:
30
66
 
@@ -5,9 +5,11 @@ export declare type ButtonProps<C extends React.ElementType> = BaseProps<C> & {
5
5
  as?: C;
6
6
  variant?: 'primary' | 'secondary';
7
7
  size?: 'medium' | 'large';
8
+ hasArrow?: boolean;
8
9
  } & React.ComponentPropsWithoutRef<C>;
9
10
  export declare const Button: React.ForwardRefExoticComponent<Pick<BaseProps<React.ElementType<any>> & {
10
11
  as?: React.ElementType<any> | undefined;
11
12
  variant?: "primary" | "secondary" | undefined;
12
13
  size?: "medium" | "large" | undefined;
14
+ hasArrow?: boolean | undefined;
13
15
  } & Pick<any, string | number | symbol>, string | number | symbol> & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare function NavigationVisbilityObserver({ children, className, ...rest }: {
3
+ [x: string]: any;
4
+ children: any;
5
+ className: any;
6
+ }): JSX.Element;
@@ -0,0 +1,63 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ /**
3
+ * Design tokens
4
+ */
5
+ import '../../lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css';
6
+ export declare type SubdomainNavBarProps = {
7
+ /**
8
+ * Valid child elements are `SubdomainNavBar.Link`, `SubdomainNavBar.PrimaryAction`,
9
+ * `SubdomainNavBar.SecondaryAction` and `SubdomainNavBar.Search`
10
+ */
11
+ children?: React.ReactNode | React.ReactElement<LinkProps> | React.ReactElement<SearchProps> | React.ReactElement<CTAActionProps>;
12
+ /**
13
+ * Forward a custom HTML class attribute
14
+ */
15
+ className?: string;
16
+ /**
17
+ * Fixes the navigation bar to the top of the viewport. Defaults to `true`.
18
+ */
19
+ fixed?: boolean;
20
+ /**
21
+ * The title or name of the subdomain. Appears adjacent to the logo and is required for communicating content to assisitive technologies.
22
+ */
23
+ title: string;
24
+ /**
25
+ * Optionally change the URL of the logo
26
+ */
27
+ logoHref?: string;
28
+ };
29
+ declare function Root({ children, fixed, logoHref, title, ...rest }: SubdomainNavBarProps): JSX.Element;
30
+ declare type LinkProps = {
31
+ href: string;
32
+ } & React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>;
33
+ declare function Link({ href, className, children, ...rest }: PropsWithChildren<LinkProps>): JSX.Element;
34
+ export declare type SubdomainNavBarSearchResultProps = {
35
+ title: string;
36
+ description: string;
37
+ url: string;
38
+ date: string;
39
+ category?: string;
40
+ };
41
+ declare type SearchProps = {
42
+ onSubmit: (e: React.FormEvent<HTMLFormElement>) => void;
43
+ onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
44
+ ref: React.RefObject<HTMLInputElement>;
45
+ active?: boolean;
46
+ title?: string;
47
+ handlerFn?: () => void;
48
+ autoComplete?: boolean;
49
+ searchResults?: SubdomainNavBarSearchResultProps[];
50
+ searchTerm?: string;
51
+ };
52
+ declare type CTAActionProps = {
53
+ href: string;
54
+ };
55
+ declare function PrimaryAction({ children, href, ...rest }: PropsWithChildren<CTAActionProps>): JSX.Element;
56
+ declare function SecondaryAction({ children, href, ...rest }: PropsWithChildren<CTAActionProps>): JSX.Element;
57
+ export declare const SubdomainNavBar: typeof Root & {
58
+ Link: typeof Link;
59
+ Search: React.ForwardRefExoticComponent<Pick<SearchProps, "title" | "onChange" | "onSubmit" | "autoComplete" | "active" | "searchResults" | "searchTerm" | "handlerFn"> & React.RefAttributes<unknown>>;
60
+ PrimaryAction: typeof PrimaryAction;
61
+ SecondaryAction: typeof SecondaryAction;
62
+ };
63
+ export {};
@@ -0,0 +1 @@
1
+ export * from './SubdomainNavBar';
@@ -0,0 +1,5 @@
1
+ import { RefObject } from 'react';
2
+ export declare type VisibilityMap = {
3
+ [key: string]: boolean;
4
+ };
5
+ export declare function useVisibilityObserver(navigationRef: RefObject<HTMLUListElement>): VisibilityMap[];