soongle-ui 0.1.8 → 0.1.9

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/index.d.mts CHANGED
@@ -18,8 +18,8 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
18
18
  interface TextProps {
19
19
  children?: React.ReactNode;
20
20
  as?: "p" | "span" | "div" | "label" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
21
- size?: "xs" | "sm" | "base" | "lg" | "xl" | "2xl" | "3xl" | "4xl";
22
- weight?: "light" | "normal" | "medium" | "semibold" | "bold";
21
+ size?: "xs" | "sm" | "base" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl";
22
+ weight?: "light" | "normal" | "medium" | "semibold" | "bold" | "extrabold" | "black";
23
23
  color?: "default" | "muted" | "primary" | "secondary" | "danger" | "success";
24
24
  align?: "left" | "center" | "right";
25
25
  className?: string;
package/dist/index.d.ts CHANGED
@@ -18,8 +18,8 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
18
18
  interface TextProps {
19
19
  children?: React.ReactNode;
20
20
  as?: "p" | "span" | "div" | "label" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
21
- size?: "xs" | "sm" | "base" | "lg" | "xl" | "2xl" | "3xl" | "4xl";
22
- weight?: "light" | "normal" | "medium" | "semibold" | "bold";
21
+ size?: "xs" | "sm" | "base" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl";
22
+ weight?: "light" | "normal" | "medium" | "semibold" | "bold" | "extrabold" | "black";
23
23
  color?: "default" | "muted" | "primary" | "secondary" | "danger" | "success";
24
24
  align?: "left" | "center" | "right";
25
25
  className?: string;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var c=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var c__namespace=/*#__PURE__*/_interopNamespace(c);var p={xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl","2xl":"text-2xl","3xl":"text-3xl","4xl":"text-4xl","5xl":"text-5xl","6xl":"text-6xl","7xl":"text-7xl","8xl":"text-8xl","9xl":"text-9xl"},u={light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extrabold:"font-extrabold",black:"font-black"},b={default:"text-gray-900",muted:"text-gray-500",primary:"text-blue-600",secondary:"text-green-600",danger:"text-red-600",success:"text-emerald-600"},h={left:"text-left",center:"text-center",right:"text-right"},e=c__namespace.forwardRef(({children:s,as:o="p",size:r="base",weight:t="normal",color:a="default",align:l="left",className:n="",...x},i)=>{let f=[p[r],u[t],b[a],h[l],n].filter(Boolean).join(" ");return jsxRuntime.jsx(o,{ref:i,className:f,...x,children:s})});e.displayName="Text";var v={default:"bg-gray-200 text-gray-900 hover:bg-gray-300",primary:"bg-blue-600 text-white hover:bg-blue-700",secondary:"bg-green-600 text-white hover:bg-green-700",danger:"bg-red-600 text-white hover:bg-red-700",ghost:"bg-transparent text-gray-700 hover:bg-gray-100"},T={sm:"px-3 py-1.5",md:"px-4 py-2",lg:"px-6 py-3"},B={sm:"sm",md:"base",lg:"lg"},m=c__namespace.forwardRef(({className:s="",children:o,variant:r="default",size:t="md",...a},l)=>{let n=v[r],x=T[t],i=B[t];return jsxRuntime.jsx("button",{ref:l,className:`cursor-pointer inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 ${n} ${x} ${s}`,...a,children:jsxRuntime.jsx(e,{as:"span",size:i,weight:"medium",className:"leading-none",children:o})})});m.displayName="Button";exports.Button=m;exports.Text=e;//# sourceMappingURL=index.js.map
1
+ 'use strict';var m=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var m__namespace=/*#__PURE__*/_interopNamespace(m);var p={xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl","2xl":"text-2xl","3xl":"text-3xl","4xl":"text-4xl","5xl":"text-5xl","6xl":"text-6xl","7xl":"text-7xl","8xl":"text-8xl","9xl":"text-9xl"},b={light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extrabold:"font-extrabold",black:"font-black"},u={default:"text-gray-900",muted:"text-gray-500",primary:"text-blue-600",secondary:"text-green-600",danger:"text-red-600",success:"text-emerald-600"},h={left:"text-left",center:"text-center",right:"text-right"},e=m__namespace.forwardRef(({children:s,as:o="p",size:l="base",weight:t="normal",color:r="default",align:a="left",className:n="",...x},i)=>{let f=[p[l],b[t],u[r],h[a],n].filter(Boolean).join(" ");return jsxRuntime.jsx(o,{ref:i,className:f,...x,children:s})});e.displayName="Text";var v={default:"bg-gray-200 text-gray-900 hover:bg-gray-300",primary:"bg-blue-600 text-white hover:bg-blue-700",secondary:"bg-green-600 text-white hover:bg-green-700",danger:"bg-red-600 text-white hover:bg-red-700",ghost:"bg-transparent text-gray-700 hover:bg-gray-100"},T={sm:"px-3 py-1.5",md:"px-4 py-2",lg:"px-6 py-3"},B={sm:"sm",md:"base",lg:"lg"},c=m__namespace.forwardRef(({className:s="",children:o,variant:l="default",size:t="md",...r},a)=>{let n=v[l],x=T[t],i=B[t];return jsxRuntime.jsx("button",{ref:a,className:`cursor-pointer inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 ${n} ${x} ${s}`,...r,children:jsxRuntime.jsx(e,{as:"span",size:i,weight:"medium",className:"leading-none",children:o})})});c.displayName="Button";exports.Button=c;exports.Text=e;//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Text/Text.tsx","../src/components/Button/Button.tsx"],"names":["sizeClasses","weightClasses","colorClasses","alignClasses","Text","c","children","Component","size","weight","color","align","className","props","ref","classes","jsx","variantClasses","textSizeMap","Button","g","variant","variantClass","sizeClass","textSize"],"mappings":"kbAYA,IAAMA,CAAAA,CAAc,CAClB,EAAA,CAAI,SAAA,CACJ,EAAA,CAAI,SAAA,CACJ,IAAA,CAAM,WAAA,CACN,EAAA,CAAI,SAAA,CACJ,EAAA,CAAI,SAAA,CACJ,KAAA,CAAO,UAAA,CACP,KAAA,CAAO,UAAA,CACP,KAAA,CAAO,UAAA,CACP,KAAA,CAAO,UAAA,CACP,KAAA,CAAO,UAAA,CACP,KAAA,CAAO,UAAA,CACP,KAAA,CAAO,UAAA,CACP,KAAA,CAAO,UACT,CAAA,CAEMC,CAAAA,CAAgB,CACpB,KAAA,CAAO,YAAA,CACP,MAAA,CAAQ,aAAA,CACR,MAAA,CAAQ,aAAA,CACR,QAAA,CAAU,eAAA,CACV,IAAA,CAAM,WAAA,CACN,SAAA,CAAW,gBAAA,CACX,KAAA,CAAO,YACT,CAAA,CAEMC,CAAAA,CAAe,CACnB,OAAA,CAAS,eAAA,CACT,KAAA,CAAO,eAAA,CACP,OAAA,CAAS,eAAA,CACT,SAAA,CAAW,gBAAA,CACX,MAAA,CAAQ,cAAA,CACR,OAAA,CAAS,kBACX,CAAA,CAEMC,CAAAA,CAAe,CACnB,IAAA,CAAM,WAAA,CACN,MAAA,CAAQ,aAAA,CACR,KAAA,CAAO,YACT,CAAA,CAEaC,CAAAA,CAAaC,YAAA,CAAA,UAAA,CACxB,CACE,CACE,QAAA,CAAAC,CAAAA,CACA,EAAA,CAAIC,CAAAA,CAAY,GAAA,CAChB,IAAA,CAAAC,CAAAA,CAAO,MAAA,CACP,MAAA,CAAAC,CAAAA,CAAS,QAAA,CACT,KAAA,CAAAC,CAAAA,CAAQ,SAAA,CACR,KAAA,CAAAC,CAAAA,CAAQ,MAAA,CACR,SAAA,CAAAC,CAAAA,CAAY,EAAA,CACZ,GAAGC,CACL,CAAA,CACAC,CAAAA,GACG,CACH,IAAMC,CAAAA,CAAU,CACdf,CAAAA,CAAYQ,CAAI,CAAA,CAChBP,CAAAA,CAAcQ,CAAM,CAAA,CACpBP,CAAAA,CAAaQ,CAAK,CAAA,CAClBP,CAAAA,CAAaQ,CAAK,CAAA,CAClBC,CACF,CAAA,CACG,MAAA,CAAO,OAAO,CAAA,CACd,IAAA,CAAK,GAAG,CAAA,CAEX,OACEI,cAAAA,CAACT,CAAAA,CAAA,CAAU,GAAA,CAAKO,CAAAA,CAAY,SAAA,CAAWC,CAAAA,CAAU,GAAGF,CAAAA,CACjD,QAAA,CAAAP,CAAAA,CACH,CAEJ,CACF,EAEAF,CAAAA,CAAK,WAAA,CAAc,MAAA,CC1EnB,IAAMa,CAAAA,CAAiB,CACrB,OAAA,CAAS,6CAAA,CACT,OAAA,CAAS,0CAAA,CACT,SAAA,CAAW,4CAAA,CACX,MAAA,CAAQ,wCAAA,CACR,KAAA,CAAO,gDACT,CAAA,CAEMjB,CAAAA,CAAc,CAClB,EAAA,CAAI,aAAA,CACJ,EAAA,CAAI,WAAA,CACJ,EAAA,CAAI,WACN,CAAA,CAEMkB,CAAAA,CAAc,CAClB,EAAA,CAAI,IAAA,CACJ,EAAA,CAAI,MAAA,CACJ,EAAA,CAAI,IACN,CAAA,CAEaC,CAAAA,CAAeC,YAAA,CAAA,UAAA,CAC1B,CACE,CAAE,SAAA,CAAAR,CAAAA,CAAY,EAAA,CAAI,QAAA,CAAAN,CAAAA,CAAU,OAAA,CAAAe,CAAAA,CAAU,SAAA,CAAW,IAAA,CAAAb,CAAAA,CAAO,IAAA,CAAM,GAAGK,CAAM,CAAA,CACvEC,CAAAA,GACG,CACH,IAAMQ,CAAAA,CAAeL,CAAAA,CAAeI,CAAO,CAAA,CACrCE,CAAAA,CAAYvB,CAAAA,CAAYQ,CAAI,CAAA,CAC5BgB,CAAAA,CAAWN,CAAAA,CAAYV,CAAI,CAAA,CAEjC,OACEQ,cAAAA,CAAC,QAAA,CAAA,CACC,GAAA,CAAKF,CAAAA,CACL,SAAA,CAAW,CAAA,6NAAA,EAAgOQ,CAAY,CAAA,CAAA,EAAIC,CAAS,CAAA,CAAA,EAAIX,CAAS,CAAA,CAAA,CAChR,GAAGC,CAAAA,CAEJ,QAAA,CAAAG,cAAAA,CAACZ,CAAAA,CAAA,CACC,EAAA,CAAG,MAAA,CACH,IAAA,CAAMoB,CAAAA,CACN,MAAA,CAAO,QAAA,CACP,SAAA,CAAU,cAAA,CAET,QAAA,CAAAlB,CAAAA,CACH,CAAA,CACF,CAEJ,CACF,EAEAa,CAAAA,CAAO,WAAA,CAAc,QAAA","file":"index.js","sourcesContent":["import * as React from \"react\";\r\n\r\nexport interface TextProps {\r\n children?: React.ReactNode;\r\n as?: \"p\" | \"span\" | \"div\" | \"label\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\r\n size?: \"xs\" | \"sm\" | \"base\" | \"lg\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\";\r\n weight?: \"light\" | \"normal\" | \"medium\" | \"semibold\" | \"bold\";\r\n color?: \"default\" | \"muted\" | \"primary\" | \"secondary\" | \"danger\" | \"success\";\r\n align?: \"left\" | \"center\" | \"right\";\r\n className?: string;\r\n}\r\n\r\nconst sizeClasses = {\r\n xs: \"text-xs\",\r\n sm: \"text-sm\",\r\n base: \"text-base\",\r\n lg: \"text-lg\",\r\n xl: \"text-xl\",\r\n \"2xl\": \"text-2xl\",\r\n \"3xl\": \"text-3xl\",\r\n \"4xl\": \"text-4xl\",\r\n \"5xl\": \"text-5xl\",\r\n \"6xl\": \"text-6xl\",\r\n \"7xl\": \"text-7xl\",\r\n \"8xl\": \"text-8xl\",\r\n \"9xl\": \"text-9xl\",\r\n};\r\n\r\nconst weightClasses = {\r\n light: \"font-light\",\r\n normal: \"font-normal\",\r\n medium: \"font-medium\",\r\n semibold: \"font-semibold\",\r\n bold: \"font-bold\",\r\n extrabold: \"font-extrabold\",\r\n black: \"font-black\",\r\n};\r\n\r\nconst colorClasses = {\r\n default: \"text-gray-900\",\r\n muted: \"text-gray-500\",\r\n primary: \"text-blue-600\",\r\n secondary: \"text-green-600\",\r\n danger: \"text-red-600\",\r\n success: \"text-emerald-600\",\r\n};\r\n\r\nconst alignClasses = {\r\n left: \"text-left\",\r\n center: \"text-center\",\r\n right: \"text-right\",\r\n};\r\n\r\nexport const Text = React.forwardRef<HTMLElement, TextProps>(\r\n (\r\n {\r\n children,\r\n as: Component = \"p\",\r\n size = \"base\",\r\n weight = \"normal\",\r\n color = \"default\",\r\n align = \"left\",\r\n className = \"\",\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const classes = [\r\n sizeClasses[size],\r\n weightClasses[weight],\r\n colorClasses[color],\r\n alignClasses[align],\r\n className,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <Component ref={ref as any} className={classes} {...props}>\r\n {children}\r\n </Component>\r\n );\r\n }\r\n);\r\n\r\nText.displayName = \"Text\";\r\n","import * as React from \"react\";\r\nimport { Text } from \"../Text/Text\";\r\n\r\nexport interface ButtonProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n children?: React.ReactNode;\r\n variant?: \"default\" | \"primary\" | \"secondary\" | \"danger\" | \"ghost\";\r\n size?: \"sm\" | \"md\" | \"lg\";\r\n className?: string;\r\n}\r\n\r\nconst variantClasses = {\r\n default: \"bg-gray-200 text-gray-900 hover:bg-gray-300\",\r\n primary: \"bg-blue-600 text-white hover:bg-blue-700\",\r\n secondary: \"bg-green-600 text-white hover:bg-green-700\",\r\n danger: \"bg-red-600 text-white hover:bg-red-700\",\r\n ghost: \"bg-transparent text-gray-700 hover:bg-gray-100\",\r\n};\r\n\r\nconst sizeClasses = {\r\n sm: \"px-3 py-1.5\",\r\n md: \"px-4 py-2\",\r\n lg: \"px-6 py-3\",\r\n};\r\n\r\nconst textSizeMap = {\r\n sm: \"sm\" as const,\r\n md: \"base\" as const,\r\n lg: \"lg\" as const,\r\n};\r\n\r\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n (\r\n { className = \"\", children, variant = \"default\", size = \"md\", ...props },\r\n ref\r\n ) => {\r\n const variantClass = variantClasses[variant];\r\n const sizeClass = sizeClasses[size];\r\n const textSize = textSizeMap[size];\r\n\r\n return (\r\n <button\r\n ref={ref}\r\n className={`cursor-pointer inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 ${variantClass} ${sizeClass} ${className}`}\r\n {...props}\r\n >\r\n <Text\r\n as=\"span\"\r\n size={textSize}\r\n weight=\"medium\"\r\n className=\"leading-none\"\r\n >\r\n {children}\r\n </Text>\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nButton.displayName = \"Button\";\r\n"]}
1
+ {"version":3,"sources":["../src/components/Text/Text.tsx","../src/components/Button/Button.tsx"],"names":["sizeClasses","weightClasses","colorClasses","alignClasses","Text","m","children","Component","size","weight","color","align","className","props","ref","classes","jsx","variantClasses","textSizeMap","Button","g","variant","variantClass","sizeClass","textSize"],"mappings":"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","file":"index.js","sourcesContent":["import * as React from \"react\";\r\n\r\nexport interface TextProps {\r\n children?: React.ReactNode;\r\n as?: \"p\" | \"span\" | \"div\" | \"label\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\r\n size?: \"xs\" | \"sm\" | \"base\" | \"lg\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\" | \"5xl\" | \"6xl\" | \"7xl\" | \"8xl\" | \"9xl\";\r\n weight?: \"light\" | \"normal\" | \"medium\" | \"semibold\" | \"bold\" | \"extrabold\" | \"black\";\r\n color?: \"default\" | \"muted\" | \"primary\" | \"secondary\" | \"danger\" | \"success\";\r\n align?: \"left\" | \"center\" | \"right\";\r\n className?: string;\r\n}\r\n\r\nconst sizeClasses = {\r\n xs: \"text-xs\",\r\n sm: \"text-sm\",\r\n base: \"text-base\",\r\n lg: \"text-lg\",\r\n xl: \"text-xl\",\r\n \"2xl\": \"text-2xl\",\r\n \"3xl\": \"text-3xl\",\r\n \"4xl\": \"text-4xl\",\r\n \"5xl\": \"text-5xl\",\r\n \"6xl\": \"text-6xl\",\r\n \"7xl\": \"text-7xl\",\r\n \"8xl\": \"text-8xl\",\r\n \"9xl\": \"text-9xl\",\r\n};\r\n\r\nconst weightClasses = {\r\n light: \"font-light\",\r\n normal: \"font-normal\",\r\n medium: \"font-medium\",\r\n semibold: \"font-semibold\",\r\n bold: \"font-bold\",\r\n extrabold: \"font-extrabold\",\r\n black: \"font-black\",\r\n};\r\n\r\nconst colorClasses = {\r\n default: \"text-gray-900\",\r\n muted: \"text-gray-500\",\r\n primary: \"text-blue-600\",\r\n secondary: \"text-green-600\",\r\n danger: \"text-red-600\",\r\n success: \"text-emerald-600\",\r\n};\r\n\r\nconst alignClasses = {\r\n left: \"text-left\",\r\n center: \"text-center\",\r\n right: \"text-right\",\r\n};\r\n\r\nexport const Text = React.forwardRef<HTMLElement, TextProps>(\r\n (\r\n {\r\n children,\r\n as: Component = \"p\",\r\n size = \"base\",\r\n weight = \"normal\",\r\n color = \"default\",\r\n align = \"left\",\r\n className = \"\",\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const classes = [\r\n sizeClasses[size],\r\n weightClasses[weight],\r\n colorClasses[color],\r\n alignClasses[align],\r\n className,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <Component ref={ref as any} className={classes} {...props}>\r\n {children}\r\n </Component>\r\n );\r\n }\r\n);\r\n\r\nText.displayName = \"Text\";\r\n","import * as React from \"react\";\r\nimport { Text } from \"../Text/Text\";\r\n\r\nexport interface ButtonProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n children?: React.ReactNode;\r\n variant?: \"default\" | \"primary\" | \"secondary\" | \"danger\" | \"ghost\";\r\n size?: \"sm\" | \"md\" | \"lg\";\r\n className?: string;\r\n}\r\n\r\nconst variantClasses = {\r\n default: \"bg-gray-200 text-gray-900 hover:bg-gray-300\",\r\n primary: \"bg-blue-600 text-white hover:bg-blue-700\",\r\n secondary: \"bg-green-600 text-white hover:bg-green-700\",\r\n danger: \"bg-red-600 text-white hover:bg-red-700\",\r\n ghost: \"bg-transparent text-gray-700 hover:bg-gray-100\",\r\n};\r\n\r\nconst sizeClasses = {\r\n sm: \"px-3 py-1.5\",\r\n md: \"px-4 py-2\",\r\n lg: \"px-6 py-3\",\r\n};\r\n\r\nconst textSizeMap = {\r\n sm: \"sm\" as const,\r\n md: \"base\" as const,\r\n lg: \"lg\" as const,\r\n};\r\n\r\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n (\r\n { className = \"\", children, variant = \"default\", size = \"md\", ...props },\r\n ref\r\n ) => {\r\n const variantClass = variantClasses[variant];\r\n const sizeClass = sizeClasses[size];\r\n const textSize = textSizeMap[size];\r\n\r\n return (\r\n <button\r\n ref={ref}\r\n className={`cursor-pointer inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 ${variantClass} ${sizeClass} ${className}`}\r\n {...props}\r\n >\r\n <Text\r\n as=\"span\"\r\n size={textSize}\r\n weight=\"medium\"\r\n className=\"leading-none\"\r\n >\r\n {children}\r\n </Text>\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nButton.displayName = \"Button\";\r\n"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import*as c from'react';import {jsx}from'react/jsx-runtime';var p={xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl","2xl":"text-2xl","3xl":"text-3xl","4xl":"text-4xl","5xl":"text-5xl","6xl":"text-6xl","7xl":"text-7xl","8xl":"text-8xl","9xl":"text-9xl"},u={light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extrabold:"font-extrabold",black:"font-black"},b={default:"text-gray-900",muted:"text-gray-500",primary:"text-blue-600",secondary:"text-green-600",danger:"text-red-600",success:"text-emerald-600"},h={left:"text-left",center:"text-center",right:"text-right"},e=c.forwardRef(({children:s,as:o="p",size:r="base",weight:t="normal",color:a="default",align:l="left",className:n="",...x},i)=>{let f=[p[r],u[t],b[a],h[l],n].filter(Boolean).join(" ");return jsx(o,{ref:i,className:f,...x,children:s})});e.displayName="Text";var v={default:"bg-gray-200 text-gray-900 hover:bg-gray-300",primary:"bg-blue-600 text-white hover:bg-blue-700",secondary:"bg-green-600 text-white hover:bg-green-700",danger:"bg-red-600 text-white hover:bg-red-700",ghost:"bg-transparent text-gray-700 hover:bg-gray-100"},T={sm:"px-3 py-1.5",md:"px-4 py-2",lg:"px-6 py-3"},B={sm:"sm",md:"base",lg:"lg"},m=c.forwardRef(({className:s="",children:o,variant:r="default",size:t="md",...a},l)=>{let n=v[r],x=T[t],i=B[t];return jsx("button",{ref:l,className:`cursor-pointer inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 ${n} ${x} ${s}`,...a,children:jsx(e,{as:"span",size:i,weight:"medium",className:"leading-none",children:o})})});m.displayName="Button";export{m as Button,e as Text};//# sourceMappingURL=index.mjs.map
1
+ import*as m from'react';import {jsx}from'react/jsx-runtime';var p={xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl","2xl":"text-2xl","3xl":"text-3xl","4xl":"text-4xl","5xl":"text-5xl","6xl":"text-6xl","7xl":"text-7xl","8xl":"text-8xl","9xl":"text-9xl"},b={light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extrabold:"font-extrabold",black:"font-black"},u={default:"text-gray-900",muted:"text-gray-500",primary:"text-blue-600",secondary:"text-green-600",danger:"text-red-600",success:"text-emerald-600"},h={left:"text-left",center:"text-center",right:"text-right"},e=m.forwardRef(({children:s,as:o="p",size:l="base",weight:t="normal",color:r="default",align:a="left",className:n="",...x},i)=>{let f=[p[l],b[t],u[r],h[a],n].filter(Boolean).join(" ");return jsx(o,{ref:i,className:f,...x,children:s})});e.displayName="Text";var v={default:"bg-gray-200 text-gray-900 hover:bg-gray-300",primary:"bg-blue-600 text-white hover:bg-blue-700",secondary:"bg-green-600 text-white hover:bg-green-700",danger:"bg-red-600 text-white hover:bg-red-700",ghost:"bg-transparent text-gray-700 hover:bg-gray-100"},T={sm:"px-3 py-1.5",md:"px-4 py-2",lg:"px-6 py-3"},B={sm:"sm",md:"base",lg:"lg"},c=m.forwardRef(({className:s="",children:o,variant:l="default",size:t="md",...r},a)=>{let n=v[l],x=T[t],i=B[t];return jsx("button",{ref:a,className:`cursor-pointer inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 ${n} ${x} ${s}`,...r,children:jsx(e,{as:"span",size:i,weight:"medium",className:"leading-none",children:o})})});c.displayName="Button";export{c as Button,e as Text};//# sourceMappingURL=index.mjs.map
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Text/Text.tsx","../src/components/Button/Button.tsx"],"names":["sizeClasses","weightClasses","colorClasses","alignClasses","Text","children","Component","size","weight","color","align","className","props","ref","classes","jsx","variantClasses","textSizeMap","Button","g","variant","variantClass","sizeClass","textSize"],"mappings":"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","file":"index.mjs","sourcesContent":["import * as React from \"react\";\r\n\r\nexport interface TextProps {\r\n children?: React.ReactNode;\r\n as?: \"p\" | \"span\" | \"div\" | \"label\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\r\n size?: \"xs\" | \"sm\" | \"base\" | \"lg\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\";\r\n weight?: \"light\" | \"normal\" | \"medium\" | \"semibold\" | \"bold\";\r\n color?: \"default\" | \"muted\" | \"primary\" | \"secondary\" | \"danger\" | \"success\";\r\n align?: \"left\" | \"center\" | \"right\";\r\n className?: string;\r\n}\r\n\r\nconst sizeClasses = {\r\n xs: \"text-xs\",\r\n sm: \"text-sm\",\r\n base: \"text-base\",\r\n lg: \"text-lg\",\r\n xl: \"text-xl\",\r\n \"2xl\": \"text-2xl\",\r\n \"3xl\": \"text-3xl\",\r\n \"4xl\": \"text-4xl\",\r\n \"5xl\": \"text-5xl\",\r\n \"6xl\": \"text-6xl\",\r\n \"7xl\": \"text-7xl\",\r\n \"8xl\": \"text-8xl\",\r\n \"9xl\": \"text-9xl\",\r\n};\r\n\r\nconst weightClasses = {\r\n light: \"font-light\",\r\n normal: \"font-normal\",\r\n medium: \"font-medium\",\r\n semibold: \"font-semibold\",\r\n bold: \"font-bold\",\r\n extrabold: \"font-extrabold\",\r\n black: \"font-black\",\r\n};\r\n\r\nconst colorClasses = {\r\n default: \"text-gray-900\",\r\n muted: \"text-gray-500\",\r\n primary: \"text-blue-600\",\r\n secondary: \"text-green-600\",\r\n danger: \"text-red-600\",\r\n success: \"text-emerald-600\",\r\n};\r\n\r\nconst alignClasses = {\r\n left: \"text-left\",\r\n center: \"text-center\",\r\n right: \"text-right\",\r\n};\r\n\r\nexport const Text = React.forwardRef<HTMLElement, TextProps>(\r\n (\r\n {\r\n children,\r\n as: Component = \"p\",\r\n size = \"base\",\r\n weight = \"normal\",\r\n color = \"default\",\r\n align = \"left\",\r\n className = \"\",\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const classes = [\r\n sizeClasses[size],\r\n weightClasses[weight],\r\n colorClasses[color],\r\n alignClasses[align],\r\n className,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <Component ref={ref as any} className={classes} {...props}>\r\n {children}\r\n </Component>\r\n );\r\n }\r\n);\r\n\r\nText.displayName = \"Text\";\r\n","import * as React from \"react\";\r\nimport { Text } from \"../Text/Text\";\r\n\r\nexport interface ButtonProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n children?: React.ReactNode;\r\n variant?: \"default\" | \"primary\" | \"secondary\" | \"danger\" | \"ghost\";\r\n size?: \"sm\" | \"md\" | \"lg\";\r\n className?: string;\r\n}\r\n\r\nconst variantClasses = {\r\n default: \"bg-gray-200 text-gray-900 hover:bg-gray-300\",\r\n primary: \"bg-blue-600 text-white hover:bg-blue-700\",\r\n secondary: \"bg-green-600 text-white hover:bg-green-700\",\r\n danger: \"bg-red-600 text-white hover:bg-red-700\",\r\n ghost: \"bg-transparent text-gray-700 hover:bg-gray-100\",\r\n};\r\n\r\nconst sizeClasses = {\r\n sm: \"px-3 py-1.5\",\r\n md: \"px-4 py-2\",\r\n lg: \"px-6 py-3\",\r\n};\r\n\r\nconst textSizeMap = {\r\n sm: \"sm\" as const,\r\n md: \"base\" as const,\r\n lg: \"lg\" as const,\r\n};\r\n\r\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n (\r\n { className = \"\", children, variant = \"default\", size = \"md\", ...props },\r\n ref\r\n ) => {\r\n const variantClass = variantClasses[variant];\r\n const sizeClass = sizeClasses[size];\r\n const textSize = textSizeMap[size];\r\n\r\n return (\r\n <button\r\n ref={ref}\r\n className={`cursor-pointer inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 ${variantClass} ${sizeClass} ${className}`}\r\n {...props}\r\n >\r\n <Text\r\n as=\"span\"\r\n size={textSize}\r\n weight=\"medium\"\r\n className=\"leading-none\"\r\n >\r\n {children}\r\n </Text>\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nButton.displayName = \"Button\";\r\n"]}
1
+ {"version":3,"sources":["../src/components/Text/Text.tsx","../src/components/Button/Button.tsx"],"names":["sizeClasses","weightClasses","colorClasses","alignClasses","Text","children","Component","size","weight","color","align","className","props","ref","classes","jsx","variantClasses","textSizeMap","Button","g","variant","variantClass","sizeClass","textSize"],"mappings":"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","file":"index.mjs","sourcesContent":["import * as React from \"react\";\r\n\r\nexport interface TextProps {\r\n children?: React.ReactNode;\r\n as?: \"p\" | \"span\" | \"div\" | \"label\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\r\n size?: \"xs\" | \"sm\" | \"base\" | \"lg\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\" | \"5xl\" | \"6xl\" | \"7xl\" | \"8xl\" | \"9xl\";\r\n weight?: \"light\" | \"normal\" | \"medium\" | \"semibold\" | \"bold\" | \"extrabold\" | \"black\";\r\n color?: \"default\" | \"muted\" | \"primary\" | \"secondary\" | \"danger\" | \"success\";\r\n align?: \"left\" | \"center\" | \"right\";\r\n className?: string;\r\n}\r\n\r\nconst sizeClasses = {\r\n xs: \"text-xs\",\r\n sm: \"text-sm\",\r\n base: \"text-base\",\r\n lg: \"text-lg\",\r\n xl: \"text-xl\",\r\n \"2xl\": \"text-2xl\",\r\n \"3xl\": \"text-3xl\",\r\n \"4xl\": \"text-4xl\",\r\n \"5xl\": \"text-5xl\",\r\n \"6xl\": \"text-6xl\",\r\n \"7xl\": \"text-7xl\",\r\n \"8xl\": \"text-8xl\",\r\n \"9xl\": \"text-9xl\",\r\n};\r\n\r\nconst weightClasses = {\r\n light: \"font-light\",\r\n normal: \"font-normal\",\r\n medium: \"font-medium\",\r\n semibold: \"font-semibold\",\r\n bold: \"font-bold\",\r\n extrabold: \"font-extrabold\",\r\n black: \"font-black\",\r\n};\r\n\r\nconst colorClasses = {\r\n default: \"text-gray-900\",\r\n muted: \"text-gray-500\",\r\n primary: \"text-blue-600\",\r\n secondary: \"text-green-600\",\r\n danger: \"text-red-600\",\r\n success: \"text-emerald-600\",\r\n};\r\n\r\nconst alignClasses = {\r\n left: \"text-left\",\r\n center: \"text-center\",\r\n right: \"text-right\",\r\n};\r\n\r\nexport const Text = React.forwardRef<HTMLElement, TextProps>(\r\n (\r\n {\r\n children,\r\n as: Component = \"p\",\r\n size = \"base\",\r\n weight = \"normal\",\r\n color = \"default\",\r\n align = \"left\",\r\n className = \"\",\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const classes = [\r\n sizeClasses[size],\r\n weightClasses[weight],\r\n colorClasses[color],\r\n alignClasses[align],\r\n className,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <Component ref={ref as any} className={classes} {...props}>\r\n {children}\r\n </Component>\r\n );\r\n }\r\n);\r\n\r\nText.displayName = \"Text\";\r\n","import * as React from \"react\";\r\nimport { Text } from \"../Text/Text\";\r\n\r\nexport interface ButtonProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n children?: React.ReactNode;\r\n variant?: \"default\" | \"primary\" | \"secondary\" | \"danger\" | \"ghost\";\r\n size?: \"sm\" | \"md\" | \"lg\";\r\n className?: string;\r\n}\r\n\r\nconst variantClasses = {\r\n default: \"bg-gray-200 text-gray-900 hover:bg-gray-300\",\r\n primary: \"bg-blue-600 text-white hover:bg-blue-700\",\r\n secondary: \"bg-green-600 text-white hover:bg-green-700\",\r\n danger: \"bg-red-600 text-white hover:bg-red-700\",\r\n ghost: \"bg-transparent text-gray-700 hover:bg-gray-100\",\r\n};\r\n\r\nconst sizeClasses = {\r\n sm: \"px-3 py-1.5\",\r\n md: \"px-4 py-2\",\r\n lg: \"px-6 py-3\",\r\n};\r\n\r\nconst textSizeMap = {\r\n sm: \"sm\" as const,\r\n md: \"base\" as const,\r\n lg: \"lg\" as const,\r\n};\r\n\r\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n (\r\n { className = \"\", children, variant = \"default\", size = \"md\", ...props },\r\n ref\r\n ) => {\r\n const variantClass = variantClasses[variant];\r\n const sizeClass = sizeClasses[size];\r\n const textSize = textSizeMap[size];\r\n\r\n return (\r\n <button\r\n ref={ref}\r\n className={`cursor-pointer inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 ${variantClass} ${sizeClass} ${className}`}\r\n {...props}\r\n >\r\n <Text\r\n as=\"span\"\r\n size={textSize}\r\n weight=\"medium\"\r\n className=\"leading-none\"\r\n >\r\n {children}\r\n </Text>\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nButton.displayName = \"Button\";\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "soongle-ui",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "A design system library for React.js and Next.js with TailwindCSS v4 by Soongle",
5
5
  "sideEffects": false,
6
6
  "publishConfig": {