@uva-glass/component-library 3.17.0 → 3.17.2
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/assets/OverlayStepBar.css +1 -1
- package/dist/components/OverlayStepBar/OverlayStepBar.d.ts +3 -1
- package/dist/components/OverlayStepBar/OverlayStepBar.js +22 -14
- package/dist/components/OverlayStepBar/OverlayStepBar.js.map +1 -1
- package/dist/components/OverlayStepBar/OverlayStepBar.stories.js +31 -13
- package/dist/components/OverlayStepBar/OverlayStepBar.stories.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
._overlay-step-
|
|
1
|
+
._overlay-step-bar__container_1w5f8_1{align-items:center;background-color:var(--color-grey-50);display:flex;height:2.5rem;justify-content:center;overflow-y:hidden}._overlay-step-bar__step-wrapper_1w5f8_10{background-color:var(--color-grey-50);height:100%;position:relative}._overlay-step-bar__step-wrapper_1w5f8_10:not(:last-child):after{border-bottom:1.5rem solid transparent;border-left:1rem solid var(--color-grey-50);border-top:1.5rem solid transparent;content:"";position:absolute;right:-.25rem;top:-.25rem;z-index:10}._overlay-step-bar__step-wrapper_1w5f8_10:not(:last-child):before{border-bottom:1.5rem solid transparent;border-left:1rem solid var(--color-white);border-top:1.5rem solid transparent;content:"";position:absolute;right:-.5rem;top:-.25rem;z-index:5}._overlay-step-bar__step_1w5f8_10{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--color-grey-500);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-default);gap:.5rem;height:100%;margin-left:.5rem;padding:0 2rem 0 1.5rem;position:relative;width:calc(100% - .75rem)}._overlay-step-bar__step--label_1w5f8_56{display:none;text-decoration:none}._overlay-step-bar__step_1w5f8_10:hover ._overlay-step-bar__step--index_1w5f8_61,._overlay-step-bar__step_1w5f8_10:hover ._overlay-step-bar__step--label_1w5f8_56{text-decoration:underline}@media (min-width: 70rem){._overlay-step-bar__step--label_1w5f8_56{display:block;white-space:nowrap}._overlay-step-bar__step_1w5f8_10:hover ._overlay-step-bar__step--index_1w5f8_61{text-decoration:none}}._overlay-step-bar__step_1w5f8_10:focus-visible{outline:.125rem dotted var(--color-cobalt);outline-offset:-.25rem;z-index:15}._overlay-step-bar__step--label_1w5f8_56:hover{text-decoration:underline}._overlay-step-bar__step--active_1w5f8_87{color:var(--color-black);font-weight:var(--semibold)}._overlay-step-bar__step--active_1w5f8_87 ._overlay-step-bar__step--label_1w5f8_56{display:block}._overlay-step-bar__step--active_1w5f8_87:hover ._overlay-step-bar__step--index_1w5f8_61,._overlay-step-bar__step--active_1w5f8_87:hover ._overlay-step-bar__step--label_1w5f8_56{cursor:default;text-decoration:none}
|
|
@@ -3,5 +3,7 @@ export interface OverlayStepBarProps {
|
|
|
3
3
|
stepLabels: string[];
|
|
4
4
|
/** activeStep number starting with 1. */
|
|
5
5
|
activeStep: number;
|
|
6
|
+
/** navigate to step. */
|
|
7
|
+
onStepClick?: (step: number) => void;
|
|
6
8
|
}
|
|
7
|
-
export declare const OverlayStepBar: ({ stepLabels, activeStep }: OverlayStepBarProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const OverlayStepBar: ({ stepLabels, activeStep, onStepClick }: OverlayStepBarProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,22 +1,30 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { c as
|
|
3
|
-
import '../../assets/OverlayStepBar.css';const
|
|
4
|
-
"overlay-step-bar__container": "_overlay-step-
|
|
5
|
-
"overlay-step-bar__step": "_overlay-step-
|
|
6
|
-
"overlay-step-bar__step
|
|
7
|
-
|
|
8
|
-
"
|
|
1
|
+
import { jsx as s, jsxs as l } from "react/jsx-runtime";
|
|
2
|
+
import { c as o } from "../../clsx-OuTLNxxd.js";
|
|
3
|
+
import '../../assets/OverlayStepBar.css';const r = {
|
|
4
|
+
"overlay-step-bar__container": "_overlay-step-bar__container_1w5f8_1",
|
|
5
|
+
"overlay-step-bar__step-wrapper": "_overlay-step-bar__step-wrapper_1w5f8_10",
|
|
6
|
+
"overlay-step-bar__step": "_overlay-step-bar__step_1w5f8_10",
|
|
7
|
+
"overlay-step-bar__step--label": "_overlay-step-bar__step--label_1w5f8_56",
|
|
8
|
+
"overlay-step-bar__step--index": "_overlay-step-bar__step--index_1w5f8_61",
|
|
9
|
+
"overlay-step-bar__step--active": "_overlay-step-bar__step--active_1w5f8_87"
|
|
10
|
+
}, v = ({ stepLabels: _, activeStep: a = 0, onStepClick: t }) => (a > _.length && console.error("activeStep is greater than the number of steps"), /* @__PURE__ */ s("div", { className: r["overlay-step-bar__container"], children: _.length && _.map((p, e) => /* @__PURE__ */ s("span", { className: r["overlay-step-bar__step-wrapper"], children: /* @__PURE__ */ l(
|
|
11
|
+
"button",
|
|
9
12
|
{
|
|
10
|
-
className:
|
|
11
|
-
|
|
13
|
+
className: o(r["overlay-step-bar__step"], [
|
|
14
|
+
e === a - 1 && r["overlay-step-bar__step--active"]
|
|
12
15
|
]),
|
|
16
|
+
...t && { onClick: () => t(e + 1) },
|
|
17
|
+
type: "button",
|
|
18
|
+
"aria-label": `Step ${e + 1}`,
|
|
19
|
+
"aria-current": e === a - 1 ? "step" : void 0,
|
|
20
|
+
disabled: e === a - 1,
|
|
13
21
|
children: [
|
|
14
|
-
/* @__PURE__ */
|
|
15
|
-
/* @__PURE__ */
|
|
22
|
+
/* @__PURE__ */ s("span", { className: r["overlay-step-bar__step--index"], children: e + 1 }),
|
|
23
|
+
/* @__PURE__ */ s("span", { className: r["overlay-step-bar__step--label"], children: p })
|
|
16
24
|
]
|
|
17
25
|
}
|
|
18
|
-
) }, `${
|
|
26
|
+
) }, `${e}_${p}`)) }));
|
|
19
27
|
export {
|
|
20
|
-
|
|
28
|
+
v as OverlayStepBar
|
|
21
29
|
};
|
|
22
30
|
//# sourceMappingURL=OverlayStepBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayStepBar.js","sources":["../../../src/components/OverlayStepBar/OverlayStepBar.tsx"],"sourcesContent":["import clsx from 'clsx';\
|
|
1
|
+
{"version":3,"file":"OverlayStepBar.js","sources":["../../../src/components/OverlayStepBar/OverlayStepBar.tsx"],"sourcesContent":["import clsx from 'clsx';\n\nimport styles from './OverlayStepBar.module.css';\n\nexport interface OverlayStepBarProps {\n /** Array of strings. */\n stepLabels: string[];\n /** activeStep number starting with 1. */\n activeStep: number;\n /** navigate to step. */\n onStepClick?: (step: number) => void;\n}\n\nexport const OverlayStepBar = ({ stepLabels, activeStep = 0, onStepClick }: OverlayStepBarProps) => {\n if (activeStep > stepLabels.length) {\n console.error('activeStep is greater than the number of steps');\n }\n\n return (\n <div className={styles['overlay-step-bar__container']}>\n {stepLabels.length &&\n stepLabels.map((label, index) => (\n <span key={`${index}_${label}`} className={styles[`overlay-step-bar__step-wrapper`]}>\n <button\n className={clsx(styles[`overlay-step-bar__step`], [\n index === activeStep - 1 && styles[`overlay-step-bar__step--active`],\n ])}\n {...(onStepClick && { onClick: () => onStepClick(index + 1) })}\n type=\"button\"\n aria-label={`Step ${index + 1}`}\n aria-current={index === activeStep - 1 ? 'step' : undefined}\n disabled={index === activeStep - 1}\n >\n <span className={styles[`overlay-step-bar__step--index`]}>{index + 1}</span>\n <span className={styles[`overlay-step-bar__step--label`]}>{label}</span>\n </button>\n </span>\n ))}\n </div>\n );\n};\n"],"names":["OverlayStepBar","stepLabels","activeStep","onStepClick","styles","label","index","jsx","jsxs","clsx"],"mappings":";;;;;;;;;GAaaA,IAAiB,CAAC,EAAE,YAAAC,GAAY,YAAAC,IAAa,GAAG,aAAAC,SACvDD,IAAaD,EAAW,UAC1B,QAAQ,MAAM,gDAAgD,qBAI7D,OAAI,EAAA,WAAWG,EAAO,6BAA6B,GACjD,YAAW,UACVH,EAAW,IAAI,CAACI,GAAOC,MACrB,gBAAAC,EAAC,UAA+B,WAAWH,EAAO,gCAAgC,GAChF,UAAA,gBAAAI;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAKL,EAAO,wBAAwB,GAAG;AAAA,MAChDE,MAAUJ,IAAa,KAAKE,EAAO,gCAAgC;AAAA,IAAA,CACpE;AAAA,IACA,GAAID,KAAe,EAAE,SAAS,MAAMA,EAAYG,IAAQ,CAAC,EAAE;AAAA,IAC5D,MAAK;AAAA,IACL,cAAY,QAAQA,IAAQ,CAAC;AAAA,IAC7B,gBAAcA,MAAUJ,IAAa,IAAI,SAAS;AAAA,IAClD,UAAUI,MAAUJ,IAAa;AAAA,IAEjC,UAAA;AAAA,MAAA,gBAAAK,EAAC,UAAK,WAAWH,EAAO,+BAA+B,GAAI,cAAQ,GAAE;AAAA,wBACpE,QAAK,EAAA,WAAWA,EAAO,+BAA+B,GAAI,UAAMC,EAAA,CAAA;AAAA,IAAA;AAAA,EAAA;AAAA,KAZ1D,GAAGC,CAAK,IAAID,CAAK,EAc5B,CACD,GACL;"}
|
|
@@ -1,22 +1,40 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { useState as c } from "react";
|
|
3
|
+
import { OverlayStepBar as t } from "./OverlayStepBar.js";
|
|
4
|
+
const i = "<OverlayStepBar stepLabels={[string]} activeStep={number} onStepClick={(step) => void}/>", b = {
|
|
4
5
|
title: "Molecules/OverlayStepBar",
|
|
5
|
-
component:
|
|
6
|
-
argTypes: {
|
|
6
|
+
component: t,
|
|
7
|
+
argTypes: {
|
|
8
|
+
activeStep: { control: "number" },
|
|
9
|
+
stepLabels: { control: "object" },
|
|
10
|
+
onStepClick: { action: "stepClicked" }
|
|
11
|
+
},
|
|
7
12
|
parameters: {
|
|
8
|
-
inspectComponent:
|
|
9
|
-
codeString:
|
|
13
|
+
inspectComponent: t,
|
|
14
|
+
codeString: i
|
|
10
15
|
}
|
|
11
|
-
}, a = (
|
|
12
|
-
|
|
16
|
+
}, a = (e) => {
|
|
17
|
+
const [n, r] = c(e.activeStep || 1);
|
|
18
|
+
return /* @__PURE__ */ s(
|
|
19
|
+
t,
|
|
20
|
+
{
|
|
21
|
+
...e,
|
|
22
|
+
activeStep: n,
|
|
23
|
+
onStepClick: (o) => {
|
|
24
|
+
var p;
|
|
25
|
+
r(o), (p = e.onStepClick) == null || p.call(e, o);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
}, l = {
|
|
30
|
+
stepLabels: ["Basic Details", "Lecturers", "Period Planning", "Assessment", "Miscellaneous", "Overview"]
|
|
31
|
+
}, S = a.bind({});
|
|
32
|
+
S.args = {
|
|
33
|
+
...l,
|
|
13
34
|
activeStep: 2
|
|
14
|
-
}, n = a.bind({});
|
|
15
|
-
n.args = {
|
|
16
|
-
...l
|
|
17
35
|
};
|
|
18
36
|
export {
|
|
19
|
-
|
|
20
|
-
|
|
37
|
+
S as OverlayStepBarExample,
|
|
38
|
+
b as default
|
|
21
39
|
};
|
|
22
40
|
//# sourceMappingURL=OverlayStepBar.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayStepBar.stories.js","sources":["../../../src/components/OverlayStepBar/OverlayStepBar.stories.tsx"],"sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\nimport type { OverlayStepBarProps } from './OverlayStepBar';\n\nimport { OverlayStepBar } from './OverlayStepBar';\n\nconst codeString = '<OverlayStepBar
|
|
1
|
+
{"version":3,"file":"OverlayStepBar.stories.js","sources":["../../../src/components/OverlayStepBar/OverlayStepBar.stories.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { OverlayStepBarProps } from './OverlayStepBar';\n\nimport { OverlayStepBar } from './OverlayStepBar';\n\nconst codeString = '<OverlayStepBar stepLabels={[string]} activeStep={number} onStepClick={(step) => void}/>';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Molecules/OverlayStepBar',\n component: OverlayStepBar,\n argTypes: {\n activeStep: { control: 'number' },\n stepLabels: { control: 'object' },\n onStepClick: { action: 'stepClicked' },\n },\n parameters: {\n inspectComponent: OverlayStepBar,\n codeString: codeString,\n },\n} as Meta<OverlayStepBarProps>;\n\nconst Template: StoryFn<OverlayStepBarProps> = (args) => {\n const [activeStep, setActiveStep] = useState(args.activeStep || 1);\n\n return (\n <OverlayStepBar\n {...args}\n activeStep={activeStep}\n onStepClick={(step) => {\n setActiveStep(step);\n args.onStepClick?.(step);\n }}\n />\n );\n};\n\nconst defaultArgs: Partial<OverlayStepBarProps> = {\n stepLabels: ['Basic Details', 'Lecturers', 'Period Planning', 'Assessment', 'Miscellaneous', 'Overview'],\n};\n\nexport const OverlayStepBarExample = Template.bind({});\nOverlayStepBarExample.args = {\n ...defaultArgs,\n activeStep: 2,\n};\n"],"names":["codeString","OverlayStepBar_stories","OverlayStepBar","Template","args","activeStep","setActiveStep","useState","jsx","step","_a","defaultArgs","OverlayStepBarExample"],"mappings":";;;AAOA,MAAMA,IAAa,4FAGJC,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,YAAY,EAAE,SAAS,SAAS;AAAA,IAChC,YAAY,EAAE,SAAS,SAAS;AAAA,IAChC,aAAa,EAAE,QAAQ,cAAc;AAAA,EACvC;AAAA,EACA,YAAY;AAAA,IACV,kBAAkBA;AAAA,IAClB,YAAAF;AAAA,EAAA;AAEJ,GAEMG,IAAyC,CAACC,MAAS;AACvD,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAASH,EAAK,cAAc,CAAC;AAG/D,SAAA,gBAAAI;AAAA,IAACN;AAAA,IAAA;AAAA,MACE,GAAGE;AAAA,MACJ,YAAAC;AAAA,MACA,aAAa,CAACI,MAAS;;AACrB,QAAAH,EAAcG,CAAI,IAClBC,IAAAN,EAAK,gBAAL,QAAAM,EAAA,KAAAN,GAAmBK;AAAA,MAAI;AAAA,IACzB;AAAA,EACF;AAEJ,GAEME,IAA4C;AAAA,EAChD,YAAY,CAAC,iBAAiB,aAAa,mBAAmB,cAAc,iBAAiB,UAAU;AACzG,GAEaC,IAAwBT,EAAS,KAAK,CAAE,CAAA;AACrDS,EAAsB,OAAO;AAAA,EAC3B,GAAGD;AAAA,EACH,YAAY;AACd;"}
|
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.17.
|
|
5
|
+
"version": "3.17.2",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"types": "dist/index.d.ts",
|
|
@@ -64,9 +64,9 @@
|
|
|
64
64
|
"@testing-library/jest-dom": "^6.6.3",
|
|
65
65
|
"@testing-library/react": "^16.3.0",
|
|
66
66
|
"@types/jest": "^29.5.14",
|
|
67
|
-
"@types/node": "^22.15.
|
|
67
|
+
"@types/node": "^22.15.12",
|
|
68
68
|
"@types/react-dom": "^19.1.3",
|
|
69
|
-
"@types/react": "^19.1.
|
|
69
|
+
"@types/react": "^19.1.3",
|
|
70
70
|
"@uva-glass/eslint-config": "^1.3.10",
|
|
71
71
|
"@uva-glass/stylelint-config": "^1.2.2",
|
|
72
72
|
"@vitejs/plugin-react": "^4.4.1",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"jest-environment-jsdom": "^29.7.0",
|
|
82
82
|
"jest-junit": "^16.0.0",
|
|
83
83
|
"jsdom": "^26.1.0",
|
|
84
|
-
"npm-run-all2": "^
|
|
84
|
+
"npm-run-all2": "^8.0.1",
|
|
85
85
|
"react": "^19.1.0",
|
|
86
86
|
"react-dom": "^19.1.0",
|
|
87
87
|
"react-router": "^7.5.3",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"vite-plugin-static-copy": "^2.3.1",
|
|
100
100
|
"vite-plugin-svgr": "^4.3.0",
|
|
101
101
|
"vite-tsconfig-paths": "^5.1.4",
|
|
102
|
-
"vite": "^6.3.
|
|
102
|
+
"vite": "^6.3.5"
|
|
103
103
|
},
|
|
104
104
|
"dependencies": {
|
|
105
105
|
"@babel/preset-env": "^7.27.1",
|