minora 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/LICENSE +21 -0
- package/README.md +292 -0
- package/dist/minora.css +7499 -0
- package/dist/minora.js +779 -0
- package/dist/minora.min.css +7 -0
- package/dist/minora.min.js +2 -0
- package/dist/tokens.css +542 -0
- package/package.json +45 -0
- package/src/components/alert.css +659 -0
- package/src/components/avatar.css +463 -0
- package/src/components/badge.css +577 -0
- package/src/components/button.css +493 -0
- package/src/components/checkbox.css +605 -0
- package/src/components/divider.css +295 -0
- package/src/components/form-validation.css +700 -0
- package/src/components/input.css +625 -0
- package/src/components/modal.css +437 -0
- package/src/components/select.css +616 -0
- package/src/components/toast.css +586 -0
- package/src/components/toggle.css +457 -0
- package/src/components/tooltip.css +401 -0
- package/src/js/modal.js +127 -0
- package/src/js/select.js +272 -0
- package/src/js/toast.js +140 -0
- package/src/js/tooltip.js +224 -0
- package/src/tokens.css +542 -0
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
ELEGANT MINIMALIST UI KIT — Divider & Separator Components
|
|
3
|
+
divider.css
|
|
4
|
+
|
|
5
|
+
ANATOMY — HORIZONTAL DIVIDER
|
|
6
|
+
─────────────────────────────────────────────────────────────
|
|
7
|
+
Structure:
|
|
8
|
+
<!-- Simple line -->
|
|
9
|
+
<hr class="divider" />
|
|
10
|
+
|
|
11
|
+
<!-- With centered text -->
|
|
12
|
+
<div class="divider divider-label">
|
|
13
|
+
<span>atau</span>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<!-- With centered icon -->
|
|
17
|
+
<div class="divider divider-icon">
|
|
18
|
+
<svg class="divider-icon-svg">...</svg>
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<!-- With left/right label -->
|
|
22
|
+
<div class="divider divider-label divider-label-left">
|
|
23
|
+
<span>Section</span>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
Class layers:
|
|
27
|
+
1. .divider → Base: full-width horizontal rule
|
|
28
|
+
2. .divider-{weight} → Thickness (thin/thick)
|
|
29
|
+
3. .divider-{style} → Line style (solid/dashed)
|
|
30
|
+
4. .divider-{color} → Color (subtle/muted/accent)
|
|
31
|
+
5. .divider-label → Wrapper for text/icon variant
|
|
32
|
+
6. .divider-label-left → Modifier: label aligned left
|
|
33
|
+
7. .divider-label-right → Modifier: label aligned right
|
|
34
|
+
8. .divider-{spacing} → Margin utility (sm/md/lg)
|
|
35
|
+
─────────────────────────────────────────────────────────────
|
|
36
|
+
|
|
37
|
+
ANATOMY — VERTICAL SEPARATOR
|
|
38
|
+
─────────────────────────────────────────────────────────────
|
|
39
|
+
Structure:
|
|
40
|
+
<div class="flex-row">
|
|
41
|
+
<span>Home</span>
|
|
42
|
+
<span class="separator"></span>
|
|
43
|
+
<span>Components</span>
|
|
44
|
+
<span class="separator separator-dashed"></span>
|
|
45
|
+
<span>Divider</span>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
Class layers:
|
|
49
|
+
1. .separator → Base: vertical line, stretches in flex
|
|
50
|
+
2. .separator-{weight} → Thickness (thin/thick)
|
|
51
|
+
3. .separator-{style} → Line style (solid/dashed)
|
|
52
|
+
4. .separator-{color} → Color (subtle/muted/accent)
|
|
53
|
+
─────────────────────────────────────────────────────────────
|
|
54
|
+
============================================================ */
|
|
55
|
+
|
|
56
|
+
/* ═══════════════════════════════════════════════════════════
|
|
57
|
+
DIVIDER — Base (Horizontal)
|
|
58
|
+
═══════════════════════════════════════════════════════════ */
|
|
59
|
+
|
|
60
|
+
/* Simple <hr> divider */
|
|
61
|
+
.divider {
|
|
62
|
+
display: block;
|
|
63
|
+
width: 100%;
|
|
64
|
+
border: none;
|
|
65
|
+
border-top: var(--border-width) solid var(--color-neutral-200);
|
|
66
|
+
margin: 0;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* Divider wrapper — for text/icon variants */
|
|
70
|
+
.divider-label {
|
|
71
|
+
display: flex;
|
|
72
|
+
align-items: center;
|
|
73
|
+
width: 100%;
|
|
74
|
+
gap: var(--space-4);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/* The line — left side */
|
|
78
|
+
.divider-label::before {
|
|
79
|
+
content: '';
|
|
80
|
+
flex: 1;
|
|
81
|
+
border-top: var(--border-width) solid var(--color-neutral-200);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* The line — right side */
|
|
85
|
+
.divider-label::after {
|
|
86
|
+
content: '';
|
|
87
|
+
flex: 1;
|
|
88
|
+
border-top: var(--border-width) solid var(--color-neutral-200);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/* Centered label */
|
|
92
|
+
.divider-label > span,
|
|
93
|
+
.divider-label > svg {
|
|
94
|
+
flex-shrink: 0;
|
|
95
|
+
font-family: var(--font-sans);
|
|
96
|
+
font-size: var(--text-xs);
|
|
97
|
+
font-weight: var(--font-medium);
|
|
98
|
+
letter-spacing: var(--tracking-wide);
|
|
99
|
+
color: var(--color-neutral-400);
|
|
100
|
+
line-height: var(--leading-none);
|
|
101
|
+
text-transform: lowercase;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* Icon inside divider */
|
|
105
|
+
.divider-icon-svg {
|
|
106
|
+
flex-shrink: 0;
|
|
107
|
+
color: var(--color-neutral-400);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* ── Label alignment modifiers ──────────────────────────── */
|
|
111
|
+
|
|
112
|
+
/* Label aligned left — only right line visible */
|
|
113
|
+
.divider-label-left::before {
|
|
114
|
+
display: none;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* Label aligned right — only left line visible */
|
|
118
|
+
.divider-label-right::after {
|
|
119
|
+
display: none;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/* Override text-transform for left/right labels */
|
|
123
|
+
.divider-label-left > span,
|
|
124
|
+
.divider-label-right > span {
|
|
125
|
+
text-transform: none;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* ═══════════════════════════════════════════════════════════
|
|
129
|
+
DIVIDER — Weight (Thickness)
|
|
130
|
+
═══════════════════════════════════════════════════════════ */
|
|
131
|
+
|
|
132
|
+
/* Thin (1px — default) */
|
|
133
|
+
.divider-thin {
|
|
134
|
+
border-top-width: var(--border-width);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.divider-thin.divider-label::before,
|
|
138
|
+
.divider-thin.divider-label::after {
|
|
139
|
+
border-top-width: var(--border-width);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/* Thick (2px) */
|
|
143
|
+
.divider-thick {
|
|
144
|
+
border-top-width: var(--border-width-2);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.divider-thick.divider-label::before,
|
|
148
|
+
.divider-thick.divider-label::after {
|
|
149
|
+
border-top-width: var(--border-width-2);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/* ═══════════════════════════════════════════════════════════
|
|
153
|
+
DIVIDER — Style
|
|
154
|
+
═══════════════════════════════════════════════════════════ */
|
|
155
|
+
|
|
156
|
+
/* Dashed */
|
|
157
|
+
.divider-dashed {
|
|
158
|
+
border-top-style: dashed;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.divider-dashed.divider-label::before,
|
|
162
|
+
.divider-dashed.divider-label::after {
|
|
163
|
+
border-top-style: dashed;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/* ═══════════════════════════════════════════════════════════
|
|
167
|
+
DIVIDER — Color
|
|
168
|
+
═══════════════════════════════════════════════════════════ */
|
|
169
|
+
|
|
170
|
+
/* Subtle (default — neutral-200) */
|
|
171
|
+
.divider-subtle {
|
|
172
|
+
border-top-color: var(--color-neutral-200);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.divider-subtle.divider-label::before,
|
|
176
|
+
.divider-subtle.divider-label::after {
|
|
177
|
+
border-top-color: var(--color-neutral-200);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.divider-subtle.divider-label > span,
|
|
181
|
+
.divider-subtle.divider-label > svg {
|
|
182
|
+
color: var(--color-neutral-400);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/* Muted — more visible (neutral-300) */
|
|
186
|
+
.divider-muted {
|
|
187
|
+
border-top-color: var(--color-neutral-300);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.divider-muted.divider-label::before,
|
|
191
|
+
.divider-muted.divider-label::after {
|
|
192
|
+
border-top-color: var(--color-neutral-300);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.divider-muted.divider-label > span,
|
|
196
|
+
.divider-muted.divider-label > svg {
|
|
197
|
+
color: var(--color-neutral-500);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/* Accent — warm gold */
|
|
201
|
+
.divider-accent {
|
|
202
|
+
border-top-color: var(--color-accent-300);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.divider-accent.divider-label::before,
|
|
206
|
+
.divider-accent.divider-label::after {
|
|
207
|
+
border-top-color: var(--color-accent-300);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.divider-accent.divider-label > span,
|
|
211
|
+
.divider-accent.divider-label > svg {
|
|
212
|
+
color: var(--color-accent-500);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/* ═══════════════════════════════════════════════════════════
|
|
216
|
+
DIVIDER — Spacing Utility
|
|
217
|
+
Margin top and bottom for consistent spacing
|
|
218
|
+
═══════════════════════════════════════════════════════════ */
|
|
219
|
+
|
|
220
|
+
.divider-sm {
|
|
221
|
+
margin-top: var(--space-4);
|
|
222
|
+
margin-bottom: var(--space-4);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.divider-md {
|
|
226
|
+
margin-top: var(--space-6);
|
|
227
|
+
margin-bottom: var(--space-6);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.divider-lg {
|
|
231
|
+
margin-top: var(--space-10);
|
|
232
|
+
margin-bottom: var(--space-10);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
/* ═══════════════════════════════════════════════════════════
|
|
236
|
+
DIVIDER — On dark background
|
|
237
|
+
═══════════════════════════════════════════════════════════ */
|
|
238
|
+
|
|
239
|
+
.divider-dark {
|
|
240
|
+
border-top-color: var(--color-neutral-700);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.divider-dark.divider-label::before,
|
|
244
|
+
.divider-dark.divider-label::after {
|
|
245
|
+
border-top-color: var(--color-neutral-700);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.divider-dark.divider-label > span,
|
|
249
|
+
.divider-dark.divider-label > svg {
|
|
250
|
+
color: var(--color-neutral-500);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/* ═══════════════════════════════════════════════════════════
|
|
254
|
+
SEPARATOR — Vertical
|
|
255
|
+
═══════════════════════════════════════════════════════════ */
|
|
256
|
+
|
|
257
|
+
.separator {
|
|
258
|
+
display: inline-block;
|
|
259
|
+
align-self: stretch;
|
|
260
|
+
width: 0;
|
|
261
|
+
border-right: var(--border-width) solid var(--color-neutral-200);
|
|
262
|
+
margin: 0 var(--space-4);
|
|
263
|
+
flex-shrink: 0;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/* ── Weight ─────────────────────────────────────────────── */
|
|
267
|
+
.separator-thin {
|
|
268
|
+
border-right-width: var(--border-width);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.separator-thick {
|
|
272
|
+
border-right-width: var(--border-width-2);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/* ── Style ──────────────────────────────────────────────── */
|
|
276
|
+
.separator-dashed {
|
|
277
|
+
border-right-style: dashed;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/* ── Color ──────────────────────────────────────────────── */
|
|
281
|
+
.separator-subtle {
|
|
282
|
+
border-right-color: var(--color-neutral-200);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.separator-muted {
|
|
286
|
+
border-right-color: var(--color-neutral-300);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.separator-accent {
|
|
290
|
+
border-right-color: var(--color-accent-300);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
.separator-dark {
|
|
294
|
+
border-right-color: var(--color-neutral-700);
|
|
295
|
+
}
|