@phillips/seldon 1.20.0 → 1.22.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.
@@ -1,5 +1,4 @@
1
1
  export interface FooterProps extends React.HTMLAttributes<HTMLElement> {
2
- chidlren?: React.ReactNode;
3
2
  /**
4
3
  * Copyright data added to bottom of site
5
4
  */
@@ -1,4 +1,5 @@
1
1
  import { ButtonProps } from '../Button/Button';
2
+ import { SubscriptionState } from './types';
2
3
  export interface SubscribeProps extends React.HTMLAttributes<HTMLFormElement> {
3
4
  /**
4
5
  * Subscribe blurb
@@ -28,6 +29,22 @@ export interface SubscribeProps extends React.HTMLAttributes<HTMLFormElement> {
28
29
  * Subscribe title text
29
30
  */
30
31
  title?: string;
32
+ /**
33
+ * Subscribe loading text
34
+ */
35
+ loadingText?: string;
36
+ /**
37
+ * Subscribe error text
38
+ */
39
+ invalidText?: string;
40
+ /**
41
+ * Subscribe success text
42
+ */
43
+ successText?: string;
44
+ /**
45
+ * Subscribe state for loading or error
46
+ */
47
+ subscriptionState?: SubscriptionState;
31
48
  }
32
49
  /**
33
50
  * ## Overview
@@ -36,5 +53,5 @@ export interface SubscribeProps extends React.HTMLAttributes<HTMLFormElement> {
36
53
  *
37
54
  * [Figma Link](https://www.figma.com/file/npS5ECbNut8hevUkGWSzUN/Site-Furniture-(Navigation)---SP24?node-id=4347%3A4194&mode=dev)
38
55
  */
39
- declare const Subscribe: ({ blurb, buttonText, buttonProps, className, element: Element, id, inputLabelText, inputPlaceholder, title, ...props }: SubscribeProps) => import("react/jsx-runtime").JSX.Element;
56
+ declare const Subscribe: ({ blurb, buttonText, buttonProps, className, element: Element, id, inputLabelText, inputPlaceholder, title, loadingText, invalidText, successText, subscriptionState, ...props }: SubscribeProps) => import("react/jsx-runtime").JSX.Element;
40
57
  export default Subscribe;
@@ -1,42 +1,61 @@
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",
1
+ import { jsxs as N, jsx as t } from "react/jsx-runtime";
2
+ import y from "../../node_modules/classnames/index.js";
3
+ import { px as s } from "../../utils/index.js";
4
+ import v from "../Input/Input.js";
5
+ import w from "../Button/Button.js";
6
+ import { SubscriptionState as j } from "./types.js";
7
+ const D = ({
8
+ blurb: o,
9
+ buttonText: a = "Sign Up",
9
10
  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
- );
11
+ className: r,
12
+ element: c = "form",
13
+ id: i,
14
+ inputLabelText: m = "Email*",
15
+ inputPlaceholder: u = "example@email.com",
16
+ title: d = "Subscribe to Newsletter",
17
+ loadingText: b = "Loading...",
18
+ invalidText: n = "",
19
+ successText: p,
20
+ subscriptionState: e = j.Default,
21
+ ...f
22
+ }) => {
23
+ const x = e === "invalid", _ = e === "loading", h = e === "success", $ = e !== "default" ? {
24
+ invalid: n,
25
+ success: p,
26
+ loading: b
27
+ }[e] : "", g = h || _;
28
+ return /* @__PURE__ */ N(
29
+ c,
30
+ {
31
+ "data-testid": i || "subscribe-form",
32
+ id: i,
33
+ className: y(`${s}-subscribe`, r),
34
+ noValidate: !0,
35
+ ...f,
36
+ children: [
37
+ /* @__PURE__ */ t("h3", { className: `${s}-subscribe__title`, children: d }),
38
+ o ? /* @__PURE__ */ t("p", { className: `${s}-subscribe__blurb`, children: o }) : null,
39
+ /* @__PURE__ */ t(
40
+ v,
41
+ {
42
+ className: `${s}-subscribe__input`,
43
+ type: "email",
44
+ name: "email",
45
+ placeholder: u,
46
+ labelText: m,
47
+ invalid: x,
48
+ invalidText: n,
49
+ warn: g,
50
+ warnText: $,
51
+ required: !0
52
+ }
53
+ ),
54
+ /* @__PURE__ */ t(w, { className: `${s}-subscribe__button ${r}`, buttonType: "secondary", type: "submit", ...l, children: a })
55
+ ]
56
+ }
57
+ );
58
+ };
40
59
  export {
41
- y as default
60
+ D as default
42
61
  };
