@uva-glass/component-library 1.9.0 → 1.11.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.
@@ -0,0 +1 @@
1
+ .fieldset{border:0;display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0}
@@ -0,0 +1 @@
1
+ ._radio-button_1if7s_1{align-items:center;display:grid;gap:0 .5rem;grid-template-columns:auto [label] 1fr}._radio-button_1if7s_1 ._radio-button__input_1if7s_8{cursor:pointer;margin-top:0}._radio-button__label_1if7s_13{cursor:pointer;display:flex;flex-direction:column}._radio-button__description_1if7s_19{color:var(--color-scarpa-flow);grid-area:label;margin:0}._radio-button_1if7s_1 ._radio-button__label_1if7s_13{width:fit-content}._radio-button_1if7s_1 :disabled+._radio-button__label_1if7s_13{color:var(--color-scarpa-flow);cursor:unset}._radio-button--gap-large_1if7s_34{column-gap:1rem}
@@ -0,0 +1,9 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+
3
+ export interface RadioButtonProps extends InputHTMLAttributes<HTMLInputElement> {
4
+ id: string;
5
+ label: string;
6
+ description?: string;
7
+ gap?: 'normal' | 'large';
8
+ }
9
+ export declare const RadioButton: ({ id, label, gap, description, ...restProps }: RadioButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,26 @@
1
+ import { jsxs as s, jsx as a } from "react/jsx-runtime";
2
+ import { c as d } from "../../clsx-DB4S2d7J.js";
3
+ import '../../assets/RadioButton2.css';const t = {
4
+ "radio-button": "_radio-button_1if7s_1",
5
+ "radio-button__input": "_radio-button__input_1if7s_8",
6
+ "radio-button__label": "_radio-button__label_1if7s_13",
7
+ "radio-button__description": "_radio-button__description_1if7s_19",
8
+ "radio-button--gap-large": "_radio-button--gap-large_1if7s_34"
9
+ }, l = ({ id: o, label: r, gap: _ = "normal", description: i, ...n }) => /* @__PURE__ */ s("div", { className: d(t["radio-button"], t[`radio-button--gap-${_}`]), children: [
10
+ /* @__PURE__ */ a(
11
+ "input",
12
+ {
13
+ className: t["radio-button__input"],
14
+ ...n,
15
+ id: o,
16
+ type: "radio",
17
+ "aria-describedby": i ? `${o}-description` : void 0
18
+ }
19
+ ),
20
+ /* @__PURE__ */ a("label", { className: t["radio-button__label"], htmlFor: o, children: r }),
21
+ i && /* @__PURE__ */ a("p", { id: `${o}-description`, className: t["radio-button__description"], children: i })
22
+ ] });
23
+ export {
24
+ l as RadioButton
25
+ };
26
+ //# sourceMappingURL=RadioButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButton.js","sources":["../../../src/components/RadioButton/RadioButton.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nimport type { InputHTMLAttributes } from 'react';\n\nimport styles from './RadioButton.module.css';\n\nexport interface RadioButtonProps extends InputHTMLAttributes<HTMLInputElement> {\n id: string;\n label: string;\n description?: string;\n gap?: 'normal' | 'large';\n}\n\nexport const RadioButton = ({ id, label, gap = 'normal', description, ...restProps }: RadioButtonProps) => (\n <div className={clsx(styles['radio-button'], styles[`radio-button--gap-${gap}`])}>\n <input\n className={styles['radio-button__input']}\n {...restProps}\n id={id}\n type=\"radio\"\n aria-describedby={description ? `${id}-description` : undefined}\n />\n <label className={styles['radio-button__label']} htmlFor={id}>\n {label}\n </label>\n {description && (\n <p id={`${id}-description`} className={styles['radio-button__description']}>\n {description}\n </p>\n )}\n </div>\n);\n"],"names":["RadioButton","id","label","gap","description","restProps","clsx","styles","jsx"],"mappings":";;;;;;;;GAaaA,IAAc,CAAC,EAAE,IAAAC,GAAI,OAAAC,GAAO,KAAAC,IAAM,UAAU,aAAAC,GAAa,GAAGC,0BACtE,OAAI,EAAA,WAAWC,EAAKC,EAAO,cAAc,GAAGA,EAAO,qBAAqBJ,CAAG,EAAE,CAAC,GAC7E,UAAA;AAAA,EAAA,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWD,EAAO,qBAAqB;AAAA,MACtC,GAAGF;AAAA,MACJ,IAAAJ;AAAA,MACA,MAAK;AAAA,MACL,oBAAkBG,IAAc,GAAGH,CAAE,iBAAiB;AAAA,IAAA;AAAA,EACxD;AAAA,EACA,gBAAAO,EAAC,WAAM,WAAWD,EAAO,qBAAqB,GAAG,SAASN,GACvD,UACHC,GAAA;AAAA,EACCE,KACE,gBAAAI,EAAA,KAAA,EAAE,IAAI,GAAGP,CAAE,gBAAgB,WAAWM,EAAO,2BAA2B,GACtE,UACHH,EAAA,CAAA;AAAA,EAEJ,CAAA;"}
@@ -0,0 +1,5 @@
1
+ import { RadioButtonProps } from './RadioButton';
2
+
3
+ declare const _default: import('@storybook/types').ComponentAnnotations<import('@storybook/react').ReactRenderer, RadioButtonProps>;
4
+ export default _default;
5
+ export declare const RadioButtonExample: import('@storybook/types').AnnotatedStoryFn<import('@storybook/react').ReactRenderer, RadioButtonProps>;
@@ -0,0 +1,35 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { RadioButton as t } from "./RadioButton.js";
3
+ import '../../assets/RadioButton.css';const d = {
4
+ title: "Atoms/RadioButton",
5
+ component: t,
6
+ argTypes: {
7
+ id: {
8
+ control: "text"
9
+ },
10
+ label: {
11
+ control: "text"
12
+ },
13
+ description: {
14
+ control: "text"
15
+ },
16
+ disabled: {
17
+ control: "boolean"
18
+ },
19
+ gap: {
20
+ control: "radio"
21
+ }
22
+ }
23
+ }, l = (e) => /* @__PURE__ */ o("fieldset", { className: "fieldset", children: /* @__PURE__ */ o(t, { ...e }) }), a = l.bind({});
24
+ a.args = {
25
+ gap: "normal",
26
+ disabled: !1,
27
+ label: "Sample label",
28
+ description: "Sample description",
29
+ id: "de501f21"
30
+ };
31
+ export {
32
+ a as RadioButtonExample,
33
+ d as default
34
+ };
35
+ //# sourceMappingURL=RadioButton.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButton.stories.js","sources":["../../../src/components/RadioButton/RadioButton.stories.tsx"],"sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport type { RadioButtonProps } from './RadioButton';\n\nimport { RadioButton } from './RadioButton';\nimport './RadioButton.stories.css';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/RadioButton',\n component: RadioButton,\n argTypes: {\n id: {\n control: 'text',\n },\n label: {\n control: 'text',\n },\n description: {\n control: 'text',\n },\n disabled: {\n control: 'boolean',\n },\n gap: {\n control: 'radio',\n },\n },\n} as Meta<RadioButtonProps>;\n\nconst Template: StoryFn<RadioButtonProps> = (args) => (\n <fieldset className=\"fieldset\">\n <RadioButton {...args} />\n </fieldset>\n);\n\nexport const RadioButtonExample = Template.bind({});\nRadioButtonExample.args = {\n gap: 'normal',\n disabled: false,\n label: 'Sample label',\n description: 'Sample description',\n id: 'de501f21',\n};\n"],"names":["RadioButton_stories","RadioButton","Template","args","jsx","RadioButtonExample"],"mappings":";;AAOA,MAAeA,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,IAAI;AAAA,MACF,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,KAAK;AAAA,MACH,SAAS;AAAA,IACX;AAAA,EACF;AACF,GAEMC,IAAsC,CAACC,MAC1C,gBAAAC,EAAA,YAAA,EAAS,WAAU,YAClB,UAAC,gBAAAA,EAAAH,GAAA,EAAa,GAAGE,EAAM,CAAA,EACzB,CAAA,GAGWE,IAAqBH,EAAS,KAAK,EAAE;AAClDG,EAAmB,OAAO;AAAA,EACxB,KAAK;AAAA,EACL,UAAU;AAAA,EACV,OAAO;AAAA,EACP,aAAa;AAAA,EACb,IAAI;AACN;"}
@@ -0,0 +1 @@
1
+ export * from './RadioButton';
@@ -0,0 +1,5 @@
1
+ import { RadioButton as r } from "./RadioButton.js";
2
+ export {
3
+ r as RadioButton
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,8 +1,8 @@
1
1
  export interface SpinnerProps {
2
2
  ariaValueText: string;
3
3
  /** Delay in milliseconds after which the spinner becomes visible. The default is 250. */
4
- visibleAfter?: number;
4
+ showAfterMs?: number;
5
5
  centered?: boolean;
6
6
  fullScreen?: boolean;
7
7
  }
8
- export declare const Spinner: ({ ariaValueText, centered, fullScreen, visibleAfter }: SpinnerProps) => import("react/jsx-runtime").JSX.Element | null;
8
+ export declare const Spinner: ({ ariaValueText, centered, fullScreen, showAfterMs }: SpinnerProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,14 +1,14 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { useState as p, useEffect as l } from "react";
3
- import { c as u } from "../../clsx-DB4S2d7J.js";
2
+ import { c as l } from "../../clsx-DB4S2d7J.js";
3
+ import { useState as p, useEffect as u } from "react";
4
4
  import '../../assets/Spinner.css';const _ = "_spinner_132ki_11", m = "_spin_132ki_11", n = {
5
5
  spinner: _,
6
6
  spin: m,
7
7
  "spinner-container--centered": "_spinner-container--centered_132ki_33",
8
8
  "spinner-container--full-screen": "_spinner-container--full-screen_132ki_40"
9
- }, f = 250, x = ({ ariaValueText: i, centered: s, fullScreen: t, visibleAfter: e = f }) => {
9
+ }, f = 250, v = ({ ariaValueText: i, centered: s, fullScreen: t, showAfterMs: e = f }) => {
10
10
  const [c, o] = p(() => e === 0);
11
- return l(() => {
11
+ return u(() => {
12
12
  if (e === 0)
13
13
  return;
14
14
  const a = window.setTimeout(() => {
@@ -20,7 +20,7 @@ import '../../assets/Spinner.css';const _ = "_spinner_132ki_11", m = "_spin_132k
20
20
  }), c ? /* @__PURE__ */ r(
21
21
  "div",
22
22
  {
23
- className: u(n["spinner-container"], {
23
+ className: l(n["spinner-container"], {
24
24
  [n["spinner-container--centered"]]: s,
25
25
  [n["spinner-container--full-screen"]]: t
26
26
  }),
@@ -29,6 +29,6 @@ import '../../assets/Spinner.css';const _ = "_spinner_132ki_11", m = "_spin_132k
29
29
  ) : null;
30
30
  };
31
31
  export {
32
- x as Spinner
32
+ v as Spinner
33
33
  };
34
34
  //# sourceMappingURL=Spinner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.js","sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { clsx } from 'clsx';\n\nimport styles from './Spinner.module.css';\n\nconst DEFAULT_DELAY_IN_MS = 250;\n\nexport interface SpinnerProps {\n ariaValueText: string;\n /** Delay in milliseconds after which the spinner becomes visible. The default is 250. */\n visibleAfter?: number;\n centered?: boolean;\n fullScreen?: boolean;\n}\n\nexport const Spinner = ({ ariaValueText, centered, fullScreen, visibleAfter = DEFAULT_DELAY_IN_MS }: SpinnerProps) => {\n const [visible, setVisible] = useState(() => (visibleAfter === 0 ? true : false));\n\n useEffect(() => {\n if (visibleAfter === 0) {\n return;\n }\n const t = window.setTimeout(() => {\n setVisible(true);\n }, visibleAfter);\n\n return () => {\n window.clearTimeout(t);\n };\n });\n\n if (!visible) {\n return null;\n }\n\n return (\n <div\n className={clsx(styles['spinner-container'], {\n [styles['spinner-container--centered']]: centered,\n [styles['spinner-container--full-screen']]: fullScreen,\n })}\n >\n <div className={styles['spinner']} role=\"progressbar\" aria-label=\"Spinner\" aria-valuetext={ariaValueText}></div>\n </div>\n );\n};\n"],"names":["DEFAULT_DELAY_IN_MS","Spinner","ariaValueText","centered","fullScreen","visibleAfter","visible","setVisible","useState","useEffect","t","jsx","clsx","styles"],"mappings":";;;;;;;;GAKMA,IAAsB,KAUfC,IAAU,CAAC,EAAE,eAAAC,GAAe,UAAAC,GAAU,YAAAC,GAAY,cAAAC,IAAeL,QAAwC;AAC9G,QAAA,CAACM,GAASC,CAAU,IAAIC,EAAS,MAAOH,MAAiB,CAAiB;AAehF,SAbAI,EAAU,MAAM;AACd,QAAIJ,MAAiB;AACnB;AAEI,UAAAK,IAAI,OAAO,WAAW,MAAM;AAChC,MAAAH,EAAW,EAAI;AAAA,OACdF,CAAY;AAEf,WAAO,MAAM;AACX,aAAO,aAAaK,CAAC;AAAA,IAAA;AAAA,EACvB,CACD,GAEIJ,IAKH,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKC,EAAO,mBAAmB,GAAG;AAAA,QAC3C,CAACA,EAAO,6BAA6B,CAAC,GAAGV;AAAA,QACzC,CAACU,EAAO,gCAAgC,CAAC,GAAGT;AAAA,MAAA,CAC7C;AAAA,MAED,UAAA,gBAAAO,EAAC,OAAI,EAAA,WAAWE,EAAO,SAAY,MAAK,eAAc,cAAW,WAAU,kBAAgBX,EAAe,CAAA;AAAA,IAAA;AAAA,EAAA,IAVrG;AAaX;"}
1
+ {"version":3,"file":"Spinner.js","sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useEffect, useState } from 'react';\n\nimport styles from './Spinner.module.css';\n\nconst DEFAULT_DELAY_IN_MS = 250;\n\nexport interface SpinnerProps {\n ariaValueText: string;\n /** Delay in milliseconds after which the spinner becomes visible. The default is 250. */\n showAfterMs?: number;\n centered?: boolean;\n fullScreen?: boolean;\n}\n\nexport const Spinner = ({ ariaValueText, centered, fullScreen, showAfterMs = DEFAULT_DELAY_IN_MS }: SpinnerProps) => {\n const [visible, setVisible] = useState(() => (showAfterMs === 0 ? true : false));\n\n useEffect(() => {\n if (showAfterMs === 0) {\n return;\n }\n const t = window.setTimeout(() => {\n setVisible(true);\n }, showAfterMs);\n\n return () => {\n window.clearTimeout(t);\n };\n });\n\n if (!visible) {\n return null;\n }\n\n return (\n <div\n className={clsx(styles['spinner-container'], {\n [styles['spinner-container--centered']]: centered,\n [styles['spinner-container--full-screen']]: fullScreen,\n })}\n >\n <div className={styles['spinner']} role=\"progressbar\" aria-label=\"Spinner\" aria-valuetext={ariaValueText}></div>\n </div>\n );\n};\n"],"names":["DEFAULT_DELAY_IN_MS","Spinner","ariaValueText","centered","fullScreen","showAfterMs","visible","setVisible","useState","useEffect","t","jsx","clsx","styles"],"mappings":";;;;;;;;GAKMA,IAAsB,KAUfC,IAAU,CAAC,EAAE,eAAAC,GAAe,UAAAC,GAAU,YAAAC,GAAY,aAAAC,IAAcL,QAAwC;AAC7G,QAAA,CAACM,GAASC,CAAU,IAAIC,EAAS,MAAOH,MAAgB,CAAiB;AAe/E,SAbAI,EAAU,MAAM;AACd,QAAIJ,MAAgB;AAClB;AAEI,UAAAK,IAAI,OAAO,WAAW,MAAM;AAChC,MAAAH,EAAW,EAAI;AAAA,OACdF,CAAW;AAEd,WAAO,MAAM;AACX,aAAO,aAAaK,CAAC;AAAA,IAAA;AAAA,EACvB,CACD,GAEIJ,IAKH,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKC,EAAO,mBAAmB,GAAG;AAAA,QAC3C,CAACA,EAAO,6BAA6B,CAAC,GAAGV;AAAA,QACzC,CAACU,EAAO,gCAAgC,CAAC,GAAGT;AAAA,MAAA,CAC7C;AAAA,MAED,UAAA,gBAAAO,EAAC,OAAI,EAAA,WAAWE,EAAO,SAAY,MAAK,eAAc,cAAW,WAAU,kBAAgBX,EAAe,CAAA;AAAA,IAAA;AAAA,EAAA,IAVrG;AAaX;"}
@@ -1,6 +1,6 @@
1
- import { jsx as l } from "react/jsx-runtime";
1
+ import { jsx as a } from "react/jsx-runtime";
2
2
  import { Spinner as r } from "./Spinner.js";
3
- const c = {
3
+ const i = {
4
4
  title: "Atoms/Spinner",
5
5
  component: r,
6
6
  argTypes: {
@@ -13,29 +13,29 @@ const c = {
13
13
  fullScreen: {
14
14
  control: "boolean"
15
15
  },
16
- visibleAfter: {
16
+ showAfterMs: {
17
17
  control: "number"
18
18
  }
19
19
  }
20
- }, e = (o) => /* @__PURE__ */ l(r, { ...o }), t = e.bind({});
20
+ }, e = (o) => /* @__PURE__ */ a(r, { ...o }), t = e.bind({});
21
21
  t.args = {
22
22
  ariaValueText: "Example value text",
23
- visibleAfter: 250
23
+ showAfterMs: 250
24
24
  };
25
25
  const n = e.bind({});
26
26
  n.args = {
27
27
  ...t.args,
28
28
  centered: !0
29
29
  };
30
- const a = e.bind({});
31
- a.args = {
30
+ const l = e.bind({});
31
+ l.args = {
32
32
  ...n.args,
33
33
  fullScreen: !0
34
34
  };
35
35
  export {
36
36
  n as Centered,
37
- a as FullScreen,
37
+ l as FullScreen,
38
38
  t as SpinnerExample,
39
- c as default
39
+ i as default
40
40
  };
41
41
  //# sourceMappingURL=Spinner.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.stories.js","sources":["../../../src/components/Spinner/Spinner.stories.tsx"],"sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport type { SpinnerProps } from './Spinner';\n\nimport { Spinner } from './Spinner';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/Spinner',\n component: Spinner,\n argTypes: {\n ariaValueText: {\n control: 'text'\n },\n centered: {\n control: 'boolean'\n },\n fullScreen: {\n control: 'boolean'\n },\n visibleAfter: {\n control: 'number'\n }\n },\n} as Meta<SpinnerProps>;\n\nconst Template: StoryFn<SpinnerProps> = (args) => <Spinner {...args} />;\n\nexport const SpinnerExample = Template.bind({});\nSpinnerExample.args = {\n ariaValueText: 'Example value text',\n visibleAfter: 250\n};\n\nexport const Centered = Template.bind({});\nCentered.args = {\n ...SpinnerExample.args,\n centered: true\n};\n\nexport const FullScreen = Template.bind({});\nFullScreen.args = {\n ...Centered.args,\n fullScreen: true\n};\n"],"names":["Spinner_stories","Spinner","Template","args","jsx","SpinnerExample","Centered","FullScreen"],"mappings":";;AAMA,MAAeA,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,eAAe;AAAA,MACX,SAAS;AAAA,IACb;AAAA,IACA,UAAU;AAAA,MACN,SAAS;AAAA,IACb;AAAA,IACA,YAAY;AAAA,MACR,SAAS;AAAA,IACb;AAAA,IACA,cAAc;AAAA,MACV,SAAS;AAAA,IACb;AAAA,EACF;AACF,GAEMC,IAAkC,CAACC,MAAU,gBAAAC,EAAAH,GAAA,EAAS,GAAGE,EAAM,CAAA,GAExDE,IAAiBH,EAAS,KAAK,EAAE;AAC9CG,EAAe,OAAO;AAAA,EACpB,eAAe;AAAA,EACf,cAAc;AAChB;AAEO,MAAMC,IAAWJ,EAAS,KAAK,EAAE;AACxCI,EAAS,OAAO;AAAA,EACZ,GAAGD,EAAe;AAAA,EAClB,UAAU;AACd;AAEO,MAAME,IAAaL,EAAS,KAAK,EAAE;AAC1CK,EAAW,OAAO;AAAA,EACd,GAAGD,EAAS;AAAA,EACZ,YAAY;AAChB;"}
1
+ {"version":3,"file":"Spinner.stories.js","sources":["../../../src/components/Spinner/Spinner.stories.tsx"],"sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport type { SpinnerProps } from './Spinner';\n\nimport { Spinner } from './Spinner';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/Spinner',\n component: Spinner,\n argTypes: {\n ariaValueText: {\n control: 'text',\n },\n centered: {\n control: 'boolean',\n },\n fullScreen: {\n control: 'boolean',\n },\n showAfterMs: {\n control: 'number',\n },\n },\n} as Meta<SpinnerProps>;\n\nconst Template: StoryFn<SpinnerProps> = (args) => <Spinner {...args} />;\n\nexport const SpinnerExample = Template.bind({});\nSpinnerExample.args = {\n ariaValueText: 'Example value text',\n showAfterMs: 250,\n};\n\nexport const Centered = Template.bind({});\nCentered.args = {\n ...SpinnerExample.args,\n centered: true,\n};\n\nexport const FullScreen = Template.bind({});\nFullScreen.args = {\n ...Centered.args,\n fullScreen: true,\n};\n"],"names":["Spinner_stories","Spinner","Template","args","jsx","SpinnerExample","Centered","FullScreen"],"mappings":";;AAMA,MAAeA,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,eAAe;AAAA,MACb,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,IACX;AAAA,EACF;AACF,GAEMC,IAAkC,CAACC,MAAU,gBAAAC,EAAAH,GAAA,EAAS,GAAGE,EAAM,CAAA,GAExDE,IAAiBH,EAAS,KAAK,EAAE;AAC9CG,EAAe,OAAO;AAAA,EACpB,eAAe;AAAA,EACf,aAAa;AACf;AAEO,MAAMC,IAAWJ,EAAS,KAAK,EAAE;AACxCI,EAAS,OAAO;AAAA,EACd,GAAGD,EAAe;AAAA,EAClB,UAAU;AACZ;AAEO,MAAME,IAAaL,EAAS,KAAK,EAAE;AAC1CK,EAAW,OAAO;AAAA,EAChB,GAAGD,EAAS;AAAA,EACZ,YAAY;AACd;"}
@@ -7,6 +7,7 @@ export * from './InfoMessage';
7
7
  export * from './Input';
8
8
  export * from './InputField';
9
9
  export * from './Label';
10
+ export * from './RadioButton';
10
11
  export * from './SectionNotification';
11
12
  export * from './SelectListbox';
12
13
  export * from './SelectListbox/SelectProvider';
@@ -2,29 +2,31 @@ import { AppStatusBar as t } from "./AppStatusBar/AppStatusBar.js";
2
2
  import { Button as p } from "./Button/Button.js";
3
3
  import { Card as x } from "./Card/Card.js";
4
4
  import { Icon as n } from "./Icon/Icon.js";
5
- import { IconButton as c } from "./IconButton/IconButton.js";
5
+ import { IconButton as a } from "./IconButton/IconButton.js";
6
6
  import { InfoMessage as u } from "./InfoMessage/InfoMessage.js";
7
7
  import { Input as l } from "./Input/Input.js";
8
8
  import { InputField as I } from "./InputField/InputField.js";
9
9
  import { Label as B } from "./Label/Label.js";
10
- import { SectionNotification as L } from "./SectionNotification/SectionNotification.js";
11
- import { SelectListbox as v } from "./SelectListbox/SelectListbox.js";
12
- import { SelectProvider as C, useSelect as F } from "./SelectListbox/SelectProvider.js";
13
- import { Spinner as N } from "./Spinner/Spinner.js";
10
+ import { RadioButton as L } from "./RadioButton/RadioButton.js";
11
+ import { SectionNotification as v } from "./SectionNotification/SectionNotification.js";
12
+ import { SelectListbox as C } from "./SelectListbox/SelectListbox.js";
13
+ import { SelectProvider as M, useSelect as N } from "./SelectListbox/SelectProvider.js";
14
+ import { Spinner as R } from "./Spinner/Spinner.js";
14
15
  export {
15
16
  t as AppStatusBar,
16
17
  p as Button,
17
18
  x as Card,
18
19
  n as Icon,
19
- c as IconButton,
20
+ a as IconButton,
20
21
  u as InfoMessage,
21
22
  l as Input,
22
23
  I as InputField,
23
24
  B as Label,
24
- L as SectionNotification,
25
- v as SelectListbox,
26
- C as SelectProvider,
27
- N as Spinner,
28
- F as useSelect
25
+ L as RadioButton,
26
+ v as SectionNotification,
27
+ C as SelectListbox,
28
+ M as SelectProvider,
29
+ R as Spinner,
30
+ N as useSelect
29
31
  };
30
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -2,29 +2,31 @@ import { AppStatusBar as t } from "./components/AppStatusBar/AppStatusBar.js";
2
2
  import { Button as p } from "./components/Button/Button.js";
3
3
  import { Card as x } from "./components/Card/Card.js";
4
4
  import { Icon as n } from "./components/Icon/Icon.js";
5
- import { IconButton as c } from "./components/IconButton/IconButton.js";
5
+ import { IconButton as a } from "./components/IconButton/IconButton.js";
6
6
  import { InfoMessage as u } from "./components/InfoMessage/InfoMessage.js";
7
7
  import { Input as l } from "./components/Input/Input.js";
8
8
  import { InputField as I } from "./components/InputField/InputField.js";
9
9
  import { Label as B } from "./components/Label/Label.js";
10
- import { SectionNotification as L } from "./components/SectionNotification/SectionNotification.js";
11
- import { SelectListbox as v } from "./components/SelectListbox/SelectListbox.js";
12
- import { SelectProvider as C, useSelect as F } from "./components/SelectListbox/SelectProvider.js";
13
- import { Spinner as N } from "./components/Spinner/Spinner.js";
10
+ import { RadioButton as L } from "./components/RadioButton/RadioButton.js";
11
+ import { SectionNotification as v } from "./components/SectionNotification/SectionNotification.js";
12
+ import { SelectListbox as C } from "./components/SelectListbox/SelectListbox.js";
13
+ import { SelectProvider as M, useSelect as N } from "./components/SelectListbox/SelectProvider.js";
14
+ import { Spinner as R } from "./components/Spinner/Spinner.js";
14
15
  export {
15
16
  t as AppStatusBar,
16
17
  p as Button,
17
18
  x as Card,
18
19
  n as Icon,
19
- c as IconButton,
20
+ a as IconButton,
20
21
  u as InfoMessage,
21
22
  l as Input,
22
23
  I as InputField,
23
24
  B as Label,
24
- L as SectionNotification,
25
- v as SelectListbox,
26
- C as SelectProvider,
27
- N as Spinner,
28
- F as useSelect
25
+ L as RadioButton,
26
+ v as SectionNotification,
27
+ C as SelectListbox,
28
+ M as SelectProvider,
29
+ R as Spinner,
30
+ N as useSelect
29
31
  };
30
32
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
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": "1.9.0",
5
+ "version": "1.11.0",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
@@ -44,22 +44,22 @@
44
44
  "@semantic-release/git": "^10.0.1",
45
45
  "@semantic-release/gitlab": "^13.1.0",
46
46
  "@semantic-release/npm": "^12.0.1",
47
- "@storybook/addon-a11y": "^8.1.2",
48
- "@storybook/addon-essentials": "^8.1.2",
49
- "@storybook/addon-interactions": "^8.1.2",
50
- "@storybook/addon-links": "^8.1.2",
51
- "@storybook/blocks": "^8.1.2",
52
- "@storybook/react": "^8.1.2",
53
- "@storybook/react-vite": "^8.1.2",
54
- "@storybook/test": "^8.1.2",
47
+ "@storybook/addon-a11y": "^8.1.3",
48
+ "@storybook/addon-essentials": "^8.1.3",
49
+ "@storybook/addon-interactions": "^8.1.3",
50
+ "@storybook/addon-links": "^8.1.3",
51
+ "@storybook/blocks": "^8.1.3",
52
+ "@storybook/react": "^8.1.3",
53
+ "@storybook/react-vite": "^8.1.3",
54
+ "@storybook/test": "^8.1.3",
55
55
  "@types/node": "^20.12.12",
56
- "@types/react": "^18.3.2",
56
+ "@types/react": "^18.3.3",
57
57
  "@types/react-dom": "^18.3.0",
58
58
  "@typescript-eslint/eslint-plugin": "^7.10.0",
59
59
  "@typescript-eslint/parser": "^7.10.0",
60
60
  "@uva-glass/eslint-config": "^1.2.0",
61
61
  "@uva-glass/stylelint-config": "^1.1.0",
62
- "@vitejs/plugin-react": "^4.2.1",
62
+ "@vitejs/plugin-react": "^4.3.0",
63
63
  "clsx": "^2.1.1",
64
64
  "eslint": "^8.57.0",
65
65
  "eslint-config-prettier": "^9.1.0",
@@ -68,18 +68,18 @@
68
68
  "eslint-plugin-react-hooks": "^4.6.2",
69
69
  "eslint-plugin-react-refresh": "^0.4.7",
70
70
  "eslint-plugin-storybook": "^0.8.0",
71
- "glob": "^10.3.16",
71
+ "glob": "^10.4.1",
72
72
  "jest": "^29.7.0",
73
73
  "jest-environment-jsdom": "^29.7.0",
74
74
  "jest-junit": "^16.0.0",
75
- "jsdom": "^24.0.0",
75
+ "jsdom": "^24.1.0",
76
76
  "npm-run-all2": "^6.2.0",
77
77
  "react": "^18.3.1",
78
78
  "react-dom": "^18.3.1",
79
79
  "semantic-release": "^23.1.1",
80
- "storybook": "^8.1.2",
80
+ "storybook": "^8.1.3",
81
81
  "style-dictionary": "^3.9.2",
82
- "stylelint": "^16.5.0",
82
+ "stylelint": "^16.6.0",
83
83
  "stylelint-config-recommended": "^14.0.0",
84
84
  "stylelint-config-standard": "^36.0.0",
85
85
  "stylelint-order": "^6.0.4",