@customafk/lunas-ui 0.0.1-f → 0.0.1

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.
Files changed (73) hide show
  1. package/README.md +17 -37
  2. package/dist/alert.cjs +2 -0
  3. package/dist/alert.cjs.map +1 -0
  4. package/dist/alert.d.cts +24 -0
  5. package/dist/alert.d.ts +24 -0
  6. package/dist/alert.js +2 -0
  7. package/dist/alert.js.map +1 -0
  8. package/dist/button.cjs +2 -0
  9. package/dist/button.cjs.map +1 -0
  10. package/dist/button.d.cts +21 -0
  11. package/dist/button.d.ts +21 -0
  12. package/dist/button.js +2 -0
  13. package/dist/button.js.map +1 -0
  14. package/dist/utils-Bo7GM4B-.cjs +2 -0
  15. package/dist/utils-Bo7GM4B-.cjs.map +1 -0
  16. package/dist/utils-CGQEF8PW.js +2 -0
  17. package/dist/utils-CGQEF8PW.js.map +1 -0
  18. package/package.json +45 -220
  19. package/dist/Atoms/Badge/index.d.ts +0 -8
  20. package/dist/Atoms/Badge/index.js +0 -251
  21. package/dist/Atoms/Breadcrumb/index.d.ts +0 -23
  22. package/dist/Atoms/Breadcrumb/index.js +0 -349
  23. package/dist/Atoms/Button/index.d.ts +0 -20
  24. package/dist/Atoms/Button/index.js +0 -300
  25. package/dist/Atoms/Card/index.d.ts +0 -17
  26. package/dist/Atoms/Card/index.js +0 -289
  27. package/dist/Atoms/Carousel/index.d.ts +0 -28
  28. package/dist/Atoms/Carousel/index.js +0 -485
  29. package/dist/Atoms/Command/index.d.ts +0 -85
  30. package/dist/Atoms/Command/index.js +0 -469
  31. package/dist/Atoms/Dialog/index.d.ts +0 -22
  32. package/dist/Atoms/Dialog/index.js +0 -351
  33. package/dist/Atoms/DropdownMenu/index.d.ts +0 -30
  34. package/dist/Atoms/DropdownMenu/index.js +0 -427
  35. package/dist/Atoms/Form/index.d.ts +0 -28
  36. package/dist/Atoms/Form/index.js +0 -346
  37. package/dist/Atoms/Input/index.d.ts +0 -12
  38. package/dist/Atoms/Input/index.js +0 -804
  39. package/dist/Atoms/Label/index.d.ts +0 -8
  40. package/dist/Atoms/Label/index.js +0 -245
  41. package/dist/Atoms/Money/index.d.ts +0 -9
  42. package/dist/Atoms/Money/index.js +0 -450
  43. package/dist/Atoms/Navbar/index.d.ts +0 -14
  44. package/dist/Atoms/Navbar/index.js +0 -310
  45. package/dist/Atoms/QuantityBtn/index.d.ts +0 -9
  46. package/dist/Atoms/QuantityBtn/index.js +0 -950
  47. package/dist/Atoms/ScrollBar/index.d.ts +0 -7
  48. package/dist/Atoms/ScrollBar/index.js +0 -270
  49. package/dist/Atoms/Select/index.d.ts +0 -15
  50. package/dist/Atoms/Select/index.js +0 -427
  51. package/dist/Atoms/Skeleton/index.d.ts +0 -6
  52. package/dist/Atoms/Skeleton/index.js +0 -238
  53. package/dist/Atoms/UserAvatar/index.d.ts +0 -11
  54. package/dist/Atoms/UserAvatar/index.js +0 -440
  55. package/dist/Icons/index.d.ts +0 -176
  56. package/dist/Icons/index.js +0 -1844
  57. package/dist/Layout/Flex/index.d.ts +0 -140
  58. package/dist/Layout/Flex/index.js +0 -660
  59. package/dist/Molecules/AuthenForm/index.d.ts +0 -52
  60. package/dist/Molecules/AuthenForm/index.js +0 -1972
  61. package/dist/Molecules/Search/index.d.ts +0 -14
  62. package/dist/Molecules/Search/index.js +0 -968
  63. package/dist/Molecules/UserDropdown/index.d.ts +0 -17
  64. package/dist/Molecules/UserDropdown/index.js +0 -1303
  65. package/dist/Organisms/Footer/index.d.ts +0 -5
  66. package/dist/Organisms/Footer/index.js +0 -63
  67. package/dist/Organisms/Header/index.d.ts +0 -22
  68. package/dist/Organisms/Header/index.js +0 -2095
  69. package/dist/hooks/index.d.ts +0 -116
  70. package/dist/hooks/index.js +0 -278
  71. package/dist/tailwindTheme.d.ts +0 -211
  72. package/dist/tailwindTheme.js +0 -218
  73. package/dist/types-DdUenP1k.d.ts +0 -18