@@ -0,0 +1,6 @@
1
+ export declare enum SubscriptionState {
2
+ Default = "default",
3
+ Loading = "loading",
4
+ Invalid = "invalid",
5
+ Success = "success"
6
+ }
@@ -0,0 +1,4 @@
1
+ var l = /* @__PURE__ */ ((d) => (d.Default = "default", d.Loading = "loading", d.Invalid = "invalid", d.Success = "success", d))(l || {});
2
+ export {
3
+ l as SubscriptionState
4
+ };
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { TextVariants } from './types';
3
+ export interface TextProps extends React.HTMLAttributes<HTMLElement> {
4
+ /**
5
+ * Optional element to render as the top-level component e.g. 'div', 'span', CustomComponent, etc. Defaults to the appropriate HTML based on the variant.
6
+ */
7
+ element?: React.ElementType;
8
+ /**
9
+ * The OOTB style to apply to the text
10
+ */
11
+ variant?: TextVariants;
12
+ }
13
+ /**
14
+ * ## Overview
15
+ *
16
+ * All text rendered in the UI can be wrapped in this component to enforce consistent styling and semantic HTML.
17
+ *
18
+ * [Figma Link](https://www.figma.com/design/xMuOXOAKVt5HC7hgYjF3ot/Components-v2.0?node-id=6344-139&t=BUiWETQbkkWoDZ5V-4)
19
+ */
20
+ declare const Text: ({ children, id, element: CustomElement, variant, className, ...props }: TextProps) => import("react/jsx-runtime").JSX.Element;
21
+ export default Text;
@@ -0,0 +1,28 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { px as p } from "../../utils/index.js";
3
+ import f from "../../node_modules/classnames/index.js";
4
+ import { TextVariants as c } from "./types.js";
5
+ import { determineDefaultTextElement as d, determineTextClassName as i } from "./utils.js";
6
+ const $ = ({
7
+ children: m,
8
+ id: t,
9
+ element: s,
10
+ variant: e = c.body2,
11
+ className: o,
12
+ ...a
13
+ }) => {
14
+ const r = t ? `text-${t}` : "text", n = `${p}-text`, x = s || d(e);
15
+ return /* @__PURE__ */ l(
16
+ x,
17
+ {
18
+ ...a,
19
+ "data-testid": r,
20
+ id: t,
21
+ className: f(n, i(e), o),
22
+ children: m
23
+ }
24
+ );
25
+ };
26
+ export {
27
+ $ as default
28
+ };
@@ -0,0 +1,2 @@
1
+ export { TextVariants } from './types';
2
+ export { default as Text, type TextProps } from './Text';
@@ -0,0 +1,20 @@
1
+ export declare enum TextVariants {
2
+ display0 = "display0",
3
+ display1 = "display1",
4
+ display2 = "display2",
5
+ display3 = "display3",
6
+ display4 = "display4",
7
+ heading1 = "heading1",
8
+ heading2 = "heading2",
9
+ heading3 = "heading3",
10
+ heading4 = "heading4",
11
+ body1 = "body1",
12
+ body2 = "body2",
13
+ body3 = "body3",
14
+ button = "button",
15
+ ctaLg = "ctaLg",
16
+ ctaSm = "ctaSm",
17
+ email = "email",
18
+ label = "label",
19
+ textBadge = "textBadge"
20
+ }
@@ -0,0 +1,4 @@
1
+ var l = /* @__PURE__ */ ((d) => (d.display0 = "display0", d.display1 = "display1", d.display2 = "display2", d.display3 = "display3", d.display4 = "display4", d.heading1 = "heading1", d.heading2 = "heading2", d.heading3 = "heading3", d.heading4 = "heading4", d.body1 = "body1", d.body2 = "body2", d.body3 = "body3", d.button = "button", d.ctaLg = "ctaLg", d.ctaSm = "ctaSm", d.email = "email", d.label = "label", d.textBadge = "textBadge", d))(l || {});
2
+ export {
3
+ l as TextVariants
4
+ };
@@ -0,0 +1,3 @@
1
+ import { TextVariants } from './types';
2
+ export declare const determineTextClassName: (variant?: TextVariants) => string;
3
+ export declare const determineDefaultTextElement: (variant?: TextVariants) => string;
@@ -0,0 +1,10 @@
1
+ import { px as a } from "../../utils/index.js";
2
+ import { TextVariants as r } from "./types.js";
3
+ const c = (e = r.body1) => {
4
+ const t = e.replace("labelText", "label-text").replace("textBadge", "text-badge").replace("ctaSm", "cta-sm").replace("ctaLg", "cta-lg");
5
+ return `${a}-text--${t.charAt(0).toLowerCase() + t.slice(1)}`;
6
+ }, s = (e = r.body1) => e.includes("body") ? "p" : e === r.label ? "label" : e.includes("heading") ? `h${isNaN(parseInt(e.slice(-1))) ? 3 : parseInt(e.slice(-1))}` : "span";
7
+ export {
8
+ s as determineDefaultTextElement,
9
+ c as determineTextClassName
10
+ };
package/dist/index.d.ts CHANGED
@@ -18,4 +18,6 @@ export { default as Subscribe, type SubscribeProps } from './components/Subscrib
18
18
  export { default as Social, type SocialProps } from './components/Social/Social';
