@codecademy/brand 3.2.0-alpha.1b2d50df28.0 → 3.2.1-alpha.10ea26adc4.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.
@@ -17,7 +17,6 @@ export interface AppHeaderSearch extends OnSearch, onTrackingClick {
17
17
  export interface SearchButtonProps extends ToggleSearch {
18
18
  isSearchVisible: boolean;
19
19
  setIsSearchVisible: Dispatch<SetStateAction<boolean>>;
20
- onSearchAsYouType?: OnSearch['onSearchAsYouType'];
21
20
  }
22
21
  export interface SearchPaneProps extends OnSearch, ToggleSearch, onTrackingClick {
23
22
  }
@@ -24,8 +24,7 @@ export const useHeaderSearch = ({
24
24
  isSearchVisible: isSearchVisible,
25
25
  setIsSearchVisible: setIsSearchVisible,
26
26
  toggleSearch: toggleSearch,
27
- searchButtonRef: searchButtonRef,
28
- onSearchAsYouType: onSearchAsYouType
27
+ searchButtonRef: searchButtonRef
29
28
  })
30
29
  }, /*#__PURE__*/_jsx(AnimatedHeaderZone, {
31
30
  visible: isSearchVisible,
@@ -5,7 +5,6 @@ import { NotificationsDropdown } from '../Notifications/NotificationsDropdown';
5
5
  import { useHeaderNotifications } from '../Notifications/useHeaderNotifications';
6
6
  import { AppHeaderListItem } from './AppHeaderElements/AppHeaderListItem';
7
7
  import { AppHeaderProvider } from './AppHeaderElements/AppHeaderProvider';
8
- import { SearchTrackingProvider } from './Search/SearchTrackingProvider';
9
8
  import { useHeaderSearch } from './Search/useHeaderSearch';
10
9
  import { appHeaderMobileBreakpoint, appHeaderSpacing, StyledAppBar, StyledNavBar } from './shared';
11
10
  import { mapAppHeaderItemToElement } from './shared/utils';
@@ -64,17 +63,15 @@ export const AppHeader = ({
64
63
  _: 'none',
65
64
  [appHeaderMobileBreakpoint]: 'block'
66
65
  },
67
- children: /*#__PURE__*/_jsx(AppHeaderProvider, {
68
- children: /*#__PURE__*/_jsxs(SearchTrackingProvider, {
69
- children: [/*#__PURE__*/_jsx(StyledAppBar, {
70
- "aria-label": "Main",
71
- as: "nav",
72
- children: /*#__PURE__*/_jsxs(StyledNavBar, {
73
- ref: menuContainerRef,
74
- children: [mapItemsToElement(items.left, 'left'), mapItemsToElement(right, 'right')]
75
- })
76
- }), notificationsView, searchPane]
77
- })
66
+ children: /*#__PURE__*/_jsxs(AppHeaderProvider, {
67
+ children: [/*#__PURE__*/_jsx(StyledAppBar, {
68
+ "aria-label": "Main",
69
+ as: "nav",
70
+ children: /*#__PURE__*/_jsxs(StyledNavBar, {
71
+ ref: menuContainerRef,
72
+ children: [mapItemsToElement(items.left, 'left'), mapItemsToElement(right, 'right')]
73
+ })
74
+ }), notificationsView, searchPane]
78
75
  })
79
76
  });
80
77
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@codecademy/brand",
3
3
  "description": "Brand component library for Codecademy",
4
- "version": "3.2.0-alpha.1b2d50df28.0",
4
+ "version": "3.2.1-alpha.10ea26adc4.0",
5
5
  "author": "Codecademy Engineering <dev@codecademy.com>",
6
6
  "dependencies": {
7
7
  "@emotion/is-prop-valid": "^1.2.1",
@@ -1,17 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
- interface OnSearchAsYouTypeParamsType {
3
- query: string;
4
- searchId: string;
5
- resultsCount: number;
6
- queryLoadTime: number;
7
- }
8
- interface SearchTrackingContextType {
9
- onSearchAsYouTypeParams: OnSearchAsYouTypeParamsType | null;
10
- setOnSearchAsYouTypeParams: (params: OnSearchAsYouTypeParamsType | null) => void;
11
- }
12
- export declare const SearchTrackingContext: React.Context<SearchTrackingContextType>;
13
- export declare const SearchTrackingProvider: React.FC<{
14
- children: ReactNode;
15
- }>;
16
- export declare const useSearchTrackingContext: () => SearchTrackingContextType;
17
- export {};
@@ -1,25 +0,0 @@
1
- import noop from 'lodash/noop';
2
- import React, { createContext, useContext, useState } from 'react';
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- export const SearchTrackingContext = /*#__PURE__*/createContext({
5
- onSearchAsYouTypeParams: null,
6
- setOnSearchAsYouTypeParams: noop
7
- });
8
- export const SearchTrackingProvider = ({
9
- children
10
- }) => {
11
- const [onSearchAsYouTypeParams, setOnSearchAsYouTypeParams] = useState({
12
- query: '',
13
- searchId: '',
14
- resultsCount: 0,
15
- queryLoadTime: 0
16
- });
17
- return /*#__PURE__*/_jsx(SearchTrackingContext.Provider, {
18
- value: {
19
- onSearchAsYouTypeParams,
20
- setOnSearchAsYouTypeParams
21
- },
22
- children: children
23
- });
24
- };
25
- export const useSearchTrackingContext = () => useContext(SearchTrackingContext);
@@ -1,5 +0,0 @@
1
- import * as React from 'react';
2
- export type MobileSearchBarProps = {
3
- onSearch: (query: string, fromPrevSearch?: string) => void;
4
- };
5
- export declare const MobileSearchBar: React.FC<MobileSearchBarProps>;
@@ -1,77 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- import { Box } from '@codecademy/gamut';
3
- import { SearchIcon } from '@codecademy/gamut-icons';
4
- import { css } from '@codecademy/gamut-styles';
5
- import * as React from 'react';
6
- import { useState } from 'react';
7
- import { searchPlaceholder } from '../../AppHeader/Search/consts';
8
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- const SearchForm = Box.withComponent('form', {
10
- target: "e110cn5n2",
11
- label: "SearchForm"
12
- });
13
- const StyledInput = /*#__PURE__*/_styled("input", {
14
- target: "e110cn5n1",
15
- label: "StyledInput"
16
- })(css({
17
- background: `none`,
18
- borderWidth: `1px`,
19
- borderColor: `gray-800`,
20
- color: `text`,
21
- fontSize: 16,
22
- outline: `none`,
23
- padding: `0.75rem`,
24
- paddingRight: `2.5rem`,
25
- width: `100%`,
26
- '&::placeholder': {
27
- color: 'text-disabled'
28
- }
29
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BcHBIZWFkZXJNb2JpbGUvQXBwSGVhZGVyTWFpbk1lbnVNb2JpbGUvTW9iaWxlU2VhcmNoQmFyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXb0IiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0FwcEhlYWRlck1vYmlsZS9BcHBIZWFkZXJNYWluTWVudU1vYmlsZS9Nb2JpbGVTZWFyY2hCYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm94IH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgc2VhcmNoUGxhY2Vob2xkZXIgfSBmcm9tICcuLi8uLi9BcHBIZWFkZXIvU2VhcmNoL2NvbnN0cyc7XG5cbmNvbnN0IFNlYXJjaEZvcm0gPSBCb3gud2l0aENvbXBvbmVudCgnZm9ybScpO1xuXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dChcbiAgY3NzKHtcbiAgICBiYWNrZ3JvdW5kOiBgbm9uZWAsXG4gICAgYm9yZGVyV2lkdGg6IGAxcHhgLFxuICAgIGJvcmRlckNvbG9yOiBgZ3JheS04MDBgLFxuICAgIGNvbG9yOiBgdGV4dGAsXG4gICAgZm9udFNpemU6IDE2LFxuICAgIG91dGxpbmU6IGBub25lYCxcbiAgICBwYWRkaW5nOiBgMC43NXJlbWAsXG4gICAgcGFkZGluZ1JpZ2h0OiBgMi41cmVtYCxcbiAgICB3aWR0aDogYDEwMCVgLFxuXG4gICAgJyY6OnBsYWNlaG9sZGVyJzoge1xuICAgICAgY29sb3I6ICd0ZXh0LWRpc2FibGVkJyxcbiAgICB9LFxuICB9KVxuKTtcblxuY29uc3QgU2VhcmNoQnV0dG9uID0gc3R5bGVkLmJ1dHRvbihcbiAgY3NzKHtcbiAgICBwb3NpdGlvbjogYGFic29sdXRlYCxcbiAgICB0b3A6IGA1MCVgLFxuICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZSgwLCAtNTAlKWAsXG4gICAgcmlnaHQ6IGAwLjc1cmVtYCxcbiAgICBjb2xvcjogYHRleHRgLFxuICAgIGN1cnNvcjogYHBvaW50ZXJgLFxuICAgIG91dGxpbmU6IDAsXG4gICAgYm9yZGVyOiBgbm9uZWAsXG4gICAgYmFja2dyb3VuZENvbG9yOiBgdHJhbnNwYXJlbnRgLFxuICAgIHA6IDAsXG4gICAgbGluZUhlaWdodDogMCxcbiAgfSlcbik7XG5cbmV4cG9ydCB0eXBlIE1vYmlsZVNlYXJjaEJhclByb3BzID0ge1xuICBvblNlYXJjaDogKHF1ZXJ5OiBzdHJpbmcsIGZyb21QcmV2U2VhcmNoPzogc3RyaW5nKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IE1vYmlsZVNlYXJjaEJhcjogUmVhY3QuRkM8TW9iaWxlU2VhcmNoQmFyUHJvcHM+ID0gKHtcbiAgb25TZWFyY2gsXG59KSA9PiB7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUoJycpO1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZTogUmVhY3QuQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQ6IFJlYWN0LkZvcm1FdmVudEhhbmRsZXIgPSAoZXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIG9uU2VhcmNoKHNlYXJjaFZhbHVlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTZWFyY2hGb3JtXG4gICAgICBhY3Rpb249XCIvc2VhcmNoXCJcbiAgICAgIGRpc3BsYXk9XCJmbGV4XCJcbiAgICAgIGlkPVwic2VhcmNoLWZvcm1cIlxuICAgICAgb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdH1cbiAgICAgIHBvc2l0aW9uPVwicmVsYXRpdmVcIlxuICAgICAgcHk9ezE2fVxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICA+XG4gICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgbmFtZT1cInF1ZXJ5XCJcbiAgICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgIHBsYWNlaG9sZGVyPXtzZWFyY2hQbGFjZWhvbGRlcn1cbiAgICAgICAgYXJpYS1sYWJlbD1cInNlYXJjaFwiXG4gICAgICAgIHZhbHVlPXtzZWFyY2hWYWx1ZX1cbiAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgIC8+XG4gICAgICA8U2VhcmNoQnV0dG9uIGFyaWEtbGFiZWw9XCJFbnRlciBzZWFyY2hcIj5cbiAgICAgICAgPFNlYXJjaEljb24gLz5cbiAgICAgIDwvU2VhcmNoQnV0dG9uPlxuICAgIDwvU2VhcmNoRm9ybT5cbiAgKTtcbn07XG4iXX0= */");
30
- const SearchButton = /*#__PURE__*/_styled("button", {
31
- target: "e110cn5n0",
32
- label: "SearchButton"
33
- })(css({
34
- position: `absolute`,
35
- top: `50%`,
36
- transform: `translate(0, -50%)`,
37
- right: `0.75rem`,
38
- color: `text`,
39
- cursor: `pointer`,
40
- outline: 0,
41
- border: `none`,
42
- backgroundColor: `transparent`,
43
- p: 0,
44
- lineHeight: 0
45
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BcHBIZWFkZXJNb2JpbGUvQXBwSGVhZGVyTWFpbk1lbnVNb2JpbGUvTW9iaWxlU2VhcmNoQmFyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2QnFCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9BcHBIZWFkZXJNb2JpbGUvQXBwSGVhZGVyTWFpbk1lbnVNb2JpbGUvTW9iaWxlU2VhcmNoQmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJveCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IFNlYXJjaEljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHNlYXJjaFBsYWNlaG9sZGVyIH0gZnJvbSAnLi4vLi4vQXBwSGVhZGVyL1NlYXJjaC9jb25zdHMnO1xuXG5jb25zdCBTZWFyY2hGb3JtID0gQm94LndpdGhDb21wb25lbnQoJ2Zvcm0nKTtcblxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQoXG4gIGNzcyh7XG4gICAgYmFja2dyb3VuZDogYG5vbmVgLFxuICAgIGJvcmRlcldpZHRoOiBgMXB4YCxcbiAgICBib3JkZXJDb2xvcjogYGdyYXktODAwYCxcbiAgICBjb2xvcjogYHRleHRgLFxuICAgIGZvbnRTaXplOiAxNixcbiAgICBvdXRsaW5lOiBgbm9uZWAsXG4gICAgcGFkZGluZzogYDAuNzVyZW1gLFxuICAgIHBhZGRpbmdSaWdodDogYDIuNXJlbWAsXG4gICAgd2lkdGg6IGAxMDAlYCxcblxuICAgICcmOjpwbGFjZWhvbGRlcic6IHtcbiAgICAgIGNvbG9yOiAndGV4dC1kaXNhYmxlZCcsXG4gICAgfSxcbiAgfSlcbik7XG5cbmNvbnN0IFNlYXJjaEJ1dHRvbiA9IHN0eWxlZC5idXR0b24oXG4gIGNzcyh7XG4gICAgcG9zaXRpb246IGBhYnNvbHV0ZWAsXG4gICAgdG9wOiBgNTAlYCxcbiAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGUoMCwgLTUwJSlgLFxuICAgIHJpZ2h0OiBgMC43NXJlbWAsXG4gICAgY29sb3I6IGB0ZXh0YCxcbiAgICBjdXJzb3I6IGBwb2ludGVyYCxcbiAgICBvdXRsaW5lOiAwLFxuICAgIGJvcmRlcjogYG5vbmVgLFxuICAgIGJhY2tncm91bmRDb2xvcjogYHRyYW5zcGFyZW50YCxcbiAgICBwOiAwLFxuICAgIGxpbmVIZWlnaHQ6IDAsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBNb2JpbGVTZWFyY2hCYXJQcm9wcyA9IHtcbiAgb25TZWFyY2g6IChxdWVyeTogc3RyaW5nLCBmcm9tUHJldlNlYXJjaD86IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBNb2JpbGVTZWFyY2hCYXI6IFJlYWN0LkZDPE1vYmlsZVNlYXJjaEJhclByb3BzPiA9ICh7XG4gIG9uU2VhcmNoLFxufSkgPT4ge1xuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKCcnKTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2U6IFJlYWN0LkNoYW5nZUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0OiBSZWFjdC5Gb3JtRXZlbnRIYW5kbGVyID0gKGV2ZW50KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBvblNlYXJjaChzZWFyY2hWYWx1ZSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2VhcmNoRm9ybVxuICAgICAgYWN0aW9uPVwiL3NlYXJjaFwiXG4gICAgICBkaXNwbGF5PVwiZmxleFwiXG4gICAgICBpZD1cInNlYXJjaC1mb3JtXCJcbiAgICAgIG9uU3VibWl0PXtoYW5kbGVTdWJtaXR9XG4gICAgICBwb3NpdGlvbj1cInJlbGF0aXZlXCJcbiAgICAgIHB5PXsxNn1cbiAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgPlxuICAgICAgPFN0eWxlZElucHV0XG4gICAgICAgIG5hbWU9XCJxdWVyeVwiXG4gICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICBwbGFjZWhvbGRlcj17c2VhcmNoUGxhY2Vob2xkZXJ9XG4gICAgICAgIGFyaWEtbGFiZWw9XCJzZWFyY2hcIlxuICAgICAgICB2YWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAvPlxuICAgICAgPFNlYXJjaEJ1dHRvbiBhcmlhLWxhYmVsPVwiRW50ZXIgc2VhcmNoXCI+XG4gICAgICAgIDxTZWFyY2hJY29uIC8+XG4gICAgICA8L1NlYXJjaEJ1dHRvbj5cbiAgICA8L1NlYXJjaEZvcm0+XG4gICk7XG59O1xuIl19 */");
46
- export const MobileSearchBar = ({
47
- onSearch
48
- }) => {
49
- const [searchValue, setSearchValue] = useState('');
50
- const handleChange = event => {
51
- setSearchValue(event.target.value);
52
- };
53
- const handleSubmit = event => {
54
- event.preventDefault();
55
- onSearch(searchValue);
56
- };
57
- return /*#__PURE__*/_jsxs(SearchForm, {
58
- action: "/search",
59
- display: "flex",
60
- id: "search-form",
61
- onSubmit: handleSubmit,
62
- position: "relative",
63
- py: 16,
64
- width: "100%",
65
- children: [/*#__PURE__*/_jsx(StyledInput, {
66
- name: "query",
67
- type: "search",
68
- placeholder: searchPlaceholder,
69
- "aria-label": "search",
70
- value: searchValue,
71
- onChange: handleChange
72
- }), /*#__PURE__*/_jsx(SearchButton, {
73
- "aria-label": "Enter search",
74
- children: /*#__PURE__*/_jsx(SearchIcon, {})
75
- })]
76
- });
77
- };