@gnist/design-system 5.2.1 → 5.3.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/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.3.0](https://github.com/mollerdigital/design-system-design-system/compare/@gnist/design-system@5.2.1...@gnist/design-system@5.3.0) (2025-12-12)
7
+
8
+ ### Features
9
+
10
+ * add loading bar component ([0ba84f1](https://github.com/mollerdigital/design-system-design-system/commit/0ba84f1cbbc895b9627b702b0124453b92e3e065))
11
+
6
12
  ## [5.2.1](https://github.com/mollerdigital/design-system-design-system/compare/@gnist/design-system@5.2.0...@gnist/design-system@5.2.1) (2025-12-11)
7
13
 
8
14
  **Note:** Version bump only for package @gnist/design-system
@@ -3,10 +3,13 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const AlertBanner = require("./alerts/AlertBanner.cjs");
5
5
  const LoadingSpinner = require("./loaders/LoadingSpinner.cjs");
6
+ const LoadingBar = require("./loaders/LoadingBar.cjs");
6
7
  const Lozenge = require("./notifications/Lozenge.cjs");
7
8
  const ProgressBar = require("./progress/ProgressBar.cjs");
8
9
  exports.AlertBanner = AlertBanner.AlertBanner;
9
10
  exports.LoadingSpinner = LoadingSpinner.LoadingSpinner;
11
+ exports.LoadingBar = LoadingBar.LoadingBar;
12
+ exports.LoadingBarComponent = LoadingBar.LoadingBarComponent;
10
13
  exports.Lozenge = Lozenge.Lozenge;
11
14
  exports.ProgressBar = ProgressBar.ProgressBar;
12
15
  exports.ProgressBarComponent = ProgressBar.ProgressBarComponent;
@@ -1,10 +1,13 @@
1
1
  "use client";
2
2
  import { AlertBanner } from "./alerts/AlertBanner.js";
3
3
  import { LoadingSpinner } from "./loaders/LoadingSpinner.js";
4
+ import { LoadingBar, LoadingBarComponent } from "./loaders/LoadingBar.js";
4
5
  import { Lozenge } from "./notifications/Lozenge.js";
5
6
  import { ProgressBar, ProgressBarComponent } from "./progress/ProgressBar.js";
6
7
  export {
7
8
  AlertBanner,
9
+ LoadingBar,
10
+ LoadingBarComponent,
8
11
  LoadingSpinner,
9
12
  Lozenge,
10
13
  ProgressBar,
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const jsxRuntime = require("react/jsx-runtime");
5
+ const componentUtils = require("@gnist/component-utils");
6
+ const loadingBar_css = require("./loadingBar.css.cjs");
7
+ const tokens_css_js = require("@gnist/themes/tokens.css.js");
8
+ const LoadingBarComponent = ({ isLoading, maxDuration = 30, size = "s", children, ariaLabel = "Laster innhold" }) => {
9
+ const barHeight = {
10
+ s: tokens_css_js.tokens.size.xxs,
11
+ m: tokens_css_js.tokens.size.xs,
12
+ l: tokens_css_js.tokens.size.s
13
+ };
14
+ return jsxRuntime.jsxs("div", { className: loadingBar_css.loadingBarStyles, children: [children, isLoading && maxDuration <= 30 && jsxRuntime.jsx("div", { className: loadingBar_css.loadingBar, role: "progressbar", "aria-label": ariaLabel, "aria-valuemin": 0, "aria-valuemax": 100, style: {
15
+ animationDuration: `${maxDuration}s`,
16
+ minHeight: barHeight[size]
17
+ } })] });
18
+ };
19
+ const LoadingBar = componentUtils.component("Loading Bar", loadingBar_css.loadingBarStyles, LoadingBarComponent);
20
+ exports.LoadingBar = LoadingBar;
21
+ exports.LoadingBarComponent = LoadingBarComponent;
@@ -0,0 +1,18 @@
1
+ interface LoadingBarProps {
2
+ className?: string;
3
+ isLoading: boolean;
4
+ maxDuration: number;
5
+ size?: "s" | "m" | "l";
6
+ children?: React.ReactNode;
7
+ ariaLabel?: string;
8
+ }
9
+ export declare const LoadingBarComponent: React.FC<LoadingBarProps>;
10
+ /**
11
+ * Loading bars are used to show the progress of a task or process.
12
+ * They are used to show the user how far along they are in a process.
13
+ *
14
+ * Documentation: [LoadingBar](https://gnist.moller.no/developers/components/latest/?path=/docs/components-feedback-loaders-loadingbar--docs)
15
+ */
16
+ export declare const LoadingBar: import("@gnist/component-utils").VanillaComponent<import("react").ElementType, import("react").FC<LoadingBarProps>>;
17
+ export {};
18
+ //# sourceMappingURL=LoadingBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingBar.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/loaders/LoadingBar.tsx"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+BzD,CAAC;AAEF;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,qHAItB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import { component } from "@gnist/component-utils";
4
+ import { loadingBarStyles, loadingBar } from "./loadingBar.css.js";
5
+ import { tokens } from "@gnist/themes/tokens.css.js";
6
+ const LoadingBarComponent = ({ isLoading, maxDuration = 30, size = "s", children, ariaLabel = "Laster innhold" }) => {
7
+ const barHeight = {
8
+ s: tokens.size.xxs,
9
+ m: tokens.size.xs,
10
+ l: tokens.size.s
11
+ };
12
+ return jsxs("div", { className: loadingBarStyles, children: [children, isLoading && maxDuration <= 30 && jsx("div", { className: loadingBar, role: "progressbar", "aria-label": ariaLabel, "aria-valuemin": 0, "aria-valuemax": 100, style: {
13
+ animationDuration: `${maxDuration}s`,
14
+ minHeight: barHeight[size]
15
+ } })] });
16
+ };
17
+ const LoadingBar = component("Loading Bar", loadingBarStyles, LoadingBarComponent);
18
+ export {
19
+ LoadingBar,
20
+ LoadingBarComponent
21
+ };
@@ -2,4 +2,7 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const LoadingSpinner = require("./LoadingSpinner.cjs");
5
+ const LoadingBar = require("./LoadingBar.cjs");
5
6
  exports.LoadingSpinner = LoadingSpinner.LoadingSpinner;
7
+ exports.LoadingBar = LoadingBar.LoadingBar;
8
+ exports.LoadingBarComponent = LoadingBar.LoadingBarComponent;
@@ -1,2 +1,3 @@
1
1
  export * from "./LoadingSpinner.js";
2
+ export * from "./LoadingBar.js";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/loaders/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/loaders/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
@@ -1,5 +1,8 @@
1
1
  "use client";
2
2
  import { LoadingSpinner } from "./LoadingSpinner.js";
3
+ import { LoadingBar, LoadingBarComponent } from "./LoadingBar.js";
3
4
  export {
5
+ LoadingBar,
6
+ LoadingBarComponent,
4
7
  LoadingSpinner
5
8
  };
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const atoms_css_js = require("@gnist/themes/atoms.css.js");
5
+ const tokens_css_js = require("@gnist/themes/tokens.css.js");
6
+ const css = require("@vanilla-extract/css");
7
+ const loadingBarStyles = css.style([
8
+ {
9
+ overflow: "hidden",
10
+ display: "flex",
11
+ backgroundColor: tokens_css_js.tokens.palette.neutral[20],
12
+ width: "100%"
13
+ },
14
+ atoms_css_js.atoms({
15
+ borderRadius: "medium"
16
+ })
17
+ ]);
18
+ const loadingAnimation = css.keyframes({
19
+ "0%": {
20
+ width: "0%"
21
+ },
22
+ "100%": {
23
+ width: "100%"
24
+ }
25
+ });
26
+ const loadingBar = css.style([
27
+ {
28
+ backgroundColor: tokens_css_js.tokens.palette.tertiary[40],
29
+ animation: `${loadingAnimation} 20s cubic-bezier(0.17, 0.68, 0.36, 0.91) forwards`
30
+ },
31
+ atoms_css_js.atoms({
32
+ borderRadius: "medium"
33
+ })
34
+ ]);
35
+ exports.loadingBar = loadingBar;
36
+ exports.loadingBarStyles = loadingBarStyles;
@@ -0,0 +1,3 @@
1
+ export declare const loadingBarStyles: string;
2
+ export declare const loadingBar: string;
3
+ //# sourceMappingURL=loadingBar.css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadingBar.css.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/loaders/loadingBar.css.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,QAU3B,CAAC;AAWH,eAAO,MAAM,UAAU,QAQrB,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ import { atoms } from "@gnist/themes/atoms.css.js";
3
+ import { tokens } from "@gnist/themes/tokens.css.js";
4
+ import { style, keyframes } from "@vanilla-extract/css";
5
+ const loadingBarStyles = style([
6
+ {
7
+ overflow: "hidden",
8
+ display: "flex",
9
+ backgroundColor: tokens.palette.neutral[20],
10
+ width: "100%"
11
+ },
12
+ atoms({
13
+ borderRadius: "medium"
14
+ })
15
+ ]);
16
+ const loadingAnimation = keyframes({
17
+ "0%": {
18
+ width: "0%"
19
+ },
20
+ "100%": {
21
+ width: "100%"
22
+ }
23
+ });
24
+ const loadingBar = style([
25
+ {
26
+ backgroundColor: tokens.palette.tertiary[40],
27
+ animation: `${loadingAnimation} 20s cubic-bezier(0.17, 0.68, 0.36, 0.91) forwards`
28
+ },
29
+ atoms({
30
+ borderRadius: "medium"
31
+ })
32
+ ]);
33
+ export {
34
+ loadingBar,
35
+ loadingBarStyles
36
+ };
@@ -17,6 +17,7 @@ const FilterChip = require("./actions/chips/FilterChip.cjs");
17
17
  const TagChip = require("./actions/chips/TagChip.cjs");
18
18
  const AlertBanner = require("./feedback/alerts/AlertBanner.cjs");
19
19
  const LoadingSpinner = require("./feedback/loaders/LoadingSpinner.cjs");
20
+ const LoadingBar = require("./feedback/loaders/LoadingBar.cjs");
20
21
  const Lozenge = require("./feedback/notifications/Lozenge.cjs");
21
22
  const ProgressBar = require("./feedback/progress/ProgressBar.cjs");
22
23
  const MultiSelect = require("./inputs/dropdowns/MultiSelect.cjs");
@@ -48,6 +49,8 @@ exports.FilterChip = FilterChip.FilterChip;
48
49
  exports.TagChip = TagChip.TagChip;
49
50
  exports.AlertBanner = AlertBanner.AlertBanner;
50
51
  exports.LoadingSpinner = LoadingSpinner.LoadingSpinner;
52
+ exports.LoadingBar = LoadingBar.LoadingBar;
53
+ exports.LoadingBarComponent = LoadingBar.LoadingBarComponent;
51
54
  exports.Lozenge = Lozenge.Lozenge;
52
55
  exports.ProgressBar = ProgressBar.ProgressBar;
53
56
  exports.ProgressBarComponent = ProgressBar.ProgressBarComponent;
@@ -15,6 +15,7 @@ import { FilterChip } from "./actions/chips/FilterChip.js";
15
15
  import { TagChip } from "./actions/chips/TagChip.js";
16
16
  import { AlertBanner } from "./feedback/alerts/AlertBanner.js";
17
17
  import { LoadingSpinner } from "./feedback/loaders/LoadingSpinner.js";
18
+ import { LoadingBar, LoadingBarComponent } from "./feedback/loaders/LoadingBar.js";
18
19
  import { Lozenge } from "./feedback/notifications/Lozenge.js";
19
20
  import { ProgressBar, ProgressBarComponent } from "./feedback/progress/ProgressBar.js";
20
21
  import { MultiSelect } from "./inputs/dropdowns/MultiSelect.js";
@@ -44,6 +45,8 @@ export {
44
45
  IconButton,
45
46
  InfoCard,
46
47
  LinkCard,
48
+ LoadingBar,
49
+ LoadingBarComponent,
47
50
  LoadingSpinner,
48
51
  Lozenge,
49
52
  Modal,
package/dist/index.cjs CHANGED
@@ -18,6 +18,7 @@ const FilterChip = require("./components/actions/chips/FilterChip.cjs");
18
18
  const TagChip = require("./components/actions/chips/TagChip.cjs");
19
19
  const AlertBanner = require("./components/feedback/alerts/AlertBanner.cjs");
20
20
  const LoadingSpinner = require("./components/feedback/loaders/LoadingSpinner.cjs");
21
+ const LoadingBar = require("./components/feedback/loaders/LoadingBar.cjs");
21
22
  const Lozenge = require("./components/feedback/notifications/Lozenge.cjs");
22
23
  const ProgressBar = require("./components/feedback/progress/ProgressBar.cjs");
23
24
  const MultiSelect = require("./components/inputs/dropdowns/MultiSelect.cjs");
@@ -69,6 +70,8 @@ exports.FilterChip = FilterChip.FilterChip;
69
70
  exports.TagChip = TagChip.TagChip;
70
71
  exports.AlertBanner = AlertBanner.AlertBanner;
71
72
  exports.LoadingSpinner = LoadingSpinner.LoadingSpinner;
73
+ exports.LoadingBar = LoadingBar.LoadingBar;
74
+ exports.LoadingBarComponent = LoadingBar.LoadingBarComponent;
72
75
  exports.Lozenge = Lozenge.Lozenge;
73
76
  exports.ProgressBar = ProgressBar.ProgressBar;
74
77
  exports.ProgressBarComponent = ProgressBar.ProgressBarComponent;
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ import { FilterChip } from "./components/actions/chips/FilterChip.js";
16
16
  import { TagChip } from "./components/actions/chips/TagChip.js";
17
17
  import { AlertBanner } from "./components/feedback/alerts/AlertBanner.js";
18
18
  import { LoadingSpinner } from "./components/feedback/loaders/LoadingSpinner.js";
19
+ import { LoadingBar, LoadingBarComponent } from "./components/feedback/loaders/LoadingBar.js";
19
20
  import { Lozenge } from "./components/feedback/notifications/Lozenge.js";
20
21
  import { ProgressBar, ProgressBarComponent } from "./components/feedback/progress/ProgressBar.js";
21
22
  import { MultiSelect } from "./components/inputs/dropdowns/MultiSelect.js";
@@ -84,6 +85,8 @@ export {
84
85
  LeadText,
85
86
  Link,
86
87
  LinkCard,
88
+ LoadingBar,
89
+ LoadingBarComponent,
87
90
  LoadingSpinner,
88
91
  LocalizationProvider,
89
92
  Logo,
package/package.json CHANGED
@@ -1,106 +1,106 @@
1
1
  {
2
- "name": "@gnist/design-system",
3
- "version": "5.2.1",
4
- "license": "UNLICENSED",
5
- "type": "module",
6
- "main": "dist/index.cjs",
7
- "types": "dist/index.d.ts",
8
- "module": "dist/index.js",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js",
13
- "require": "./dist/index.cjs"
2
+ "name": "@gnist/design-system",
3
+ "version": "5.3.0",
4
+ "license": "UNLICENSED",
5
+ "type": "module",
6
+ "main": "dist/index.cjs",
7
+ "types": "dist/index.d.ts",
8
+ "module": "dist/index.js",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ },
15
+ "./*": {
16
+ "types": "./dist/*/index.d.ts",
17
+ "import": "./dist/*/index.js",
18
+ "require": "./dist/*/index.cjs"
19
+ },
20
+ "./*.js": {
21
+ "types": "./dist/*.d.ts",
22
+ "import": "./dist/*.js",
23
+ "require": "./dist/*.cjs"
24
+ },
25
+ "./*.json": "./dist/*.json",
26
+ "./*.css": "./dist/*.css",
27
+ "./*internal/*": null
14
28
  },
15
- "./*": {
16
- "types": "./dist/*/index.d.ts",
17
- "import": "./dist/*/index.js",
18
- "require": "./dist/*/index.cjs"
29
+ "files": [
30
+ "CHANGELOG.md",
31
+ "dist/*"
32
+ ],
33
+ "scripts": {
34
+ "optimize-icons": "svgo -r -f ./src/foundation/iconography/svg --precision 2",
35
+ "make-icon-index": "tsx ./build-utils/generateIconIndex.ts ./src/foundation/iconography/svg",
36
+ "build-icons": "pnpm run optimize-icons && pnpm run make-icon-index",
37
+ "watch": "vite build --watch",
38
+ "clean": "shx rm -rf dist",
39
+ "build": "vite build",
40
+ "serve": "vite preview",
41
+ "lint": "tsc && pnpm run detect-cycles && pnpm run eslint",
42
+ "eslint": "eslint --max-warnings 0",
43
+ "detect-cycles": "pnpm madge --extensions ts,tsx ./src --circular",
44
+ "prettier:base": "prettier \"src/**/*.{ts,tsx,json,scss}\"",
45
+ "prettier": "pnpm run prettier:base --check",
46
+ "format": "pnpm run prettier:base --write",
47
+ "build-storybook": "cd docs && pnpm run build"
19
48
  },
20
- "./*.js": {
21
- "types": "./dist/*.d.ts",
22
- "import": "./dist/*.js",
23
- "require": "./dist/*.cjs"
49
+ "dependencies": {
50
+ "@base-ui-components/react": "1.0.0-beta.2",
51
+ "@formkit/auto-animate": "^0.8.2",
52
+ "@gnist/component-utils": "3.0.13",
53
+ "@gnist/themes": "^3.24.2",
54
+ "@vanilla-extract/css": "^1.17.4",
55
+ "@vanilla-extract/css-utils": "^0.1.6",
56
+ "@vanilla-extract/dynamic": "^2.1.5",
57
+ "@vanilla-extract/recipes": "^0.5.7",
58
+ "classnames": "^2.5.1",
59
+ "fp-ts": "^2.16.10",
60
+ "immer": "^10.1.1",
61
+ "react-content-loader": "^7.1.1"
24
62
  },
25
- "./*.json": "./dist/*.json",
26
- "./*.css": "./dist/*.css",
27
- "./*internal/*": null
28
- },
29
- "files": [
30
- "CHANGELOG.md",
31
- "dist/*"
32
- ],
33
- "scripts": {
34
- "optimize-icons": "svgo -r -f ./src/foundation/iconography/svg --precision 2",
35
- "make-icon-index": "tsx ./build-utils/generateIconIndex.ts ./src/foundation/iconography/svg",
36
- "build-icons": "pnpm run optimize-icons && pnpm run make-icon-index",
37
- "watch": "vite build --watch",
38
- "clean": "shx rm -rf dist",
39
- "build": "vite build",
40
- "serve": "vite preview",
41
- "lint": "tsc && pnpm run detect-cycles && pnpm run eslint",
42
- "eslint": "eslint --max-warnings 0",
43
- "detect-cycles": "pnpm madge --extensions ts,tsx ./src --circular",
44
- "prettier:base": "prettier \"src/**/*.{ts,tsx,json,scss}\"",
45
- "prettier": "pnpm run prettier:base --check",
46
- "format": "pnpm run prettier:base --write",
47
- "build-storybook": "cd docs && pnpm run build"
48
- },
49
- "dependencies": {
50
- "@base-ui-components/react": "1.0.0-beta.2",
51
- "@formkit/auto-animate": "^0.8.2",
52
- "@gnist/component-utils": "3.0.12",
53
- "@gnist/themes": "^3.24.1",
54
- "@vanilla-extract/css": "^1.17.4",
55
- "@vanilla-extract/css-utils": "^0.1.6",
56
- "@vanilla-extract/dynamic": "^2.1.5",
57
- "@vanilla-extract/recipes": "^0.5.7",
58
- "classnames": "^2.5.1",
59
- "fp-ts": "^2.16.10",
60
- "immer": "^10.1.1",
61
- "react-content-loader": "^7.1.1"
62
- },
63
- "peerDependencies": {
64
- "@types/react": "^18.0.0 || ^19.0.0",
65
- "@types/react-dom": "^18.0.0 || ^19.0.0",
66
- "react": "^18.0.0 || ^19.0.0",
67
- "react-dom": "^18.0.0 || ^19.0.0"
68
- },
69
- "devDependencies": {
70
- "@gnist/eslint-config": "",
71
- "@gnist/ts-config": "",
72
- "@rollup/plugin-typescript": "^12.1.4",
73
- "@tsconfig/node22": "^22.0.2",
74
- "@types/node": "^22.14.0",
75
- "@types/react": "19.2.1",
76
- "@types/react-dom": "19.2.1",
77
- "@types/semver": "^7.7.0",
78
- "@vitejs/plugin-react-swc": "^3.10.2",
79
- "eslint": "^9.33.0",
80
- "eslint-plugin-storybook": "^9.1.2",
81
- "globby": "^14.1.0",
82
- "madge": "^8.0.0",
83
- "prettier": "^3.6.2",
84
- "react": "19.2.1",
85
- "react-dom": "19.2.1",
86
- "rollup-plugin-copy": "^3.5.0",
87
- "semver": "^7.7.2",
88
- "svgo": "^3.3.2",
89
- "svgo-autocrop": "^1.1.2",
90
- "tslib": "^2.8.1",
91
- "tsx": "^4.20.4",
92
- "typescript-transform-paths": "^3.5.5",
93
- "vite": "7.1.12",
94
- "vite-plugin-svgr": "^4.3.0",
95
- "vite-tsconfig-paths": "^5.1.4"
96
- },
97
- "peerDependenciesMeta": {
98
- "@types/react": {
99
- "optional": true
63
+ "peerDependencies": {
64
+ "@types/react": "^18.0.0 || ^19.0.0",
65
+ "@types/react-dom": "^18.0.0 || ^19.0.0",
66
+ "react": "^18.0.0 || ^19.0.0",
67
+ "react-dom": "^18.0.0 || ^19.0.0"
100
68
  },
101
- "@types/react-dom": {
102
- "optional": true
103
- }
104
- },
105
- "gitHead": "b3edc3c3c55302fdffbe7aaa8723d1ac0b89c6a3"
69
+ "devDependencies": {
70
+ "@gnist/eslint-config": "",
71
+ "@gnist/ts-config": "",
72
+ "@rollup/plugin-typescript": "^12.1.4",
73
+ "@tsconfig/node22": "^22.0.2",
74
+ "@types/node": "^22.14.0",
75
+ "@types/react": "catalog:",
76
+ "@types/react-dom": "catalog:",
77
+ "@types/semver": "^7.7.0",
78
+ "@vitejs/plugin-react-swc": "^3.10.2",
79
+ "eslint": "^9.33.0",
80
+ "eslint-plugin-storybook": "^9.1.2",
81
+ "globby": "^14.1.0",
82
+ "madge": "^8.0.0",
83
+ "prettier": "^3.6.2",
84
+ "react": "catalog:",
85
+ "react-dom": "catalog:",
86
+ "rollup-plugin-copy": "^3.5.0",
87
+ "semver": "^7.7.2",
88
+ "svgo": "^3.3.2",
89
+ "svgo-autocrop": "^1.1.2",
90
+ "tslib": "^2.8.1",
91
+ "tsx": "^4.20.4",
92
+ "typescript-transform-paths": "^3.5.5",
93
+ "vite": "7.1.12",
94
+ "vite-plugin-svgr": "^4.3.0",
95
+ "vite-tsconfig-paths": "^5.1.4"
96
+ },
97
+ "peerDependenciesMeta": {
98
+ "@types/react": {
99
+ "optional": true
100
+ },
101
+ "@types/react-dom": {
102
+ "optional": true
103
+ }
104
+ },
105
+ "gitHead": "7caed621c0c988e754d814fba32408a951fc5335"
106
106
  }