@bfme-technology/styled 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +51 -0
- package/index.js +44 -0
- package/package.json +17 -0
- package/src/documentationBaseStyles.js +62 -0
- package/src/studioAdminStyles.js +107 -0
package/index.d.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
|
|
3
|
+
export type DocumentationStyleMap = {
|
|
4
|
+
root: React.CSSProperties;
|
|
5
|
+
loadingRoot: React.CSSProperties;
|
|
6
|
+
loadingCard: React.CSSProperties;
|
|
7
|
+
contentWrap: React.CSSProperties;
|
|
8
|
+
main: React.CSSProperties;
|
|
9
|
+
centerSection: React.CSSProperties;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export declare const documentationBaseStyles: DocumentationStyleMap;
|
|
13
|
+
export declare const documentationBaseLayoutStyles: DocumentationStyleMap;
|
|
14
|
+
|
|
15
|
+
export declare const layoutWrapperClass: string;
|
|
16
|
+
export declare const getSidebarClass: (args: { isCollapsed: boolean; isOpen: boolean }) => string;
|
|
17
|
+
export declare const logoAdminClass: string;
|
|
18
|
+
export declare const navClass: string;
|
|
19
|
+
export declare const getLayoutNavLinkClass: (args: { isActive: boolean }) => string;
|
|
20
|
+
export declare const navIconClass: string;
|
|
21
|
+
export declare const navLinkTextClass: string;
|
|
22
|
+
export declare const layoutMainClass: string;
|
|
23
|
+
export declare const topbarClass: string;
|
|
24
|
+
export declare const topbarTitleClass: string;
|
|
25
|
+
export declare const themeToggleContainerClass: string;
|
|
26
|
+
export declare const getThemeToggleButtonClass: (args: { isActive: boolean }) => string;
|
|
27
|
+
export declare const contentAreaClass: string;
|
|
28
|
+
export declare const breadcrumbContainerClass: string;
|
|
29
|
+
export declare const breadcrumbListClass: string;
|
|
30
|
+
export declare const breadcrumbItemClass: string;
|
|
31
|
+
export declare const breadcrumbLinkClass: string;
|
|
32
|
+
export declare const breadcrumbActiveItemClass: string;
|
|
33
|
+
export declare const breadcrumbSeparatorClass: string;
|
|
34
|
+
export declare const dashboardContainerClass: string;
|
|
35
|
+
export declare const dashboardRootClass: string;
|
|
36
|
+
export declare const dashboardTitleClass: string;
|
|
37
|
+
export declare const metricsGridClass: string;
|
|
38
|
+
export declare const metricCardClass: string;
|
|
39
|
+
export declare const metricCardTitleClass: string;
|
|
40
|
+
export declare const metricValueClass: string;
|
|
41
|
+
export declare const gridContainerClass: string;
|
|
42
|
+
export declare const gridPageWrapperClass: string;
|
|
43
|
+
export declare const gridHeaderSectionClass: string;
|
|
44
|
+
export declare const gridHeaderTitleClass: string;
|
|
45
|
+
export declare const gridActionsSectionClass: string;
|
|
46
|
+
export declare const gridFilterSectionClass: string;
|
|
47
|
+
export declare const gridFilterLabelClass: string;
|
|
48
|
+
export declare const gridFilterSelectClass: string;
|
|
49
|
+
export declare const gridPrimaryButtonClass: string;
|
|
50
|
+
export declare const gridContentSectionClass: string;
|
|
51
|
+
export declare const gridEmptyTextClass: string;
|
package/index.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export {
|
|
2
|
+
documentationBaseStyles,
|
|
3
|
+
documentationBaseLayoutStyles,
|
|
4
|
+
} from "./src/documentationBaseStyles.js";
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
layoutWrapperClass,
|
|
8
|
+
getSidebarClass,
|
|
9
|
+
logoAdminClass,
|
|
10
|
+
navClass,
|
|
11
|
+
getLayoutNavLinkClass,
|
|
12
|
+
navIconClass,
|
|
13
|
+
navLinkTextClass,
|
|
14
|
+
layoutMainClass,
|
|
15
|
+
topbarClass,
|
|
16
|
+
topbarTitleClass,
|
|
17
|
+
themeToggleContainerClass,
|
|
18
|
+
getThemeToggleButtonClass,
|
|
19
|
+
contentAreaClass,
|
|
20
|
+
breadcrumbContainerClass,
|
|
21
|
+
breadcrumbListClass,
|
|
22
|
+
breadcrumbItemClass,
|
|
23
|
+
breadcrumbLinkClass,
|
|
24
|
+
breadcrumbActiveItemClass,
|
|
25
|
+
breadcrumbSeparatorClass,
|
|
26
|
+
dashboardContainerClass,
|
|
27
|
+
dashboardRootClass,
|
|
28
|
+
dashboardTitleClass,
|
|
29
|
+
metricsGridClass,
|
|
30
|
+
metricCardClass,
|
|
31
|
+
metricCardTitleClass,
|
|
32
|
+
metricValueClass,
|
|
33
|
+
gridContainerClass,
|
|
34
|
+
gridPageWrapperClass,
|
|
35
|
+
gridHeaderSectionClass,
|
|
36
|
+
gridHeaderTitleClass,
|
|
37
|
+
gridActionsSectionClass,
|
|
38
|
+
gridFilterSectionClass,
|
|
39
|
+
gridFilterLabelClass,
|
|
40
|
+
gridFilterSelectClass,
|
|
41
|
+
gridPrimaryButtonClass,
|
|
42
|
+
gridContentSectionClass,
|
|
43
|
+
gridEmptyTextClass,
|
|
44
|
+
} from "./src/studioAdminStyles.js";
|
package/package.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bfme-technology/styled",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./index.js",
|
|
9
|
+
"module": "./index.js",
|
|
10
|
+
"types": "./index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./index.d.ts",
|
|
14
|
+
"import": "./index.js"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
const root = {
|
|
2
|
+
minHeight: "100vh",
|
|
3
|
+
display: "flex",
|
|
4
|
+
flexDirection: "column",
|
|
5
|
+
backgroundColor: "#f9fafb",
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const loadingRoot = {
|
|
9
|
+
minHeight: "100vh",
|
|
10
|
+
display: "flex",
|
|
11
|
+
alignItems: "center",
|
|
12
|
+
justifyContent: "center",
|
|
13
|
+
padding: "1rem",
|
|
14
|
+
background: "linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #0f172a 100%)",
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const loadingCard = {
|
|
18
|
+
display: "inline-flex",
|
|
19
|
+
alignItems: "center",
|
|
20
|
+
gap: "0.75rem",
|
|
21
|
+
borderRadius: "0.75rem",
|
|
22
|
+
border: "1px solid rgba(255,255,255,0.15)",
|
|
23
|
+
background: "rgba(255,255,255,0.05)",
|
|
24
|
+
color: "#e2e8f0",
|
|
25
|
+
fontSize: "0.875rem",
|
|
26
|
+
padding: "0.75rem 1rem",
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const contentWrap = {
|
|
30
|
+
width: "100%",
|
|
31
|
+
maxWidth: "1280px",
|
|
32
|
+
margin: "0 auto",
|
|
33
|
+
display: "flex",
|
|
34
|
+
flex: 1,
|
|
35
|
+
gap: "1.5rem",
|
|
36
|
+
padding: "1.5rem",
|
|
37
|
+
boxSizing: "border-box",
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const main = {
|
|
41
|
+
flex: 1,
|
|
42
|
+
minWidth: 0,
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const centerSection = {
|
|
46
|
+
width: "100%",
|
|
47
|
+
maxWidth: "1280px",
|
|
48
|
+
margin: "0 auto",
|
|
49
|
+
padding: "1.5rem",
|
|
50
|
+
boxSizing: "border-box",
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export const documentationBaseStyles = {
|
|
54
|
+
root,
|
|
55
|
+
loadingRoot,
|
|
56
|
+
loadingCard,
|
|
57
|
+
contentWrap,
|
|
58
|
+
main,
|
|
59
|
+
centerSection,
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export const documentationBaseLayoutStyles = documentationBaseStyles;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export const layoutWrapperClass =
|
|
2
|
+
"flex h-screen overflow-hidden bg-gray-50 text-slate-900 dark:bg-slate-950 dark:text-slate-100";
|
|
3
|
+
|
|
4
|
+
export const getSidebarClass = ({ isCollapsed, isOpen }) =>
|
|
5
|
+
[
|
|
6
|
+
"fixed left-0 top-0 z-[1000] flex min-h-screen flex-col border-r border-slate-800 bg-slate-900 transition-all duration-300 md:relative",
|
|
7
|
+
isCollapsed ? "md:w-20" : "md:w-[260px]",
|
|
8
|
+
"w-[260px]",
|
|
9
|
+
isOpen ? "translate-x-0" : "-translate-x-full md:translate-x-0",
|
|
10
|
+
].join(" ");
|
|
11
|
+
|
|
12
|
+
export const logoAdminClass = "h-auto max-w-[150px] transition-opacity duration-200";
|
|
13
|
+
|
|
14
|
+
export const navClass = "flex-1 p-4";
|
|
15
|
+
|
|
16
|
+
export const getLayoutNavLinkClass = ({ isActive }) =>
|
|
17
|
+
[
|
|
18
|
+
"mb-2 flex items-center rounded-lg border px-4 py-3 text-sm font-medium transition",
|
|
19
|
+
isActive
|
|
20
|
+
? "border-indigo-400 bg-indigo-500 text-white"
|
|
21
|
+
: "border-transparent text-slate-300 hover:border-slate-700 hover:bg-slate-800 hover:text-white",
|
|
22
|
+
].join(" ");
|
|
23
|
+
|
|
24
|
+
export const navIconClass = "flex min-w-[25px] justify-center text-[1.05rem]";
|
|
25
|
+
|
|
26
|
+
export const navLinkTextClass = "ml-4 whitespace-nowrap opacity-100 transition-opacity";
|
|
27
|
+
|
|
28
|
+
export const layoutMainClass = "flex flex-1 flex-col overflow-hidden bg-transparent";
|
|
29
|
+
|
|
30
|
+
export const topbarClass =
|
|
31
|
+
"flex h-16 shrink-0 items-center justify-between border-b border-slate-200 bg-white/95 px-6 backdrop-blur dark:border-slate-800 dark:bg-slate-900/90";
|
|
32
|
+
|
|
33
|
+
export const topbarTitleClass =
|
|
34
|
+
"m-0 text-lg font-semibold text-slate-900 dark:text-slate-100";
|
|
35
|
+
|
|
36
|
+
export const themeToggleContainerClass =
|
|
37
|
+
"inline-flex items-center rounded-lg border border-slate-200 bg-white p-1 shadow-sm dark:border-slate-700 dark:bg-slate-800";
|
|
38
|
+
|
|
39
|
+
export const getThemeToggleButtonClass = ({ isActive }) =>
|
|
40
|
+
[
|
|
41
|
+
"rounded-md px-2.5 py-1.5 text-xs font-semibold transition",
|
|
42
|
+
isActive
|
|
43
|
+
? "bg-indigo-600 text-white"
|
|
44
|
+
: "text-slate-600 hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-700",
|
|
45
|
+
].join(" ");
|
|
46
|
+
|
|
47
|
+
export const contentAreaClass = "flex-1 overflow-y-auto bg-transparent p-6";
|
|
48
|
+
|
|
49
|
+
export const breadcrumbContainerClass =
|
|
50
|
+
"mb-5 rounded-xl border border-slate-200 bg-white/70 px-4 py-2.5 shadow-sm dark:border-slate-800 dark:bg-slate-900/60";
|
|
51
|
+
|
|
52
|
+
export const breadcrumbListClass = "mb-0 flex list-none items-center gap-2 text-sm";
|
|
53
|
+
|
|
54
|
+
export const breadcrumbItemClass = "text-slate-500 dark:text-slate-300";
|
|
55
|
+
|
|
56
|
+
export const breadcrumbLinkClass =
|
|
57
|
+
"text-slate-600 transition hover:text-indigo-600 dark:text-slate-300 dark:hover:text-indigo-300";
|
|
58
|
+
|
|
59
|
+
export const breadcrumbActiveItemClass = "font-medium text-indigo-700 dark:text-indigo-300";
|
|
60
|
+
|
|
61
|
+
export const breadcrumbSeparatorClass = "text-slate-400 dark:text-slate-500";
|
|
62
|
+
|
|
63
|
+
export const dashboardContainerClass = "w-full";
|
|
64
|
+
|
|
65
|
+
export const dashboardRootClass = "mx-auto max-w-[1200px]";
|
|
66
|
+
|
|
67
|
+
export const dashboardTitleClass =
|
|
68
|
+
"mb-8 text-3xl font-semibold text-slate-900 dark:text-slate-100";
|
|
69
|
+
|
|
70
|
+
export const metricsGridClass =
|
|
71
|
+
"grid grid-cols-1 gap-5 sm:grid-cols-2 xl:grid-cols-4";
|
|
72
|
+
|
|
73
|
+
export const metricCardClass =
|
|
74
|
+
"rounded-xl border border-slate-200 bg-white p-5 shadow-sm dark:border-slate-800 dark:bg-slate-900/70";
|
|
75
|
+
|
|
76
|
+
export const metricCardTitleClass =
|
|
77
|
+
"mb-4 text-xs font-semibold uppercase tracking-widest text-slate-600 dark:text-slate-300";
|
|
78
|
+
|
|
79
|
+
export const metricValueClass = "m-0 text-4xl font-bold text-indigo-600 dark:text-indigo-300";
|
|
80
|
+
|
|
81
|
+
export const gridContainerClass =
|
|
82
|
+
"ag-grid-container ag-theme-alpine flex min-h-[500px] w-full flex-1 flex-col";
|
|
83
|
+
|
|
84
|
+
export const gridPageWrapperClass =
|
|
85
|
+
"flex h-full w-full flex-col gap-4 overflow-hidden";
|
|
86
|
+
|
|
87
|
+
export const gridHeaderSectionClass =
|
|
88
|
+
"flex shrink-0 items-center justify-between border-b border-slate-200 pb-4 dark:border-slate-800";
|
|
89
|
+
|
|
90
|
+
export const gridHeaderTitleClass =
|
|
91
|
+
"m-0 text-[1.75rem] font-semibold text-slate-900 dark:text-slate-100";
|
|
92
|
+
|
|
93
|
+
export const gridActionsSectionClass = "flex items-center gap-4";
|
|
94
|
+
|
|
95
|
+
export const gridFilterSectionClass = "flex items-center gap-4";
|
|
96
|
+
|
|
97
|
+
export const gridFilterLabelClass = "mr-2 font-semibold text-slate-600 dark:text-slate-300";
|
|
98
|
+
|
|
99
|
+
export const gridFilterSelectClass =
|
|
100
|
+
"min-w-[120px] cursor-pointer rounded border border-slate-300 bg-white p-2 text-sm text-slate-800 focus:border-indigo-500 focus:outline-none focus:ring-4 focus:ring-indigo-500/25 dark:border-slate-700 dark:bg-slate-900 dark:text-slate-100";
|
|
101
|
+
|
|
102
|
+
export const gridPrimaryButtonClass =
|
|
103
|
+
"inline-flex items-center gap-2 rounded border border-indigo-600 bg-indigo-600 px-4 py-2 text-sm font-medium text-white transition hover:-translate-y-px hover:border-indigo-700 hover:bg-indigo-700 hover:shadow active:translate-y-0 active:border-indigo-900 active:bg-indigo-900";
|
|
104
|
+
|
|
105
|
+
export const gridContentSectionClass = "flex flex-1 flex-col overflow-hidden";
|
|
106
|
+
|
|
107
|
+
export const gridEmptyTextClass = "text-sm text-slate-500 dark:text-slate-300";
|