@phillips/seldon 1.17.5 → 1.18.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.
- package/dist/components/Button/Button.d.ts +8 -5
- package/dist/components/Button/Button.js +24 -9
- package/dist/components/Footer/Footer.d.ts +20 -0
- package/dist/components/Footer/Footer.js +18 -0
- package/dist/components/Grid/Grid.d.ts +3 -5
- package/dist/components/Grid/Grid.js +12 -13
- package/dist/components/Social/Social.d.ts +15 -0
- package/dist/components/Social/Social.js +10 -0
- package/dist/components/SplitPanel/SplitPanel.d.ts +19 -0
- package/dist/components/SplitPanel/SplitPanel.js +23 -0
- package/dist/components/Subscribe/Subscribe.d.ts +40 -0
- package/dist/components/Subscribe/Subscribe.js +42 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +24 -16
- package/dist/scss/_type.scss +1 -1
- package/dist/scss/_utils.scss +25 -0
- package/dist/scss/_vars.scss +15 -2
- package/dist/scss/components/Button/_button.scss +4 -3
- package/dist/scss/components/Footer/_footer.scss +96 -0
- package/dist/scss/components/Grid/_grid.scss +1 -1
- package/dist/scss/components/Input/_input.scss +1 -1
- package/dist/scss/components/Social/_social.scss +40 -0
- package/dist/scss/components/SplitPanel/_splitPanel.scss +39 -0
- package/dist/scss/components/SplitPanel/_splitPanel.stories.scss +18 -0
- package/dist/scss/components/Subscribe/_subscribe.scss +37 -0
- package/dist/scss/components/Toggle/_toggle.scss +1 -1
- package/dist/scss/components/ViewingsList/_viewingsList.scss +1 -1
- package/dist/scss/styles.scss +6 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +15 -13
- package/package.json +16 -15
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
export interface ButtonProps extends CommonProps, Record<string, unknown> {
|
|
1
|
+
export interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
3
2
|
/**
|
|
4
3
|
* Button contents
|
|
5
4
|
*/
|
|
6
|
-
children
|
|
5
|
+
children?: React.ReactNode;
|
|
7
6
|
/**
|
|
8
7
|
* True if button comes after text
|
|
9
8
|
*/
|
|
@@ -11,7 +10,7 @@ export interface ButtonProps extends CommonProps, Record<string, unknown> {
|
|
|
11
10
|
/**
|
|
12
11
|
* Optional click handler
|
|
13
12
|
*/
|
|
14
|
-
onClick?:
|
|
13
|
+
onClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
15
14
|
/**
|
|
16
15
|
* Is this the principal call to action on the page?
|
|
17
16
|
*/
|
|
@@ -20,6 +19,10 @@ export interface ButtonProps extends CommonProps, Record<string, unknown> {
|
|
|
20
19
|
* How large should the button be?
|
|
21
20
|
*/
|
|
22
21
|
size?: 'sm' | 'md' | 'lg';
|
|
22
|
+
/**
|
|
23
|
+
* The type of the button.
|
|
24
|
+
*/
|
|
25
|
+
type?: 'button' | 'submit' | 'reset';
|
|
23
26
|
}
|
|
24
|
-
declare const Button: ({ buttonType, size, children, iconLast, id, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare const Button: ({ buttonType, size, children, className, iconLast, id, type, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
28
|
export default Button;
|
|
@@ -1,19 +1,34 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import $ from "../../node_modules/classnames/index.js";
|
|
3
3
|
import { px as t } from "../../utils/index.js";
|
|
4
|
-
const
|
|
4
|
+
const c = ({
|
|
5
|
+
buttonType: n = "primary",
|
|
6
|
+
size: a = "md",
|
|
7
|
+
children: r,
|
|
8
|
+
className: s,
|
|
9
|
+
iconLast: u = !1,
|
|
10
|
+
id: o,
|
|
11
|
+
type: m = "button",
|
|
12
|
+
...b
|
|
13
|
+
}) => /* @__PURE__ */ e(
|
|
5
14
|
"button",
|
|
6
15
|
{
|
|
7
16
|
"data-testid": o ? `button-${o}` : "button",
|
|
8
17
|
id: o,
|
|
9
|
-
type:
|
|
10
|
-
className:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
type: m,
|
|
19
|
+
className: $(
|
|
20
|
+
`${t}-button`,
|
|
21
|
+
`${t}-button--${a}`,
|
|
22
|
+
`${t}-button--${n}`,
|
|
23
|
+
{
|
|
24
|
+
[`${t}-button--icon-last`]: u
|
|
25
|
+
},
|
|
26
|
+
s
|
|
27
|
+
),
|
|
28
|
+
...b,
|
|
14
29
|
children: r
|
|
15
30
|
}
|
|
16
31
|
);
|
|
17
32
|
export {
|
|
18
|
-
|
|
33
|
+
c as default
|
|
19
34
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface FooterProps extends React.HTMLAttributes<HTMLElement> {
|
|
2
|
+
chidlren?: React.ReactNode;
|
|
3
|
+
/**
|
|
4
|
+
* Copyright data added to bottom of site
|
|
5
|
+
*/
|
|
6
|
+
copyright?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Navigation items
|
|
9
|
+
*/
|
|
10
|
+
navigationComponent: React.ReactElement;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* ## Overview
|
|
14
|
+
*
|
|
15
|
+
* A component for adding a footer to the bottom of the site.
|
|
16
|
+
*
|
|
17
|
+
* [Figma Link](https://www.figma.com/file/npS5ECbNut8hevUkGWSzUN/Site-Furniture-(Navigation)---SP24?type=design&node-id=4346-1981&mode=design&t=D7PpghvLOEpBYd3n-0)
|
|
18
|
+
*/
|
|
19
|
+
declare const Footer: ({ children, className, copyright, id, navigationComponent, }: FooterProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export default Footer;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsxs as f, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import i from "../../node_modules/classnames/index.js";
|
|
3
|
+
import { px as o, defaultYear as m } from "../../utils/index.js";
|
|
4
|
+
import n from "../SplitPanel/SplitPanel.js";
|
|
5
|
+
const _ = ({
|
|
6
|
+
children: t,
|
|
7
|
+
className: a,
|
|
8
|
+
copyright: s = `© ${m} Phillips Auctioneers, LLC`,
|
|
9
|
+
id: e,
|
|
10
|
+
navigationComponent: l
|
|
11
|
+
}) => /* @__PURE__ */ f("footer", { "data-testid": e || "footer", id: e, className: i(`${o}-footer`, { className: a }), children: [
|
|
12
|
+
/* @__PURE__ */ r("nav", { className: `${o}-footer__navigation`, children: l }),
|
|
13
|
+
/* @__PURE__ */ r(n, { className: `${o}-footer__content`, hasBorder: !1, children: t }),
|
|
14
|
+
/* @__PURE__ */ r("p", { className: `${o}-footer__copyright`, children: s })
|
|
15
|
+
] });
|
|
16
|
+
export {
|
|
17
|
+
_ as default
|
|
18
|
+
};
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
import { CommonProps } from '../../utils';
|
|
3
|
-
export interface GridProps extends CommonProps {
|
|
1
|
+
export interface GridProps extends React.HTMLAttributes<HTMLElement> {
|
|
4
2
|
/**
|
|
5
3
|
* Button contents
|
|
6
4
|
*/
|
|
7
5
|
children: React.ReactNode;
|
|
8
6
|
/**
|
|
9
|
-
* Optional element to render in place of a button e.g.
|
|
7
|
+
* Optional element to render in place of a button e.g. 'div', 'span', CustomComponent, etc
|
|
10
8
|
*/
|
|
11
|
-
element?: ElementType
|
|
9
|
+
element?: React.ElementType<GridProps>;
|
|
12
10
|
/**
|
|
13
11
|
* Optional boolean to dictate if the grid has left and right margins
|
|
14
12
|
*/
|
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import { px as
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import m from "../../node_modules/classnames/index.js";
|
|
3
|
+
import { px as t } from "../../utils/index.js";
|
|
4
4
|
function g({
|
|
5
5
|
children: e,
|
|
6
|
-
className:
|
|
7
|
-
element:
|
|
8
|
-
hasMargins:
|
|
6
|
+
className: n,
|
|
7
|
+
element: a = "section",
|
|
8
|
+
hasMargins: i = !0,
|
|
9
9
|
id: r,
|
|
10
|
-
...
|
|
10
|
+
...o
|
|
11
11
|
}) {
|
|
12
|
-
return /* @__PURE__ */
|
|
13
|
-
|
|
12
|
+
return /* @__PURE__ */ s(
|
|
13
|
+
a,
|
|
14
14
|
{
|
|
15
15
|
"data-testid": r ? `grid-container-${r}` : "grid-container",
|
|
16
16
|
id: r,
|
|
17
|
-
className:
|
|
18
|
-
[`${t}`]:
|
|
19
|
-
[`${n}-grid__container--has-margins`]: o
|
|
17
|
+
className: m(`${t}-grid__container`, n, {
|
|
18
|
+
[`${t}-grid__container--has-margins`]: i
|
|
20
19
|
}),
|
|
21
|
-
...
|
|
20
|
+
...o,
|
|
22
21
|
children: e
|
|
23
22
|
}
|
|
24
23
|
);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface SocialProps extends React.HTMLAttributes<HTMLElement> {
|
|
2
|
+
/**
|
|
3
|
+
* Title text for the social section
|
|
4
|
+
*/
|
|
5
|
+
titleText?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* ## Overview
|
|
9
|
+
*
|
|
10
|
+
* A component for displaying our social icons. Expects children to be an unordered list of social icons.
|
|
11
|
+
*
|
|
12
|
+
* [Figma Link](https://www.figma.com/file/npS5ECbNut8hevUkGWSzUN/Site-Furniture-(Navigation)---SP24?type=design&node-id=4357-7418&mode=design&t=D7PpghvLOEpBYd3n-0)
|
|
13
|
+
*/
|
|
14
|
+
declare const Social: ({ className, children, id, titleText }: SocialProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export default Social;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsxs as i, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import r from "../../node_modules/classnames/index.js";
|
|
3
|
+
import { px as o } from "../../utils/index.js";
|
|
4
|
+
const n = ({ className: s, children: l, id: a, titleText: c = "Follow on Social" }) => /* @__PURE__ */ i("div", { "data-testid": a || "social", className: r(`${o}-social`, s), children: [
|
|
5
|
+
/* @__PURE__ */ e("h3", { className: `${o}-social__header`, children: c }),
|
|
6
|
+
l
|
|
7
|
+
] });
|
|
8
|
+
export {
|
|
9
|
+
n as default
|
|
10
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface SplitPanelProps extends React.HTMLAttributes<HTMLElement> {
|
|
2
|
+
/**
|
|
3
|
+
* Optional element to render in place of a section e.g. div, span, etc
|
|
4
|
+
*/
|
|
5
|
+
element?: React.ElementType;
|
|
6
|
+
/**
|
|
7
|
+
* Boolean that will determine if the split panel has a border between panels at large screens
|
|
8
|
+
*/
|
|
9
|
+
hasBorder?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* ## Overview
|
|
13
|
+
*
|
|
14
|
+
* A component for splitting content into two sections. The sections are split 50/50 that stack on the default and 'sm' break points and are side by side at bigger screen sizes.
|
|
15
|
+
*
|
|
16
|
+
* [Figma Link](https://www.figma.com/file/Hp2FyltbOmRxTuw9kSwBAd/EPIC-About-Us?type=design&node-id=635-34713&mode=design&t=wKZW1vKP8WePUjrH-0)
|
|
17
|
+
*/
|
|
18
|
+
declare const SplitPanel: ({ children, className, element: Element, hasBorder, id, ...props }: SplitPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default SplitPanel;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import m from "../../node_modules/classnames/index.js";
|
|
3
|
+
import { px as t } from "../../utils/index.js";
|
|
4
|
+
const f = ({
|
|
5
|
+
children: s,
|
|
6
|
+
className: l,
|
|
7
|
+
element: a = "section",
|
|
8
|
+
hasBorder: p = !0,
|
|
9
|
+
id: e,
|
|
10
|
+
...r
|
|
11
|
+
}) => /* @__PURE__ */ o(
|
|
12
|
+
a,
|
|
13
|
+
{
|
|
14
|
+
"data-testid": e || "split-panel",
|
|
15
|
+
id: e,
|
|
16
|
+
className: m(`${t}-split-panel`, l, { [`${t}-split-panel--borderless`]: !p }),
|
|
17
|
+
...r,
|
|
18
|
+
children: s
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
export {
|
|
22
|
+
f as default
|
|
23
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ButtonProps } from '../Button/Button';
|
|
2
|
+
export interface SubscribeProps extends React.HTMLAttributes<HTMLFormElement> {
|
|
3
|
+
/**
|
|
4
|
+
* Subscribe blurb
|
|
5
|
+
*/
|
|
6
|
+
blurb?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Subscribe button extra props to spread
|
|
9
|
+
*/
|
|
10
|
+
buttonProps?: ButtonProps;
|
|
11
|
+
/**
|
|
12
|
+
* Subscribe button text
|
|
13
|
+
*/
|
|
14
|
+
buttonText?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Optional element to render in place of a form e.g. Remix Form, etc
|
|
17
|
+
*/
|
|
18
|
+
element?: React.ElementType<SubscribeProps>;
|
|
19
|
+
/**
|
|
20
|
+
* Subscribe input label
|
|
21
|
+
*/
|
|
22
|
+
inputLabelText?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Subscribe input label
|
|
25
|
+
*/
|
|
26
|
+
inputPlaceholder?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Subscribe title text
|
|
29
|
+
*/
|
|
30
|
+
title?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* ## Overview
|
|
34
|
+
*
|
|
35
|
+
* A component for adding an email signup form.
|
|
36
|
+
*
|
|
37
|
+
* [Figma Link](https://www.figma.com/file/npS5ECbNut8hevUkGWSzUN/Site-Furniture-(Navigation)---SP24?node-id=4347%3A4194&mode=dev)
|
|
38
|
+
*/
|
|
39
|
+
declare const Subscribe: ({ blurb, buttonText, buttonProps, className, element: Element, id, inputLabelText, inputPlaceholder, title, ...props }: SubscribeProps) => import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export default Subscribe;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsxs as n, jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import p from "../../node_modules/classnames/index.js";
|
|
3
|
+
import { px as e } from "../../utils/index.js";
|
|
4
|
+
import f from "../Input/Input.js";
|
|
5
|
+
import _ from "../Button/Button.js";
|
|
6
|
+
const y = ({
|
|
7
|
+
blurb: t,
|
|
8
|
+
buttonText: i = "Sign Up",
|
|
9
|
+
buttonProps: l,
|
|
10
|
+
className: m,
|
|
11
|
+
element: a = "form",
|
|
12
|
+
id: r,
|
|
13
|
+
inputLabelText: c = "Email*",
|
|
14
|
+
inputPlaceholder: o = "example@email.com",
|
|
15
|
+
title: b = "Subscribe to Newsletter",
|
|
16
|
+
...u
|
|
17
|
+
}) => /* @__PURE__ */ n(
|
|
18
|
+
a,
|
|
19
|
+
{
|
|
20
|
+
"data-testid": r || "subscribe-form",
|
|
21
|
+
id: r,
|
|
22
|
+
className: p(`${e}-subscribe`, m),
|
|
23
|
+
...u,
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ s("h3", { className: `${e}-subscribe__title`, children: b }),
|
|
26
|
+
t ? /* @__PURE__ */ s("p", { className: `${e}-subscribe__blurb`, children: t }) : null,
|
|
27
|
+
/* @__PURE__ */ s(
|
|
28
|
+
f,
|
|
29
|
+
{
|
|
30
|
+
className: `${e}-subscribe__input`,
|
|
31
|
+
type: "email",
|
|
32
|
+
placeholder: o,
|
|
33
|
+
labelText: c
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
/* @__PURE__ */ s(_, { className: `${e}-subscribe__button ${m}`, buttonType: "secondary", type: "submit", ...l, children: i })
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
export {
|
|
41
|
+
y as default
|
|
42
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
export { default as Button, type ButtonProps } from './components/Button/Button';
|
|
2
2
|
export { default as ErrorBoundary, type ErrorBoundaryProps } from './components/ErrorBoundary/ErrorBoundary';
|
|
3
|
+
export { default as Footer, type FooterProps } from './components/Footer/Footer';
|
|
3
4
|
export { default as Grid, type GridProps } from './components/Grid/Grid';
|
|
4
5
|
export { default as Header, type HeaderProps } from './components/Header/Header';
|
|
5
6
|
export { default as HeroBanner, type HeroBannerProps } from './components/HeroBanner/HeroBanner';
|
|
6
7
|
export { default as Input, type InputProps } from './components/Input/Input';
|
|
7
8
|
export { default as Select, type SelectProps } from './components/Select/Select';
|
|
9
|
+
export { default as SplitPanel, type SplitPanelProps } from './components/SplitPanel/SplitPanel';
|
|
10
|
+
export { default as Subscribe, type SubscribeProps } from './components/Subscribe/Subscribe';
|
|
11
|
+
export { default as Social, type SocialProps } from './components/Social/Social';
|
|
8
12
|
export { default as ViewingsList, type ViewingsListProps } from './components/ViewingsList/ViewingsList';
|
|
9
13
|
export { default as StatefulViewingsList, type StatefulViewingsListProps, } from './components/ViewingsList/StatefulViewingsList';
|
|
10
14
|
export { default as Page } from './pages/Page';
|
package/dist/index.js
CHANGED
|
@@ -1,22 +1,30 @@
|
|
|
1
1
|
import { default as t } from "./components/Button/Button.js";
|
|
2
2
|
import { default as a } from "./components/ErrorBoundary/ErrorBoundary.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { default as p } from "./components/
|
|
6
|
-
import { default as x } from "./components/
|
|
7
|
-
import { default as n } from "./components/
|
|
8
|
-
import { default as
|
|
9
|
-
import { default as
|
|
10
|
-
import { default as
|
|
3
|
+
import { default as l } from "./components/Footer/Footer.js";
|
|
4
|
+
import { Grid as u } from "./components/Grid/Grid.js";
|
|
5
|
+
import { default as p } from "./components/Header/Header.js";
|
|
6
|
+
import { default as x } from "./components/HeroBanner/HeroBanner.js";
|
|
7
|
+
import { default as n } from "./components/Input/Input.js";
|
|
8
|
+
import { default as c } from "./components/Select/Select.js";
|
|
9
|
+
import { default as B } from "./components/SplitPanel/SplitPanel.js";
|
|
10
|
+
import { default as w } from "./components/Subscribe/Subscribe.js";
|
|
11
|
+
import { default as L } from "./components/Social/Social.js";
|
|
12
|
+
import { default as V } from "./components/ViewingsList/ViewingsList.js";
|
|
13
|
+
import { default as E } from "./components/ViewingsList/StatefulViewingsList.js";
|
|
14
|
+
import { default as G } from "./pages/Page.js";
|
|
11
15
|
export {
|
|
12
16
|
t as Button,
|
|
13
17
|
a as ErrorBoundary,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
p as
|
|
17
|
-
x as
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
l as Footer,
|
|
19
|
+
u as Grid,
|
|
20
|
+
p as Header,
|
|
21
|
+
x as HeroBanner,
|
|
22
|
+
n as Input,
|
|
23
|
+
G as Page,
|
|
24
|
+
c as Select,
|
|
25
|
+
L as Social,
|
|
26
|
+
B as SplitPanel,
|
|
27
|
+
E as StatefulViewingsList,
|
|
28
|
+
w as Subscribe,
|
|
29
|
+
V as ViewingsList
|
|
22
30
|
};
|
package/dist/scss/_type.scss
CHANGED
package/dist/scss/_utils.scss
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import './vars';
|
|
2
|
+
|
|
1
3
|
@mixin hidden {
|
|
2
4
|
block-size: 1px;
|
|
3
5
|
border: 0;
|
|
@@ -70,3 +72,26 @@
|
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
}
|
|
75
|
+
|
|
76
|
+
@mixin media($breakpoint) {
|
|
77
|
+
@if $breakpoint == $sm {
|
|
78
|
+
// $breakpoint2: 961px;
|
|
79
|
+
@media (min-width: $breakpoint2) {
|
|
80
|
+
@content;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@if $breakpoint == $md {
|
|
85
|
+
// $breakpoint3: 1401px;
|
|
86
|
+
@media (min-width: $breakpoint3) {
|
|
87
|
+
@content;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@if $breakpoint == $lg {
|
|
92
|
+
// $breakpoint4: 1801px;
|
|
93
|
+
@media (min-width: $breakpoint4) {
|
|
94
|
+
@content;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
package/dist/scss/_vars.scss
CHANGED
|
@@ -118,7 +118,7 @@ $body3: 'body3';
|
|
|
118
118
|
--label-size3: 0.56rem;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
@media (width >=
|
|
121
|
+
@media (width >= 1801px) {
|
|
122
122
|
--heading-size0: 4.06rem;
|
|
123
123
|
--heading-size1: 3.05rem;
|
|
124
124
|
--heading-size2: 2.44rem;
|
|
@@ -179,7 +179,7 @@ $text-badge-label-size: var(--label-size3);
|
|
|
179
179
|
--spacing-xl: 4.8rem;
|
|
180
180
|
}
|
|
181
181
|
|
|
182
|
-
@media (width >=
|
|
182
|
+
@media (width >= 1801px) {
|
|
183
183
|
--spacing-micro: 0.31rem;
|
|
184
184
|
--spacing-xsm: 0.63rem;
|
|
185
185
|
--spacing-small: 1.25rem;
|
|
@@ -219,3 +219,16 @@ $margin-xl: var(--spacing-xl);
|
|
|
219
219
|
$breakpoint2: 961px;
|
|
220
220
|
$breakpoint3: 1401px;
|
|
221
221
|
$breakpoint4: 1801px;
|
|
222
|
+
|
|
223
|
+
////////////////////////
|
|
224
|
+
/// max-site-width TOKEN:
|
|
225
|
+
///////////////////////
|
|
226
|
+
$max-site-width: 1560px;
|
|
227
|
+
|
|
228
|
+
////////////////////////////
|
|
229
|
+
/// Media breakpoint tokens:
|
|
230
|
+
///////////////////////////
|
|
231
|
+
|
|
232
|
+
$sm: 'sm';
|
|
233
|
+
$md: 'md';
|
|
234
|
+
$lg: 'lg';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
@import '../../vars';
|
|
2
|
-
@import '../../
|
|
2
|
+
@import '../../typography';
|
|
3
|
+
@import '../../utils';
|
|
3
4
|
|
|
4
5
|
.#{$px}-button {
|
|
5
6
|
@include bodyText;
|
|
@@ -12,8 +13,8 @@
|
|
|
12
13
|
cursor: pointer;
|
|
13
14
|
display: inline-flex;
|
|
14
15
|
justify-content: center;
|
|
15
|
-
min-width:
|
|
16
|
-
padding: 0.5em
|
|
16
|
+
min-width: 3rem;
|
|
17
|
+
padding: 0.5em $spacing-medium;
|
|
17
18
|
transition:
|
|
18
19
|
color 0.25s,
|
|
19
20
|
background-color 0.25s,
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
@import '../../vars';
|
|
2
|
+
@import '../../utils';
|
|
3
|
+
@import '../../type';
|
|
4
|
+
@import '../../typography';
|
|
5
|
+
|
|
6
|
+
.#{$px}-footer {
|
|
7
|
+
background-color: $off-white;
|
|
8
|
+
border-top: 1px solid $keyline-gray;
|
|
9
|
+
width: 100%;
|
|
10
|
+
|
|
11
|
+
ul {
|
|
12
|
+
list-style: none;
|
|
13
|
+
padding: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&__navigation {
|
|
17
|
+
background-color: $white;
|
|
18
|
+
padding: $spacing-medium $spacing-medium $spacing-small;
|
|
19
|
+
text-align: right;
|
|
20
|
+
|
|
21
|
+
@include media('md') {
|
|
22
|
+
padding: $spacing-medium $spacing-large $spacing-small;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@include media('lg') {
|
|
26
|
+
padding: $spacing-medium $spacing-xl $spacing-small;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
ul {
|
|
30
|
+
display: inline-flex;
|
|
31
|
+
flex-wrap: wrap;
|
|
32
|
+
gap: $spacing-medium;
|
|
33
|
+
justify-content: center;
|
|
34
|
+
list-style: none;
|
|
35
|
+
padding: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
a,
|
|
39
|
+
button {
|
|
40
|
+
@include text('cta-sm');
|
|
41
|
+
@include bodyText;
|
|
42
|
+
|
|
43
|
+
cursor: pointer;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&__content {
|
|
48
|
+
align-items: center;
|
|
49
|
+
display: flex;
|
|
50
|
+
flex-direction: column;
|
|
51
|
+
padding: $spacing-large $spacing-medium 0;
|
|
52
|
+
|
|
53
|
+
@include media('sm') {
|
|
54
|
+
align-items: flex-start;
|
|
55
|
+
flex-direction: row;
|
|
56
|
+
justify-content: space-between;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@include media('md') {
|
|
60
|
+
padding: 3.75rem $spacing-large;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@include media('lg') {
|
|
64
|
+
padding: 3.75rem $spacing-xl;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
&__content-split-panel__left {
|
|
69
|
+
margin-bottom: $spacing-medium;
|
|
70
|
+
|
|
71
|
+
@include media('sm') {
|
|
72
|
+
margin-bottom: 0;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&__content-split-panel__right {
|
|
77
|
+
display: flex;
|
|
78
|
+
|
|
79
|
+
@include media('sm') {
|
|
80
|
+
justify-content: flex-end;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&__copyright {
|
|
85
|
+
@include text($body3);
|
|
86
|
+
|
|
87
|
+
align-items: center;
|
|
88
|
+
background-color: $white;
|
|
89
|
+
display: flex;
|
|
90
|
+
|
|
91
|
+
// font-size: 0.875rem;
|
|
92
|
+
// height: 2.125rem;
|
|
93
|
+
justify-content: center;
|
|
94
|
+
padding: $spacing-xsm 0;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@import '../../vars';
|
|
2
|
+
@import '../../utils';
|
|
3
|
+
@import '../../type';
|
|
4
|
+
|
|
5
|
+
.#{$px}-social {
|
|
6
|
+
align-items: center;
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
|
|
10
|
+
@include media('sm') {
|
|
11
|
+
align-items: flex-end;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&__header {
|
|
15
|
+
@include text($heading3);
|
|
16
|
+
|
|
17
|
+
margin-bottom: $spacing-xsm;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
ul {
|
|
21
|
+
align-items: center;
|
|
22
|
+
display: flex;
|
|
23
|
+
gap: 0 1.25rem;
|
|
24
|
+
list-style: none;
|
|
25
|
+
margin: 0 0 $spacing-medium;
|
|
26
|
+
padding: 0;
|
|
27
|
+
|
|
28
|
+
@include media('sm') {
|
|
29
|
+
gap: 0 1rem;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
li {
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
a {
|
|
38
|
+
display: inline-block;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@import '../../vars';
|
|
2
|
+
@import '../../utils';
|
|
3
|
+
|
|
4
|
+
.#{$px}-split-panel {
|
|
5
|
+
align-items: center;
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
gap: $spacing-medium;
|
|
9
|
+
|
|
10
|
+
&:not(.#{$px}-split-panel--borderless) {
|
|
11
|
+
padding: 2.5rem $spacing-medium;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
> * {
|
|
15
|
+
flex: 1 1 0px;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@include media('sm') {
|
|
19
|
+
align-items: stretch;
|
|
20
|
+
flex-direction: row;
|
|
21
|
+
|
|
22
|
+
& > :first-child,
|
|
23
|
+
& > :last-child {
|
|
24
|
+
width: 50%;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
& > :not(:last-child) {
|
|
28
|
+
border-right: 1px solid $medium-gray;
|
|
29
|
+
padding-right: $spacing-medium;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&--borderless {
|
|
33
|
+
& > :not(:last-child) {
|
|
34
|
+
border-right: none;
|
|
35
|
+
padding-right: 0;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@import '../../vars';
|
|
2
|
+
|
|
3
|
+
.split-panel-story {
|
|
4
|
+
background-color: #f4f2f1;
|
|
5
|
+
|
|
6
|
+
&__text {
|
|
7
|
+
font-family: Montserrat, serif;
|
|
8
|
+
font-size: 0.75rem;
|
|
9
|
+
font-style: normal;
|
|
10
|
+
font-weight: 400;
|
|
11
|
+
letter-spacing: 0.0625rem;
|
|
12
|
+
line-height: 1.125rem; /* 150% */
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
& .split-panel-story__text:not(:last-child) {
|
|
16
|
+
margin-bottom: $spacing-medium;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
@import '../../vars';
|
|
2
|
+
@import '../../utils';
|
|
3
|
+
@import '../../type';
|
|
4
|
+
@import '../../typography';
|
|
5
|
+
|
|
6
|
+
.#{$px}-subscribe {
|
|
7
|
+
max-width: 30rem;
|
|
8
|
+
|
|
9
|
+
&__title {
|
|
10
|
+
@include text($heading3);
|
|
11
|
+
|
|
12
|
+
margin-bottom: $spacing-xsm;
|
|
13
|
+
text-align: center;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&__blurb {
|
|
17
|
+
@include text($body2);
|
|
18
|
+
|
|
19
|
+
text-align: center;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@include media('sm') {
|
|
23
|
+
&__title,
|
|
24
|
+
&__blurb {
|
|
25
|
+
text-align: left;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&__blurb,
|
|
30
|
+
.#{$px}-input__input {
|
|
31
|
+
margin-bottom: $spacing-medium;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&__button {
|
|
35
|
+
margin: 0 0 $spacing-medium;
|
|
36
|
+
}
|
|
37
|
+
}
|
package/dist/scss/styles.scss
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
@import './vars';
|
|
3
3
|
|
|
4
4
|
// @TODO: add styles when we can do a site wide regressions QA
|
|
5
|
+
|
|
5
6
|
// @use 'reset';
|
|
6
7
|
@import './typography';
|
|
7
8
|
|
|
@@ -9,12 +10,16 @@
|
|
|
9
10
|
@import 'components/Button/button';
|
|
10
11
|
|
|
11
12
|
// @import 'components/DatePicker/datePicker';
|
|
13
|
+
@import 'components/Footer/footer';
|
|
14
|
+
@import 'components/Grid/grid';
|
|
12
15
|
@import 'components/Header/header';
|
|
13
16
|
@import 'components/HeroBanner/heroBanner';
|
|
14
17
|
@import 'components/Input/input';
|
|
18
|
+
@import 'components/Social/social';
|
|
19
|
+
@import 'components/SplitPanel/splitPanel';
|
|
20
|
+
@import 'components/Subscribe/subscribe';
|
|
15
21
|
@import 'components/Toggle/toggle';
|
|
16
22
|
@import 'components/ViewingsList/viewingsList';
|
|
17
|
-
@import 'components/Grid/grid';
|
|
18
23
|
|
|
19
24
|
// 📑 Pages
|
|
20
25
|
@import 'pages/page';
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
|
@@ -1,27 +1,29 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as d } from "react/jsx-runtime";
|
|
2
2
|
const n = "phillips";
|
|
3
3
|
function c({
|
|
4
4
|
disabled: l = !1,
|
|
5
|
-
id:
|
|
6
|
-
invalid:
|
|
7
|
-
invalidText:
|
|
8
|
-
readOnly:
|
|
5
|
+
id: o,
|
|
6
|
+
invalid: t = !1,
|
|
7
|
+
invalidText: e = "invalid",
|
|
8
|
+
readOnly: r = !1,
|
|
9
9
|
type: a,
|
|
10
|
-
warn:
|
|
11
|
-
warnText:
|
|
10
|
+
warn: s = !1,
|
|
11
|
+
warnText: v
|
|
12
12
|
}) {
|
|
13
13
|
const i = {
|
|
14
|
-
disabled: !
|
|
15
|
-
invalid: !
|
|
16
|
-
invalidId: `${
|
|
14
|
+
disabled: !r && l,
|
|
15
|
+
invalid: !r && !l && t,
|
|
16
|
+
invalidId: `${o}-error-msg`,
|
|
17
17
|
type: a === "toggle" ? "checkbox" : a,
|
|
18
|
-
warn: !
|
|
19
|
-
warnId: `${
|
|
18
|
+
warn: !r && !l && !t && s,
|
|
19
|
+
warnId: `${o}-warn-msg`,
|
|
20
20
|
validation: null
|
|
21
21
|
};
|
|
22
|
-
return i.invalid && (i.validation = /* @__PURE__ */
|
|
22
|
+
return i.invalid && (i.validation = /* @__PURE__ */ d("div", { className: `${n}-input__validation ${n}-${a}-input--invalid`, id: i.invalidId, children: e })), i.warn && (i.validation = /* @__PURE__ */ d("div", { className: `${n}-input__validation ${n}-${a}-input--warn`, id: i.warnId, children: v })), i;
|
|
23
23
|
}
|
|
24
|
+
const p = (/* @__PURE__ */ new Date()).getFullYear();
|
|
24
25
|
export {
|
|
26
|
+
p as defaultYear,
|
|
25
27
|
n as px,
|
|
26
28
|
c as useNormalizedInputProps
|
|
27
29
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@phillips/seldon",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/PhillipsAuctionHouse/seldon"
|
|
@@ -51,48 +51,49 @@
|
|
|
51
51
|
"@semantic-release/github": "^10.0.3",
|
|
52
52
|
"@storybook/addon-essentials": "^7.6.18",
|
|
53
53
|
"@storybook/addon-interactions": "^7.0.22",
|
|
54
|
-
"@storybook/addon-links": "^7.
|
|
55
|
-
"@storybook/addon-styling": "^1.3.
|
|
54
|
+
"@storybook/addon-links": "^7.6.18",
|
|
55
|
+
"@storybook/addon-styling": "^1.3.7",
|
|
56
56
|
"@storybook/blocks": "^7.0.22",
|
|
57
57
|
"@storybook/react": "^7.0.22",
|
|
58
58
|
"@storybook/react-vite": "^7.6.18",
|
|
59
59
|
"@testing-library/jest-dom": "^5.17.0",
|
|
60
60
|
"@testing-library/react": "^14.0.0",
|
|
61
|
-
"@testing-library/user-event": "^14.5.
|
|
62
|
-
"@types/color": "^3.0.
|
|
61
|
+
"@testing-library/user-event": "^14.5.2",
|
|
62
|
+
"@types/color": "^3.0.6",
|
|
63
63
|
"@types/jest": "^29.5.3",
|
|
64
|
-
"@types/react": "^18.3.
|
|
64
|
+
"@types/react": "^18.3.1",
|
|
65
65
|
"@types/react-dom": "^18.0.11",
|
|
66
66
|
"@typescript-eslint/eslint-plugin": "^5.59.0",
|
|
67
67
|
"@typescript-eslint/parser": "^5.59.0",
|
|
68
68
|
"@vitejs/plugin-react": "^4.0.0",
|
|
69
69
|
"color": "^4.2.3",
|
|
70
70
|
"eslint": "^8.38.0",
|
|
71
|
-
"eslint-plugin-react-hooks": "^4.6.
|
|
72
|
-
"eslint-plugin-react-refresh": "^0.
|
|
73
|
-
"eslint-plugin-storybook": "^0.
|
|
71
|
+
"eslint-plugin-react-hooks": "^4.6.2",
|
|
72
|
+
"eslint-plugin-react-refresh": "^0.4.6",
|
|
73
|
+
"eslint-plugin-storybook": "^0.8.0",
|
|
74
74
|
"husky": "^9.0.11",
|
|
75
75
|
"jest": "^29.6.1",
|
|
76
76
|
"jest-environment-jsdom": "^29.6.1",
|
|
77
77
|
"prettier": "3.0.3",
|
|
78
78
|
"prop-types": "^15.8.1",
|
|
79
|
-
"rimraf": "^5.0.
|
|
80
|
-
"rollup-plugin-copy": "^3.
|
|
79
|
+
"rimraf": "^5.0.5",
|
|
80
|
+
"rollup-plugin-copy": "^3.5.0",
|
|
81
81
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
82
82
|
"sass": "^1.75.0",
|
|
83
83
|
"semantic-release": "^21.0.5",
|
|
84
84
|
"storybook": "^7.6.18",
|
|
85
|
-
"stylelint": "^16.
|
|
85
|
+
"stylelint": "^16.4.0",
|
|
86
86
|
"stylelint-config-standard": "^36.0.0",
|
|
87
87
|
"stylelint-config-standard-scss": "^13.1.0",
|
|
88
88
|
"stylelint-order": "^6.0.4",
|
|
89
89
|
"stylelint-scss": "^6.2.1",
|
|
90
|
-
"ts-jest": "^29.1.
|
|
91
|
-
"ts-node": "^10.9.
|
|
90
|
+
"ts-jest": "^29.1.2",
|
|
91
|
+
"ts-node": "^10.9.2",
|
|
92
92
|
"typescript": "^5.0.2",
|
|
93
93
|
"vite": "^4.5.3",
|
|
94
94
|
"vite-plugin-dts": "^2.3.0",
|
|
95
|
-
"vite-plugin-svgr": "^4.2.0"
|
|
95
|
+
"vite-plugin-svgr": "^4.2.0",
|
|
96
|
+
"vite-tsconfig-paths": "^4.3.2"
|
|
96
97
|
},
|
|
97
98
|
"peerDependencies": {
|
|
98
99
|
"react": "^18.3.1",
|