19
19
  export { default as ViewingsList, type ViewingsListProps } from './components/ViewingsList/ViewingsList';
20
20
  export { default as StatefulViewingsList, type StatefulViewingsListProps, } from './components/ViewingsList/StatefulViewingsList';
21
+ export * from './components/Text';
22
+ export { PaddingTokens } from './utils';
21
23
  export { default as Page } from './pages/Page';
package/dist/index.js CHANGED
@@ -1,44 +1,50 @@
1
1
  import { default as t } from "./components/Button/Button.js";
2
2
  import { default as a } from "./components/ErrorBoundary/ErrorBoundary.js";
3
- import { default as l } from "./components/Footer/Footer.js";
4
- import { Grid as d } from "./components/Grid/Grid.js";
3
+ import { default as s } from "./components/Footer/Footer.js";
4
+ import { Grid as l } from "./components/Grid/Grid.js";
5
5
  import { default as p } from "./components/Header/Header.js";
6
- import { default as x } from "./components/HeroBanner/HeroBanner.js";
6
+ import { default as u } from "./components/HeroBanner/HeroBanner.js";
7
7
  import { default as n } from "./components/Input/Input.js";
8
8
  import { default as k } from "./components/Link/Link.js";
9
- import { LinkVariants as c } from "./components/Link/utils.js";
9
+ import { LinkVariants as S } from "./components/Link/utils.js";
10
10
  import { default as B } from "./components/LinkBlock/LinkBlock.js";
