@uva-glass/component-library 3.0.1 → 3.0.3

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 +1 @@
1
- ._chip_7nmzv_1{align-items:center;background-color:var(--color-white);border:1px solid var(--color-grey-200);border-radius:1rem;cursor:pointer;display:grid;grid-template-columns:auto 1fr;min-height:2rem;padding:0 0 0 1rem;-webkit-user-select:none;user-select:none;width:fit-content}._chip_7nmzv_1:hover{background-color:var(--color-grey-200)}._chip_7nmzv_1:focus-visible{outline:.125rem dotted var(--color-cobalt);outline-offset:.125rem}._chip__label_7nmzv_24{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}._chip__close-button_7nmzv_31{margin:0 .5rem}
1
+ ._chip_3qe3v_1{align-items:center;background-color:var(--color-white);border:1px solid var(--color-grey-200);border-radius:1rem;cursor:pointer;display:grid;font-family:inherit;grid-template-columns:auto 1fr;min-height:2rem;padding:0 0 0 1rem;-webkit-user-select:none;user-select:none;width:fit-content}._chip_3qe3v_1:hover{background-color:var(--color-grey-200)}._chip_3qe3v_1:focus-visible{outline:.125rem dotted var(--color-cobalt);outline-offset:.125rem}._chip__label_3qe3v_25{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}._chip__close-button_3qe3v_32{margin:0 .5rem}
@@ -1,12 +1,12 @@
1
- import { jsxs as i, jsx as s } from "react/jsx-runtime";
2
- import { Icon as n } from "../Icon/Icon.js";
3
- import '../../assets/Chip.css';const t = "_chip_7nmzv_1", e = "_chip__label_7nmzv_24", c = {
1
+ import { jsxs as o, jsx as s } from "react/jsx-runtime";
2
+ import { Icon as i } from "../Icon/Icon.js";
3
+ import '../../assets/Chip.css';const t = "_chip_3qe3v_1", l = "_chip__label_3qe3v_25", c = {
4
4
  chip: t,
5
- chip__label: e,
6
- "chip__close-button": "_chip__close-button_7nmzv_31"
7
- }, h = ({ label: _, onDelete: o }) => /* @__PURE__ */ i("button", { className: c.chip, onClick: () => o(_), children: [
5
+ chip__label: l,
6
+ "chip__close-button": "_chip__close-button_3qe3v_32"
7
+ }, h = ({ label: _, onDelete: e }) => /* @__PURE__ */ o("button", { className: c.chip, onClick: () => e(_), children: [
8
8
  /* @__PURE__ */ s("span", { className: c.chip__label, children: _ }),
9
- /* @__PURE__ */ s(n, { name: "Cross", size: 20, className: c["chip__close-button"] })
9
+ /* @__PURE__ */ s(i, { name: "Cross", size: 20, className: c["chip__close-button"] })
10
10
  ] });
11
11
  export {
12
12
  h as Chip
@@ -1,3 +1,6 @@
1
1
  import { NavLinkProps } from 'react-router';
2
2
  /** Represents a component for a [NavLink](https://reactrouter.com/en/main/components/nav-link) with styling. */
3
- export declare const MenuLink: (props: Omit<NavLinkProps, "style">) => import("react/jsx-runtime").JSX.Element;
3
+ export interface MenuLinkProps extends Omit<NavLinkProps, 'style'> {
4
+ overrideDefault?: boolean;
5
+ }
6
+ export declare const MenuLink: ({ overrideDefault, ...props }: MenuLinkProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,25 +1,25 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { c as u } from "../../clsx-OuTLNxxd.js";
3
- import { useLocation as k, NavLink as h } from "react-router";
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import { c as k } from "../../clsx-OuTLNxxd.js";
3
+ import { useLocation as h, NavLink as g } from "react-router";
4
4
  import '../../assets/MenuLink.css';const i = {
5
5
  "menu-link": "_menu-link_8gjhh_1",
6
6
  "menu-link--active": "_menu-link--active_8gjhh_8"
7
- }, f = (t) => {
8
- const o = k(), e = (n) => n.replace(/s$/, ""), s = (n) => {
9
- const l = o.pathname.split("/").filter(Boolean), a = n.split("/").filter(Boolean).slice(-1)[0], c = e(a);
10
- return l.some((r) => e(r) === c);
7
+ }, v = ({ overrideDefault: o, ...t }) => {
8
+ const s = h(), e = (n) => n.replace(/s$/, ""), l = (n) => {
9
+ const a = s.pathname.split("/").filter(Boolean), c = n.split("/").filter(Boolean).slice(-1)[0], r = e(c);
10
+ return a.some((m) => e(m) === r);
11
11
  };
12
- return /* @__PURE__ */ m(
13
- h,
12
+ return /* @__PURE__ */ u(
13
+ g,
14
14
  {
15
15
  ...t,
16
- className: ({ isActive: n }) => u(i["menu-link"], {
17
- [i["menu-link--active"]]: n || s(t.to)
16
+ className: ({ isActive: n }) => k(i["menu-link"], {
17
+ [i["menu-link--active"]]: o ? "" : n || l(t.to)
18
18
  })
19
19
  }
20
20
  );
21
21
  };
22
22
  export {
23
- f as MenuLink
23
+ v as MenuLink
24
24
  };
25
25
  //# sourceMappingURL=MenuLink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuLink.js","sources":["../../../src/components/MenuLink/MenuLink.tsx"],"sourcesContent":["import classNames from 'clsx';\nimport { NavLink, useLocation } from 'react-router';\n\nimport type { NavLinkProps } from 'react-router';\n\nimport styles from './MenuLink.module.css';\n\n/** Represents a component for a [NavLink](https://reactrouter.com/en/main/components/nav-link) with styling. */\n// Omit style so it cannot be accidentally used\nexport const MenuLink = (props: Omit<NavLinkProps, 'style'>) => {\n const location = useLocation();\n\n // Helper function to remove trailing 's' from a string\n const singularize = (str: string) => str.replace(/s$/, '');\n\n // Check if 'to' path (singular version) matches any segment (singular version)\n const isActiveSingular = (to: string) => {\n const currentSegments = location.pathname.split('/').filter(Boolean);\n const latestToPath = to.split('/').filter(Boolean).slice(-1)[0]; // return only lates path removing any prepend path\n const singularizedToPath = singularize(latestToPath);\n\n return currentSegments.some((segment) => singularize(segment) === singularizedToPath);\n };\n\n return (\n <NavLink\n {...props}\n className={({ isActive }) =>\n classNames(styles['menu-link'], {\n [styles['menu-link--active']]: isActive || isActiveSingular(props.to as string),\n })\n }\n />\n );\n};\n"],"names":["MenuLink","props","location","useLocation","singularize","str","isActiveSingular","to","currentSegments","latestToPath","singularizedToPath","segment","jsx","NavLink","isActive","classNames","styles"],"mappings":";;;;;;GASaA,IAAW,CAACC,MAAuC;AAC9D,QAAMC,IAAWC,EAAY,GAGvBC,IAAc,CAACC,MAAgBA,EAAI,QAAQ,MAAM,EAAE,GAGnDC,IAAmB,CAACC,MAAe;AACvC,UAAMC,IAAkBN,EAAS,SAAS,MAAM,GAAG,EAAE,OAAO,OAAO,GAC7DO,IAAeF,EAAG,MAAM,GAAG,EAAE,OAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GACxDG,IAAqBN,EAAYK,CAAY;AAEnD,WAAOD,EAAgB,KAAK,CAACG,MAAYP,EAAYO,CAAO,MAAMD,CAAkB;AAAA,EACtF;AAGE,SAAA,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGZ;AAAA,MACJ,WAAW,CAAC,EAAE,UAAAa,EAAA,MACZC,EAAWC,EAAO,WAAW,GAAG;AAAA,QAC9B,CAACA,EAAO,mBAAmB,CAAC,GAAGF,KAAYR,EAAiBL,EAAM,EAAY;AAAA,MAC/E,CAAA;AAAA,IAAA;AAAA,EAEL;AAEJ;"}
1
+ {"version":3,"file":"MenuLink.js","sources":["../../../src/components/MenuLink/MenuLink.tsx"],"sourcesContent":["import classNames from 'clsx';\nimport { NavLink, useLocation } from 'react-router';\n\nimport type { NavLinkProps } from 'react-router';\n\nimport styles from './MenuLink.module.css';\n\n/** Represents a component for a [NavLink](https://reactrouter.com/en/main/components/nav-link) with styling. */\n// Omit style so it cannot be accidentally used\nexport interface MenuLinkProps extends Omit<NavLinkProps, 'style'> {\n overrideDefault?: boolean;\n}\n\nexport const MenuLink = ({ overrideDefault, ...props }: MenuLinkProps) => {\n const location = useLocation();\n\n // Helper function to remove trailing 's' from a string\n const singularize = (str: string) => str.replace(/s$/, '');\n\n // Check if 'to' path (singular version) matches any segment (singular version)\n const isActiveSingular = (to: string) => {\n const currentSegments = location.pathname.split('/').filter(Boolean);\n const latestToPath = to.split('/').filter(Boolean).slice(-1)[0]; // return only lates path removing any prepend path\n const singularizedToPath = singularize(latestToPath);\n\n return currentSegments.some((segment) => singularize(segment) === singularizedToPath);\n };\n\n return (\n <NavLink\n {...props}\n className={({ isActive }) =>\n classNames(styles['menu-link'], {\n [styles['menu-link--active']]: overrideDefault ? '' : isActive || isActiveSingular(props.to as string),\n })\n }\n />\n );\n};\n"],"names":["MenuLink","overrideDefault","props","location","useLocation","singularize","str","isActiveSingular","to","currentSegments","latestToPath","singularizedToPath","segment","jsx","NavLink","isActive","classNames","styles"],"mappings":";;;;;;GAaaA,IAAW,CAAC,EAAE,iBAAAC,GAAiB,GAAGC,QAA2B;AACxE,QAAMC,IAAWC,EAAY,GAGvBC,IAAc,CAACC,MAAgBA,EAAI,QAAQ,MAAM,EAAE,GAGnDC,IAAmB,CAACC,MAAe;AACvC,UAAMC,IAAkBN,EAAS,SAAS,MAAM,GAAG,EAAE,OAAO,OAAO,GAC7DO,IAAeF,EAAG,MAAM,GAAG,EAAE,OAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GACxDG,IAAqBN,EAAYK,CAAY;AAEnD,WAAOD,EAAgB,KAAK,CAACG,MAAYP,EAAYO,CAAO,MAAMD,CAAkB;AAAA,EACtF;AAGE,SAAA,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGZ;AAAA,MACJ,WAAW,CAAC,EAAE,UAAAa,EAAA,MACZC,EAAWC,EAAO,WAAW,GAAG;AAAA,QAC9B,CAACA,EAAO,mBAAmB,CAAC,GAAGhB,IAAkB,KAAKc,KAAYR,EAAiBL,EAAM,EAAY;AAAA,MACtG,CAAA;AAAA,IAAA;AAAA,EAEL;AAEJ;"}
@@ -1,5 +1,7 @@
1
1
  import { NavLinkProps } from 'react-router';
2
2
  import { Meta } from '@storybook/react';
3
+ import { MenuLinkProps } from './MenuLink';
3
4
  declare const _default: Meta<Omit<NavLinkProps, "style">>;
4
5
  export default _default;
5
- export declare const MenuLinkExample: import('@storybook/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, Omit<NavLinkProps, "style">>;
6
+ export declare const MenuLinkExample: import('@storybook/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, Omit<MenuLinkProps, "style">>;
7
+ export declare const MenuLinkOverrideDefaultBehavior: import('@storybook/csf').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, Omit<MenuLinkProps, "style">>;
@@ -1,23 +1,28 @@
1
- import { jsx as e } from "react/jsx-runtime";
1
+ import { jsx as n } from "react/jsx-runtime";
2
2
  import { MemoryRouter as o } from "react-router";
3
3
  import { MenuLink as t } from "./MenuLink.js";
4
- import '../../assets/MenuLink2.css';const r = `
4
+ import '../../assets/MenuLink2.css';const a = `
5
5
  // Can only be used wrapped in a 'react-router' <MemoryRouter />
6
6
  <MenuLink to={linkUrl}>{children}</MenuLink>
7
- `, s = {
7
+ `, c = {
8
8
  title: "Atoms/MenuLink",
9
9
  component: t,
10
10
  parameters: {
11
11
  inspectComponent: t,
12
- codeString: r
12
+ codeString: a
13
13
  }
14
14
  }, i = [
15
15
  { to: "/menu-link-1", title: "Menu Link One" },
16
16
  { to: "/menu-link-2", title: "Menu Link Two" },
17
17
  { to: "/menu-link-3", title: "Menu Link Three" }
18
- ], m = () => /* @__PURE__ */ e(o, { initialEntries: i.map((n) => n.to), initialIndex: 0, children: /* @__PURE__ */ e("nav", { className: "navbar", children: i.map((n) => /* @__PURE__ */ e(t, { to: n.to, children: n.title }, n.to)) }) }), c = m.bind({});
18
+ ], l = () => /* @__PURE__ */ n(o, { initialEntries: i.map((e) => e.to), initialIndex: 0, children: /* @__PURE__ */ n("nav", { className: "navbar", children: i.map((e) => /* @__PURE__ */ n(t, { to: e.to, children: e.title }, e.to)) }) }), k = l.bind({}), r = [
19
+ { to: "/menu-link-1", title: "Menu Link One (no default behavior)", overrideDefaultBehavior: !0 },
20
+ { to: "/menu-link-2", title: "Menu Link Two", overrideDefaultBehavior: !1 },
21
+ { to: "/menu-link-3", title: "Menu Link Three", overrideDefaultBehavior: !1 }
22
+ ], u = () => /* @__PURE__ */ n(o, { initialEntries: r.map((e) => e.to), initialIndex: 0, children: /* @__PURE__ */ n("nav", { className: "navbar", children: r.map((e) => /* @__PURE__ */ n(t, { to: e.to, overrideDefault: e.overrideDefaultBehavior, children: e.title }, e.to)) }) }), v = u.bind({});
19
23
  export {
20
- c as MenuLinkExample,
21
- s as default
24
+ k as MenuLinkExample,
25
+ v as MenuLinkOverrideDefaultBehavior,
26
+ c as default
22
27
  };
23
28
  //# sourceMappingURL=MenuLink.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuLink.stories.js","sources":["../../../src/components/MenuLink/MenuLink.stories.tsx"],"sourcesContent":["import { MemoryRouter, type NavLinkProps } from 'react-router';\n\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { MenuLink } from './MenuLink';\n\nimport './MenuLink.stories.css';\n\nconst codeString = `\n// Can only be used wrapped in a 'react-router' <MemoryRouter />\n <MenuLink to={linkUrl}>{children}</MenuLink>\n`;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/MenuLink',\n component: MenuLink,\n parameters: {\n inspectComponent: MenuLink,\n codeString: codeString,\n },\n} as Meta<Omit<NavLinkProps, 'style'>>;\n\nconst menuLinks = [\n { to: '/menu-link-1', title: 'Menu Link One' },\n { to: '/menu-link-2', title: 'Menu Link Two' },\n { to: '/menu-link-3', title: 'Menu Link Three' },\n];\n\nconst Template: StoryFn<Omit<NavLinkProps, 'style'>> = () => {\n return (\n <MemoryRouter initialEntries={menuLinks.map((link) => link.to)} initialIndex={0}>\n <nav className=\"navbar\">\n {menuLinks.map((link) => (\n <MenuLink key={link.to} to={link.to}>\n {link.title}\n </MenuLink>\n ))}\n </nav>\n </MemoryRouter>\n );\n};\n\nexport const MenuLinkExample = Template.bind({});\n"],"names":["codeString","MenuLink_stories","MenuLink","menuLinks","Template","jsx","MemoryRouter","link","MenuLinkExample"],"mappings":";;;AAQA,MAAMA,IAAa;AAAA;AAAA;AAAA,GAMJC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAY;AAAA,EAChB,EAAE,IAAI,gBAAgB,OAAO,gBAAgB;AAAA,EAC7C,EAAE,IAAI,gBAAgB,OAAO,gBAAgB;AAAA,EAC7C,EAAE,IAAI,gBAAgB,OAAO,kBAAkB;AACjD,GAEMC,IAAiD,MAElD,gBAAAC,EAAAC,GAAA,EAAa,gBAAgBH,EAAU,IAAI,CAACI,MAASA,EAAK,EAAE,GAAG,cAAc,GAC5E,4BAAC,OAAI,EAAA,WAAU,UACZ,UAAAJ,EAAU,IAAI,CAACI,MACd,gBAAAF,EAACH,KAAuB,IAAIK,EAAK,IAC9B,UAAAA,EAAK,MADO,GAAAA,EAAK,EAEpB,CACD,EACH,CAAA,GACF,GAISC,IAAkBJ,EAAS,KAAK,CAAE,CAAA;"}
1
+ {"version":3,"file":"MenuLink.stories.js","sources":["../../../src/components/MenuLink/MenuLink.stories.tsx"],"sourcesContent":["import { MemoryRouter, type NavLinkProps } from 'react-router';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { MenuLinkProps } from './MenuLink';\n\nimport { MenuLink } from './MenuLink';\n\nimport './MenuLink.stories.css';\n\nconst codeString = `\n// Can only be used wrapped in a 'react-router' <MemoryRouter />\n <MenuLink to={linkUrl}>{children}</MenuLink>\n`;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/MenuLink',\n component: MenuLink,\n parameters: {\n inspectComponent: MenuLink,\n codeString: codeString,\n },\n} as Meta<Omit<NavLinkProps, 'style'>>;\n\nconst menuLinks = [\n { to: '/menu-link-1', title: 'Menu Link One' },\n { to: '/menu-link-2', title: 'Menu Link Two' },\n { to: '/menu-link-3', title: 'Menu Link Three' },\n];\n\nconst Template: StoryFn<Omit<MenuLinkProps, 'style'>> = () => {\n return (\n <MemoryRouter initialEntries={menuLinks.map((link) => link.to)} initialIndex={0}>\n <nav className=\"navbar\">\n {menuLinks.map((link) => (\n <MenuLink key={link.to} to={link.to}>\n {link.title}\n </MenuLink>\n ))}\n </nav>\n </MemoryRouter>\n );\n};\n\nexport const MenuLinkExample = Template.bind({});\n\nconst menuLinks02 = [\n { to: '/menu-link-1', title: 'Menu Link One (no default behavior)', overrideDefaultBehavior: true },\n { to: '/menu-link-2', title: 'Menu Link Two', overrideDefaultBehavior: false },\n { to: '/menu-link-3', title: 'Menu Link Three', overrideDefaultBehavior: false },\n];\n\nconst TemplateMenuLinkOverrideDefaultBehavior: StoryFn<Omit<MenuLinkProps, 'style'>> = () => {\n return (\n <MemoryRouter initialEntries={menuLinks02.map((link) => link.to)} initialIndex={0}>\n <nav className=\"navbar\">\n {menuLinks02.map((link) => (\n <MenuLink key={link.to} to={link.to} overrideDefault={link.overrideDefaultBehavior}>\n {link.title}\n </MenuLink>\n ))}\n </nav>\n </MemoryRouter>\n );\n};\n\nexport const MenuLinkOverrideDefaultBehavior = TemplateMenuLinkOverrideDefaultBehavior.bind({});\n"],"names":["codeString","MenuLink_stories","MenuLink","menuLinks","Template","jsx","MemoryRouter","link","MenuLinkExample","menuLinks02","TemplateMenuLinkOverrideDefaultBehavior","MenuLinkOverrideDefaultBehavior"],"mappings":";;;AASA,MAAMA,IAAa;AAAA;AAAA;AAAA,GAMJC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAY;AAAA,EAChB,EAAE,IAAI,gBAAgB,OAAO,gBAAgB;AAAA,EAC7C,EAAE,IAAI,gBAAgB,OAAO,gBAAgB;AAAA,EAC7C,EAAE,IAAI,gBAAgB,OAAO,kBAAkB;AACjD,GAEMC,IAAkD,MAEnD,gBAAAC,EAAAC,GAAA,EAAa,gBAAgBH,EAAU,IAAI,CAACI,MAASA,EAAK,EAAE,GAAG,cAAc,GAC5E,4BAAC,OAAI,EAAA,WAAU,UACZ,UAAAJ,EAAU,IAAI,CAACI,MACd,gBAAAF,EAACH,KAAuB,IAAIK,EAAK,IAC9B,UAAAA,EAAK,MADO,GAAAA,EAAK,EAEpB,CACD,EACH,CAAA,GACF,GAISC,IAAkBJ,EAAS,KAAK,CAAE,CAAA,GAEzCK,IAAc;AAAA,EAClB,EAAE,IAAI,gBAAgB,OAAO,uCAAuC,yBAAyB,GAAK;AAAA,EAClG,EAAE,IAAI,gBAAgB,OAAO,iBAAiB,yBAAyB,GAAM;AAAA,EAC7E,EAAE,IAAI,gBAAgB,OAAO,mBAAmB,yBAAyB,GAAM;AACjF,GAEMC,IAAiF,MAElF,gBAAAL,EAAAC,GAAA,EAAa,gBAAgBG,EAAY,IAAI,CAACF,MAASA,EAAK,EAAE,GAAG,cAAc,GAC9E,UAAC,gBAAAF,EAAA,OAAA,EAAI,WAAU,UACZ,UAAAI,EAAY,IAAI,CAACF,MAChB,gBAAAF,EAACH,GAAuB,EAAA,IAAIK,EAAK,IAAI,iBAAiBA,EAAK,yBACxD,YAAK,MADO,GAAAA,EAAK,EAEpB,CACD,EACH,CAAA,GACF,GAISI,IAAkCD,EAAwC,KAAK,CAAE,CAAA;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@uva-glass/component-library",
3
3
  "author": "Team Glass - Frontend vrienden",
4
4
  "private": false,
5
- "version": "3.0.1",
5
+ "version": "3.0.3",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
@@ -49,20 +49,20 @@
49
49
  "@semantic-release/git": "^10.0.1",
50
50
  "@semantic-release/gitlab": "^13.2.4",
51
51
  "@semantic-release/npm": "^12.0.1",
52
- "@storybook/addon-a11y": "^8.5.0",
53
- "@storybook/addon-essentials": "^8.5.0",
54
- "@storybook/addon-links": "^8.5.0",
55
- "@storybook/blocks": "^8.5.0",
56
- "@storybook/manager-api": "^8.5.0",
57
- "@storybook/preview-api": "^8.5.0",
58
- "@storybook/react-vite": "^8.5.0",
59
- "@storybook/react": "^8.5.0",
60
- "@storybook/test": "^8.5.0",
61
- "@types/node": "^22.10.7",
52
+ "@storybook/addon-a11y": "^8.5.2",
53
+ "@storybook/addon-essentials": "^8.5.2",
54
+ "@storybook/addon-links": "^8.5.2",
55
+ "@storybook/blocks": "^8.5.2",
56
+ "@storybook/manager-api": "^8.5.2",
57
+ "@storybook/preview-api": "^8.5.2",
58
+ "@storybook/react-vite": "^8.5.2",
59
+ "@storybook/react": "^8.5.2",
60
+ "@storybook/test": "^8.5.2",
61
+ "@types/node": "^22.12.0",
62
62
  "@types/react-dom": "^19.0.3",
63
- "@types/react": "^19.0.7",
64
- "@uva-glass/eslint-config": "^1.3.1",
65
- "@uva-glass/stylelint-config": "^1.1.0",
63
+ "@types/react": "^19.0.8",
64
+ "@uva-glass/eslint-config": "^1.3.2",
65
+ "@uva-glass/stylelint-config": "^1.2.0",
66
66
  "@vitejs/plugin-react": "^4.3.4",
67
67
  "clsx": "^2.1.1",
68
68
  "eslint-plugin-react-hooks": "^5.1.0",
@@ -73,22 +73,22 @@
73
73
  "jsdom": "^26.0.0",
74
74
  "npm-run-all2": "^7.0.2",
75
75
  "react-dom": "^18.3.1",
76
- "react-router": "^7.1.3",
76
+ "react-router": "^7.1.4",
77
77
  "react": "^18.3.1",
78
78
  "semantic-release": "^24.2.1",
79
- "storybook": "^8.5.0",
80
- "style-dictionary": "^4.3.0",
79
+ "storybook": "^8.5.2",
80
+ "style-dictionary": "^4.3.2",
81
81
  "stylelint-config-recommended": "^15.0.0",
82
82
  "stylelint-config-standard": "^37.0.0",
83
83
  "stylelint-order": "^6.0.4",
84
- "stylelint": "^16.13.2",
84
+ "stylelint": "^16.14.1",
85
85
  "typescript": "^5.7.3",
86
86
  "vite-plugin-dts": "^4.5.0",
87
87
  "vite-plugin-lib-inject-css": "^2.2.1",
88
88
  "vite-plugin-static-copy": "^2.2.0",
89
89
  "vite-plugin-svgr": "^4.3.0",
90
90
  "vite-tsconfig-paths": "^5.1.4",
91
- "vite": "^6.0.9"
91
+ "vite": "^6.0.11"
92
92
  },
93
93
  "dependencies": {
94
94
  "@lexical/link": "^0.23.1",