buildgrid-ui 1.1.0-alpha.4 → 1.1.0-dev.10

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 (74) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/buildgrid-ui.es.js +6068 -866
  3. package/dist/buildgrid-ui.umd.js +116 -11
  4. package/dist/components/adaptive-input/adaptive-input.d.ts +9 -0
  5. package/dist/components/adaptive-input/index.d.ts +1 -0
  6. package/dist/components/alert-dialog/alert-dialog.d.ts +20 -0
  7. package/dist/components/alert-dialog/index.d.ts +1 -0
  8. package/dist/components/autocomplete/autocomplete.d.ts +14 -0
  9. package/dist/components/autocomplete/index.d.ts +1 -0
  10. package/dist/components/avatar/avatar.d.ts +6 -0
  11. package/dist/components/avatar/index.d.ts +1 -0
  12. package/dist/components/badge/{Badge.d.ts → badge.d.ts} +1 -1
  13. package/dist/components/badge/index.d.ts +1 -1
  14. package/dist/components/button/{Button.d.ts → button.d.ts} +4 -3
  15. package/dist/components/button/index.d.ts +1 -1
  16. package/dist/components/card/index.d.ts +1 -1
  17. package/dist/components/checkbox/checkbox.d.ts +4 -0
  18. package/dist/components/checkbox/index.d.ts +1 -0
  19. package/dist/components/currency-input/currency-input.d.ts +10 -0
  20. package/dist/components/currency-input/index.d.ts +1 -0
  21. package/dist/components/dropdown-menu/dropdown-menu.d.ts +27 -0
  22. package/dist/components/dropdown-menu/index.d.ts +1 -0
  23. package/dist/components/index.d.ts +12 -0
  24. package/dist/components/input/index.d.ts +1 -0
  25. package/dist/components/input/input.d.ts +9 -0
  26. package/dist/components/password-input/index.d.ts +1 -0
  27. package/dist/components/password-input/password-input.d.ts +16 -0
  28. package/dist/components/popover/index.d.ts +1 -0
  29. package/dist/components/popover/popover.d.ts +7 -0
  30. package/dist/components/progress/index.d.ts +1 -0
  31. package/dist/components/progress/progress.d.ts +4 -0
  32. package/dist/components/skeleton/index.d.ts +1 -1
  33. package/dist/components/switch/index.d.ts +1 -0
  34. package/dist/components/switch/switch.d.ts +4 -0
  35. package/dist/index.d.ts +2 -5
  36. package/dist/lib/index.d.ts +1 -0
  37. package/dist/lib/utils/formatters.d.ts +8 -0
  38. package/package.json +16 -2
  39. package/.editorconfig +0 -5
  40. package/.eslintrc.json +0 -3
  41. package/.github/workflows/release.yml +0 -25
  42. package/.husky/commit-msg +0 -1
  43. package/.prettierignore +0 -6
  44. package/.prettierrc +0 -6
  45. package/.releaserc.json +0 -40
  46. package/.storybook/main.ts +0 -27
  47. package/.storybook/preview.ts +0 -15
  48. package/commitlint.config.js +0 -3
  49. package/components.json +0 -21
  50. package/eslint.config.mjs +0 -13
  51. package/postcss.config.js +0 -6
  52. package/src/components/badge/Badge.stories.tsx +0 -30
  53. package/src/components/badge/Badge.tsx +0 -34
  54. package/src/components/badge/index.ts +0 -1
  55. package/src/components/button/Button.stories.tsx +0 -40
  56. package/src/components/button/Button.tsx +0 -57
  57. package/src/components/button/index.ts +0 -1
  58. package/src/components/card/Card.stories.tsx +0 -41
  59. package/src/components/card/Card.tsx +0 -61
  60. package/src/components/card/index.ts +0 -1
  61. package/src/components/index.ts +0 -4
  62. package/src/components/skeleton/Skeleton.stories.tsx +0 -24
  63. package/src/components/skeleton/Skeleton.tsx +0 -19
  64. package/src/components/skeleton/index.ts +0 -1
  65. package/src/index.ts +0 -5
  66. package/src/lib/index.ts +0 -1
  67. package/src/lib/utils/cn.ts +0 -6
  68. package/src/styles/tailwind.css +0 -66
  69. package/tailwind.config.js +0 -57
  70. package/tsconfig.app.json +0 -10
  71. package/tsconfig.json +0 -29
  72. package/vite.config.ts +0 -34
  73. /package/dist/components/card/{Card.d.ts → card.d.ts} +0 -0
  74. /package/dist/components/skeleton/{Skeleton.d.ts → skeleton.d.ts} +0 -0