11
- import { default as G } from "./components/LinkList/LinkList.js";
12
- import { default as V } from "./components/Row/Row.js";
13
- import { default as H } from "./components/GridItem/GridItem.js";
14
- import { GridItemAlign as y } from "./components/GridItem/types.js";
15
- import { default as E } from "./components/Select/Select.js";
16
- import { default as R } from "./components/SplitPanel/SplitPanel.js";
17
- import { default as j } from "./components/Subscribe/Subscribe.js";
18
- import { default as v } from "./components/Social/Social.js";
19
- import { default as C } from "./components/ViewingsList/ViewingsList.js";
20
- import { default as J } from "./components/ViewingsList/StatefulViewingsList.js";
21
- import { default as M } from "./pages/Page.js";
11
+ import { default as w } from "./components/LinkList/LinkList.js";
12
+ import { default as I } from "./components/Row/Row.js";
13
+ import { default as T } from "./components/GridItem/GridItem.js";
14
+ import { GridItemAlign as H } from "./components/GridItem/types.js";
15
+ import { default as A } from "./components/Select/Select.js";
16
+ import { default as F } from "./components/SplitPanel/SplitPanel.js";
17
+ import { default as h } from "./components/Subscribe/Subscribe.js";
18
+ import { default as q } from "./components/Social/Social.js";
19
+ import { default as z } from "./components/ViewingsList/ViewingsList.js";
20
+ import { default as D } from "./components/ViewingsList/StatefulViewingsList.js";
21
+ import { TextVariants as K } from "./components/Text/types.js";
22
+ import { default as N } from "./components/Text/Text.js";
23
+ import { PaddingTokens as Q } from "./utils/index.js";
24
+ import { default as W } from "./pages/Page.js";
22
25
  export {
23
26
  t as Button,
24
27
  a as ErrorBoundary,
25
- l as Footer,
26
- d as Grid,
27
- H as GridItem,
28
- y as GridItemAlign,
28
+ s as Footer,
29
+ l as Grid,
30
+ T as GridItem,
31
+ H as GridItemAlign,
29
32
  p as Header,
30
- x as HeroBanner,
33
+ u as HeroBanner,
31
34
  n as Input,
32
35
  k as Link,
33
36
  B as LinkBlock,
34
- G as LinkList,
35
- c as LinkVariants,
36
- M as Page,
37
- V as Row,
38
- E as Select,
39
- v as Social,
40
- R as SplitPanel,
41
- J as StatefulViewingsList,
42
- j as Subscribe,
43
- C as ViewingsList
37
+ w as LinkList,
38
+ S as LinkVariants,
39
+ Q as PaddingTokens,
40
+ W as Page,
41
+ I as Row,
42
+ A as Select,
43
+ q as Social,
44
+ F as SplitPanel,
45
+ D as StatefulViewingsList,
46
+ h as Subscribe,
47
+ N as Text,
48
+ K as TextVariants,
49
+ z as ViewingsList
44
50
  };
@@ -56,7 +56,7 @@
56
56
  text-transform: lowercase;
57
57
  }
58
58
 
