@rudra-studio/rudra-layout 1.0.16 → 1.0.18

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.
@@ -0,0 +1,64 @@
1
+ import { default as React } from 'react';
2
+ export type AspectRatioElement = "div" | "section" | "figure";
3
+ export interface AspectRatioProps extends Omit<React.HTMLAttributes<HTMLElement>, "children" | "className"> {
4
+ children?: React.ReactNode;
5
+ /** @select|div|section|figure */
6
+ as?: AspectRatioElement;
7
+ /**
8
+ * @type|class
9
+ * @schema [
10
+ * {
11
+ * "key":"Aspect Ratio",
12
+ * "prefix":"aspect",
13
+ * "type":"select",
14
+ * "options":[
15
+ * {"key":"auto","label":"Auto"},
16
+ * {"key":"square","label":"1:1 Square"},
17
+ * {"key":"video","label":"16:9 Video"},
18
+ * {"key":"[4/3]","label":"4:3"},
19
+ * {"key":"[3/2]","label":"3:2"},
20
+ * {"key":"[21/9]","label":"21:9"},
21
+ * {"key":"[9/16]","label":"9:16 Portrait"}
22
+ * ]
23
+ * },
24
+ * {
25
+ * "key":"Width",
26
+ * "prefix":"w",
27
+ * "type":"select",
28
+ * "options":[
29
+ * {"key":"auto","label":"Auto"},
30
+ * {"key":"full","label":"Full Width"},
31
+ * {"key":"1/2","label":"50%"},
32
+ * {"key":"2/3","label":"66%"},
33
+ * {"key":"3/4","label":"75%"}
34
+ * ]
35
+ * },
36
+ * {
37
+ * "key":"Overflow",
38
+ * "prefix":"overflow",
39
+ * "type":"select",
40
+ * "options":[
41
+ * {"key":"visible","label":"Visible"},
42
+ * {"key":"hidden","label":"Hidden"},
43
+ * {"key":"auto","label":"Auto"}
44
+ * ]
45
+ * },
46
+ * {
47
+ * "key":"Radius",
48
+ * "prefix":"rounded",
49
+ * "type":"select",
50
+ * "options":[
51
+ * {"key":"none","label":"None"},
52
+ * {"key":"sm","label":"Small"},
53
+ * {"key":"md","label":"Medium"},
54
+ * {"key":"lg","label":"Large"},
55
+ * {"key":"xl","label":"Extra Large"},
56
+ * {"key":"2xl","label":"2XL"},
57
+ * {"key":"full","label":"Full"}
58
+ * ]
59
+ * }
60
+ * ]
61
+ */
62
+ className?: string;
63
+ }
64
+ export default function AspectRatio({ children, as, className, ...props }: AspectRatioProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import "react";
2
+ import { jsx as e } from "react/jsx-runtime";
3
+ //#region src/components/AspectRatio/index.tsx
4
+ function t({ children: t, as: n = "div", className: r = "", ...i }) {
5
+ return /* @__PURE__ */ e(n, {
6
+ ...i,
7
+ className: ["relative w-full overflow-hidden", r].filter(Boolean).join(" "),
8
+ children: t
9
+ });
10
+ }
11
+ //#endregion
12
+ export { t as default };
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ export type ContainerElement = "div" | "main" | "section" | "article" | "aside" | "header" | "footer";
3
+ export type ContainerMaxWidth = "sm" | "md" | "lg" | "xl" | "2xl" | "full" | "none";
4
+ export interface ContainerProps extends Omit<React.HTMLAttributes<HTMLElement>, "children" | "className"> {
5
+ children?: React.ReactNode;
6
+ /** @select|div|main|section|article|aside|header|footer */
7
+ as?: ContainerElement;
8
+ /** @select|sm|md|lg|xl|2xl|full|none */
9
+ maxWidth?: ContainerMaxWidth;
10
+ centered?: boolean;
11
+ /**
12
+ * @type|class
13
+ * @schema [{"key":"Width","prefix":"w","type":"select","options":[{"key":"auto","label":"Auto"},{"key":"full","label":"Full Width"},{"key":"screen","label":"Screen"}]},{"key":"Padding X","prefix":"px","type":"select","options":[{"key":"0","label":"None"},{"key":"2","label":"Small"},{"key":"4","label":"Medium"},{"key":"6","label":"Large"},{"key":"8","label":"Extra Large"},{"key":"12","label":"2XL"}]},{"key":"Padding Y","prefix":"py","type":"select","options":[{"key":"0","label":"None"},{"key":"2","label":"Small"},{"key":"4","label":"Medium"},{"key":"6","label":"Large"},{"key":"8","label":"Extra Large"},{"key":"12","label":"2XL"}]},{"key":"Background","prefix":"bg","type":"select","options":[{"key":"transparent","label":"Transparent"},{"key":"white","label":"White"},{"key":"gray-50","label":"Gray 50"},{"key":"gray-100","label":"Gray 100"},{"key":"gray-900","label":"Gray 900"},{"key":"black","label":"Black"}]},{"key":"Min Height","prefix":"min-h","type":"select","options":[{"key":"0","label":"None"},{"key":"full","label":"Full"},{"key":"screen","label":"Screen"}]}]
14
+ */
15
+ className?: string;
16
+ }
17
+ export default function Container({ children, as, maxWidth, centered, className, ...props }: ContainerProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,27 @@
1
+ import "react";
2
+ import { jsx as e } from "react/jsx-runtime";
3
+ //#region src/components/Container/index.tsx
4
+ var t = {
5
+ sm: "max-w-screen-sm",
6
+ md: "max-w-screen-md",
7
+ lg: "max-w-screen-lg",
8
+ xl: "max-w-screen-xl",
9
+ "2xl": "max-w-screen-2xl",
10
+ full: "max-w-full",
11
+ none: ""
12
+ };
13
+ function n({ children: n, as: r = "div", maxWidth: i = "xl", centered: a = !0, className: o = "", ...s }) {
14
+ let c = r, l = [
15
+ "w-full",
16
+ t[i],
17
+ a ? "mx-auto" : "",
18
+ o
19
+ ].filter(Boolean).join(" ");
20
+ return /* @__PURE__ */ e(c, {
21
+ ...s,
22
+ className: l,
23
+ children: n
24
+ });
25
+ }
26
+ //#endregion
27
+ export { n as default };
@@ -0,0 +1,98 @@
1
+ import { default as React } from 'react';
2
+ export type FlexElement = "div" | "section" | "article" | "main" | "aside" | "nav";
3
+ export interface FlexProps extends Omit<React.HTMLAttributes<HTMLElement>, "children" | "className"> {
4
+ children?: React.ReactNode;
5
+ /** @select|div|section|article|main|aside|nav */
6
+ as?: FlexElement;
7
+ /**
8
+ * @type|class
9
+ * @schema [
10
+ * {
11
+ * "key":"Direction",
12
+ * "prefix":"flex",
13
+ * "type":"select",
14
+ * "options":[
15
+ * {"key":"row","label":"Row"},
16
+ * {"key":"row-reverse","label":"Row Reverse"},
17
+ * {"key":"col","label":"Column"},
18
+ * {"key":"col-reverse","label":"Column Reverse"}
19
+ * ]
20
+ * },
21
+ * {
22
+ * "key":"Align",
23
+ * "prefix":"items",
24
+ * "type":"select",
25
+ * "options":[
26
+ * {"key":"start","label":"Start"},
27
+ * {"key":"center","label":"Center"},
28
+ * {"key":"end","label":"End"},
29
+ * {"key":"stretch","label":"Stretch"},
30
+ * {"key":"baseline","label":"Baseline"}
31
+ * ]
32
+ * },
33
+ * {
34
+ * "key":"Justify",
35
+ * "prefix":"justify",
36
+ * "type":"select",
37
+ * "options":[
38
+ * {"key":"start","label":"Start"},
39
+ * {"key":"center","label":"Center"},
40
+ * {"key":"end","label":"End"},
41
+ * {"key":"between","label":"Space Between"},
42
+ * {"key":"around","label":"Space Around"},
43
+ * {"key":"evenly","label":"Space Evenly"}
44
+ * ]
45
+ * },
46
+ * {
47
+ * "key":"Wrap",
48
+ * "prefix":"flex",
49
+ * "type":"select",
50
+ * "options":[
51
+ * {"key":"nowrap","label":"No Wrap"},
52
+ * {"key":"wrap","label":"Wrap"},
53
+ * {"key":"wrap-reverse","label":"Wrap Reverse"}
54
+ * ]
55
+ * },
56
+ * {
57
+ * "key":"Gap",
58
+ * "prefix":"gap",
59
+ * "type":"select",
60
+ * "options":[
61
+ * {"key":"0","label":"None"},
62
+ * {"key":"1","label":"1"},
63
+ * {"key":"2","label":"2"},
64
+ * {"key":"3","label":"3"},
65
+ * {"key":"4","label":"4"},
66
+ * {"key":"6","label":"6"},
67
+ * {"key":"8","label":"8"},
68
+ * {"key":"10","label":"10"},
69
+ * {"key":"12","label":"12"}
70
+ * ]
71
+ * },
72
+ * {
73
+ * "key":"Width",
74
+ * "prefix":"w",
75
+ * "type":"select",
76
+ * "options":[
77
+ * {"key":"auto","label":"Auto"},
78
+ * {"key":"full","label":"Full"},
79
+ * {"key":"screen","label":"Screen"}
80
+ * ]
81
+ * },
82
+ * {
83
+ * "key":"Padding",
84
+ * "prefix":"p",
85
+ * "type":"select",
86
+ * "options":[
87
+ * {"key":"0","label":"None"},
88
+ * {"key":"2","label":"Small"},
89
+ * {"key":"4","label":"Medium"},
90
+ * {"key":"6","label":"Large"},
91
+ * {"key":"8","label":"Extra Large"}
92
+ * ]
93
+ * }
94
+ * ]
95
+ */
96
+ className?: string;
97
+ }
98
+ export default function Flex({ children, as, className, ...props }: FlexProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import "react";
2
+ import { jsx as e } from "react/jsx-runtime";
3
+ //#region src/components/Flex/index.tsx
4
+ function t({ children: t, as: n = "div", className: r = "", ...i }) {
5
+ return /* @__PURE__ */ e(n, {
6
+ ...i,
7
+ className: ["flex", r].filter(Boolean).join(" "),
8
+ children: t
9
+ });
10
+ }
11
+ //#endregion
12
+ export { t as default };
@@ -1,31 +1,138 @@
1
1
  import { default as React } from 'react';
2
- export interface GridProps extends React.HTMLAttributes<HTMLDivElement> {
2
+ export type GridElement = "div" | "section" | "article" | "main" | "aside";
3
+ export interface GridProps extends Omit<React.HTMLAttributes<HTMLElement>, "children" | "className"> {
3
4
  children?: React.ReactNode;
4
- /** @type|class
5
- * @schema [{
6
- * "key": "Columns",
7
- * "prefix": "grid-cols",
8
- * "type": "select",
9
- * "options": [
10
- * {"key": "1", "label": "1 Column"},
11
- * {"key": "2", "label": "2 Columns"},
12
- * {"key": "3", "label": "3 Columns"},
13
- * {"key": "4", "label": "4 Columns"},
14
- * {"key": "[repeat(auto-fit,minmax(250px,1fr))]", "label": "Auto-Fit (Cards)"}
5
+ /** @select|div|section|article|main|aside */
6
+ as?: GridElement;
7
+ /**
8
+ * @type|class
9
+ * @schema [
10
+ * {
11
+ * "key":"Columns",
12
+ * "prefix":"grid-cols",
13
+ * "type":"select",
14
+ * "options":[
15
+ * {"key":"1","label":"1 Column"},
16
+ * {"key":"2","label":"2 Columns"},
17
+ * {"key":"3","label":"3 Columns"},
18
+ * {"key":"4","label":"4 Columns"},
19
+ * {"key":"5","label":"5 Columns"},
20
+ * {"key":"6","label":"6 Columns"},
21
+ * {"key":"12","label":"12 Columns"}
22
+ * ]
23
+ * },
24
+ * {
25
+ * "key":"Rows",
26
+ * "prefix":"grid-rows",
27
+ * "type":"select",
28
+ * "options":[
29
+ * {"key":"1","label":"1 Row"},
30
+ * {"key":"2","label":"2 Rows"},
31
+ * {"key":"3","label":"3 Rows"},
32
+ * {"key":"4","label":"4 Rows"},
33
+ * {"key":"5","label":"5 Rows"},
34
+ * {"key":"6","label":"6 Rows"}
35
+ * ]
36
+ * },
37
+ * {
38
+ * "key":"Gap",
39
+ * "prefix":"gap",
40
+ * "type":"select",
41
+ * "options":[
42
+ * {"key":"0","label":"None"},
43
+ * {"key":"1","label":"1"},
44
+ * {"key":"2","label":"2"},
45
+ * {"key":"3","label":"3"},
46
+ * {"key":"4","label":"4"},
47
+ * {"key":"6","label":"6"},
48
+ * {"key":"8","label":"8"},
49
+ * {"key":"10","label":"10"},
50
+ * {"key":"12","label":"12"}
51
+ * ]
52
+ * },
53
+ * {
54
+ * "key":"Column Gap",
55
+ * "prefix":"gap-x",
56
+ * "type":"select",
57
+ * "options":[
58
+ * {"key":"0","label":"None"},
59
+ * {"key":"2","label":"Small"},
60
+ * {"key":"4","label":"Medium"},
61
+ * {"key":"6","label":"Large"},
62
+ * {"key":"8","label":"Extra Large"}
63
+ * ]
64
+ * },
65
+ * {
66
+ * "key":"Row Gap",
67
+ * "prefix":"gap-y",
68
+ * "type":"select",
69
+ * "options":[
70
+ * {"key":"0","label":"None"},
71
+ * {"key":"2","label":"Small"},
72
+ * {"key":"4","label":"Medium"},
73
+ * {"key":"6","label":"Large"},
74
+ * {"key":"8","label":"Extra Large"}
75
+ * ]
76
+ * },
77
+ * {
78
+ * "key":"Align Items",
79
+ * "prefix":"items",
80
+ * "type":"select",
81
+ * "options":[
82
+ * {"key":"start","label":"Start"},
83
+ * {"key":"center","label":"Center"},
84
+ * {"key":"end","label":"End"},
85
+ * {"key":"stretch","label":"Stretch"}
86
+ * ]
87
+ * },
88
+ * {
89
+ * "key":"Justify Items",
90
+ * "prefix":"justify-items",
91
+ * "type":"select",
92
+ * "options":[
93
+ * {"key":"start","label":"Start"},
94
+ * {"key":"center","label":"Center"},
95
+ * {"key":"end","label":"End"},
96
+ * {"key":"stretch","label":"Stretch"}
97
+ * ]
98
+ * },
99
+ * {
100
+ * "key":"Auto Flow",
101
+ * "prefix":"grid-flow",
102
+ * "type":"select",
103
+ * "options":[
104
+ * {"key":"row","label":"Row"},
105
+ * {"key":"col","label":"Column"},
106
+ * {"key":"dense","label":"Dense"},
107
+ * {"key":"row-dense","label":"Row Dense"},
108
+ * {"key":"col-dense","label":"Column Dense"}
109
+ * ]
110
+ * },
111
+ * {
112
+ * "key":"Width",
113
+ * "prefix":"w",
114
+ * "type":"select",
115
+ * "options":[
116
+ * {"key":"auto","label":"Auto"},
117
+ * {"key":"full","label":"Full Width"},
118
+ * {"key":"screen","label":"Screen"}
119
+ * ]
120
+ * },
121
+ * {
122
+ * "key":"Padding",
123
+ * "prefix":"p",
124
+ * "type":"select",
125
+ * "options":[
126
+ * {"key":"0","label":"None"},
127
+ * {"key":"2","label":"Small"},
128
+ * {"key":"4","label":"Medium"},
129
+ * {"key":"6","label":"Large"},
130
+ * {"key":"8","label":"Extra Large"},
131
+ * {"key":"12","label":"2XL"}
132
+ * ]
133
+ * }
15
134
  * ]
16
- * },{
17
- * "key": "Gap",
18
- * "prefix": "gap",
19
- * "type": "select",
20
- * "options": [
21
- * {"key": "0", "label": "None (0px)"},
22
- * {"key": "4", "label": "Small (16px)"},
23
- * {"key": "6", "label": "Medium (24px)"},
24
- * {"key": "8", "label": "Large (32px)"},
25
- * {"key": "12", "label": "Extra Large (48px)"}
26
- * ]
27
- * }]
28
135
  */
29
136
  className?: string;
30
137
  }
31
- export default function Grid({ className, children, ...props }: GridProps): import("react/jsx-runtime").JSX.Element;
138
+ export default function Grid({ children, as, className, ...props }: GridProps): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,11 @@
1
1
  import "react";
2
2
  import { jsx as e } from "react/jsx-runtime";
3
3
  //#region src/components/Grid/index.tsx
4
- function t({ className: t = "", children: n, ...r }) {
5
- return /* @__PURE__ */ e("div", {
6
- className: `grid w-full ${t}`.trim(),
7
- ...r,
8
- children: n
4
+ function t({ children: t, as: n = "div", className: r = "", ...i }) {
5
+ return /* @__PURE__ */ e(n, {
6
+ ...i,
7
+ className: ["grid", r].filter(Boolean).join(" "),
8
+ children: t
9
9
  });
10
10
  }
11
11
  //#endregion
@@ -0,0 +1,104 @@
1
+ import { default as React } from 'react';
2
+ export type ScrollAreaElement = "div" | "section" | "article" | "aside";
3
+ export interface ScrollAreaProps extends Omit<React.HTMLAttributes<HTMLElement>, "children" | "className"> {
4
+ children?: React.ReactNode;
5
+ /** @select|div|section|article|aside */
6
+ as?: ScrollAreaElement;
7
+ /**
8
+ * @type|class
9
+ * @schema [
10
+ * {
11
+ * "key":"Overflow X",
12
+ * "prefix":"overflow-x",
13
+ * "type":"select",
14
+ * "options":[
15
+ * {"key":"auto","label":"Auto"},
16
+ * {"key":"scroll","label":"Scroll"},
17
+ * {"key":"hidden","label":"Hidden"},
18
+ * {"key":"visible","label":"Visible"}
19
+ * ]
20
+ * },
21
+ * {
22
+ * "key":"Overflow Y",
23
+ * "prefix":"overflow-y",
24
+ * "type":"select",
25
+ * "options":[
26
+ * {"key":"auto","label":"Auto"},
27
+ * {"key":"scroll","label":"Scroll"},
28
+ * {"key":"hidden","label":"Hidden"},
29
+ * {"key":"visible","label":"Visible"}
30
+ * ]
31
+ * },
32
+ * {
33
+ * "key":"Width",
34
+ * "prefix":"w",
35
+ * "type":"select",
36
+ * "options":[
37
+ * {"key":"auto","label":"Auto"},
38
+ * {"key":"full","label":"Full Width"},
39
+ * {"key":"screen","label":"Screen"}
40
+ * ]
41
+ * },
42
+ * {
43
+ * "key":"Height",
44
+ * "prefix":"h",
45
+ * "type":"select",
46
+ * "options":[
47
+ * {"key":"auto","label":"Auto"},
48
+ * {"key":"32","label":"Small"},
49
+ * {"key":"48","label":"Medium"},
50
+ * {"key":"64","label":"Large"},
51
+ * {"key":"96","label":"Extra Large"},
52
+ * {"key":"full","label":"Full Height"},
53
+ * {"key":"screen","label":"Screen"}
54
+ * ]
55
+ * },
56
+ * {
57
+ * "key":"Max Height",
58
+ * "prefix":"max-h",
59
+ * "type":"select",
60
+ * "options":[
61
+ * {"key":"32","label":"Small"},
62
+ * {"key":"48","label":"Medium"},
63
+ * {"key":"64","label":"Large"},
64
+ * {"key":"96","label":"Extra Large"},
65
+ * {"key":"screen","label":"Screen"}
66
+ * ]
67
+ * },
68
+ * {
69
+ * "key":"Padding",
70
+ * "prefix":"p",
71
+ * "type":"select",
72
+ * "options":[
73
+ * {"key":"0","label":"None"},
74
+ * {"key":"2","label":"Small"},
75
+ * {"key":"4","label":"Medium"},
76
+ * {"key":"6","label":"Large"},
77
+ * {"key":"8","label":"Extra Large"}
78
+ * ]
79
+ * },
80
+ * {
81
+ * "key":"Scroll Snap",
82
+ * "prefix":"snap",
83
+ * "type":"select",
84
+ * "options":[
85
+ * {"key":"none","label":"None"},
86
+ * {"key":"x","label":"Horizontal"},
87
+ * {"key":"y","label":"Vertical"},
88
+ * {"key":"both","label":"Both"}
89
+ * ]
90
+ * },
91
+ * {
92
+ * "key":"Scroll Behavior",
93
+ * "prefix":"scroll",
94
+ * "type":"select",
95
+ * "options":[
96
+ * {"key":"auto","label":"Auto"},
97
+ * {"key":"smooth","label":"Smooth"}
98
+ * ]
99
+ * }
100
+ * ]
101
+ */
102
+ className?: string;
103
+ }
104
+ export default function ScrollArea({ children, as, className, ...props }: ScrollAreaProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import "react";
2
+ import { jsx as e } from "react/jsx-runtime";
3
+ //#region src/components/ScrollArea/index.tsx
4
+ function t({ children: t, as: n = "div", className: r = "", ...i }) {
5
+ return /* @__PURE__ */ e(n, {
6
+ ...i,
7
+ className: ["overflow-auto", r].filter(Boolean).join(" "),
8
+ children: t
9
+ });
10
+ }
11
+ //#endregion
12
+ export { t as default };
@@ -0,0 +1,111 @@
1
+ import { default as React } from 'react';
2
+ export type SectionElement = "section" | "div" | "main" | "article" | "aside";
3
+ export interface SectionProps extends Omit<React.HTMLAttributes<HTMLElement>, "children" | "className"> {
4
+ children?: React.ReactNode;
5
+ /** @select|section|div|main|article|aside */
6
+ as?: SectionElement;
7
+ /**
8
+ * @type|class
9
+ * @schema [
10
+ * {
11
+ * "key":"Width",
12
+ * "prefix":"w",
13
+ * "type":"select",
14
+ * "options":[
15
+ * {"key":"auto","label":"Auto"},
16
+ * {"key":"full","label":"Full Width"},
17
+ * {"key":"screen","label":"Screen"}
18
+ * ]
19
+ * },
20
+ * {
21
+ * "key":"Min Height",
22
+ * "prefix":"min-h",
23
+ * "type":"select",
24
+ * "options":[
25
+ * {"key":"0","label":"None"},
26
+ * {"key":"full","label":"Full"},
27
+ * {"key":"screen","label":"Screen"}
28
+ * ]
29
+ * },
30
+ * {
31
+ * "key":"Padding X",
32
+ * "prefix":"px",
33
+ * "type":"select",
34
+ * "options":[
35
+ * {"key":"0","label":"None"},
36
+ * {"key":"2","label":"Small"},
37
+ * {"key":"4","label":"Medium"},
38
+ * {"key":"6","label":"Large"},
39
+ * {"key":"8","label":"Extra Large"},
40
+ * {"key":"12","label":"2XL"},
41
+ * {"key":"16","label":"3XL"}
42
+ * ]
43
+ * },
44
+ * {
45
+ * "key":"Padding Y",
46
+ * "prefix":"py",
47
+ * "type":"select",
48
+ * "options":[
49
+ * {"key":"0","label":"None"},
50
+ * {"key":"2","label":"Small"},
51
+ * {"key":"4","label":"Medium"},
52
+ * {"key":"6","label":"Large"},
53
+ * {"key":"8","label":"Extra Large"},
54
+ * {"key":"12","label":"2XL"},
55
+ * {"key":"16","label":"3XL"},
56
+ * {"key":"20","label":"4XL"},
57
+ * {"key":"24","label":"5XL"}
58
+ * ]
59
+ * },
60
+ * {
61
+ * "key":"Background",
62
+ * "prefix":"bg",
63
+ * "type":"select",
64
+ * "options":[
65
+ * {"key":"transparent","label":"Transparent"},
66
+ * {"key":"white","label":"White"},
67
+ * {"key":"gray-50","label":"Gray 50"},
68
+ * {"key":"gray-100","label":"Gray 100"},
69
+ * {"key":"gray-900","label":"Gray 900"},
70
+ * {"key":"black","label":"Black"}
71
+ * ]
72
+ * },
73
+ * {
74
+ * "key":"Text Color",
75
+ * "prefix":"text",
76
+ * "type":"select",
77
+ * "options":[
78
+ * {"key":"gray-900","label":"Dark"},
79
+ * {"key":"gray-700","label":"Gray"},
80
+ * {"key":"white","label":"White"},
81
+ * {"key":"black","label":"Black"}
82
+ * ]
83
+ * },
84
+ * {
85
+ * "key":"Overflow",
86
+ * "prefix":"overflow",
87
+ * "type":"select",
88
+ * "options":[
89
+ * {"key":"visible","label":"Visible"},
90
+ * {"key":"hidden","label":"Hidden"},
91
+ * {"key":"auto","label":"Auto"},
92
+ * {"key":"scroll","label":"Scroll"}
93
+ * ]
94
+ * },
95
+ * {
96
+ * "key":"Position",
97
+ * "prefix":"",
98
+ * "type":"select",
99
+ * "options":[
100
+ * {"key":"static","label":"Static"},
101
+ * {"key":"relative","label":"Relative"},
102
+ * {"key":"absolute","label":"Absolute"},
103
+ * {"key":"fixed","label":"Fixed"},
104
+ * {"key":"sticky","label":"Sticky"}
105
+ * ]
106
+ * }
107
+ * ]
108
+ */
109
+ className?: string;
110
+ }
111
+ export default function Section({ children, as, className, ...props }: SectionProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import "react";
2
+ import { jsx as e } from "react/jsx-runtime";
3
+ //#region src/components/Section/index.tsx
4
+ function t({ children: t, as: n = "section", className: r = "", ...i }) {
5
+ return /* @__PURE__ */ e(n, {
6
+ ...i,
7
+ className: ["w-full", r].filter(Boolean).join(" "),
8
+ children: t
9
+ });
10
+ }
11
+ //#endregion
12
+ export { t as default };
@@ -1,57 +1,26 @@
1
1
  import { default as React } from 'react';
2
- export interface StackProps extends React.HTMLAttributes<HTMLDivElement> {
2
+ export type StackElement = "div" | "section" | "article" | "main" | "aside" | "nav";
3
+ export type StackDirection = "vertical" | "horizontal";
4
+ export type StackGap = "0" | "1" | "2" | "3" | "4" | "6" | "8" | "10" | "12";
5
+ export type StackAlign = "start" | "center" | "end" | "stretch" | "baseline";
6
+ export type StackJustify = "start" | "center" | "end" | "between" | "around" | "evenly";
7
+ export interface StackProps extends Omit<React.HTMLAttributes<HTMLElement>, "children" | "className"> {
3
8
  children?: React.ReactNode;
4
- /** *@type|class
5
- * @schema [{
6
- * "key": "Direction",
7
- * "prefix": "flex",
8
- * "type": "select",
9
- * "options": [
10
- * {"key": "row", "label": "Row"},
11
- * {"key": "col", "label": "Column"}
12
- * ]
13
- * },{
14
- * "key": "Align Items (Cross Axis)",
15
- * "prefix": "items",
16
- * "type": "select",
17
- * "options": [
18
- * {"key": "start", "label": "Start"},
19
- * {"key": "center", "label": "Center"},
20
- * {"key": "end", "label": "End"},
21
- * {"key": "stretch", "label": "Stretch"}
22
- * ]
23
- * },{
24
- * "key": "Justify Content (Main Axis)",
25
- * "prefix": "justify",
26
- * "type": "select",
27
- * "options": [
28
- * {"key": "start", "label": "Start"},
29
- * {"key": "center", "label": "Center"},
30
- * {"key": "end", "label": "End"},
31
- * {"key": "between", "label": "Space Between"},
32
- * {"key": "around", "label": "Space Around"}
33
- * ]
34
- * },{
35
- * "key": "Gap",
36
- * "prefix": "gap",
37
- * "type": "select",
38
- * "options": [
39
- * {"key": "0", "label": "None (0px)"},
40
- * {"key": "2", "label": "Small (8px)"},
41
- * {"key": "4", "label": "Medium (16px)"},
42
- * {"key": "8", "label": "Large (32px)"},
43
- * {"key": "12", "label": "Extra Large (48px)"}
44
- * ]
45
- * },{
46
- * "key": "Wrap Content",
47
- * "prefix": "flex",
48
- * "type": "select",
49
- * "options": [
50
- * {"key": "wrap", "label": "Wrap"},
51
- * {"key": "nowrap", "label": "No Wrap"}
52
- * ]
53
- * }]
9
+ /** @select|div|section|article|main|aside|nav */
10
+ as?: StackElement;
11
+ /** @select|vertical|horizontal */
12
+ direction?: StackDirection;
13
+ /** @select|0|1|2|3|4|6|8|10|12 */
14
+ gap?: StackGap;
15
+ /** @select|start|center|end|stretch|baseline */
16
+ align?: StackAlign;
17
+ /** @select|start|center|end|between|around|evenly */
18
+ justify?: StackJustify;
19
+ wrap?: boolean;
20
+ /**
21
+ * @type|class
22
+ * @schema [{"key":"Width","prefix":"w","type":"select","options":[{"key":"auto","label":"Auto"},{"key":"full","label":"Full Width"},{"key":"screen","label":"Screen"}]},{"key":"Height","prefix":"h","type":"select","options":[{"key":"auto","label":"Auto"},{"key":"full","label":"Full Height"},{"key":"screen","label":"Screen"}]},{"key":"Padding","prefix":"p","type":"select","options":[{"key":"0","label":"None"},{"key":"2","label":"Small"},{"key":"4","label":"Medium"},{"key":"6","label":"Large"},{"key":"8","label":"Extra Large"},{"key":"12","label":"2XL"}]},{"key":"Background","prefix":"bg","type":"select","options":[{"key":"transparent","label":"Transparent"},{"key":"white","label":"White"},{"key":"gray-50","label":"Gray 50"},{"key":"gray-100","label":"Gray 100"},{"key":"gray-900","label":"Gray 900"},{"key":"black","label":"Black"}]}]
54
23
  */
55
24
  className?: string;
56
25
  }
57
- export default function Stack({ className, children, ...props }: StackProps): import("react/jsx-runtime").JSX.Element;
26
+ export default function Stack({ children, as, direction, gap, align, justify, wrap, className, ...props }: StackProps): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,48 @@
1
1
  import "react";
2
2
  import { jsx as e } from "react/jsx-runtime";
3
3
  //#region src/components/Stack/index.tsx
4
- function t({ className: t = "", children: n, ...r }) {
5
- return /* @__PURE__ */ e("div", {
6
- className: `flex w-full ${t}`.trim(),
7
- ...r,
8
- children: n
4
+ var t = {
5
+ vertical: "flex-col",
6
+ horizontal: "flex-row"
7
+ }, n = {
8
+ 0: "gap-0",
9
+ 1: "gap-1",
10
+ 2: "gap-2",
11
+ 3: "gap-3",
12
+ 4: "gap-4",
13
+ 6: "gap-6",
14
+ 8: "gap-8",
15
+ 10: "gap-10",
16
+ 12: "gap-12"
17
+ }, r = {
18
+ start: "items-start",
19
+ center: "items-center",
20
+ end: "items-end",
21
+ stretch: "items-stretch",
22
+ baseline: "items-baseline"
23
+ }, i = {
24
+ start: "justify-start",
25
+ center: "justify-center",
26
+ end: "justify-end",
27
+ between: "justify-between",
28
+ around: "justify-around",
29
+ evenly: "justify-evenly"
30
+ };
31
+ function a({ children: a, as: o = "div", direction: s = "vertical", gap: c = "4", align: l = "stretch", justify: u = "start", wrap: d = !1, className: f = "", ...p }) {
32
+ let m = o, h = [
33
+ "flex",
34
+ t[s],
35
+ n[c],
36
+ r[l],
37
+ i[u],
38
+ d ? "flex-wrap" : "flex-nowrap",
39
+ f
40
+ ].filter(Boolean).join(" ");
41
+ return /* @__PURE__ */ e(m, {
42
+ ...p,
43
+ className: h,
44
+ children: a
9
45
  });
10
46
  }
11
47
  //#endregion
12
- export { t as default };
48
+ export { a as default };
package/index.d.ts CHANGED
@@ -1,16 +1,26 @@
1
+ export type { AspectRatioElement, AspectRatioProps } from './components/AspectRatio';
2
+ export { default as AspectRatio } from './components/AspectRatio';
1
3
  export type { BoxProps } from './components/Box';
2
4
  export { default as Box } from './components/Box';
3
5
  export type { RudraCarouselProps } from './components/Carousel';
4
6
  export { default as RudraCarousel } from './components/Carousel';
7
+ export type { ContainerElement, ContainerMaxWidth, ContainerProps } from './components/Container';
8
+ export { default as Container } from './components/Container';
5
9
  export type { RepeaterCarouselProps } from './components/DataCarousel';
6
10
  export { default as RepeaterCarousel } from './components/DataCarousel';
7
- export type { GridProps } from './components/Grid';
11
+ export type { FlexElement, FlexProps } from './components/Flex';
12
+ export { default as Flex } from './components/Flex';
13
+ export type { GridElement, GridProps } from './components/Grid';
8
14
  export { default as Grid } from './components/Grid';
9
15
  export type { RepeaterProps } from './components/Repeater';
10
16
  export { default as Repeater } from './components/Repeater';
11
17
  export type { RepeaterTableProps } from './components/RepeaterTable';
12
18
  export { default as RepeaterTable } from './components/RepeaterTable';
13
- export type { StackProps } from './components/Stack';
19
+ export type { ScrollAreaElement, ScrollAreaProps } from './components/ScrollArea';
20
+ export { default as ScrollArea } from './components/ScrollArea';
21
+ export type { SectionElement, SectionProps } from './components/Section';
22
+ export { default as Section } from './components/Section';
23
+ export type { StackAlign, StackDirection, StackElement, StackGap, StackJustify, StackProps } from './components/Stack';
14
24
  export { default as Stack } from './components/Stack';
15
25
  export type { ComplexGridProps } from './components/StructuredGrid';
16
26
  export { default as ComplexGrid } from './components/StructuredGrid';
package/index.js CHANGED
@@ -1,13 +1,15 @@
1
- /* empty css */
2
- import e from "./components/Box/index.js";
3
- import t from "./components/Carousel/index.js";
4
- import n from "./components/DataCarousel/index.js";
5
- import r from "./components/Grid/index.js";
6
- import i from "./components/Repeater/index.js";
7
- import a from "./components/RepeaterTable/index.js";
8
- import o from "./components/Stack/index.js";
9
- import s from "./components/StructuredGrid/index.js";
10
- import c from "./components/Table/index.js";
11
- export { e as Box, s as ComplexGrid, c as DataTable, r as Grid, i as Repeater, n as RepeaterCarousel, a as RepeaterTable, t as RudraCarousel, o as Stack };
12
-
13
- try{if(typeof document!=="undefined"){const e=document.createElement("style");e.textContent="*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:\"\"}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.top-1\\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.inline{display:inline}.flex{display:flex}.\\!table{display:table!important}.table{display:table}.grid{display:grid}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-4{height:1rem}.h-8{height:2rem}.min-h-\\[50px\\]{min-height:50px}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\\[85\\%\\]{width:85%}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\\[120px\\]{min-width:120px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-center{scroll-snap-align:center}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity))}.border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.bg-slate-50\\/50{background-color:#f8fafc80}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-0{padding:0}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-12{padding:3rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\\[10px\\]{font-size:10px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.tracking-wider{letter-spacing:.05em}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.\\[-ms-overflow-style\\:none\\]{-ms-overflow-style:none}.\\[scrollbar-width\\:none\\]{scrollbar-width:none}.placeholder\\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity))}.hover\\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.hover\\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.hover\\:bg-slate-400:hover{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity))}.hover\\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.hover\\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.hover\\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.focus\\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.focus\\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:opacity-0:disabled{opacity:0}.disabled\\:opacity-30:disabled{opacity:.3}.group:hover .group-hover\\:opacity-50{opacity:.5}@media (width>=640px){.sm\\:-left-4{left:-1rem}.sm\\:-right-4{right:-1rem}.sm\\:w-96{width:24rem}.sm\\:w-\\[38\\%\\]{width:38%}.sm\\:w-\\[calc\\(50\\%-1rem\\)\\]{width:calc(50% - 1rem)}.sm\\:w-auto{width:auto}.sm\\:snap-start{scroll-snap-align:start}.sm\\:flex-row{flex-direction:row}}@media (width>=768px){.md\\:w-\\[28\\%\\]{width:28%}.md\\:w-\\[calc\\(33\\.333\\%-1rem\\)\\]{width:calc(33.333% - 1rem)}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1024px){.lg\\:w-\\[21\\%\\]{width:21%}.lg\\:w-\\[calc\\(25\\%-1rem\\)\\]{width:calc(25% - 1rem)}}@media (prefers-color-scheme:dark){.dark\\:divide-white\\/5>:not([hidden])~:not([hidden]){border-color:#ffffff0d}.dark\\:border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}.dark\\:border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}.dark\\:border-white\\/10{border-color:#ffffff1a}.dark\\:border-white\\/20{border-color:#fff3}.dark\\:border-white\\/5{border-color:#ffffff0d}.dark\\:bg-\\[\\#0A0A0A\\]{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity))}.dark\\:bg-black\\/40{background-color:#0006}.dark\\:bg-white\\/10{background-color:#ffffff1a}.dark\\:bg-white\\/5{background-color:#ffffff0d}.dark\\:bg-white\\/\\[0\\.02\\]{background-color:#ffffff05}.dark\\:text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity))}.dark\\:text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}.dark\\:text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.dark\\:text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.dark\\:text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dark\\:placeholder\\:text-slate-600::placeholder{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.dark\\:hover\\:bg-white\\/10:hover{background-color:#ffffff1a}.dark\\:hover\\:bg-white\\/5:hover{background-color:#ffffff0d}.dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:focus\\:border-cyan-500\\/50:focus{border-color:#06b6d480}}.\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}";const target = window.__RUDRA_SHADOW_ROOT__ || document.head; target.appendChild(e);}}catch(err){}
1
+ import e from "./components/AspectRatio/index.js";
2
+ import t from "./components/Box/index.js";
3
+ import n from "./components/Carousel/index.js";
4
+ import r from "./components/Container/index.js";
5
+ import i from "./components/DataCarousel/index.js";
6
+ import a from "./components/Flex/index.js";
7
+ import o from "./components/Grid/index.js";
8
+ import s from "./components/Repeater/index.js";
9
+ import c from "./components/RepeaterTable/index.js";
10
+ import l from "./components/ScrollArea/index.js";
11
+ import u from "./components/Section/index.js";
12
+ import d from "./components/Stack/index.js";
13
+ import f from "./components/StructuredGrid/index.js";
14
+ import p from "./components/Table/index.js";
15
+ export { e as AspectRatio, t as Box, f as ComplexGrid, r as Container, p as DataTable, a as Flex, o as Grid, s as Repeater, i as RepeaterCarousel, c as RepeaterTable, n as RudraCarousel, l as ScrollArea, u as Section, d as Stack };
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "autoprefixer": "^10.4.0",
13
13
  "postcss": "^8.4.0",
14
14
  "sass": "^1.72.0",
15
- "tailwindcss": "^3.4.0"
15
+ "tailwindcss": "^4.0.0"
16
16
  },
17
17
  "exports": {
18
18
  ".": {
@@ -32,7 +32,7 @@
32
32
  "peerDependencies": {
33
33
  "react": "^19.0.0",
34
34
  "react-dom": "^19.0.0",
35
- "tailwindcss": ">=3.0.0"
35
+ "tailwindcss": "^4.0.0"
36
36
  },
37
37
  "publishConfig": {
38
38
  "access": "public"
@@ -42,5 +42,5 @@
42
42
  },
43
43
  "types": "./index.d.ts",
44
44
  "unpkg": "./index.umd.js",
45
- "version": "1.0.16"
45
+ "version": "1.0.18"
46
46
  }