@@ -1,57 +0,0 @@
1
- import { Slot } from "@radix-ui/react-slot";
2
- import { cva, type VariantProps } from "class-variance-authority";
3
- import * as React from "react";
4
- import { cn } from "../../lib/utils/cn";
5
-
6
- const buttonVariants = cva(
7
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
8
- {
9
- variants: {
10
- variant: {
11
- default:
12
- "bg-primary text-primary-foreground shadow hover:bg-primary/90",
13
- destructive:
14
- "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
15
- outline:
16
- "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
17
- secondary:
18
- "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
19
- ghost: "hover:bg-accent hover:text-accent-foreground",
20
- link: "text-primary underline-offset-4 hover:underline",
21
- },
22
- size: {
23
- default: "h-9 px-4 py-2",
24
- sm: "h-8 rounded-md px-3 text-xs",
25
- lg: "h-10 rounded-md px-8",
26
- xl: "h-12 rounded-md px-10 text-xl",
27
- icon: "h-9 w-9",
28
- },
29
- },
30
- defaultVariants: {
31
- variant: "default",
32
- size: "default",
33
- },
34
- }
35
- );
36
-
37
- export interface ButtonProps
38
- extends React.ButtonHTMLAttributes<HTMLButtonElement>,
39
- VariantProps<typeof buttonVariants> {
40
- asChild?: boolean;
41
- }
42
-
43
- const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
44
- ({ className, variant, size, asChild = false, ...props }, ref) => {
45
- const Comp = asChild ? Slot : "button";
46
- return (
47
- <Comp
48
- className={cn(buttonVariants({ variant, size, className }))}
49
- ref={ref}
50
- {...props}
51
- />
52
- );
53
- }
54
- );
55
- Button.displayName = "Button";
56
-
57
- export { Button, buttonVariants };
@@ -1 +0,0 @@
1
- export * from "./Button";
@@ -1,41 +0,0 @@
1
- // organize-imports-ignore
2
- import React from 'react'
3
- import type { Meta, StoryObj } from '@storybook/react'
4
- import {
5
- Card,
6
- CardContent,
7
- CardDescription,
8
- CardFooter,
9
- CardHeader,
10
- CardTitle,
11
- } from './Card'
12
- import { Button } from '../button/Button'
13
-
14
- const meta: Meta<typeof Card> = {
15
- component: Card,
16
- }
17
-
18
- export default meta
19
- type Story = StoryObj<typeof Button>
20
-
21
- const Template = () => {
22
- return (
23
- <Card className="w-96">
24
- <CardHeader>
25
- <CardTitle>Title</CardTitle>
26
- <CardDescription>Description</CardDescription>
27
- </CardHeader>
28
- <CardContent className="px-0 pt-2">
29
- <div className="bg-gray-200 w-full h-40 p-6">Content goes here</div>
30
- </CardContent>
31
- <CardFooter>
32
- <Button variant="outline">Close</Button>
33
- </CardFooter>
34
- </Card>
35
- )
36
- }
37
-
38
- export const Default: Story = {
39
- render: Template.bind({}),
40
- args: {},
41
- }
@@ -1,61 +0,0 @@
1
- import * as React from 'react'
2
-
3
- import { cn } from '@/lib/utils/cn'
4
-
5
- const Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
6
- ({ className, ...props }, ref) => (
7
- <div
8
- ref={ref}
9
- className={cn('rounded-xl border bg-card text-card-foreground shadow', className)}
10
- {...props}
11
- />
12
- ),
13
- )
14
- Card.displayName = 'Card'
15
-
16
- const CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
17
- ({ className, ...props }, ref) => (
18
- <div
19
- ref={ref}
20
- className={cn('flex flex-col space-y-1.5 p-6', className)}
21
- {...props}
22
- />
23
- ),
24
- )
25
- CardHeader.displayName = 'CardHeader'
26
-
27
- const CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
28
- ({ className, ...props }, ref) => (
29
- <div
30
- ref={ref}
31
- className={cn('font-semibold leading-none tracking-tight pb-4', className)}
32
- {...props}
33
- />
34
- ),
35
- )
36
- CardTitle.displayName = 'CardTitle'
37
-
38
- const CardDescription = React.forwardRef<
39
- HTMLDivElement,
40
- React.HTMLAttributes<HTMLDivElement>
41
- >(({ className, ...props }, ref) => (
42
- <div ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />
43
- ))
44
- CardDescription.displayName = 'CardDescription'
45
-
46
- const CardContent = React.forwardRef<
47
- HTMLDivElement,
48
- React.HTMLAttributes<HTMLDivElement>
49
- >(({ className, ...props }, ref) => (
50
- <div ref={ref} className={cn('p-6 py-0', className)} {...props} />
51
- ))
52
- CardContent.displayName = 'CardContent'
53
-
54
- const CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
55
- ({ className, ...props }, ref) => (
56
- <div ref={ref} className={cn('flex items-center p-6 pt-6', className)} {...props} />
57
- ),
58
- )
59
- CardFooter.displayName = 'CardFooter'
60
-
61
- export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle }
@@ -1 +0,0 @@
1
- export * from './Card'
@@ -1,4 +0,0 @@
1
- export * from './badge'
2
- export * from './button'
3
- export * from './card'
4
- export * from './skeleton'
@@ -1,24 +0,0 @@
1
- // organize-imports-ignore
2
- import React from 'react'
3
- import type { Meta, StoryObj } from '@storybook/react'
4
- import { Skeleton } from './Skeleton'
5
-
6
- const meta: Meta<typeof Skeleton> = {
7
- component: Skeleton,
8
- }
9
-
10
- export default meta
11
- type Story = StoryObj<typeof Skeleton>
12
-
13
- const Template = () => {
14
- return (
15
- <div className="space-y-2">
16
- <Skeleton className="w-96 h-5" repeat={3} />
17
- </div>
18
- )
19
- }
20
-
21
- export const Default: Story = {
22
- render: Template.bind({}),
23
- args: {},
24
- }
@@ -1,19 +0,0 @@
1
- import { cn } from '@/lib/utils/cn'
2
-
3
- type SkeletonProps = {
4
- repeat?: number
5
- } & React.ComponentProps<'div'>
6
-
7
- export const Skeleton = ({ className, repeat = 1, ...props }: SkeletonProps) => {
8
- return (
9
- <>
10
- {Array.from({ length: repeat ?? 1 }).map((_, index) => (
11
- <div
12
- key={index}
13
- className={cn('animate-pulse rounded-md bg-gray-700/10', className)}
14
- {...props}
15
- />
16
- ))}
17
- </>
18
- )
19
- }
@@ -1 +0,0 @@
1
- export * from './Skeleton'
package/src/index.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from './components/badge'
2
- export * from './components/button'
3
- export * from './components/card'
4
- export * from './components/skeleton'
5
- export * from './lib/utils/cn'
package/src/lib/index.ts DELETED
@@ -1 +0,0 @@
1
- export * from './utils/cn'
@@ -1,6 +0,0 @@
1
- import { clsx, type ClassValue } from "clsx"
2
- import { twMerge } from "tailwind-merge"
3
-
4
- export function cn(...inputs: ClassValue[]) {
5
- return twMerge(clsx(inputs))
6
- }
@@ -1,66 +0,0 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
- @layer base {
5
- :root {
6
- --background: 0 0% 100%;
7
- --foreground: 0 0% 3.9%;
8
- --card: 0 0% 100%;
9
- --card-foreground: 0 0% 3.9%;
10
- --popover: 0 0% 100%;
11
- --popover-foreground: 0 0% 3.9%;
12
- --primary: 0 0% 9%;
13
- --primary-foreground: 0 0% 98%;
14
- --secondary: 0 0% 96.1%;
15
- --secondary-foreground: 0 0% 9%;
16
- --muted: 0 0% 96.1%;
17
- --muted-foreground: 0 0% 45.1%;
18
- --accent: 0 0% 96.1%;
19
- --accent-foreground: 0 0% 9%;
20
- --destructive: 0 84.2% 60.2%;
21
- --destructive-foreground: 0 0% 98%;
22
- --border: 0 0% 89.8%;
23
- --input: 0 0% 89.8%;
24
- --ring: 0 0% 3.9%;
25
- --chart-1: 12 76% 61%;
26
- --chart-2: 173 58% 39%;
27
- --chart-3: 197 37% 24%;
28
- --chart-4: 43 74% 66%;
29
- --chart-5: 27 87% 67%;
30
- --radius: 0.5rem
31
- }
32
- .dark {
33
- --background: 0 0% 3.9%;
34
- --foreground: 0 0% 98%;
35
- --card: 0 0% 3.9%;
36
- --card-foreground: 0 0% 98%;
37
- --popover: 0 0% 3.9%;
38
- --popover-foreground: 0 0% 98%;
39
- --primary: 0 0% 98%;
40
- --primary-foreground: 0 0% 9%;
41
- --secondary: 0 0% 14.9%;
42
- --secondary-foreground: 0 0% 98%;
43
- --muted: 0 0% 14.9%;
44
- --muted-foreground: 0 0% 63.9%;
45
- --accent: 0 0% 14.9%;
46
- --accent-foreground: 0 0% 98%;
47
- --destructive: 0 62.8% 30.6%;
48
- --destructive-foreground: 0 0% 98%;
49
- --border: 0 0% 14.9%;
50
- --input: 0 0% 14.9%;
51
- --ring: 0 0% 83.1%;
52
- --chart-1: 220 70% 50%;
53
- --chart-2: 160 60% 45%;
54
- --chart-3: 30 80% 55%;
55
- --chart-4: 280 65% 60%;
56
- --chart-5: 340 75% 55%
57
- }
58
- }
59
- @layer base {
60
- * {
61
- @apply border-border;
62
- }
63
- body {
64
- @apply bg-background text-foreground;
65
- }
66
- }
@@ -1,57 +0,0 @@
1
- /** @type {import('tailwindcss').Config} */
2
- module.exports = {
3
- darkMode: ["class"],
4
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
5
- theme: {
6
- extend: {
7
- borderRadius: {
8
- lg: 'var(--radius)',
9
- md: 'calc(var(--radius) - 2px)',
10
- sm: 'calc(var(--radius) - 4px)'
11
- },
12
- colors: {
13
- background: 'hsl(var(--background))',
14
- foreground: 'hsl(var(--foreground))',
15
- card: {
16
- DEFAULT: 'hsl(var(--card))',
17
- foreground: 'hsl(var(--card-foreground))'
18
- },
19
- popover: {
20
- DEFAULT: 'hsl(var(--popover))',
21
- foreground: 'hsl(var(--popover-foreground))'
22
- },
23
- primary: {
24
- DEFAULT: 'hsl(var(--primary))',
25
- foreground: 'hsl(var(--primary-foreground))'
26
- },
27
- secondary: {
28
- DEFAULT: 'hsl(var(--secondary))',
29
- foreground: 'hsl(var(--secondary-foreground))'
30
- },
31
- muted: {
32
- DEFAULT: 'hsl(var(--muted))',
33
- foreground: 'hsl(var(--muted-foreground))'
34
- },
35
- accent: {
36
- DEFAULT: 'hsl(var(--accent))',
37
- foreground: 'hsl(var(--accent-foreground))'
38
- },
39
- destructive: {
40
- DEFAULT: 'hsl(var(--destructive))',
41
- foreground: 'hsl(var(--destructive-foreground))'
42
- },
43
- border: 'hsl(var(--border))',
44
- input: 'hsl(var(--input))',
45
- ring: 'hsl(var(--ring))',
46
- chart: {
47
- '1': 'hsl(var(--chart-1))',
48
- '2': 'hsl(var(--chart-2))',
49
- '3': 'hsl(var(--chart-3))',
50
- '4': 'hsl(var(--chart-4))',
51
- '5': 'hsl(var(--chart-5))'
52
- }
53
- }
54
- }
55
- },
56
- plugins: [require("tailwindcss-animate")],
57
- };
package/tsconfig.app.json DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- // ...
4
- "baseUrl": ".",
5
- "paths": {
6
- "@/*": ["./src/*"]
7
- }
8
- // ...
9
- }
10
- }
package/tsconfig.json DELETED
@@ -1,29 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "baseUrl": ".",
4
- "target": "esnext",
5
- "module": "esnext",
6
- "lib": ["dom", "esnext"],
7
- "jsx": "react-jsx",
8
- "strict": true,
9
- "moduleResolution": "node",
10
- "esModuleInterop": true,
11
- "declaration": true,
12
- "emitDeclarationOnly": true,
13
- "outDir": "dist",
14
- "skipLibCheck": true,
15
- "forceConsistentCasingInFileNames": true,
16
- "paths": {
17
- "@/*": ["./src/*"]
18
- }
19
- },
20
- "include": ["src"],
21
- "exclude": [
22
- "node_modules",
23
- "dist",
24
- ".husky",
25
- "**/*.test.ts",
26
- "**/*.test.tsx",
27
- "**/*.stories.tsx"
28
- ]
29
- }
package/vite.config.ts DELETED
@@ -1,34 +0,0 @@
1
- import { defineConfig } from "vite";
2
- import path from "path";
3
- import react from "@vitejs/plugin-react";
4
-
5
- export default defineConfig({
6
- plugins: [react()],
7
- resolve: {
8
- alias: {
9
- "@": path.resolve(__dirname, "./src"),
10
- },
11
- },
12
- css: {
13
- postcss: {
14
- plugins: [require("tailwindcss"), require("autoprefixer")],
15
- },
16
- },
17
-
18
- build: {
19
- lib: {
20
- entry: "src/index.ts",
21
- name: "BuildgridUI",
22
- fileName: (format) => `buildgrid-ui.${format}.js`,
23
- },
24
- rollupOptions: {
25
- external: ["react", "react-dom"],
26
- output: {
27
- globals: {
28
- react: "React",
29
- "react-dom": "ReactDOM",
30
- },
31
- },
32
- },
33
- },
34
- });
File without changes