59
- @if $label == 'text' {
59
+ @if $label == 'label' {
60
60
  font-size: $text-label-size;
61
61
  font-weight: 500;
62
62
  letter-spacing: 0.0625rem;
@@ -90,8 +90,8 @@
90
90
  @include labelText($email);
91
91
  }
92
92
 
93
- @if $token == 'text' {
94
- @include labelText($text);
93
+ @if $token == 'label' {
94
+ @include labelText($label);
95
95
  }
96
96
 
97
97
  @if $token == 'text-badge' {
@@ -72,7 +72,7 @@ $button: 'button';
72
72
  $cta-sm: 'cta-sm';
73
73
  $cta-lg: 'cta-lg';
74
74
  $email: 'email';
75
- $text: 'text';
75
+ $label: 'label';
76
76
  $text-badge: 'text-badge';
77
77
  $display0: 'display0';
78
78
  $display1: 'display1';
@@ -86,6 +86,8 @@ $heading4: 'heading4';
86
86
  $body1: 'body1';
87
87
  $body2: 'body2';
88
88
  $body3: 'body3';
89
+ $text-tokens: $button, $cta-sm, $cta-lg, $email, $label, $text-badge, $display0, $display1, $display2, $display3,
90
+ $display4, $heading1, $heading2, $heading3, $heading4, $body1, $body2, $body3;
89
91
 
90
92
  ////////////////////////
91
93
  /// FONT SIZE TOKENS:
@@ -1,3 +1,4 @@
1
+ @use 'sass:math';
1
2
  @import '../../_utils';
2
3
 
3
4
  @mixin gridItemColumnSpan($span: 1, $total-cols: 12) {
@@ -9,7 +10,8 @@
9
10
  }
10
11
 
11
12
  &-align-center {
12
- grid-column: calc((#{$total-cols} + 1 - #{$span}) / 2) / span #{$span};
13
+ grid-column: math.ceil(math.div($total-cols + 1 - $span, 2)) / span #{$span};
14
+ text-align: center;
13
15
  }
14
16
  }
15
17
 
@@ -20,14 +22,14 @@
20
22
 
21
23
  @for $i from 1 through 2 {
22
24
  &--span-xs-#{$i} {
23
- @include gridItemColumnSpan(#{$i}, 2);
25
+ @include gridItemColumnSpan($i, 2);
24
26
  }
25
27
  }
26
28
 
27
29
  @include media($breakpoint-sm) {
28
30
  @for $i from 1 through 4 {
29
31
  &--span-sm-#{$i} {
30
- @include gridItemColumnSpan(#{$i}, 4);
32
+ @include gridItemColumnSpan($i, 4);
31
33
  }
32
34
  }
33
35
  }
@@ -35,7 +37,7 @@
35
37
  @include media($breakpoint-md) {
36
38
  @for $i from 1 through 12 {
37
39
  &--span-md-#{$i} {
38
- @include gridItemColumnSpan(#{$i}, 12);
40
+ @include gridItemColumnSpan($i, 12);
39
41
  }
40
42
  }
41
43
  }
@@ -43,7 +45,7 @@
43
45
  @include media($breakpoint-lg) {
44
46
  @for $i from 1 through 12 {
45
47
  &--span-lg-#{$i} {
46
- @include gridItemColumnSpan(#{$i}, 12);
48
+ @include gridItemColumnSpan($i, 12);
47
49
  }
48
50
  }
49
51
  }
@@ -9,6 +9,7 @@
9
9
  display: flex;
10
10
  flex-flow: column;
11
11
  justify-content: center;
12
+ margin-bottom: $spacing-lg;
12
13
  min-height: 25rem;
13
14
  padding: 1rem;
14
15
  width: 100%;
@@ -26,12 +26,11 @@
26
26
  }
27
27
  }
28
28
 
29
- &__blurb,
30
- .#{$px}-input__input {
31
- margin-bottom: $spacing-md;
29
+ &__input__wrapper {
30
+ margin-top: $spacing-md;
32
31
  }
33
32
 
34
33
  &__button {
35
- margin: 0 0 $spacing-md;
34
+ margin: $spacing-md 0 $spacing-md;
36
35
  }
37
36
  }
@@ -0,0 +1,27 @@
1
+ @import '../../_vars';
2
+
3
+ .#{$px}-text {
4
+ @each $variant in $text-tokens {
5
+ &--#{$variant} {
6
+ @include text($variant);
7
+ }
8
+ }
9
+ }
10
+
11
+ h1.#{$px}-text,
12
+ blockquote.#{$px}-text {
13
+ margin-bottom: $spacing-xl;
14
+ }
15
+
16
+ h2.#{$px}-text {
17
+ margin-bottom: $spacing-lg;
18
+ }
19
+ h3.#{$px}-text {
20
+ margin-bottom: $spacing-md;
21
+ }
22
+ h4.#{$px}-text {
23
+ margin-bottom: $spacing-sm;
24
+ }
25
+ p.#{$px}-text {
26
+ margin-bottom: $spacing-md;
27
+ }
@@ -26,6 +26,7 @@
26
26
  @import 'components/Link/link';
27
27
  @import 'components/LinkBlock/linkBlock';
28
28
  @import 'components/LinkList/linkList';
29
+ @import 'components/Text/text';
29
30
 
30
31
  // 📑 Pages
31
32
  @import 'pages/page';
@@ -73,4 +73,13 @@ interface NormalizedProps {
73
73
  export declare function useNormalizedInputProps({ disabled, id, invalid, invalidText, readOnly, type, warn, warnText, }: InputProps): NormalizedProps;
74
74
  export declare const defaultYear: number;
75
75
  export declare const generatePaddingClassName: (padding: PaddingTokens, side?: 'start' | 'end', direction?: 'vertical' | 'horizontal') => string;
76
+ /**
77
+ * Return true if the email is valid, false otherwise.
78
+ *
79
+ * true: some@some.com
80
+ *
81
+ * false: some@some, some@.com, some@some.
82
+
83
+ */
84
+ export declare const emailValidation: (email: string) => boolean;
76
85
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phillips/seldon",
3
- "version": "1.20.0",
3
+ "version": "1.22.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/PhillipsAuctionHouse/seldon"
@@ -33,7 +33,7 @@
33
33
  "clean": "rimraf './dist'",
34
34
  "clean:stories": "rimraf './storybook-static'",
35
35
  "format": "prettier . --write",
36
- "lint": "tsc && eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0 && npm run lint:styles",
36
+ "lint": "tsc --noEmit && eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0 && npm run lint:styles",
37
37
  "lint:styles": "stylelint \"src/**/*.scss\" --fix",
38
38
  "prepare": "husky install"
39
39
  },
