@hivcd-printshop/design-system 1.0.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/README.md ADDED
@@ -0,0 +1 @@
1
+ # 시각디자인과 프린트실 디자인시스템
@@ -0,0 +1,13 @@
1
+ import * as react from 'react';
2
+
3
+ interface CTAProps {
4
+ primary?: boolean;
5
+ variable: CTAVariable;
6
+ label: string;
7
+ onClick?: () => void;
8
+ className?: string;
9
+ }
10
+ type CTAVariable = "disabled" | "default" | "pressed";
11
+ declare const CTA: ({ primary, variable, label, onClick, className, }: CTAProps) => react.JSX.Element;
12
+
13
+ export { CTA, type CTAProps };
@@ -0,0 +1,13 @@
1
+ import * as react from 'react';
2
+
3
+ interface CTAProps {
4
+ primary?: boolean;
5
+ variable: CTAVariable;
6
+ label: string;
7
+ onClick?: () => void;
8
+ className?: string;
9
+ }
10
+ type CTAVariable = "disabled" | "default" | "pressed";
11
+ declare const CTA: ({ primary, variable, label, onClick, className, }: CTAProps) => react.JSX.Element;
12
+
13
+ export { CTA, type CTAProps };
package/dist/index.js ADDED
@@ -0,0 +1,92 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/index.ts
22
+ var index_exports = {};
23
+ __export(index_exports, {
24
+ CTA: () => CTA
25
+ });
26
+ module.exports = __toCommonJS(index_exports);
27
+
28
+ // src/lib/cn.ts
29
+ var import_clsx = require("clsx");
30
+ var import_tailwind_merge = require("tailwind-merge");
31
+ var twMerge = (0, import_tailwind_merge.extendTailwindMerge)({
32
+ extend: {
33
+ classGroups: {
34
+ "font-typography": [
35
+ "text-head1-medium",
36
+ "text-head2-medium",
37
+ "text-head3-medium",
38
+ "text-head4-regular",
39
+ "text-body1-medium",
40
+ "text-body1-regular",
41
+ "text-body2-regular",
42
+ "text-body3-medium",
43
+ "text-body3-regular",
44
+ "text-body3-book",
45
+ "text-caption-regular",
46
+ "text-caption-book"
47
+ ]
48
+ }
49
+ }
50
+ });
51
+ function cn(...inputs) {
52
+ return twMerge((0, import_clsx.clsx)(inputs));
53
+ }
54
+
55
+ // src/components/CTA/CTA.tsx
56
+ var import_jsx_runtime = require("react/jsx-runtime");
57
+ var CTA = ({
58
+ primary = true,
59
+ variable = "default",
60
+ label,
61
+ onClick,
62
+ className
63
+ }) => {
64
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
65
+ "button",
66
+ {
67
+ type: "button",
68
+ className: cn(
69
+ "w-full max-w-360 h-12 p-2.5 text-center text-head3-medium",
70
+ `${primary ? "border-0" : "border border-gray02"}`,
71
+ /** Disabled */
72
+ `${variable == "disabled" ? primary ? "bg-gray01 text-gray04 border border-gray01" : "bg-gray02 text-gray04" : ""}`,
73
+ /** Default */
74
+ `${variable == "default" ? primary ? "bg-black text-white" : "bg-white text-strong" : ""}`,
75
+ /** Hover */
76
+ `${variable != "disabled" ? primary ? "hover:bg-gray08 hover:text-white" : "hover:bg-gray01 hover:text-strong" : ""}`,
77
+ /** Hover */
78
+ `${variable != "disabled" && "hover:cursor-pointer"}`,
79
+ /** Pressed */
80
+ `${variable == "pressed" ? primary ? "bg-gray09 text-white" : "bg-gray02 text-strong" : ""}`,
81
+ className
82
+ ),
83
+ onClick,
84
+ children: label
85
+ }
86
+ );
87
+ };
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ CTA
91
+ });
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/lib/cn.ts","../src/components/CTA/CTA.tsx"],"sourcesContent":["export { CTA, CTAProps } from \"./components/CTA/CTA\";\n","import { clsx, type ClassValue } from \"clsx\";\nimport { extendTailwindMerge } from \"tailwind-merge\";\n\n// text-head*/text-body*/text-caption* are custom typography utilities (src/styles.css),\n// not text-color utilities — tailwind-merge would otherwise treat them as the same\n// group as text-white/text-gray04 and silently drop one of them.\nconst twMerge = extendTailwindMerge<\"font-typography\">({\n extend: {\n classGroups: {\n \"font-typography\": [\n \"text-head1-medium\",\n \"text-head2-medium\",\n \"text-head3-medium\",\n \"text-head4-regular\",\n \"text-body1-medium\",\n \"text-body1-regular\",\n \"text-body2-regular\",\n \"text-body3-medium\",\n \"text-body3-regular\",\n \"text-body3-book\",\n \"text-caption-regular\",\n \"text-caption-book\",\n ],\n },\n },\n});\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cn } from \"../../lib/cn\";\n\nexport interface CTAProps {\n primary?: boolean;\n variable: CTAVariable;\n label: string;\n onClick?: () => void;\n className?: string;\n}\n\nexport type CTAVariable = \"disabled\" | \"default\" | \"pressed\";\n\nexport const CTA = ({\n primary = true,\n variable = \"default\",\n label,\n onClick,\n className,\n}: CTAProps) => {\n return (\n <button\n type=\"button\"\n className={cn(\n \"w-full max-w-360 h-12 p-2.5 text-center text-head3-medium\",\n `${primary ? \"border-0\" : \"border border-gray02\"}`,\n /** Disabled */ `${variable == \"disabled\" ? (primary ? \"bg-gray01 text-gray04 border border-gray01\" : \"bg-gray02 text-gray04\") : \"\"}`,\n /** Default */ `${variable == \"default\" ? (primary ? \"bg-black text-white\" : \"bg-white text-strong\") : \"\"}`,\n /** Hover */ `${variable != \"disabled\" ? (primary ? \"hover:bg-gray08 hover:text-white\" : \"hover:bg-gray01 hover:text-strong\") : \"\"}`,\n /** Hover */ `${variable != \"disabled\" && \"hover:cursor-pointer\"}`,\n /** Pressed */ `${variable == \"pressed\" ? (primary ? \"bg-gray09 text-white\" : \"bg-gray02 text-strong\") : \"\"}`,\n className,\n )}\n onClick={onClick}\n >\n {label}\n </button>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,kBAAsC;AACtC,4BAAoC;AAKpC,IAAM,cAAU,2CAAuC;AAAA,EACrD,QAAQ;AAAA,IACN,aAAa;AAAA,MACX,mBAAmB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,SAAS,MAAM,QAAsB;AAC1C,SAAO,YAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ACTI;AARG,IAAM,MAAM,CAAC;AAAA,EAClB,UAAU;AAAA,EACV,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AACF,MAAgB;AACd,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAW;AAAA,QACT;AAAA,QACA,GAAG,UAAU,aAAa,sBAAsB;AAAA;AAAA,QAChC,GAAG,YAAY,aAAc,UAAU,+CAA+C,0BAA2B,EAAE;AAAA;AAAA,QACpH,GAAG,YAAY,YAAa,UAAU,wBAAwB,yBAA0B,EAAE;AAAA;AAAA,QAC5F,GAAG,YAAY,aAAc,UAAU,qCAAqC,sCAAuC,EAAE;AAAA;AAAA,QACrH,GAAG,YAAY,cAAc,sBAAsB;AAAA;AAAA,QACjD,GAAG,YAAY,YAAa,UAAU,yBAAyB,0BAA2B,EAAE;AAAA,QAC3G;AAAA,MACF;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;","names":[]}
package/dist/index.mjs ADDED
@@ -0,0 +1,66 @@
1
+ 'use client';
2
+
3
+ // src/lib/cn.ts
4
+ import { clsx } from "clsx";
5
+ import { extendTailwindMerge } from "tailwind-merge";
6
+ var twMerge = extendTailwindMerge({
7
+ extend: {
8
+ classGroups: {
9
+ "font-typography": [
10
+ "text-head1-medium",
11
+ "text-head2-medium",
12
+ "text-head3-medium",
13
+ "text-head4-regular",
14
+ "text-body1-medium",
15
+ "text-body1-regular",
16
+ "text-body2-regular",
17
+ "text-body3-medium",
18
+ "text-body3-regular",
19
+ "text-body3-book",
20
+ "text-caption-regular",
21
+ "text-caption-book"
22
+ ]
23
+ }
24
+ }
25
+ });
26
+ function cn(...inputs) {
27
+ return twMerge(clsx(inputs));
28
+ }
29
+
30
+ // src/components/CTA/CTA.tsx
31
+ import { jsx } from "react/jsx-runtime";
32
+ var CTA = ({
33
+ primary = true,
34
+ variable = "default",
35
+ label,
36
+ onClick,
37
+ className
38
+ }) => {
39
+ return /* @__PURE__ */ jsx(
40
+ "button",
41
+ {
42
+ type: "button",
43
+ className: cn(
44
+ "w-full max-w-360 h-12 p-2.5 text-center text-head3-medium",
45
+ `${primary ? "border-0" : "border border-gray02"}`,
46
+ /** Disabled */
47
+ `${variable == "disabled" ? primary ? "bg-gray01 text-gray04 border border-gray01" : "bg-gray02 text-gray04" : ""}`,
48
+ /** Default */
49
+ `${variable == "default" ? primary ? "bg-black text-white" : "bg-white text-strong" : ""}`,
50
+ /** Hover */
51
+ `${variable != "disabled" ? primary ? "hover:bg-gray08 hover:text-white" : "hover:bg-gray01 hover:text-strong" : ""}`,
52
+ /** Hover */
53
+ `${variable != "disabled" && "hover:cursor-pointer"}`,
54
+ /** Pressed */
55
+ `${variable == "pressed" ? primary ? "bg-gray09 text-white" : "bg-gray02 text-strong" : ""}`,
56
+ className
57
+ ),
58
+ onClick,
59
+ children: label
60
+ }
61
+ );
62
+ };
63
+ export {
64
+ CTA
65
+ };
66
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/cn.ts","../src/components/CTA/CTA.tsx"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { extendTailwindMerge } from \"tailwind-merge\";\n\n// text-head*/text-body*/text-caption* are custom typography utilities (src/styles.css),\n// not text-color utilities — tailwind-merge would otherwise treat them as the same\n// group as text-white/text-gray04 and silently drop one of them.\nconst twMerge = extendTailwindMerge<\"font-typography\">({\n extend: {\n classGroups: {\n \"font-typography\": [\n \"text-head1-medium\",\n \"text-head2-medium\",\n \"text-head3-medium\",\n \"text-head4-regular\",\n \"text-body1-medium\",\n \"text-body1-regular\",\n \"text-body2-regular\",\n \"text-body3-medium\",\n \"text-body3-regular\",\n \"text-body3-book\",\n \"text-caption-regular\",\n \"text-caption-book\",\n ],\n },\n },\n});\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cn } from \"../../lib/cn\";\n\nexport interface CTAProps {\n primary?: boolean;\n variable: CTAVariable;\n label: string;\n onClick?: () => void;\n className?: string;\n}\n\nexport type CTAVariable = \"disabled\" | \"default\" | \"pressed\";\n\nexport const CTA = ({\n primary = true,\n variable = \"default\",\n label,\n onClick,\n className,\n}: CTAProps) => {\n return (\n <button\n type=\"button\"\n className={cn(\n \"w-full max-w-360 h-12 p-2.5 text-center text-head3-medium\",\n `${primary ? \"border-0\" : \"border border-gray02\"}`,\n /** Disabled */ `${variable == \"disabled\" ? (primary ? \"bg-gray01 text-gray04 border border-gray01\" : \"bg-gray02 text-gray04\") : \"\"}`,\n /** Default */ `${variable == \"default\" ? (primary ? \"bg-black text-white\" : \"bg-white text-strong\") : \"\"}`,\n /** Hover */ `${variable != \"disabled\" ? (primary ? \"hover:bg-gray08 hover:text-white\" : \"hover:bg-gray01 hover:text-strong\") : \"\"}`,\n /** Hover */ `${variable != \"disabled\" && \"hover:cursor-pointer\"}`,\n /** Pressed */ `${variable == \"pressed\" ? (primary ? \"bg-gray09 text-white\" : \"bg-gray02 text-strong\") : \"\"}`,\n className,\n )}\n onClick={onClick}\n >\n {label}\n </button>\n );\n};\n"],"mappings":";;;AAAA,SAAS,YAA6B;AACtC,SAAS,2BAA2B;AAKpC,IAAM,UAAU,oBAAuC;AAAA,EACrD,QAAQ;AAAA,IACN,aAAa;AAAA,MACX,mBAAmB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ACTI;AARG,IAAM,MAAM,CAAC;AAAA,EAClB,UAAU;AAAA,EACV,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AACF,MAAgB;AACd,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAW;AAAA,QACT;AAAA,QACA,GAAG,UAAU,aAAa,sBAAsB;AAAA;AAAA,QAChC,GAAG,YAAY,aAAc,UAAU,+CAA+C,0BAA2B,EAAE;AAAA;AAAA,QACpH,GAAG,YAAY,YAAa,UAAU,wBAAwB,yBAA0B,EAAE;AAAA;AAAA,QAC5F,GAAG,YAAY,aAAc,UAAU,qCAAqC,sCAAuC,EAAE;AAAA;AAAA,QACrH,GAAG,YAAY,cAAc,sBAAsB;AAAA;AAAA,QACjD,GAAG,YAAY,YAAa,UAAU,yBAAyB,0BAA2B,EAAE;AAAA,QAC3G;AAAA,MACF;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;","names":[]}
package/dist/style.css ADDED
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-default:"ABCWhyteHangul"}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.contents{display:contents}.h-12{height:calc(var(--spacing) * 12)}.w-full{width:100%}.max-w-360{max-width:calc(var(--spacing) * 360)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-gray01{border-color:#eff1f5}.border-gray02{border-color:#e4e7eb}.bg-black{background-color:#121212}.bg-gray01{background-color:#eff1f5}.bg-gray02{background-color:#e4e7eb}.bg-gray09{background-color:#292f39}.bg-white{background-color:#fff}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-gray04{color:#b4b9c2}.text-strong{color:#292f39}.text-white{color:#fff}@media (hover:hover){.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-gray01:hover{background-color:#eff1f5}.hover\:bg-gray08:hover{background-color:#3a414c}.hover\:text-strong:hover{color:#292f39}.hover\:text-white:hover{color:#fff}}.text-head1-medium{font-size:22px;font-weight:500;line-height:160%}.text-head2-medium{font-size:20px;font-weight:500;line-height:160%}.text-head3-medium{font-size:18px;font-weight:500;line-height:150%}.text-head4-regular{font-size:18px;font-weight:400;line-height:150%}.text-body1-medium{font-size:16px;font-weight:500;line-height:150%}.text-body1-regular{font-size:16px;font-weight:400;line-height:150%}.text-body2-regular{font-size:15px;font-weight:400;line-height:150%}.text-body3-medium{font-size:14px;font-weight:500;line-height:150%}.text-body3-regular{font-size:14px;font-weight:400;line-height:150%}.text-body3-book{font-size:14px;font-weight:350;line-height:150%}.text-caption-regular{font-size:12px;font-weight:400;line-height:150%}.text-caption-book{font-size:12px;font-weight:350;line-height:150%}}body{font-family:var(--font-default)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
package/package.json ADDED
@@ -0,0 +1,96 @@
1
+ {
2
+ "name": "@hivcd-printshop/design-system",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "dev": "tsup --watch",
13
+ "lint": "eslint .",
14
+ "lint:fix": "eslint . --fix",
15
+ "format": "prettier --write .",
16
+ "format:check": "prettier --check .",
17
+ "test": "vitest run",
18
+ "test:watch": "vitest",
19
+ "prepublishOnly": "npm run build",
20
+ "build:css": "tailwindcss -i ./src/styles.css -o ./dist/style.css --minify",
21
+ "build": "tsup && npm run build:css",
22
+ "storybook": "storybook dev -p 6006",
23
+ "build-storybook": "storybook build"
24
+ },
25
+ "exports": {
26
+ ".": {
27
+ "types": "./dist/index.d.ts",
28
+ "import": "./dist/index.mjs",
29
+ "require": "./dist/index.js"
30
+ },
31
+ "./style.css": "./dist/style.css"
32
+ },
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/HIVCD-PRINTSHOP/Design-System.git"
36
+ },
37
+ "keywords": [],
38
+ "author": "",
39
+ "license": "ISC",
40
+ "type": "commonjs",
41
+ "bugs": {
42
+ "url": "https://github.com/HIVCD-PRINTSHOP/Design-System/issues"
43
+ },
44
+ "homepage": "https://github.com/HIVCD-PRINTSHOP/Design-System#readme",
45
+ "publishConfig": {
46
+ "access": "public"
47
+ },
48
+ "peerDependencies": {
49
+ "react": "^18.0.0 || ^19.0.0",
50
+ "react-dom": "^18.0.0 || ^19.0.0"
51
+ },
52
+ "devDependencies": {
53
+ "@chromatic-com/storybook": "latest",
54
+ "@eslint/js": "^9.39.5",
55
+ "@semantic-release/changelog": "^6.0.3",
56
+ "@semantic-release/git": "^10.0.1",
57
+ "@semantic-release/npm": "^12.0.2",
58
+ "@storybook/addon-a11y": "^10.5.7",
59
+ "@storybook/addon-docs": "^10.5.7",
60
+ "@storybook/addon-vitest": "^10.5.7",
61
+ "@storybook/react-vite": "^10.5.7",
62
+ "@tailwindcss/cli": "^4.3.3",
63
+ "@tailwindcss/vite": "^4.3.3",
64
+ "@testing-library/jest-dom": "^7.0.1",
65
+ "@testing-library/react": "^16.3.2",
66
+ "@types/react": "^19.2.18",
67
+ "@types/react-dom": "^19.2.4",
68
+ "@vitejs/plugin-react": "^6.0.5",
69
+ "@vitest/browser-playwright": "4.1.10",
70
+ "@vitest/coverage-v8": "4.1.10",
71
+ "eslint": "^9.39.5",
72
+ "eslint-config-prettier": "^10.1.8",
73
+ "eslint-plugin-react": "^7.37.5",
74
+ "eslint-plugin-react-hooks": "^7.1.1",
75
+ "eslint-plugin-storybook": "^10.5.7",
76
+ "jsdom": "^30.0.1",
77
+ "playwright": "latest",
78
+ "prettier": "^3.9.6",
79
+ "react": "^19.2.8",
80
+ "react-dom": "^19.2.8",
81
+ "semantic-release": "^24.2.9",
82
+ "storybook": "^10.5.7",
83
+ "tailwindcss": "^4.3.3",
84
+ "tsup": "^8.5.1",
85
+ "typescript": "^5.9.3",
86
+ "typescript-eslint": "^8.67.0",
87
+ "vitest": "^4.1.10"
88
+ },
89
+ "overrides": {
90
+ "esbuild": "^0.28.2"
91
+ },
92
+ "dependencies": {
93
+ "clsx": "^2.1.1",
94
+ "tailwind-merge": "^3.6.0"
95
+ }
96
+ }