package/README.md CHANGED
@@ -1,49 +1,29 @@
1
- # E-Commerce UI
1
+ # react-components-starter
2
2
 
3
- ## 🤔 What is this project?
3
+ A starter for creating a React component library.
4
4
 
5
- This is a component library for any e-commerce web project.
5
+ ## Development
6
6
 
7
- ## Installation
7
+ - Install dependencies:
8
8
 
9
- 1. Prerequisites
10
-
11
- - `Node.js >= 20.x`
12
- - `Yarn >= 4.x`
13
-
14
- 2. Clone repository
15
-
16
- - `git clone https://github.com/QuangPhamvt/e-commerce-ui.git`
17
-
18
- 3. Install packages
19
-
20
- - `yarn`
21
-
22
- 4. Run
9
+ ```bash
10
+ npm install
11
+ ```
23
12
 
24
- - `yarn run sb`
25
- - Go to [localhost:6006](http://localhost:6006)
13
+ - Run the playground:
26
14
 
27
- ## ❔ How to push
15
+ ```bash
16
+ npm run playground
17
+ ```
28
18
 
29
- - Role commit: `{type}: {subject}`
19
+ - Run the unit tests:
30
20
 
31
- - type: feature (feat) | fix | style | refactor | documentation (doc) | test | build
32
- - subject: write a concise description of the change
33
- <!-- - # (TODO) Automatic: check lint and format pre-commit -->
21
+ ```bash
22
+ npm run test
23
+ ```
34
24
 
35
- - Example:
25
+ - Build the library:
36
26
 
37
27
  ```bash
38
- git commit -m "{type}: {subject}"
28
+ npm run build
39
29
  ```
40
-
41
- | **Type** | **Description** |
42
- | :------------ | :----------------------------------------------------------------------------------------------------- |
43
- | feature | A new feature |
44
- | fix | A bug fix |
45
- | style | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |
46
- | refactor | Changes that restructure the code without adding new features |
47
- | documentation | Changes to documentation only |
48
- | test | Changes that add or modify existing tests |
49
- | build | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) |
package/dist/alert.cjs ADDED
@@ -0,0 +1,2 @@
1
+ const e=require(`./utils-Bo7GM4B-.cjs`);require(`react`);const t=e.__toESM(require(`class-variance-authority`)),n=e.__toESM(require(`react/jsx-runtime`)),r=(0,t.cva)([`relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm`,`has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4`,`[&>svg]:translate-y-0.5 [&>svg]:text-current`],{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90`}},defaultVariants:{variant:`default`}});function i({className:t,variant:i,...a}){return(0,n.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:e.cn(r({variant:i}),t),...a})}function a({className:t,...r}){return(0,n.jsx)(`div`,{"data-slot":`alert-title`,className:e.cn(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,t),...r})}function o({className:t,...r}){return(0,n.jsx)(`div`,{"data-slot":`alert-description`,className:e.cn(`text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,t),...r})}exports.Alert=i,exports.AlertDescription=o,exports.AlertTitle=a;
2
+ //# sourceMappingURL=alert.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.cjs","names":["cn"],"sources":["../packages/components/ui/alert.tsx"],"sourcesContent":["import React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst alertVariants = cva(\n [\n \"relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm\",\n \"has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4\",\n \"[&>svg]:translate-y-0.5 [&>svg]:text-current\",\n ],\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle };\n"],"mappings":"0JAKM,GAAA,EAAA,EAAA,KACJ,CACE,mGACA,sFACA,+CACD,CACD,CACE,SAAU,CACR,QAAS,CACP,QAAS,+BACT,YACE,oGACH,CACF,CACD,gBAAiB,CACf,QAAS,UACV,CACF,EAGH,SAAS,EAAM,CACb,YACA,UACA,GAAG,EAC8D,CAAE,CACnE,OACE,EAAA,EAAA,KAAC,MAAA,CACC,YAAU,QACV,KAAK,QACL,UAAWA,EAAAA,GAAG,EAAc,CAAE,UAAS,EAAG,GAC1C,GAAI,GAGT,CAED,SAAS,EAAW,CAAE,YAAW,GAAG,EAAoC,CAAE,CACxE,OACE,EAAA,EAAA,KAAC,MAAA,CACC,YAAU,cACV,UAAWA,EAAAA,GACT,8DACA,GAEF,GAAI,GAGT,CAED,SAAS,EAAiB,CACxB,YACA,GAAG,EACyB,CAAE,CAC9B,OACE,EAAA,EAAA,KAAC,MAAA,CACC,YAAU,oBACV,UAAWA,EAAAA,GACT,iGACA,GAEF,GAAI,GAGT"}
@@ -0,0 +1,24 @@
1
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
2
+ import React from "react";
3
+ import { VariantProps } from "class-variance-authority";
4
+
5
+ //#region packages/components/ui/alert.d.ts
6
+ declare const alertVariants: (props?: ({
7
+ variant?: "default" | "destructive" | null | undefined;
8
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
9
+ declare function Alert({
10
+ className,
11
+ variant,
12
+ ...props
13
+ }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): React.JSX.Element;
14
+ declare function AlertTitle({
15
+ className,
16
+ ...props
17
+ }: React.ComponentProps<"div">): React.JSX.Element;
18
+ declare function AlertDescription({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<"div">): React.JSX.Element;
22
+ //#endregion
23
+ export { Alert, AlertDescription, AlertTitle };
24
+ //# sourceMappingURL=alert.d.cts.map
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import { VariantProps } from "class-variance-authority";
3
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
4
+
5
+ //#region packages/components/ui/alert.d.ts
6
+ declare const alertVariants: (props?: ({
7
+ variant?: "default" | "destructive" | null | undefined;
8
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
9
+ declare function Alert({
10
+ className,
11
+ variant,
12
+ ...props
13
+ }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): React.JSX.Element;
14
+ declare function AlertTitle({
15
+ className,
16
+ ...props
17
+ }: React.ComponentProps<"div">): React.JSX.Element;
18
+ declare function AlertDescription({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<"div">): React.JSX.Element;
22
+ //#endregion
23
+ export { Alert, AlertDescription, AlertTitle };
24
+ //# sourceMappingURL=alert.d.ts.map
package/dist/alert.js ADDED
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"./utils-CGQEF8PW.js";import t from"react";import{cva as n}from"class-variance-authority";import{jsx as r}from"react/jsx-runtime";const i=n([`relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm`,`has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4`,`[&>svg]:translate-y-0.5 [&>svg]:text-current`],{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90`}},defaultVariants:{variant:`default`}});function a({className:t,variant:n,...a}){return r(`div`,{"data-slot":`alert`,role:`alert`,className:e(i({variant:n}),t),...a})}function o({className:t,...n}){return r(`div`,{"data-slot":`alert-title`,className:e(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,t),...n})}function s({className:t,...n}){return r(`div`,{"data-slot":`alert-description`,className:e(`text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,t),...n})}export{a as Alert,s as AlertDescription,o as AlertTitle};
2
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","names":[],"sources":["../packages/components/ui/alert.tsx"],"sourcesContent":["import React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst alertVariants = cva(\n [\n \"relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm\",\n \"has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4\",\n \"[&>svg]:translate-y-0.5 [&>svg]:text-current\",\n ],\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle };\n"],"mappings":"qJAKA,MAAM,EAAgB,EACpB,CACE,mGACA,sFACA,+CACD,CACD,CACE,SAAU,CACR,QAAS,CACP,QAAS,+BACT,YACE,oGACH,CACF,CACD,gBAAiB,CACf,QAAS,UACV,CACF,EAGH,SAAS,EAAM,CACb,YACA,UACA,GAAG,EAC8D,CAAE,CACnE,OACE,EAAC,MAAA,CACC,YAAU,QACV,KAAK,QACL,UAAW,EAAG,EAAc,CAAE,UAAS,EAAG,GAC1C,GAAI,GAGT,CAED,SAAS,EAAW,CAAE,YAAW,GAAG,EAAoC,CAAE,CACxE,OACE,EAAC,MAAA,CACC,YAAU,cACV,UAAW,EACT,8DACA,GAEF,GAAI,GAGT,CAED,SAAS,EAAiB,CACxB,YACA,GAAG,EACyB,CAAE,CAC9B,OACE,EAAC,MAAA,CACC,YAAU,oBACV,UAAW,EACT,iGACA,GAEF,GAAI,GAGT"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./utils-Bo7GM4B-.cjs`);require(`react`);const t=e.__toESM(require(`class-variance-authority`)),n=e.__toESM(require(`react/jsx-runtime`)),r=e.__toESM(require(`radix-ui`)),i=(0,t.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-xs hover:bg-primary/90`,destructive:`bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function a({className:t,variant:a,size:o,asChild:s=!1,...c}){let l=s?r.Slot.Slot:`button`;return(0,n.jsx)(l,{"data-slot":`button`,className:e.cn(i({variant:a,size:o,className:t})),...c})}exports.Button=a,exports.buttonVariants=i;
2
+ //# sourceMappingURL=button.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.cjs","names":["SlotPrimitive","cn"],"sources":["../packages/components/ui/button.tsx"],"sourcesContent":["import React from \"react\";\nimport { Slot as SlotPrimitive } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? SlotPrimitive.Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"mappings":"2LAMM,GAAA,EAAA,EAAA,KACJ,8bACA,CACE,SAAU,CACR,QAAS,CACP,QACE,mEACF,YACE,8JACF,QACE,wIACF,UACE,yEACF,MACE,uEACF,KAAM,kDACP,CACD,KAAM,CACJ,QAAS,gCACT,GAAI,gDACJ,GAAI,uCACJ,KAAM,SACP,CACF,CACD,gBAAiB,CACf,QAAS,UACT,KAAM,UACP,CACF,EAGH,SAAS,EAAO,CACd,YACA,UACA,OACA,UAAU,GACV,GAAG,EAIF,CAAE,CACH,IAAM,EAAO,EAAUA,EAAAA,KAAc,KAAO,SAE5C,OACE,EAAA,EAAA,KAAC,EAAA,CACC,YAAU,SACV,UAAWC,EAAAA,GAAG,EAAe,CAAE,UAAS,OAAM,YAAW,GACzD,GAAI,GAGT"}
@@ -0,0 +1,21 @@
1
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
2
+ import React from "react";
3
+ import { VariantProps } from "class-variance-authority";
4
+
5
+ //#region packages/components/ui/button.d.ts
6
+ declare const buttonVariants: (props?: ({
7
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
8
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
9
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
10
+ declare function Button({
11
+ className,
12
+ variant,
13
+ size,
14
+ asChild,
15
+ ...props
16
+ }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
17
+ asChild?: boolean;
18
+ }): React.JSX.Element;
19
+ //#endregion
20
+ export { Button, buttonVariants };
21
+ //# sourceMappingURL=button.d.cts.map
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import { VariantProps } from "class-variance-authority";
3
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
4
+
5
+ //#region packages/components/ui/button.d.ts
6
+ declare const buttonVariants: (props?: ({
7
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
8
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
9
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
10
+ declare function Button({
11
+ className,
12
+ variant,
13
+ size,
14
+ asChild,
15
+ ...props
16
+ }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
17
+ asChild?: boolean;
18
+ }): React.JSX.Element;
19
+ //#endregion
20
+ export { Button, buttonVariants };
21
+ //# sourceMappingURL=button.d.ts.map
package/dist/button.js ADDED
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"./utils-CGQEF8PW.js";import t from"react";import{cva as n}from"class-variance-authority";import{jsx as r}from"react/jsx-runtime";import{Slot as i}from"radix-ui";const a=n(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-xs hover:bg-primary/90`,destructive:`bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function o({className:t,variant:n,size:o,asChild:s=!1,...c}){let l=s?i.Slot:`button`;return r(l,{"data-slot":`button`,className:e(a({variant:n,size:o,className:t})),...c})}export{o as Button,a as buttonVariants};
2
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","names":["SlotPrimitive"],"sources":["../packages/components/ui/button.tsx"],"sourcesContent":["import React from \"react\";\nimport { Slot as SlotPrimitive } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? SlotPrimitive.Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"mappings":"qLAMA,MAAM,EAAiB,EACrB,8bACA,CACE,SAAU,CACR,QAAS,CACP,QACE,mEACF,YACE,8JACF,QACE,wIACF,UACE,yEACF,MACE,uEACF,KAAM,kDACP,CACD,KAAM,CACJ,QAAS,gCACT,GAAI,gDACJ,GAAI,uCACJ,KAAM,SACP,CACF,CACD,gBAAiB,CACf,QAAS,UACT,KAAM,UACP,CACF,EAGH,SAAS,EAAO,CACd,YACA,UACA,OACA,UAAU,GACV,GAAG,EAIF,CAAE,CACH,IAAM,EAAO,EAAUA,EAAc,KAAO,SAE5C,OACE,EAAC,EAAA,CACC,YAAU,SACV,UAAW,EAAG,EAAe,CAAE,UAAS,OAAM,YAAW,GACzD,GAAI,GAGT"}
@@ -0,0 +1,2 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=s(require(`clsx`)),l=s(require(`tailwind-merge`));function u(...e){return(0,l.twMerge)((0,c.clsx)(e))}Object.defineProperty(exports,`__toESM`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`cn`,{enumerable:!0,get:function(){return u}});
2
+ //# sourceMappingURL=utils-Bo7GM4B-.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-Bo7GM4B-.cjs","names":[],"sources":["../packages/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":"whBAGA,SAAgB,EAAG,GAAG,EAAsB,CAC1C,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAoB,GACrB"}
@@ -0,0 +1,2 @@
1
+ import{clsx as e}from"clsx";import{twMerge as t}from"tailwind-merge";function n(...n){return t(e(n))}export{n as cn};
2
+ //# sourceMappingURL=utils-CGQEF8PW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-CGQEF8PW.js","names":[],"sources":["../packages/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":"qEAGA,SAAgB,EAAG,GAAG,EAAsB,CAC1C,OAAO,EAAQ,EAAK,GACrB"}
package/package.json CHANGED
@@ -1,237 +1,62 @@
1
1
  {
2
2
  "name": "@customafk/lunas-ui",
3
- "private": false,
4
- "version": "0.0.1-f",
3
+ "version": "0.0.1",
4
+ "description": "UI library for Lunas Enterprise",
5
5
  "type": "module",
6
- "homepage": "https://docs.customafk.com",
6
+ "author": "CustomAFK",
7
+ "license": "ISC",
8
+ "homepage": "https://github.com/author/library#readme",
7
9
  "repository": {
8
- "url": "git+https://github.com/QuangPhamvt/lunas-ui.git"
10
+ "type": "git",
11
+ "url": "git+https://github.com/QuangPhamvt/lunas-enterprise-ui-package.git"
9
12
  },
10
13
  "files": [
11
14
  "dist"
12
15
  ],
13
- "main": "./dist/Atoms/index.js",
14
- "module": "./dist/Atoms/index.js",
15
- "types": "./dist/Atoms/index.d.ts",
16
16
  "exports": {
17
- "./tailwindTheme": {
18
- "types": "./dist/tailwindTheme.d.ts",
19
- "import": "./dist/tailwindTheme.js",
20
- "require": "./dist/tailwindTheme.js"
21
- },
22
- "./hooks": {
23
- "types": "./dist/hooks/index.d.ts",
24
- "import": "./dist/hooks/index.js",
25
- "require": "./dist/hooks/index.js"
26
- },
27
- "./Icons": {
28
- "types": "./dist/Icons/index.d.ts",
29
- "import": "./dist/Icons/index.js",
30
- "require": "./dist/Icons/index.js"
31
- },
32
- "./Atoms/Badge": {
33
- "types": "./dist/Atoms/Badge/index.d.ts",
34
- "import": "./dist/Atoms/Badge/index.js",
35
- "require": "./dist/Atoms/Badge/index.js"
36
- },
37
- "./Atoms/Breadcrumb": {
38
- "types": "./dist/Atoms/Breadcrumb/index.d.ts",
39
- "import": "./dist/Atoms/Breadcrumb/index.js",
40
- "require": "./dist/Atoms/Breadcrumb/index.js"
41
- },
42
- "./Atoms/Button": {
43
- "types": "./dist/Atoms/Button/index.d.ts",
44
- "import": "./dist/Atoms/Button/index.js",
45
- "require": "./dist/Atoms/Button/index.js"
46
- },
47
- "./Atoms/Card": {
48
- "types": "./dist/Atoms/Card/index.d.ts",
49
- "import": "./dist/Atoms/Card/index.js",
50
- "require": "./dist/Atoms/Card/index.js"
51
- },
52
- "./Atoms/Carousel": {
53
- "types": "./dist/Atoms/Carousel/index.d.ts",
54
- "import": "./dist/Atoms/Carousel/index.js",
55
- "require": "./dist/Atoms/Carousel/index.js"
56
- },
57
- "./Atoms/Command": {
58
- "types": "./dist/Atoms/Command/index.d.ts",
59
- "import": "./dist/Atoms/Command/index.js",
60
- "require": "./dist/Atoms/Command/index.js"
61
- },
62
- "./Atoms/Dialog": {
63
- "types": "./dist/Atoms/Dialog/index.d.ts",
64
- "import": "./dist/Atoms/Dialog/index.js",
65
- "require": "./dist/Atoms/Dialog/index.js"
66
- },
67
- "./Atoms/DropdownMenu": {
68
- "types": "./dist/Atoms/DropdownMenu/index.d.ts",
69
- "import": "./dist/Atoms/DropdownMenu/index.js",
70
- "require": "./dist/Atoms/DropdownMenu/index.js"
71
- },
72
- "./Atoms/Form": {
73
- "types": "./dist/Atoms/Form/index.d.ts",
74
- "import": "./dist/Atoms/Form/index.js",
75
- "require": "./dist/Atoms/Form/index.js"
76
- },
77
- "./Atoms/Input": {
78
- "types": "./dist/Atoms/Input/index.d.ts",
79
- "import": "./dist/Atoms/Input/index.js",
80
- "require": "./dist/Atoms/Input/index.js"
81
- },
82
- "./Atoms/Label": {
83
- "types": "./dist/Atoms/Label/index.d.ts",
84
- "import": "./dist/Atoms/Label/index.js",
85
- "require": "./dist/Atoms/Label/index.js"
86
- },
87
- "./Atoms/Money": {
88
- "types": "./dist/Atoms/Money/index.d.ts",
89
- "import": "./dist/Atoms/Money/index.js",
90
- "require": "./dist/Atoms/Money/index.js"
91
- },
92
- "./Atoms/Navbar": {
93
- "types": "./dist/Atoms/Navbar/index.d.ts",
94
- "import": "./dist/Atoms/Navbar/index.js",
95
- "require": "./dist/Atoms/Navbar/index.js"
17
+ "./alert": {
18
+ "import": "./dist/alert.js",
19
+ "require": "./dist/alert.cjs"
96
20
  },
97
- "./Atoms/QuantityBtn": {
98
- "types": "./dist/Atoms/QuantityBtn/index.d.ts",
99
- "import": "./dist/Atoms/QuantityBtn/index.js",
100
- "require": "./dist/Atoms/QuantityBtn/index.js"
21
+ "./button": {
22
+ "import": "./dist/button.js",
23
+ "require": "./dist/button.cjs"
101
24
  },
102
- "./Atoms/ScrollBar": {
103
- "types": "./dist/Atoms/ScrollBar/index.d.ts",
104
- "import": "./dist/Atoms/ScrollBar/index.js",
105
- "require": "./dist/Atoms/ScrollBar/index.js"
106
- },
107
- "./Atoms/Select": {
108
- "types": "./dist/Atoms/Select/index.d.ts",
109
- "import": "./dist/Atoms/Select/index.js",
110
- "require": "./dist/Atoms/Select/index.js"
111
- },
112
- "./Atoms/Skeleton": {
113
- "types": "./dist/Atoms/Skeleton/index.d.ts",
114
- "import": "./dist/Atoms/Skeleton/index.js",
115
- "require": "./dist/Atoms/Skeleton/index.js"
116
- },
117
- "./Atoms/UserAvatar": {
118
- "types": "./dist/Atoms/UserAvatar/index.d.ts",
119
- "import": "./dist/Atoms/UserAvatar/index.js",
120
- "require": "./dist/Atoms/UserAvatar/index.js"
121
- },
122
- "./Molecules/AuthenForm": {
123
- "types": "./dist/AuthenForm/index.d.ts",
124
- "import": "./dist/AuthenForm/index.js",
125
- "require": "./dist/AuthenForm/index.js"
126
- },
127
- "./Molecules/Search": {
128
- "types": "./dist/Search/index.d.ts",
129
- "import": "./dist/Search/index.js",
130
- "require": "./dist/Search/index.js"
131
- },
132
- "./Molecules/UserDropdown": {
133
- "types": "./dist/UserDropdown/index.d.ts",
134
- "import": "./dist/UserDropdown/index.js",
135
- "require": "./dist/UserDropdown/index.js"
136
- },
137
- "./Organisms/Footer": {
138
- "types": "./dist/Footer/index.d.ts",
139
- "import": "./dist/Footer/index.js",
140
- "require": "./dist/Footer/index.js"
141
- },
142
- "./Organisms/Header": {
143
- "types": "./dist/Header/index.d.ts",
144
- "import": "./dist/Header/index.js",
145
- "require": "./dist/Header/index.js"
146
- },
147
- "./Layout/Flex": {
148
- "types": "./dist/Layout/Flex/index.d.ts",
149
- "import": "./dist/Layout/Flex/index.js",
150
- "require": "./dist/Layout/Flex/index.js"
151
- }
25
+ "./package.json": "./package.json"
152
26
  },
153
- "scripts": {
154
- "build": "tsup",
155
- "lint": "eslint ./packages --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
156
- "lint:fix": "eslint ./packages --ext ts,tsx --report-unused-disable-directives --max-warnings 0 --fix",
157
- "fmt": "prettier --check \"./packages/**/*.{js,jsx,ts,tsx,json,css,scss,md}\"",
158
- "fmt:fix": "prettier --write \"./packages/**/*.{js,jsx,ts,tsx,json,css,scss,md}\"",
159
- "sb": "storybook dev -p 6006",
160
- "build-sb": "storybook build"
161
- },
162
- "devDependencies": {
163
- "@chromatic-com/storybook": "^1.6.1",
164
- "@shopify/eslint-plugin": "^46.0.0",
165
- "@storybook/addon-essentials": "^8.3.1",
166
- "@storybook/addon-interactions": "^8.3.1",
167
- "@storybook/addon-links": "^8.3.1",
168
- "@storybook/addon-onboarding": "^8.3.1",
169
- "@storybook/addon-themes": "^8.3.1",
170
- "@storybook/blocks": "^8.3.1",
171
- "@storybook/react": "^8.3.1",
172
- "@storybook/react-vite": "^8.3.1",
173
- "@storybook/test": "^8.3.1",
174
- "@types/bun": "latest",
175
- "@types/react": "^18.3.3",
176
- "@types/react-dom": "^18.3.0",
177
- "@typescript-eslint/eslint-plugin": "^6.21.0",
178
- "@typescript-eslint/parser": "^6.21.0",
179
- "@vitejs/plugin-react": "^4.3.0",
180
- "autoprefixer": "^10.4.20",
181
- "eslint": "^8.57.1",
182
- "eslint-config-prettier": "^9.1.0",
183
- "eslint-plugin-import": "^2.30.0",
184
- "eslint-plugin-jsx-a11y": "^6.10.0",
185
- "eslint-plugin-react": "^7.36.1",
186
- "eslint-plugin-react-form-fields": "^1.2.22",
187
- "eslint-plugin-react-hook-form": "^0.3.0",
188
- "eslint-plugin-react-hooks": "^4.6.2",
189
- "eslint-plugin-react-perf": "^3.3.2",
190
- "eslint-plugin-react-prefer-function-component": "^3.3.0",
191
- "eslint-plugin-react-refresh": "^0.4.7",
192
- "eslint-plugin-sonar": "^0.13.2",
193
- "eslint-plugin-ssr-friendly": "^1.3.0",
194
- "eslint-plugin-storybook": "^0.8.0",
195
- "eslint-plugin-unicorn": "^55.0.0",
196
- "eslint-plugin-validate-jsx-nesting": "^0.1.1",
197
- "postcss": "^8.4.40",
198
- "prettier": "^3.3.3",
199
- "prettier-plugin-tailwindcss": "^0.6.5",
200
- "storybook": "^8.3.1",
201
- "tailwindcss": "^3.4.7",
202
- "tailwindcss-animate": "^1.0.7",
203
- "tsup": "^8.2.4",
204
- "typescript": "^5.2.2",
205
- "vite": "^5.2.13",
206
- "vite-tsconfig-paths": "^4.3.2"
27
+ "publishConfig": {
28
+ "access": "public"
207
29
  },
208
- "description": "This is a e-commerce UI library for CustomAFK",
209
- "bugs": {
210
- "url": "https://github.com/QuangPhamvt/e-commerce-ui/issues"
30
+ "scripts": {
31
+ "build": "tsdown",
32
+ "dev": "tsdown --watch",
33
+ "typecheck": "tsc --noEmit"
211
34
  },
212
- "author": "CustomAFK",
213
- "license": "ISC",
214
- "dependencies": {
215
- "@hookform/resolvers": "^3.9.0",
216
- "@radix-ui/react-alert-dialog": "^1.1.2",
217
- "@radix-ui/react-dialog": "^1.1.2",
218
- "@radix-ui/react-dropdown-menu": "^2.1.1",
219
- "@radix-ui/react-label": "^2.1.0",
220
- "@radix-ui/react-scroll-area": "^1.2.0",
221
- "@radix-ui/react-select": "^2.1.2",
222
- "@radix-ui/react-slot": "^1.1.0",
223
- "@radix-ui/react-toast": "^1.2.1",
224
- "class-variance-authority": "^0.7.0",
35
+ "peerDependencies": {
36
+ "@tailwindcss/vite": "^4.1.10",
37
+ "@types/react": "*",
38
+ "@types/react-dom": "*",
39
+ "class-variance-authority": "^0.7.1",
225
40
  "clsx": "^2.1.1",
226
- "cmdk": "^1.0.0",
227
- "embla-carousel-react": "^8.3.0",
228
- "framer-motion": "^11.11.8",
229
- "lucide-react": "^0.424.0",
230
- "react": "^18.3.1",
231
- "react-dom": "^18.3.1",
232
- "react-hook-form": "^7.53.0",
233
- "react-spinners": "^0.14.1",
234
- "tailwind-merge": "^2.4.0",
235
- "zod": "^3.23.8"
41
+ "lucide-react": "^0.541.0",
42
+ "radix-ui": "^1.4.3",
43
+ "react": "16.8 || ^17.0 || ^18.0 || ^19.0",
44
+ "react-dom": "16.8 || ^17.0 || ^18.0 || ^19.0",
45
+ "tailwind-merge": "^3.3.1",
46
+ "tailwindcss": "^4.1.10",
47
+ "tw-animate-css": "^1.3.7"
48
+ },
49
+ "devDependencies": {
50
+ "@storybook/addon-a11y": "^9.1.3",
51
+ "@storybook/addon-docs": "^9.1.3",
52
+ "@storybook/addon-onboarding": "^9.1.3",
53
+ "@storybook/addon-themes": "^9.1.3",
54
+ "@storybook/react-vite": "^9.1.3",
55
+ "@types/node": "^24.0.3",
56
+ "@vitejs/plugin-react": "^4.4.1",
57
+ "tsdown": "^0.14.1",
58
+ "typescript": "^5.8.3",
59
+ "vite": "^6.3.5",
60
+ "vitest": "^3.2.4"
236
61
  }
237
62
  }
@@ -1,8 +0,0 @@
1
- import * as React from 'react';
2
- import { HTMLAttributes } from 'react';
3
-
4
- interface IBadgeProps extends HTMLAttributes<HTMLDivElement> {
5
- }
6
- declare const Badge: React.MemoExoticComponent<React.ForwardRefExoticComponent<IBadgeProps & React.RefAttributes<HTMLDivElement>>>;
7
-
8
- export { Badge as default };