@@ -42,28 +42,30 @@
42
42
  "flatpickr": "^4.6.13"
43
43
  },
44
44
  "devDependencies": {
45
+ "@chromatic-com/storybook": "^1.5.0",
45
46
  "@commitlint/cli": "^19.3.0",
46
47
  "@commitlint/config-conventional": "^19.2.2",
47
48
  "@figma/code-connect": "^0.1.2",
48
49
  "@semantic-release/changelog": "^6.0.3",
49
50
  "@semantic-release/git": "^10.0.1",
50
- "@semantic-release/github": "^10.0.3",
51
- "@storybook/addon-essentials": "^7.6.18",
52
- "@storybook/addon-interactions": "^7.6.19",
53
- "@storybook/addon-links": "^7.6.19",
54
- "@storybook/addon-styling": "^1.3.7",
55
- "@storybook/blocks": "^7.6.19",
56
- "@storybook/react": "^7.0.22",
57
- "@storybook/react-vite": "^7.6.19",
51
+ "@semantic-release/github": "^10.0.5",
52
+ "@storybook/addon-essentials": "^8.1.4",
53
+ "@storybook/addon-interactions": "^8.1.4",
54
+ "@storybook/addon-links": "^8.1.4",
55
+ "@storybook/addon-mdx-gfm": "^8.1.4",
56
+ "@storybook/blocks": "^8.1.4",
57
+ "@storybook/react": "^8.1.4",
58
+ "@storybook/react-vite": "^8.1.4",
59
+ "@storybook/theming": "^8.1.4",
58
60
  "@testing-library/jest-dom": "^6.4.5",
59
61
  "@testing-library/react": "^14.0.0",
60
62
  "@testing-library/user-event": "^14.5.2",
61
63
  "@types/color": "^3.0.6",
62
- "@types/react": "^18.3.2",
64
+ "@types/react": "^18.3.3",
63
65
  "@types/react-dom": "^18.0.11",
64
66
  "@typescript-eslint/eslint-plugin": "^5.62.0",
65
67
  "@typescript-eslint/parser": "^5.62.0",
66
- "@vitejs/plugin-react": "^4.2.1",
68
+ "@vitejs/plugin-react": "^4.3.0",
67
69
  "@vitest/coverage-v8": "^1.6.0",
68
70
  "color": "^4.2.3",
69
71
  "eslint": "^8.57.0",
@@ -75,20 +77,20 @@
75
77
  "react": "^18.3.1",
76
78
  "react-docgen-typescript": "^2.2.2",
77
79
  "react-dom": "^18.2.0",
78
- "rimraf": "^5.0.5",
80
+ "rimraf": "^5.0.7",
79
81
  "rollup-plugin-copy": "^3.5.0",
80
82
  "rollup-plugin-peer-deps-external": "^2.2.4",
81
- "sass": "^1.77.0",
83
+ "sass": "^1.77.2",
82
84
  "semantic-release": "^23.1.1",
83
- "storybook": "^7.6.19",
84
- "stylelint": "^16.4.0",
85
+ "storybook": "^8.1.4",
86
+ "stylelint": "^16.6.1",
85
87
  "stylelint-config-standard": "^36.0.0",
86
88
  "stylelint-config-standard-scss": "^13.1.0",
87
89
  "stylelint-order": "^6.0.4",
88
90
  "stylelint-scss": "^6.3.0",
89
91
  "ts-node": "^10.9.2",
90
92
  "typescript": "^5.4.5",
91
- "vite": "^5.2.11",
93
+ "vite": "^5.2.12",
92
94
  "vite-plugin-dts": "^2.3.0",
93
95
  "vite-plugin-svgr": "^4.2.0",
94
96
  "vite-tsconfig-paths": "^4.3.2",