@lancar/lxui 1.0.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/CHANGELOG.md +88 -0
- package/LICENSE +21 -0
- package/README.md +5072 -0
- package/css/base/reset.css +91 -0
- package/css/base/tokens-extended.css +119 -0
- package/css/base/tokens.css +105 -0
- package/css/base/typography.css +35 -0
- package/css/base/utils.css +26 -0
- package/css/components/accordion.css +25 -0
- package/css/components/alert.css +22 -0
- package/css/components/animations.css +26 -0
- package/css/components/avatar.css +38 -0
- package/css/components/back-top.css +32 -0
- package/css/components/badge.css +37 -0
- package/css/components/breadcrumb.css +13 -0
- package/css/components/button.css +103 -0
- package/css/components/callout.css +20 -0
- package/css/components/card.css +42 -0
- package/css/components/carousel.css +31 -0
- package/css/components/chip.css +52 -0
- package/css/components/code-block.css +22 -0
- package/css/components/collapse.css +6 -0
- package/css/components/compat.css +27 -0
- package/css/components/dark-mode.css +35 -0
- package/css/components/divider.css +36 -0
- package/css/components/dropdown.css +39 -0
- package/css/components/empty.css +34 -0
- package/css/components/fab.css +28 -0
- package/css/components/file-drop.css +47 -0
- package/css/components/forms.css +107 -0
- package/css/components/kbd.css +5 -0
- package/css/components/list-group.css +17 -0
- package/css/components/modal.css +50 -0
- package/css/components/nav.css +25 -0
- package/css/components/navbar.css +44 -0
- package/css/components/number-input.css +52 -0
- package/css/components/offcanvas.css +25 -0
- package/css/components/pagination.css +17 -0
- package/css/components/popover.css +12 -0
- package/css/components/progress.css +26 -0
- package/css/components/rating.css +28 -0
- package/css/components/section.css +18 -0
- package/css/components/skeleton.css +19 -0
- package/css/components/spinner.css +38 -0
- package/css/components/stat.css +58 -0
- package/css/components/steps.css +76 -0
- package/css/components/table.css +29 -0
- package/css/components/tag.css +29 -0
- package/css/components/timeline.css +11 -0
- package/css/components/toast.css +14 -0
- package/css/components/toggler.css +20 -0
- package/css/components/tooltip.css +10 -0
- package/css/index.css +59 -0
- package/css/layout/grid.css +71 -0
- package/css/layout/utilities.css +257 -0
- package/js/breakpoint.js +13 -0
- package/js/carousel.js +62 -0
- package/js/clipboard.js +28 -0
- package/js/collapse.js +36 -0
- package/js/counter.js +38 -0
- package/js/dropdown.js +27 -0
- package/js/index.js +19 -0
- package/js/init.js +89 -0
- package/js/modal.js +44 -0
- package/js/number-input.js +44 -0
- package/js/offcanvas.js +28 -0
- package/js/popover.js +39 -0
- package/js/rating.js +39 -0
- package/js/scrollspy.js +24 -0
- package/js/tab.js +18 -0
- package/js/theme.js +9 -0
- package/js/toast.js +73 -0
- package/js/tooltip.js +39 -0
- package/js/utils.js +20 -0
- package/lx-grid.min.css +2 -0
- package/lx-utilities.min.css +2 -0
- package/lxeditor.min.css +2 -0
- package/lxfonts.min.css +2 -0
- package/lxicons.min.css +2 -0
- package/lxmarked.js +276 -0
- package/lxthemes.min.css +2 -0
- package/lxui.bundle.js +540 -0
- package/lxui.bundle.min.js +13 -0
- package/lxui.css +2163 -0
- package/lxui.esm.js +669 -0
- package/lxui.esm.min.js +8 -0
- package/lxui.js +859 -0
- package/lxui.min.css +2 -0
- package/lxui.min.js +7 -0
- package/lxui.rtl.css +2466 -0
- package/lxui.rtl.min.css +2 -0
- package/marked.min.js +69 -0
- package/package.json +183 -0
- package/types/index.d.ts +284 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/* reset */
|
|
3
|
+
§1 RESET & BASE
|
|
4
|
+
================================================================= */
|
|
5
|
+
|
|
6
|
+
*,
|
|
7
|
+
*::before,
|
|
8
|
+
*::after {
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
html {
|
|
13
|
+
scroll-behavior: smooth;
|
|
14
|
+
-webkit-text-size-adjust: 100%;
|
|
15
|
+
tab-size: 4;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
body {
|
|
19
|
+
margin: 0;
|
|
20
|
+
min-height: 100vh;
|
|
21
|
+
font-family: var(--font-default, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
|
|
22
|
+
font-size: var(--lx-text-base, 1rem);
|
|
23
|
+
line-height: 1.6;
|
|
24
|
+
color: var(--text-primary, #111827);
|
|
25
|
+
background-color: var(--bg-primary, #ffffff);
|
|
26
|
+
-webkit-font-smoothing: antialiased;
|
|
27
|
+
-moz-osx-font-smoothing: grayscale;
|
|
28
|
+
text-rendering: optimizeLegibility;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd { margin: 0; }
|
|
32
|
+
|
|
33
|
+
img, svg, video, canvas, audio, iframe, embed, object { display: block; max-width: 100%; }
|
|
34
|
+
|
|
35
|
+
input, button, textarea, select { font: inherit; }
|
|
36
|
+
|
|
37
|
+
ul[role='list'], ol[role='list'] { list-style: none; }
|
|
38
|
+
|
|
39
|
+
h1, h2, h3, h4, h5, h6 {
|
|
40
|
+
font-family: var(--font-default);
|
|
41
|
+
font-weight: 700;
|
|
42
|
+
letter-spacing: -0.02em;
|
|
43
|
+
color: var(--text-primary, #111827);
|
|
44
|
+
margin-top: 1.5em;
|
|
45
|
+
margin-bottom: 0.5em;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
h1 { font-size: clamp(1.75rem, 4vw + 1rem, 2.5rem); line-height: 1.2; }
|
|
49
|
+
h2 { font-size: clamp(1.5rem, 3vw + 0.8rem, 2rem); line-height: 1.3; }
|
|
50
|
+
h3 { font-size: clamp(1.25rem, 2.5vw + 0.6rem, 1.75rem); line-height: 1.3; }
|
|
51
|
+
h4 { font-size: clamp(1.125rem, 2vw + 0.5rem, 1.5rem); line-height: 1.4; }
|
|
52
|
+
h5 { font-size: clamp(1rem, 1.5vw + 0.4rem, 1.25rem); line-height: 1.4; }
|
|
53
|
+
h6 { font-size: 1rem; line-height: 1.5; font-weight: 600; }
|
|
54
|
+
|
|
55
|
+
p { margin-top: 0; margin-bottom: 1em; }
|
|
56
|
+
|
|
57
|
+
a { color: var(--accent, #3b82f6); text-decoration: none; transition: color 0.2s ease; }
|
|
58
|
+
a:hover { color: var(--accent-hover, #2563eb); text-decoration: underline; }
|
|
59
|
+
a:focus-visible { outline: 2px solid var(--accent, #3b82f6); outline-offset: 2px; border-radius: 3px; }
|
|
60
|
+
|
|
61
|
+
code, pre { font-family: var(--font-mono, "SFMono-Regular", Consolas, monospace); }
|
|
62
|
+
code { padding: 2px 6px; background: var(--bg-secondary, #f3f4f6); border: 1px solid var(--border-subtle, #e5e7eb); border-radius: 4px; font-size: 0.875em; }
|
|
63
|
+
pre { padding: 1rem; overflow-x: auto; line-height: 1.6; background: var(--bg-secondary, #f3f4f6); border: 1px solid var(--border-subtle, #e5e7eb); border-radius: 8px; }
|
|
64
|
+
pre code { background: none; border: none; padding: 0; }
|
|
65
|
+
|
|
66
|
+
kbd { font-family: var(--font-mono); font-size: 0.875em; padding: 0.125rem 0.375rem; background: var(--bg-tertiary, #e5e7eb); border: 1px solid var(--border-default, #d1d5db); border-radius: 4px; }
|
|
67
|
+
|
|
68
|
+
mark { background: #fef08a; padding: 0.1em 0.2em; border-radius: 2px; }
|
|
69
|
+
|
|
70
|
+
hr { border: none; border-top: 1px solid var(--border-subtle, #e5e7eb); margin: 1.5rem 0; }
|
|
71
|
+
|
|
72
|
+
::selection { background: var(--accent-subtle, #dbeafe); color: var(--accent, #1d4ed8); }
|
|
73
|
+
|
|
74
|
+
::-webkit-scrollbar { width: 8px; height: 8px; }
|
|
75
|
+
::-webkit-scrollbar-track { background: var(--bg-secondary, #f3f4f6); }
|
|
76
|
+
::-webkit-scrollbar-thumb { background: var(--border-strong, #d1d5db); border-radius: 4px; }
|
|
77
|
+
::-webkit-scrollbar-thumb:hover { background: var(--accent, #3b82f6); }
|
|
78
|
+
|
|
79
|
+
:focus-visible { outline: 2px solid var(--accent, #3b82f6); outline-offset: 2px; }
|
|
80
|
+
:focus:not(:focus-visible) { outline: none; }
|
|
81
|
+
|
|
82
|
+
@media (prefers-reduced-motion: reduce) {
|
|
83
|
+
*, *::before, *::after {
|
|
84
|
+
animation-duration: 0.01ms !important;
|
|
85
|
+
animation-iteration-count: 1 !important;
|
|
86
|
+
transition-duration: 0.01ms !important;
|
|
87
|
+
scroll-behavior: auto !important;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/* ================================================================
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/* Extended design tokens */
|
|
3
|
+
/* ── Extended design tokens ── */
|
|
4
|
+
:root {
|
|
5
|
+
/* Semantic aliases */
|
|
6
|
+
--lx-font-sans: var(--font-default);
|
|
7
|
+
--lx-font-serif: "Source Serif Pro", Georgia, "Times New Roman", serif;
|
|
8
|
+
--lx-text: var(--text-primary, #111827);
|
|
9
|
+
--lx-text-secondary:var(--text-secondary, #6b7280);
|
|
10
|
+
--lx-text-muted: var(--text-muted, #9ca3af);
|
|
11
|
+
--lx-text-disabled: #d1d5db;
|
|
12
|
+
--lx-bg: var(--bg-primary, #ffffff);
|
|
13
|
+
--lx-bg-soft: var(--bg-secondary, #f9fafb);
|
|
14
|
+
--lx-bg-muted: var(--bg-tertiary, #f3f4f6);
|
|
15
|
+
--lx-border: var(--border-default, #e5e7eb);
|
|
16
|
+
|
|
17
|
+
/* Extended color variants */
|
|
18
|
+
--lx-primary-hover: var(--lx-primary-dark, #2563eb);
|
|
19
|
+
--lx-primary-subtle: var(--accent-subtle, #dbeafe);
|
|
20
|
+
--lx-primary-fg: var(--accent-fg, #ffffff);
|
|
21
|
+
--lx-secondary-hover: #4b5563;
|
|
22
|
+
--lx-secondary-subtle:#f9fafb;
|
|
23
|
+
--lx-secondary-fg: #ffffff;
|
|
24
|
+
--lx-success-hover: #16a34a;
|
|
25
|
+
--lx-success-subtle: #f0fdf4;
|
|
26
|
+
--lx-success-light: #86efac;
|
|
27
|
+
--lx-success-fg: #ffffff;
|
|
28
|
+
--lx-warning-hover: #d97706;
|
|
29
|
+
--lx-warning-subtle: #fffbeb;
|
|
30
|
+
--lx-warning-light: #fcd34d;
|
|
31
|
+
--lx-warning-fg: #ffffff;
|
|
32
|
+
--lx-danger-hover: #dc2626;
|
|
33
|
+
--lx-danger-subtle: #fef2f2;
|
|
34
|
+
--lx-danger-light: #fca5a5;
|
|
35
|
+
--lx-danger-fg: #ffffff;
|
|
36
|
+
--lx-info-hover: #0891b2;
|
|
37
|
+
--lx-info-subtle: #ecfeff;
|
|
38
|
+
--lx-info-light: #67e8f9;
|
|
39
|
+
--lx-info-fg: #ffffff;
|
|
40
|
+
--lx-white: #ffffff;
|
|
41
|
+
--lx-black: #000000;
|
|
42
|
+
|
|
43
|
+
/* Gray scale */
|
|
44
|
+
--lx-gray-50: #f9fafb;
|
|
45
|
+
--lx-gray-100: #f3f4f6;
|
|
46
|
+
--lx-gray-200: #e5e7eb;
|
|
47
|
+
--lx-gray-300: #d1d5db;
|
|
48
|
+
--lx-gray-400: #9ca3af;
|
|
49
|
+
--lx-gray-500: #6b7280;
|
|
50
|
+
--lx-gray-600: #4b5563;
|
|
51
|
+
--lx-gray-700: #374151;
|
|
52
|
+
--lx-gray-800: #1f2937;
|
|
53
|
+
--lx-gray-900: #111827;
|
|
54
|
+
--lx-gray-950: #030712;
|
|
55
|
+
|
|
56
|
+
/* Timing functions */
|
|
57
|
+
--lx-ease: cubic-bezier(0.4, 0, 0.2, 1);
|
|
58
|
+
--lx-ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
59
|
+
--lx-ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
60
|
+
--lx-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
61
|
+
--lx-duration-fast: 100ms;
|
|
62
|
+
--lx-duration: 200ms;
|
|
63
|
+
--lx-duration-slow: 300ms;
|
|
64
|
+
|
|
65
|
+
/* Component tokens */
|
|
66
|
+
--lx-btn-padding-y: 0.5rem;
|
|
67
|
+
--lx-btn-padding-x: 1rem;
|
|
68
|
+
--lx-btn-font-size: var(--lx-text-sm, 0.875rem);
|
|
69
|
+
--lx-btn-font-weight: 600;
|
|
70
|
+
--lx-btn-radius: var(--lx-radius, 8px);
|
|
71
|
+
--lx-btn-transition: var(--lx-transition);
|
|
72
|
+
|
|
73
|
+
--lx-card-padding: 1.5rem;
|
|
74
|
+
--lx-card-radius: var(--lx-radius-md, 12px);
|
|
75
|
+
--lx-card-shadow: var(--lx-shadow);
|
|
76
|
+
--lx-card-border: 1px solid var(--border-default, #e5e7eb);
|
|
77
|
+
|
|
78
|
+
--lx-input-padding-y: 0.5rem;
|
|
79
|
+
--lx-input-padding-x: 0.75rem;
|
|
80
|
+
--lx-input-font-size: var(--lx-text-sm, 0.875rem);
|
|
81
|
+
--lx-input-radius: var(--lx-radius, 8px);
|
|
82
|
+
--lx-input-border: 1px solid var(--border-strong, #d1d5db);
|
|
83
|
+
--lx-input-bg: var(--bg-primary, #ffffff);
|
|
84
|
+
--lx-input-focus-shadow: 0 0 0 3px rgba(59,130,246,.15);
|
|
85
|
+
|
|
86
|
+
--lx-modal-radius: var(--lx-radius-lg, 16px);
|
|
87
|
+
--lx-modal-shadow: var(--lx-shadow-xl);
|
|
88
|
+
--lx-modal-backdrop: rgba(0,0,0,.5);
|
|
89
|
+
|
|
90
|
+
--lx-tooltip-bg: #111827;
|
|
91
|
+
--lx-tooltip-color: #ffffff;
|
|
92
|
+
--lx-tooltip-radius: var(--lx-radius-sm, 4px);
|
|
93
|
+
|
|
94
|
+
--lx-badge-padding-y: 0.25em;
|
|
95
|
+
--lx-badge-padding-x: 0.6em;
|
|
96
|
+
--lx-badge-font-size: 0.75em;
|
|
97
|
+
--lx-badge-font-weight: 600;
|
|
98
|
+
--lx-badge-radius: var(--lx-radius-full, 9999px);
|
|
99
|
+
|
|
100
|
+
--lx-progress-height: 0.5rem;
|
|
101
|
+
--lx-progress-bg: var(--bg-tertiary, #f3f4f6);
|
|
102
|
+
--lx-progress-radius: var(--lx-radius-full, 9999px);
|
|
103
|
+
|
|
104
|
+
--lx-avatar-size: 2.5rem;
|
|
105
|
+
--lx-avatar-radius: 50%;
|
|
106
|
+
--lx-avatar-font-size: 0.875rem;
|
|
107
|
+
|
|
108
|
+
--lx-breadcrumb-sep: "/";
|
|
109
|
+
|
|
110
|
+
/* Container sizes */
|
|
111
|
+
--lx-container-sm: 640px;
|
|
112
|
+
--lx-container-md: 768px;
|
|
113
|
+
--lx-container-lg: 1024px;
|
|
114
|
+
--lx-container-xl: 1280px;
|
|
115
|
+
--lx-container-2xl: 1536px;
|
|
116
|
+
--lx-container-pad: var(--lx-container-padding-x, 1rem);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* ================================================================
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/* tokens */
|
|
3
|
+
§2 DESIGN TOKENS
|
|
4
|
+
================================================================= */
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
/* Font system */
|
|
8
|
+
--font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
|
9
|
+
--font-default: "Plus Jakarta Sans", var(--font-system);
|
|
10
|
+
--font-modern: "Inter", var(--font-system);
|
|
11
|
+
--font-mono: "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, "Courier New", monospace;
|
|
12
|
+
|
|
13
|
+
/* Font sizes */
|
|
14
|
+
--lx-text-xs: 0.75rem;
|
|
15
|
+
--lx-text-sm: 0.875rem;
|
|
16
|
+
--lx-text-base: 1rem;
|
|
17
|
+
--lx-text-lg: 1.125rem;
|
|
18
|
+
--lx-text-xl: 1.25rem;
|
|
19
|
+
--lx-text-2xl: 1.5rem;
|
|
20
|
+
--lx-text-3xl: 1.875rem;
|
|
21
|
+
--lx-text-4xl: 2.25rem;
|
|
22
|
+
--lx-text-5xl: 3rem;
|
|
23
|
+
|
|
24
|
+
/* Spacing */
|
|
25
|
+
--lx-spacer: 1rem;
|
|
26
|
+
--lx-space-1: 0.25rem;
|
|
27
|
+
--lx-space-2: 0.5rem;
|
|
28
|
+
--lx-space-3: 0.75rem;
|
|
29
|
+
--lx-space-4: 1rem;
|
|
30
|
+
--lx-space-5: 1.25rem;
|
|
31
|
+
--lx-space-6: 1.5rem;
|
|
32
|
+
--lx-space-8: 2rem;
|
|
33
|
+
--lx-space-10: 2.5rem;
|
|
34
|
+
--lx-space-12: 3rem;
|
|
35
|
+
--lx-space-16: 4rem;
|
|
36
|
+
|
|
37
|
+
/* Border radius */
|
|
38
|
+
--lx-radius-none: 0;
|
|
39
|
+
--lx-radius-sm: 4px;
|
|
40
|
+
--lx-radius: 8px;
|
|
41
|
+
--lx-radius-md: 12px;
|
|
42
|
+
--lx-radius-lg: 16px;
|
|
43
|
+
--lx-radius-xl: 24px;
|
|
44
|
+
--lx-radius-full: 9999px;
|
|
45
|
+
|
|
46
|
+
/* Shadows */
|
|
47
|
+
--lx-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
|
|
48
|
+
--lx-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
|
|
49
|
+
--lx-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
|
|
50
|
+
--lx-shadow-md: 0 8px 12px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05);
|
|
51
|
+
--lx-shadow-lg: 0 16px 24px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
|
|
52
|
+
--lx-shadow-xl: 0 24px 40px -8px rgba(0, 0, 0, 0.12), 0 12px 16px -8px rgba(0, 0, 0, 0.06);
|
|
53
|
+
--lx-shadow-2xl: 0 40px 60px -12px rgba(0, 0, 0, 0.18);
|
|
54
|
+
|
|
55
|
+
/* Transitions */
|
|
56
|
+
--lx-transition: all 0.2s ease;
|
|
57
|
+
--lx-transition-fast: all 0.1s ease;
|
|
58
|
+
--lx-transition-slow: all 0.4s ease;
|
|
59
|
+
|
|
60
|
+
/* Z-index */
|
|
61
|
+
--lx-z-dropdown: 1000;
|
|
62
|
+
--lx-z-sticky: 1020;
|
|
63
|
+
--lx-z-fixed: 1030;
|
|
64
|
+
--lx-z-offcanvas: 1040;
|
|
65
|
+
--lx-z-modal-bg: 1050;
|
|
66
|
+
--lx-z-modal: 1060;
|
|
67
|
+
--lx-z-popover: 1070;
|
|
68
|
+
--lx-z-tooltip: 1080;
|
|
69
|
+
--lx-z-toast: 1090;
|
|
70
|
+
|
|
71
|
+
/* Brand colors (fallback when no theme is active) */
|
|
72
|
+
--lx-primary: #3b82f6;
|
|
73
|
+
--lx-primary-dark: #2563eb;
|
|
74
|
+
--lx-primary-light: #93c5fd;
|
|
75
|
+
--lx-secondary: #6b7280;
|
|
76
|
+
--lx-success: #22c55e;
|
|
77
|
+
--lx-warning: #f59e0b;
|
|
78
|
+
--lx-danger: #ef4444;
|
|
79
|
+
--lx-info: #06b6d4;
|
|
80
|
+
--lx-dark: #1f2937;
|
|
81
|
+
--lx-light: #f9fafb;
|
|
82
|
+
|
|
83
|
+
/* Default semantic vars (overridden by UI themes) */
|
|
84
|
+
--bg-primary: #ffffff;
|
|
85
|
+
--bg-secondary: #f9fafb;
|
|
86
|
+
--bg-tertiary: #f3f4f6;
|
|
87
|
+
--surface: #ffffff;
|
|
88
|
+
--text-primary: #111827;
|
|
89
|
+
--text-secondary: #6b7280;
|
|
90
|
+
--text-muted: #9ca3af;
|
|
91
|
+
--border-strong: #d1d5db;
|
|
92
|
+
--border-default: #e5e7eb;
|
|
93
|
+
--border-subtle: #f3f4f6;
|
|
94
|
+
--accent: var(--lx-primary);
|
|
95
|
+
--accent-hover: var(--lx-primary-dark);
|
|
96
|
+
--accent-subtle: #dbeafe;
|
|
97
|
+
--accent-fg: #ffffff;
|
|
98
|
+
|
|
99
|
+
/* Container */
|
|
100
|
+
--lx-container-padding-x: 1rem;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
@media (min-width: 768px) {
|
|
104
|
+
:root { --lx-container-padding-x: 1.5rem; }
|
|
105
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/* typography */
|
|
3
|
+
§3 TYPOGRAPHY
|
|
4
|
+
================================================================= */
|
|
5
|
+
|
|
6
|
+
h1, .lx-h1 { font-size: clamp(1.75rem,4vw + 1rem,2.5rem); font-weight: 700; line-height: 1.2; letter-spacing: -0.03em; }
|
|
7
|
+
h2, .lx-h2 { font-size: clamp(1.5rem,3vw + 0.8rem,2rem); font-weight: 700; line-height: 1.25; letter-spacing: -0.02em; }
|
|
8
|
+
h3, .lx-h3 { font-size: clamp(1.25rem,2.5vw + 0.6rem,1.75rem); font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; }
|
|
9
|
+
h4, .lx-h4 { font-size: clamp(1.125rem,2vw + 0.5rem,1.5rem); font-weight: 600; line-height: 1.35; }
|
|
10
|
+
h5, .lx-h5 { font-size: clamp(1rem,1.5vw + 0.4rem,1.25rem); font-weight: 600; line-height: 1.4; }
|
|
11
|
+
h6, .lx-h6 { font-size: 1rem; font-weight: 600; line-height: 1.5; }
|
|
12
|
+
|
|
13
|
+
.lx-display-1 { font-size: clamp(2.5rem,8vw + 0.5rem,5rem); font-weight: 700; line-height: 1.1; letter-spacing: -0.04em; }
|
|
14
|
+
.lx-display-2 { font-size: clamp(2.2rem,7vw + 0.5rem,4.5rem); font-weight: 700; line-height: 1.1; letter-spacing: -0.04em; }
|
|
15
|
+
.lx-display-3 { font-size: clamp(2rem,6vw + 0.5rem,4rem); font-weight: 700; line-height: 1.15; letter-spacing: -0.03em; }
|
|
16
|
+
.lx-display-4 { font-size: clamp(1.8rem,5vw + 0.5rem,3.5rem); font-weight: 700; line-height: 1.2; letter-spacing: -0.03em; }
|
|
17
|
+
|
|
18
|
+
.lx-lead { font-size: var(--lx-text-lg,1.125rem); font-weight: 400; line-height: 1.7; color: var(--lx-text-secondary,#6b7280); }
|
|
19
|
+
|
|
20
|
+
small, .lx-small { font-size: var(--lx-text-xs,0.75rem); color: var(--lx-text-muted,#9ca3af); }
|
|
21
|
+
|
|
22
|
+
blockquote, .lx-blockquote {
|
|
23
|
+
border-left: 3px solid var(--accent,#3b82f6);
|
|
24
|
+
padding: 1rem 1.5rem;
|
|
25
|
+
margin: 1.5rem 0;
|
|
26
|
+
background: var(--accent-subtle,#dbeafe);
|
|
27
|
+
border-radius: 0 var(--lx-radius,8px) var(--lx-radius,8px) 0;
|
|
28
|
+
font-style: italic;
|
|
29
|
+
color: var(--lx-text-secondary,#6b7280);
|
|
30
|
+
}
|
|
31
|
+
.lx-blockquote-footer { font-size: var(--lx-text-sm,0.875rem); font-style: normal; font-weight: 600; color: var(--lx-text-muted,#9ca3af); margin-top: 0.5rem; }
|
|
32
|
+
.lx-blockquote-footer::before { content: "— "; }
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
/* ================================================================
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
|
|
3
|
+
/* ── Utility: scroll lock & fade ── */
|
|
4
|
+
body.lx-modal-open { overflow: hidden; }
|
|
5
|
+
.lx-fade { animation: lx-fadein .2s ease; }
|
|
6
|
+
.lx-offcanvas-backdrop {
|
|
7
|
+
position: fixed;
|
|
8
|
+
inset: 0;
|
|
9
|
+
z-index: 1039;
|
|
10
|
+
background: rgba(0,0,0,.5);
|
|
11
|
+
-webkit-backdrop-filter: blur(2px);
|
|
12
|
+
backdrop-filter: blur(2px);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* ── Link helpers ── */
|
|
16
|
+
.lx-link-primary { color: var(--lx-primary,#3b82f6); }
|
|
17
|
+
.lx-link-secondary { color: var(--lx-secondary,#6b7280); }
|
|
18
|
+
.lx-link-success { color: var(--lx-success,#22c55e); }
|
|
19
|
+
.lx-link-warning { color: var(--lx-warning,#f59e0b); }
|
|
20
|
+
.lx-link-danger { color: var(--lx-danger,#ef4444); }
|
|
21
|
+
.lx-link-info { color: var(--lx-info,#06b6d4); }
|
|
22
|
+
.lx-link-dark { color: var(--lx-dark,#1f2937); }
|
|
23
|
+
[class^="lx-link-"]:hover { text-decoration: underline; }
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/* ================================================================
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/* Accordion */
|
|
3
|
+
/* ── Accordion ── */
|
|
4
|
+
.lx-accordion { border: 1px solid var(--border-default,#e5e7eb); border-radius: var(--lx-radius-md,12px); overflow: hidden; }
|
|
5
|
+
.lx-accordion-item { border-bottom: 1px solid var(--border-default,#e5e7eb); }
|
|
6
|
+
.lx-accordion-item:last-child { border-bottom: none; }
|
|
7
|
+
.lx-accordion-flush { border: none; border-radius: 0; }
|
|
8
|
+
.lx-accordion-flush .lx-accordion-item { border-inline: none; }
|
|
9
|
+
.lx-accordion-trigger {
|
|
10
|
+
display: flex; align-items: center; justify-content: space-between;
|
|
11
|
+
width: 100%; padding: 1rem 1.25rem;
|
|
12
|
+
font-size: var(--lx-text-sm,0.875rem); font-weight: 600; color: var(--lx-text,#111827);
|
|
13
|
+
background: var(--lx-bg,#fff); border: none; cursor: pointer; text-align: start;
|
|
14
|
+
transition: background .1s ease;
|
|
15
|
+
}
|
|
16
|
+
.lx-accordion-trigger:hover { background: var(--lx-bg-soft,#f9fafb); }
|
|
17
|
+
.lx-accordion-trigger.lx-active { color: var(--lx-primary,#3b82f6); background: var(--lx-primary-subtle,#dbeafe); }
|
|
18
|
+
.lx-accordion-icon {
|
|
19
|
+
width: .875rem; height: .875rem;
|
|
20
|
+
border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
|
|
21
|
+
transform: rotate(45deg); flex-shrink: 0; transition: transform .2s ease;
|
|
22
|
+
}
|
|
23
|
+
.lx-accordion-trigger.lx-active .lx-accordion-icon { transform: rotate(-135deg); }
|
|
24
|
+
.lx-accordion-body { display: none; padding: 1rem 1.25rem; font-size: var(--lx-text-sm,0.875rem); color: var(--lx-text-secondary,#6b7280); line-height: 1.7; }
|
|
25
|
+
.lx-accordion-body.lx-show { display: block; animation: lx-fadein .2s ease; }
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/* Alert */
|
|
3
|
+
/* ── Alert ── */
|
|
4
|
+
.lx-alert {
|
|
5
|
+
position: relative;
|
|
6
|
+
padding: .875rem 1.125rem;
|
|
7
|
+
border-radius: var(--lx-radius,8px);
|
|
8
|
+
border: 1px solid transparent;
|
|
9
|
+
font-size: var(--lx-text-sm,0.875rem);
|
|
10
|
+
line-height: 1.6;
|
|
11
|
+
}
|
|
12
|
+
.lx-alert-heading { font-weight: 700; font-size: var(--lx-text-base,1rem); margin-bottom: .375rem; }
|
|
13
|
+
.lx-alert-divider { border-color: currentColor; opacity: .2; margin: .75rem 0; }
|
|
14
|
+
.lx-alert-dismissible { padding-inline-end: 3rem; }
|
|
15
|
+
.lx-alert-close { position: absolute; top: .5rem; inset-inline-end: .5rem; }
|
|
16
|
+
|
|
17
|
+
.lx-alert-primary { background: var(--lx-primary-subtle,#dbeafe); color: var(--lx-primary-hover,#2563eb); border-color: var(--lx-primary-light,#93c5fd); }
|
|
18
|
+
.lx-alert-secondary { background: var(--lx-gray-100,#f3f4f6); color: var(--lx-gray-700,#374151); border-color: var(--lx-gray-300,#d1d5db); }
|
|
19
|
+
.lx-alert-success { background: var(--lx-success-subtle,#f0fdf4); color: var(--lx-success-hover,#16a34a); border-color: var(--lx-success-light,#86efac); }
|
|
20
|
+
.lx-alert-warning { background: var(--lx-warning-subtle,#fffbeb); color: var(--lx-warning-hover,#d97706); border-color: var(--lx-warning-light,#fcd34d); }
|
|
21
|
+
.lx-alert-danger { background: var(--lx-danger-subtle,#fef2f2); color: var(--lx-danger-hover,#dc2626); border-color: var(--lx-danger-light,#fca5a5); }
|
|
22
|
+
.lx-alert-info { background: var(--lx-info-subtle,#ecfeff); color: var(--lx-info-hover,#0891b2); border-color: var(--lx-info-light,#67e8f9); }
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/* Scroll-driven & animation helpers */
|
|
3
|
+
/* ── Scroll-driven & animation helpers ── */
|
|
4
|
+
@keyframes lx-slide-up { from { opacity:0; -webkit-transform:translateY(16px); transform:translateY(16px); } to { opacity:1; -webkit-transform:none; transform:none; } }
|
|
5
|
+
@keyframes lx-slide-down { from { opacity:0; -webkit-transform:translateY(-16px); transform:translateY(-16px); } to { opacity:1; -webkit-transform:none; transform:none; } }
|
|
6
|
+
@keyframes lx-slide-left { from { opacity:0; -webkit-transform:translateX(16px); transform:translateX(16px); } to { opacity:1; -webkit-transform:none; transform:none; } }
|
|
7
|
+
@keyframes lx-slide-right{ from { opacity:0; -webkit-transform:translateX(-16px); transform:translateX(-16px); } to { opacity:1; -webkit-transform:none; transform:none; } }
|
|
8
|
+
@keyframes lx-zoom-in { from { opacity:0; -webkit-transform:scale(.9); transform:scale(.9); } to { opacity:1; -webkit-transform:scale(1); transform:scale(1); } }
|
|
9
|
+
@keyframes lx-bounce-in { 0%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)} 50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)} 70%{-webkit-transform:scale(.9);transform:scale(.9)} 100%{-webkit-transform:scale(1);transform:scale(1)} }
|
|
10
|
+
@keyframes lx-pulse-ring { 0%{-webkit-box-shadow:0 0 0 0 rgba(59,130,246,.4);box-shadow:0 0 0 0 rgba(59,130,246,.4)} 70%{-webkit-box-shadow:0 0 0 10px transparent;box-shadow:0 0 0 10px transparent} 100%{-webkit-box-shadow:0 0 0 0 transparent;box-shadow:0 0 0 0 transparent} }
|
|
11
|
+
.lx-animate-slide-up { -webkit-animation: lx-slide-up .35s var(--lx-ease,cubic-bezier(.4,0,.2,1)) both; animation: lx-slide-up .35s var(--lx-ease,cubic-bezier(.4,0,.2,1)) both; }
|
|
12
|
+
.lx-animate-slide-down { -webkit-animation: lx-slide-down .35s var(--lx-ease,cubic-bezier(.4,0,.2,1)) both; animation: lx-slide-down .35s var(--lx-ease,cubic-bezier(.4,0,.2,1)) both; }
|
|
13
|
+
.lx-animate-slide-left { -webkit-animation: lx-slide-left .35s var(--lx-ease,cubic-bezier(.4,0,.2,1)) both; animation: lx-slide-left .35s var(--lx-ease,cubic-bezier(.4,0,.2,1)) both; }
|
|
14
|
+
.lx-animate-slide-right { -webkit-animation: lx-slide-right.35s var(--lx-ease,cubic-bezier(.4,0,.2,1)) both; animation: lx-slide-right.35s var(--lx-ease,cubic-bezier(.4,0,.2,1)) both; }
|
|
15
|
+
.lx-animate-zoom-in { -webkit-animation: lx-zoom-in .3s var(--lx-ease,cubic-bezier(.4,0,.2,1)) both; animation: lx-zoom-in .3s var(--lx-ease,cubic-bezier(.4,0,.2,1)) both; }
|
|
16
|
+
.lx-animate-bounce-in { -webkit-animation: lx-bounce-in .5s both; animation: lx-bounce-in .5s both; }
|
|
17
|
+
.lx-animate-pulse-ring { -webkit-animation: lx-pulse-ring 1.5s infinite; animation: lx-pulse-ring 1.5s infinite; }
|
|
18
|
+
.lx-animate-spin { -webkit-animation: lx-spin .6s linear infinite; animation: lx-spin .6s linear infinite; }
|
|
19
|
+
.lx-animate-ping { -webkit-animation: lx-grow 1s ease-in-out infinite; animation: lx-grow 1s ease-in-out infinite; }
|
|
20
|
+
|
|
21
|
+
/* Delay helpers */
|
|
22
|
+
.lx-delay-100 { -webkit-animation-delay: .1s; animation-delay: .1s; }
|
|
23
|
+
.lx-delay-200 { -webkit-animation-delay: .2s; animation-delay: .2s; }
|
|
24
|
+
.lx-delay-300 { -webkit-animation-delay: .3s; animation-delay: .3s; }
|
|
25
|
+
.lx-delay-500 { -webkit-animation-delay: .5s; animation-delay: .5s; }
|
|
26
|
+
.lx-delay-700 { -webkit-animation-delay: .7s; animation-delay: .7s; }
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/* Avatar */
|
|
3
|
+
/* ── Avatar ── */
|
|
4
|
+
.lx-avatar {
|
|
5
|
+
display: inline-flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
justify-content: center;
|
|
8
|
+
width: var(--lx-avatar-size);
|
|
9
|
+
height: var(--lx-avatar-size);
|
|
10
|
+
border-radius: var(--lx-avatar-radius);
|
|
11
|
+
font-size: var(--lx-avatar-font-size);
|
|
12
|
+
font-weight: 600;
|
|
13
|
+
background: var(--lx-gray-200,#e5e7eb);
|
|
14
|
+
color: var(--lx-gray-600,#4b5563);
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
flex-shrink: 0;
|
|
17
|
+
user-select: none;
|
|
18
|
+
}
|
|
19
|
+
.lx-avatar img { width: 100%; height: 100%; object-fit: cover; }
|
|
20
|
+
.lx-avatar-xs { width: 1.5rem; height: 1.5rem; font-size: .55rem; }
|
|
21
|
+
.lx-avatar-sm { width: 2rem; height: 2rem; font-size: .7rem; }
|
|
22
|
+
.lx-avatar-lg { width: 3.5rem; height: 3.5rem; font-size: 1rem; }
|
|
23
|
+
.lx-avatar-xl { width: 4.5rem; height: 4.5rem; font-size: 1.25rem; }
|
|
24
|
+
.lx-avatar-2xl { width: 6rem; height: 6rem; font-size: 1.5rem; }
|
|
25
|
+
.lx-avatar-primary { background: var(--lx-primary-subtle,#dbeafe); color: var(--lx-primary,#3b82f6); }
|
|
26
|
+
.lx-avatar-success { background: var(--lx-success-subtle,#f0fdf4); color: var(--lx-success-hover,#16a34a); }
|
|
27
|
+
.lx-avatar-warning { background: var(--lx-warning-subtle,#fffbeb); color: var(--lx-warning-hover,#d97706); }
|
|
28
|
+
.lx-avatar-danger { background: var(--lx-danger-subtle,#fef2f2); color: var(--lx-danger-hover,#dc2626); }
|
|
29
|
+
.lx-avatar-info { background: var(--lx-info-subtle,#ecfeff); color: var(--lx-info-hover,#0891b2); }
|
|
30
|
+
.lx-avatar-wrapper { position: relative; display: inline-block; }
|
|
31
|
+
.lx-avatar-status { position: absolute; bottom: 0; inset-inline-end: 0; width: .75rem; height: .75rem; border-radius: 50%; border: 2px solid var(--lx-bg,#fff); }
|
|
32
|
+
.lx-avatar-status-online { background: var(--lx-success,#22c55e); }
|
|
33
|
+
.lx-avatar-status-busy { background: var(--lx-danger,#ef4444); }
|
|
34
|
+
.lx-avatar-status-away { background: var(--lx-warning,#f59e0b); }
|
|
35
|
+
.lx-avatar-status-offline { background: var(--lx-gray-400,#9ca3af); }
|
|
36
|
+
.lx-avatar-group { display: inline-flex; }
|
|
37
|
+
.lx-avatar-group .lx-avatar { margin-inline-start: -.5rem; border: 2px solid var(--lx-bg,#fff); }
|
|
38
|
+
.lx-avatar-group .lx-avatar:first-child { margin-inline-start: 0; }
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/* Back To Top */
|
|
3
|
+
/* ── Back To Top ── */
|
|
4
|
+
.lx-back-top {
|
|
5
|
+
position: fixed;
|
|
6
|
+
inset-inline-end: 1.5rem;
|
|
7
|
+
bottom: 5rem;
|
|
8
|
+
z-index: var(--lx-z-fixed,1030);
|
|
9
|
+
display: flex;
|
|
10
|
+
align-items: center;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
width: 2.5rem;
|
|
13
|
+
height: 2.5rem;
|
|
14
|
+
border-radius: 50%;
|
|
15
|
+
background: var(--bg-primary,#fff);
|
|
16
|
+
border: 1px solid var(--border-default,#e5e7eb);
|
|
17
|
+
-webkit-box-shadow: var(--lx-shadow-md);
|
|
18
|
+
box-shadow: var(--lx-shadow-md);
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
opacity: 0;
|
|
21
|
+
visibility: hidden;
|
|
22
|
+
-webkit-transform: translateY(8px);
|
|
23
|
+
transform: translateY(8px);
|
|
24
|
+
-webkit-transition: opacity .25s ease, visibility .25s ease, -webkit-transform .25s ease;
|
|
25
|
+
transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
|
|
26
|
+
font-size: 1.125rem;
|
|
27
|
+
color: var(--lx-text-secondary,#6b7280);
|
|
28
|
+
text-decoration: none;
|
|
29
|
+
}
|
|
30
|
+
.lx-back-top.lx-show { opacity: 1; visibility: visible; -webkit-transform: none; transform: none; }
|
|
31
|
+
.lx-back-top:hover { background: var(--lx-primary,#3b82f6); color: #fff; border-color: var(--lx-primary,#3b82f6); }
|
|
32
|
+
.lx-back-top::before { content: "↑"; font-weight: 700; }
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/* Badge */
|
|
3
|
+
/* ── Badge ── */
|
|
4
|
+
.lx-badge {
|
|
5
|
+
display: inline-flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
padding: var(--lx-badge-padding-y) var(--lx-badge-padding-x);
|
|
8
|
+
font-size: var(--lx-badge-font-size);
|
|
9
|
+
font-weight: var(--lx-badge-font-weight);
|
|
10
|
+
line-height: 1;
|
|
11
|
+
border-radius: var(--lx-badge-radius);
|
|
12
|
+
white-space: nowrap;
|
|
13
|
+
}
|
|
14
|
+
.lx-badge-sm { font-size: .65em; }
|
|
15
|
+
.lx-badge-lg { font-size: .875em; padding: .35em .7em; }
|
|
16
|
+
|
|
17
|
+
.lx-badge-primary { background: var(--lx-primary,#3b82f6); color: var(--lx-primary-fg,#fff); }
|
|
18
|
+
.lx-badge-secondary { background: var(--lx-secondary,#6b7280); color: #fff; }
|
|
19
|
+
.lx-badge-success { background: var(--lx-success,#22c55e); color: #fff; }
|
|
20
|
+
.lx-badge-warning { background: var(--lx-warning,#f59e0b); color: #fff; }
|
|
21
|
+
.lx-badge-danger { background: var(--lx-danger,#ef4444); color: #fff; }
|
|
22
|
+
.lx-badge-info { background: var(--lx-info,#06b6d4); color: #fff; }
|
|
23
|
+
.lx-badge-dark { background: var(--lx-dark,#1f2937); color: #fff; }
|
|
24
|
+
.lx-badge-light { background: var(--lx-light,#f9fafb); color: var(--lx-text,#111827); border: 1px solid var(--border-default,#e5e7eb); }
|
|
25
|
+
|
|
26
|
+
.lx-badge-outline-primary { border: 1px solid var(--lx-primary,#3b82f6); color: var(--lx-primary,#3b82f6); background: transparent; }
|
|
27
|
+
.lx-badge-outline-secondary { border: 1px solid var(--lx-secondary,#6b7280); color: var(--lx-secondary,#6b7280); background: transparent; }
|
|
28
|
+
.lx-badge-outline-success { border: 1px solid var(--lx-success,#22c55e); color: var(--lx-success,#22c55e); background: transparent; }
|
|
29
|
+
.lx-badge-outline-danger { border: 1px solid var(--lx-danger,#ef4444); color: var(--lx-danger,#ef4444); background: transparent; }
|
|
30
|
+
.lx-badge-outline-warning { border: 1px solid var(--lx-warning,#f59e0b); color: var(--lx-warning,#f59e0b); background: transparent; }
|
|
31
|
+
|
|
32
|
+
.lx-badge-soft-primary { background: var(--lx-primary-subtle,#dbeafe); color: var(--lx-primary,#3b82f6); }
|
|
33
|
+
.lx-badge-soft-secondary { background: var(--lx-gray-100,#f3f4f6); color: var(--lx-secondary,#6b7280); }
|
|
34
|
+
.lx-badge-soft-success { background: var(--lx-success-subtle,#f0fdf4); color: var(--lx-success-hover,#16a34a); }
|
|
35
|
+
.lx-badge-soft-warning { background: var(--lx-warning-subtle,#fffbeb); color: var(--lx-warning-hover,#d97706); }
|
|
36
|
+
.lx-badge-soft-danger { background: var(--lx-danger-subtle,#fef2f2); color: var(--lx-danger-hover,#dc2626); }
|
|
37
|
+
.lx-badge-soft-info { background: var(--lx-info-subtle,#ecfeff); color: var(--lx-info-hover,#0891b2); }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/* Breadcrumb */
|
|
3
|
+
/* ── Breadcrumb ── */
|
|
4
|
+
.lx-breadcrumb {
|
|
5
|
+
display: flex; flex-wrap: wrap; gap: .25rem;
|
|
6
|
+
list-style: none; padding: 0; margin: 0;
|
|
7
|
+
font-size: var(--lx-text-sm,0.875rem);
|
|
8
|
+
}
|
|
9
|
+
.lx-breadcrumb-item { display: flex; align-items: center; color: var(--lx-text-muted,#9ca3af); }
|
|
10
|
+
.lx-breadcrumb-item a { color: var(--lx-text-secondary,#6b7280); text-decoration: none; transition: color .1s ease; }
|
|
11
|
+
.lx-breadcrumb-item a:hover { color: var(--lx-primary,#3b82f6); }
|
|
12
|
+
.lx-breadcrumb-item.lx-active { color: var(--lx-text,#111827); font-weight: 500; }
|
|
13
|
+
.lx-breadcrumb-item + .lx-breadcrumb-item::before { content: var(--lx-breadcrumb-sep); padding-inline: .4rem; color: var(--lx-text-muted,#9ca3af); }
|