arekui 1.0.0 → 2.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.
Files changed (99) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/LICENSE +21 -21
  3. package/README.md +26 -198
  4. package/arekui.css +5930 -3279
  5. package/arekui.d.ts +328 -328
  6. package/arekui.js +817 -450
  7. package/assets/img/grunge-wall-texture-freepick-kues1.webp +0 -0
  8. package/assets/img/logo.png +0 -0
  9. package/dist/css/arekui.base.min.css +1 -0
  10. package/dist/css/arekui.broadsheet.min.css +1 -0
  11. package/dist/css/arekui.brutalist.min.css +1 -0
  12. package/dist/css/arekui.default.min.css +1 -0
  13. package/dist/css/arekui.full.min.css +1 -0
  14. package/dist/css/arekui.min.css +1 -0
  15. package/dist/css/arekui.neo.min.css +1 -0
  16. package/dist/css/arekui.pixel.min.css +1 -0
  17. package/dist/js/arekui.min.js +2 -0
  18. package/package.json +64 -57
  19. package/scripts/build-css.js +95 -0
  20. package/scripts/build-custom.js +287 -318
  21. package/scripts/build-js.js +68 -0
  22. package/scripts/clean.js +13 -0
  23. package/scripts/dev.js +97 -0
  24. package/scripts/imports.js +18 -0
  25. package/scripts/split.js +256 -0
  26. package/src/arekui.base.css +63 -0
  27. package/src/arekui.broadsheet.css +6 -0
  28. package/src/arekui.brutalist.css +8 -0
  29. package/src/arekui.core.css +64 -0
  30. package/src/arekui.css +22 -5
  31. package/src/arekui.default.css +6 -0
  32. package/src/arekui.neo.css +8 -0
  33. package/src/arekui.pixel.css +8 -0
  34. package/src/base/brutalist-overrides.css +254 -0
  35. package/src/base/neo-overrides.css +330 -315
  36. package/src/base/pixel-overrides.css +336 -0
  37. package/src/base/reset.css +179 -65
  38. package/src/base/theme-brutalist.css +111 -0
  39. package/src/base/theme-default.css +184 -0
  40. package/src/base/theme-neo.css +108 -0
  41. package/src/base/theme-pixel.css +111 -0
  42. package/src/base/tokens.css +59 -302
  43. package/src/components/accordion.css +32 -33
  44. package/src/components/alert.css +24 -25
  45. package/src/components/badge.css +31 -32
  46. package/src/components/breadcrumb.css +31 -32
  47. package/src/components/broadsheet.css +264 -0
  48. package/src/components/button.css +102 -101
  49. package/src/components/card.css +22 -23
  50. package/src/components/carousel.css +49 -13
  51. package/src/components/chat.css +77 -76
  52. package/src/components/description-list.css +34 -0
  53. package/src/components/docs.css +252 -0
  54. package/src/components/empty.css +36 -0
  55. package/src/components/file-upload.css +49 -50
  56. package/src/components/footer.css +40 -25
  57. package/src/components/forms.css +67 -68
  58. package/src/components/heading.css +27 -0
  59. package/src/components/hero.css +20 -21
  60. package/src/components/join.css +12 -13
  61. package/src/components/kbd.css +15 -0
  62. package/src/components/link.css +22 -23
  63. package/src/components/loading.css +109 -0
  64. package/src/components/menu.css +104 -54
  65. package/src/components/misc.css +94 -55
  66. package/src/components/modal.css +30 -31
  67. package/src/components/navbar.css +166 -36
  68. package/src/components/pagination.css +50 -45
  69. package/src/components/popover.css +68 -69
  70. package/src/components/progress.css +17 -18
  71. package/src/components/prose.css +78 -78
  72. package/src/components/rating.css +35 -36
  73. package/src/components/scroll-top.css +34 -34
  74. package/src/components/segmented.css +44 -0
  75. package/src/components/sidebar.css +377 -0
  76. package/src/components/skeleton.css +52 -52
  77. package/src/components/spinner.css +36 -0
  78. package/src/components/swap.css +43 -43
  79. package/src/components/table.css +20 -21
  80. package/src/components/tabs.css +22 -23
  81. package/src/components/tag.css +99 -99
  82. package/src/components/textured.css +52 -32
  83. package/src/components/timeline.css +32 -33
  84. package/src/components/toast.css +132 -132
  85. package/src/components/tooltip.css +22 -23
  86. package/src/utilities/borders.css +150 -150
  87. package/src/utilities/brutalist-utilities.css +49 -0
  88. package/src/utilities/colors.css +79 -71
  89. package/src/utilities/hover.css +31 -31
  90. package/src/utilities/layout.css +98 -98
  91. package/src/utilities/neo-utilities.css +86 -93
  92. package/src/utilities/pixel-utilities.css +88 -0
  93. package/src/utilities/responsive.css +131 -126
  94. package/src/utilities/sizing.css +98 -89
  95. package/src/utilities/spacing.css +132 -129
  96. package/src/utilities/typography.css +95 -92
  97. package/dist/arekui.min.css +0 -1
  98. package/dist/arekui.min.js +0 -2
  99. package/src/components/drawer.css +0 -53
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+ const esbuild = require("esbuild");
6
+
7
+ const SRC = path.join(__dirname, "..", "arekui.js");
8
+ const DIST = path.join(__dirname, "..", "dist");
9
+ const OUT_MIN = path.join(DIST, "js", "arekui.min.js");
10
+ const OUT_MAP = path.join(DIST, "js", "arekui.min.js.map");
11
+
12
+ const args = process.argv.slice(2);
13
+ const watch = args.includes("--watch");
14
+ const sourcemap = args.includes("--sourcemap");
15
+
16
+ async function build() {
17
+ const startTime = Date.now();
18
+
19
+ fs.mkdirSync(path.dirname(OUT_MIN), { recursive: true });
20
+
21
+ try {
22
+ const result = await esbuild.build({
23
+ entryPoints: [SRC],
24
+ bundle: false,
25
+ minify: true,
26
+ sourcemap: sourcemap,
27
+ outfile: OUT_MIN,
28
+ target: ["es2018"],
29
+ format: "iife",
30
+ legalComments: "none",
31
+ banner: {
32
+ js: "/*! ArekUI v2.0.0 | MIT License */",
33
+ },
34
+ write: false,
35
+ });
36
+
37
+ for (const file of result.outputFiles) {
38
+ fs.writeFileSync(file.path, file.contents);
39
+ }
40
+
41
+ const originalSize = fs.statSync(SRC).size;
42
+ const minifiedSize = fs.statSync(OUT_MIN).size;
43
+ const reduction = ((1 - minifiedSize / originalSize) * 100).toFixed(1);
44
+ const elapsed = Date.now() - startTime;
45
+
46
+ console.log(`✓ JS built in ${elapsed}ms`);
47
+ console.log(
48
+ ` ${originalSize} → ${minifiedSize} bytes (${reduction}% reduction)`,
49
+ );
50
+ console.log(` Output: ${OUT_MIN}`);
51
+ if (sourcemap) {
52
+ console.log(` Sourcemap: ${OUT_MAP}`);
53
+ }
54
+ } catch (err) {
55
+ console.error("✗ JS build failed:", err.message);
56
+ process.exit(1);
57
+ }
58
+ }
59
+
60
+ if (watch) {
61
+ console.log(`Watching ${SRC} for changes...`);
62
+ fs.watchFile(SRC, { interval: 100 }, () => {
63
+ console.log("\nChange detected, rebuilding JS...");
64
+ build();
65
+ });
66
+ }
67
+
68
+ build();
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+
6
+ const DIST = path.join(__dirname, "..", "dist");
7
+
8
+ if (fs.existsSync(DIST)) {
9
+ fs.rmSync(DIST, { recursive: true, force: true });
10
+ console.log(`✓ Removed ${DIST}`);
11
+ } else {
12
+ console.log("ℹ Nothing to clean (dist/ doesn't exist)");
13
+ }
package/scripts/dev.js ADDED
@@ -0,0 +1,97 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { spawn, spawnSync } = require("child_process");
4
+ const fs = require("fs");
5
+ const path = require("path");
6
+
7
+ const ROOT = path.join(__dirname, "..");
8
+ const SCRIPTS = __dirname;
9
+ const children = [];
10
+ let shuttingDown = false;
11
+
12
+ // Runs a script to completion before continuing. With { fatal: true } a
13
+ // failed run tears the dev process down instead of building on top of a
14
+ // stale bundle.
15
+ function run(script, { fatal = false } = {}) {
16
+ const result = spawnSync(process.execPath, [path.join(SCRIPTS, script)], {
17
+ cwd: ROOT,
18
+ stdio: "inherit",
19
+ });
20
+ if (result.status !== 0) {
21
+ console.error(`✗ ${script} failed`);
22
+ if (fatal) process.exit(result.status || 1);
23
+ }
24
+ }
25
+
26
+ function watchScript(script, label) {
27
+ const child = spawn(process.execPath, [path.join(SCRIPTS, script), "--watch"], {
28
+ cwd: ROOT,
29
+ stdio: ["ignore", "pipe", "pipe"],
30
+ });
31
+ const prefix = `\x1b[90m[${label}]\x1b[0m `;
32
+ const pipe = (stream, out) => {
33
+ let buffer = "";
34
+ stream.on("data", (chunk) => {
35
+ buffer += chunk.toString();
36
+ const lines = buffer.split("\n");
37
+ buffer = lines.pop();
38
+ for (const line of lines) out.write(prefix + line + "\n");
39
+ });
40
+ };
41
+ pipe(child.stdout, process.stdout);
42
+ pipe(child.stderr, process.stderr);
43
+ child.on("exit", (code, signal) => {
44
+ if (shuttingDown) return;
45
+ console.error(`${prefix}exited unexpectedly (${signal || code})`);
46
+ shutdown(1);
47
+ });
48
+ children.push(child);
49
+ }
50
+
51
+ function shutdown(code) {
52
+ if (shuttingDown) return;
53
+ shuttingDown = true;
54
+ for (const child of children) {
55
+ if (child.exitCode === null && child.signalCode === null) {
56
+ try {
57
+ child.kill();
58
+ } catch (e) {}
59
+ }
60
+ }
61
+ process.exit(code);
62
+ }
63
+
64
+ process.on("SIGINT", () => shutdown(0));
65
+ process.on("SIGTERM", () => shutdown(0));
66
+
67
+ const timers = new Map();
68
+ function debounce(key, label, fn) {
69
+ const existing = timers.get(key);
70
+ if (existing) clearTimeout(existing);
71
+ timers.set(
72
+ key,
73
+ setTimeout(() => {
74
+ timers.delete(key);
75
+ process.stdout.write(`\x1b[90m[${label}]\x1b[0m ${key} changed\n`);
76
+ fn();
77
+ }, 100),
78
+ );
79
+ }
80
+
81
+ console.log("ArekUI dev\n");
82
+
83
+ run("split.js", { fatal: true });
84
+ run("build-css.js", { fatal: true });
85
+ run("build-js.js", { fatal: true });
86
+
87
+ watchScript("build-css.js", "css");
88
+ watchScript("build-js.js", "js");
89
+
90
+ const rootCss = path.join(ROOT, "arekui.css");
91
+ if (fs.existsSync(rootCss)) {
92
+ fs.watchFile(rootCss, { interval: 200 }, () => {
93
+ debounce("arekui.css", "split", () => run("split.js"));
94
+ });
95
+ }
96
+
97
+ console.log("Watching arekui.css (Ctrl+C to stop)\n");
@@ -0,0 +1,18 @@
1
+ // The nine base-layer imports every ArekUI entry point starts with. Both
2
+ // consumers must emit them identically, so they live here once instead of
3
+ // being kept in sync by hand: split.js (the src/ orchestrators) and
4
+ // build-custom.js (the arekui-build consumer bundle).
5
+
6
+ const BASE_IMPORTS = [
7
+ '@import "./base/tokens.css" layer(base);',
8
+ '@import "./base/theme-default.css" layer(base);',
9
+ '@import "./base/theme-neo.css" layer(base);',
10
+ '@import "./base/theme-pixel.css" layer(base);',
11
+ '@import "./base/theme-brutalist.css" layer(base);',
12
+ '@import "./base/reset.css" layer(base);',
13
+ '@import "./base/neo-overrides.css" layer(themes);',
14
+ '@import "./base/pixel-overrides.css" layer(themes);',
15
+ '@import "./base/brutalist-overrides.css" layer(themes);',
16
+ ];
17
+
18
+ module.exports = { BASE_IMPORTS };
@@ -0,0 +1,256 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+ const { BASE_IMPORTS } = require("./imports");
6
+
7
+ const SRC_FILE = path.join(__dirname, "..", "arekui.css");
8
+ const SRC_DIR = path.join(__dirname, "..", "src");
9
+
10
+ const BASE_SECTIONS = {
11
+ 1: "tokens.css",
12
+ "1b": "theme-default.css",
13
+ "1c": "theme-neo.css",
14
+ "1d": "theme-pixel.css",
15
+ "1e": "theme-brutalist.css",
16
+ 2: "reset.css",
17
+ "37": "neo-overrides.css",
18
+ "37b": "pixel-overrides.css",
19
+ "37c": "brutalist-overrides.css",
20
+ };
21
+
22
+ const COMPONENT_SECTIONS = {
23
+ 3: "button.css",
24
+ 4: "navbar.css",
25
+ 5: "menu.css",
26
+ 6: "swap.css",
27
+ 7: "card.css",
28
+ 8: "badge.css",
29
+ 9: "modal.css",
30
+ 10: "carousel.css",
31
+ 11: "sidebar.css",
32
+ 12: "footer.css",
33
+ 13: "hero.css",
34
+ 14: "tooltip.css",
35
+ 15: "link.css",
36
+ 16: "join.css",
37
+ 17: "prose.css",
38
+ 18: "textured.css",
39
+ 19: "forms.css",
40
+ 20: "table.css",
41
+ 21: "alert.css",
42
+ 22: "tabs.css",
43
+ 23: "accordion.css",
44
+ 24: "progress.css",
45
+ 25: "timeline.css",
46
+ 26: "misc.css",
47
+ 27: "toast.css",
48
+ 28: "skeleton.css",
49
+ "28b": "loading.css",
50
+ 29: "breadcrumb.css",
51
+ 30: "pagination.css",
52
+ 31: "rating.css",
53
+ 32: "chat.css",
54
+ 33: "tag.css",
55
+ 34: "popover.css",
56
+ 35: "file-upload.css",
57
+ 36: "scroll-top.css",
58
+ "36b": "heading.css",
59
+ "36c": "spinner.css",
60
+ "36d": "docs.css",
61
+ "36e": "broadsheet.css",
62
+ "36f": "empty.css",
63
+ "36g": "segmented.css",
64
+ "36h": "kbd.css",
65
+ "36i": "description-list.css",
66
+ };
67
+
68
+ const UTILITY_SECTIONS = {
69
+ spacing: "spacing.css",
70
+ "layout & flex & grid": "layout.css",
71
+ typography: "typography.css",
72
+ sizing: "sizing.css",
73
+ colors: "colors.css",
74
+ "border, radius, shadow, position, misc": "borders.css",
75
+ "hover states": "hover.css",
76
+ responsive: "responsive.css",
77
+ neobrutalism: "neo-utilities.css",
78
+ "pixel-art": "pixel-utilities.css",
79
+ brutalist: "brutalist-utilities.css",
80
+ };
81
+
82
+ function split() {
83
+ const content = fs.readFileSync(SRC_FILE, "utf-8");
84
+
85
+ for (const dir of ["base", "components", "utilities"]) {
86
+ fs.mkdirSync(path.join(SRC_DIR, dir), { recursive: true });
87
+ }
88
+
89
+ const sectionRegex =
90
+ /\/\*\s*={10,}\s*\n\s*(\d+[a-z]?)\.\s+(.+?)\s*\n(?:[\s\S]*?)\s*={10,}\s*\*\//g;
91
+ const sections = [];
92
+ let m;
93
+ while ((m = sectionRegex.exec(content)) !== null) {
94
+ sections.push({
95
+ raw: m[1],
96
+ num: parseInt(m[1], 10),
97
+ name: m[2].trim(),
98
+ headerEnd: m.index + m[0].length,
99
+ });
100
+ }
101
+
102
+ for (let i = 0; i < sections.length; i++) {
103
+ const sec = sections[i];
104
+ const nextStart =
105
+ i + 1 < sections.length
106
+ ? content.lastIndexOf("/*", sections[i + 1].headerEnd - 100)
107
+ : content.length;
108
+
109
+ let start = sec.headerEnd;
110
+ while (
111
+ start < content.length &&
112
+ (content[start] === "\n" || content[start] === "\r")
113
+ ) {
114
+ start++;
115
+ }
116
+
117
+ const chunk = content.substring(start, nextStart).trim();
118
+
119
+ let outFile = null;
120
+ let outDir = null;
121
+
122
+ if (BASE_SECTIONS[sec.raw]) {
123
+ outFile = BASE_SECTIONS[sec.raw];
124
+ outDir = "base";
125
+ } else {
126
+ if (sec.name.toUpperCase().includes("UTILITIES")) {
127
+ for (const [keyword, filename] of Object.entries(UTILITY_SECTIONS)) {
128
+ if (sec.name.toLowerCase().includes(keyword.toLowerCase())) {
129
+ outFile = filename;
130
+ outDir = "utilities";
131
+ break;
132
+ }
133
+ }
134
+ }
135
+ if (!outFile && COMPONENT_SECTIONS[sec.raw]) {
136
+ outFile = COMPONENT_SECTIONS[sec.raw];
137
+ outDir = "components";
138
+ }
139
+ }
140
+
141
+ if (outFile && outDir && chunk) {
142
+ const filePath = path.join(SRC_DIR, outDir, outFile);
143
+ const stem = outFile
144
+ .replace(/\.css$/i, "")
145
+ .replace(/[^a-z0-9]+/gi, " ")
146
+ .trim()
147
+ .toUpperCase();
148
+ const name = sec.name.replace(/[^a-z0-9]+/gi, " ").trim().toUpperCase();
149
+ const header = name === stem ? "" : `/* ${sec.name} */\n`;
150
+ fs.writeFileSync(filePath, `${header}${chunk}\n`);
151
+ console.log(`✓ ${outDir}/${outFile} (${chunk.split("\n").length} lines)`);
152
+ } else {
153
+ console.log(`⚠ Skipped section ${sec.num}: ${sec.name}`);
154
+ }
155
+ }
156
+
157
+ createOrchestrator();
158
+ console.log("\n✓ Split complete!");
159
+ }
160
+
161
+ // Files in section order. Object keys iterate the integer-like entries
162
+ // ("3".."36") before the lettered ones ("28b", "36b"), so Object.values
163
+ // alone would list loading.css after scroll-top.css instead of right after
164
+ // skeleton.css. Sort keys back by section number, then by suffix.
165
+ function sectionFiles(sections) {
166
+ return Object.keys(sections)
167
+ .sort((a, b) => parseInt(a, 10) - parseInt(b, 10) || a.localeCompare(b))
168
+ .map((key) => sections[key]);
169
+ }
170
+
171
+ function createOrchestrator() {
172
+ // Import lines mirror the section maps above: split order is cascade order,
173
+ // so reordering a section reorders the generated bundles too.
174
+ const importLines = (files, layer) =>
175
+ files.map((file) => `@import "./${layer}/${file}" layer(${layer});`);
176
+
177
+ const lines = [
178
+ "/* ArekUI v2.0.0 - CSS Framework */",
179
+ "/* https://github.com/andikarekatias/arekui */",
180
+ "",
181
+ "@layer base, components, themes, utilities;",
182
+ "",
183
+ "/* Base layer */",
184
+ ...BASE_IMPORTS,
185
+ "",
186
+ "/* Components */",
187
+ ...importLines(sectionFiles(COMPONENT_SECTIONS), "components"),
188
+ "",
189
+ "/* Utilities */",
190
+ // Utility keys are plain words, so Object.values already lists them in
191
+ // the order they are written above.
192
+ ...importLines(Object.values(UTILITY_SECTIONS), "utilities"),
193
+ ];
194
+
195
+ fs.writeFileSync(path.join(SRC_DIR, "arekui.css"), lines.join("\n"));
196
+ console.log("✓ src/arekui.css (orchestrator)");
197
+
198
+ const lookImports = new Set([
199
+ "./base/neo-overrides.css",
200
+ "./base/pixel-overrides.css",
201
+ "./base/brutalist-overrides.css",
202
+ "./utilities/neo-utilities.css",
203
+ "./utilities/pixel-utilities.css",
204
+ "./utilities/brutalist-utilities.css",
205
+ ]);
206
+ const styleImports = new Set([
207
+ "./base/theme-neo.css",
208
+ "./base/theme-pixel.css",
209
+ "./base/theme-brutalist.css",
210
+ ]);
211
+ const without = (drop) =>
212
+ lines.filter((line) => {
213
+ const m = /^@import "(\.\/[^"]+)"/.exec(line);
214
+ return !m || !drop.has(m[1]);
215
+ });
216
+ const base = without(
217
+ new Set([...styleImports, "./base/theme-default.css", ...lookImports]),
218
+ );
219
+ fs.writeFileSync(path.join(SRC_DIR, "arekui.base.css"), base.join("\n"));
220
+ console.log("✓ src/arekui.base.css (themeless orchestrator)");
221
+
222
+ const core = without(new Set([...styleImports, ...lookImports]));
223
+ fs.writeFileSync(path.join(SRC_DIR, "arekui.core.css"), core.join("\n"));
224
+ console.log("✓ src/arekui.core.css (default light+dark orchestrator)");
225
+
226
+ const addOn = (file, imports) => {
227
+ const body = [...lines.slice(0, 5), ...imports].join("\n") + "\n";
228
+ fs.writeFileSync(path.join(SRC_DIR, file), body);
229
+ console.log(`✓ src/${file} (theme add-on orchestrator)`);
230
+ };
231
+ addOn("arekui.default.css", [
232
+ '@import "./base/theme-default.css" layer(base);',
233
+ ]);
234
+ addOn("arekui.neo.css", [
235
+ '@import "./base/theme-neo.css" layer(base);',
236
+ '@import "./base/neo-overrides.css" layer(themes);',
237
+ '@import "./utilities/neo-utilities.css" layer(utilities);',
238
+ ]);
239
+ addOn("arekui.pixel.css", [
240
+ '@import "./base/theme-pixel.css" layer(base);',
241
+ '@import "./base/pixel-overrides.css" layer(themes);',
242
+ '@import "./utilities/pixel-utilities.css" layer(utilities);',
243
+ ]);
244
+ addOn("arekui.brutalist.css", [
245
+ '@import "./base/theme-brutalist.css" layer(base);',
246
+ '@import "./base/brutalist-overrides.css" layer(themes);',
247
+ '@import "./utilities/brutalist-utilities.css" layer(utilities);',
248
+ ]);
249
+ // Component add-on, same shape as the theme add-ons: shared header plus its
250
+ // own import — the sheet tokens and components ride together in one file.
251
+ addOn("arekui.broadsheet.css", [
252
+ '@import "./components/broadsheet.css" layer(components);',
253
+ ]);
254
+ }
255
+
256
+ split();
@@ -0,0 +1,63 @@
1
+ /* ArekUI v2.0.0 - CSS Framework */
2
+ /* https://github.com/andikarekatias/arekui */
3
+
4
+ @layer base, components, themes, utilities;
5
+
6
+ /* Base layer */
7
+ @import "./base/tokens.css" layer(base);
8
+ @import "./base/reset.css" layer(base);
9
+
10
+ /* Components */
11
+ @import "./components/button.css" layer(components);
12
+ @import "./components/navbar.css" layer(components);
13
+ @import "./components/menu.css" layer(components);
14
+ @import "./components/swap.css" layer(components);
15
+ @import "./components/card.css" layer(components);
16
+ @import "./components/badge.css" layer(components);
17
+ @import "./components/modal.css" layer(components);
18
+ @import "./components/carousel.css" layer(components);
19
+ @import "./components/sidebar.css" layer(components);
20
+ @import "./components/footer.css" layer(components);
21
+ @import "./components/hero.css" layer(components);
22
+ @import "./components/tooltip.css" layer(components);
23
+ @import "./components/link.css" layer(components);
24
+ @import "./components/join.css" layer(components);
25
+ @import "./components/prose.css" layer(components);
26
+ @import "./components/textured.css" layer(components);
27
+ @import "./components/forms.css" layer(components);
28
+ @import "./components/table.css" layer(components);
29
+ @import "./components/alert.css" layer(components);
30
+ @import "./components/tabs.css" layer(components);
31
+ @import "./components/accordion.css" layer(components);
32
+ @import "./components/progress.css" layer(components);
33
+ @import "./components/timeline.css" layer(components);
34
+ @import "./components/misc.css" layer(components);
35
+ @import "./components/toast.css" layer(components);
36
+ @import "./components/skeleton.css" layer(components);
37
+ @import "./components/loading.css" layer(components);
38
+ @import "./components/breadcrumb.css" layer(components);
39
+ @import "./components/pagination.css" layer(components);
40
+ @import "./components/rating.css" layer(components);
41
+ @import "./components/chat.css" layer(components);
42
+ @import "./components/tag.css" layer(components);
43
+ @import "./components/popover.css" layer(components);
44
+ @import "./components/file-upload.css" layer(components);
45
+ @import "./components/scroll-top.css" layer(components);
46
+ @import "./components/heading.css" layer(components);
47
+ @import "./components/spinner.css" layer(components);
48
+ @import "./components/docs.css" layer(components);
49
+ @import "./components/broadsheet.css" layer(components);
50
+ @import "./components/empty.css" layer(components);
51
+ @import "./components/segmented.css" layer(components);
52
+ @import "./components/kbd.css" layer(components);
53
+ @import "./components/description-list.css" layer(components);
54
+
55
+ /* Utilities */
56
+ @import "./utilities/spacing.css" layer(utilities);
57
+ @import "./utilities/layout.css" layer(utilities);
58
+ @import "./utilities/typography.css" layer(utilities);
59
+ @import "./utilities/sizing.css" layer(utilities);
60
+ @import "./utilities/colors.css" layer(utilities);
61
+ @import "./utilities/borders.css" layer(utilities);
62
+ @import "./utilities/hover.css" layer(utilities);
63
+ @import "./utilities/responsive.css" layer(utilities);
@@ -0,0 +1,6 @@
1
+ /* ArekUI v2.0.0 - CSS Framework */
2
+ /* https://github.com/andikarekatias/arekui */
3
+
4
+ @layer base, components, themes, utilities;
5
+
6
+ @import "./components/broadsheet.css" layer(components);
@@ -0,0 +1,8 @@
1
+ /* ArekUI v2.0.0 - CSS Framework */
2
+ /* https://github.com/andikarekatias/arekui */
3
+
4
+ @layer base, components, themes, utilities;
5
+
6
+ @import "./base/theme-brutalist.css" layer(base);
7
+ @import "./base/brutalist-overrides.css" layer(themes);
8
+ @import "./utilities/brutalist-utilities.css" layer(utilities);
@@ -0,0 +1,64 @@
1
+ /* ArekUI v2.0.0 - CSS Framework */
2
+ /* https://github.com/andikarekatias/arekui */
3
+
4
+ @layer base, components, themes, utilities;
5
+
6
+ /* Base layer */
7
+ @import "./base/tokens.css" layer(base);
8
+ @import "./base/theme-default.css" layer(base);
9
+ @import "./base/reset.css" layer(base);
10
+
11
+ /* Components */
12
+ @import "./components/button.css" layer(components);
13
+ @import "./components/navbar.css" layer(components);
14
+ @import "./components/menu.css" layer(components);
15
+ @import "./components/swap.css" layer(components);
16
+ @import "./components/card.css" layer(components);
17
+ @import "./components/badge.css" layer(components);
18
+ @import "./components/modal.css" layer(components);
19
+ @import "./components/carousel.css" layer(components);
20
+ @import "./components/sidebar.css" layer(components);
21
+ @import "./components/footer.css" layer(components);
22
+ @import "./components/hero.css" layer(components);
23
+ @import "./components/tooltip.css" layer(components);
24
+ @import "./components/link.css" layer(components);
25
+ @import "./components/join.css" layer(components);
26
+ @import "./components/prose.css" layer(components);
27
+ @import "./components/textured.css" layer(components);
28
+ @import "./components/forms.css" layer(components);
29
+ @import "./components/table.css" layer(components);
30
+ @import "./components/alert.css" layer(components);
31
+ @import "./components/tabs.css" layer(components);
32
+ @import "./components/accordion.css" layer(components);
33
+ @import "./components/progress.css" layer(components);
34
+ @import "./components/timeline.css" layer(components);
35
+ @import "./components/misc.css" layer(components);
36
+ @import "./components/toast.css" layer(components);
37
+ @import "./components/skeleton.css" layer(components);
38
+ @import "./components/loading.css" layer(components);
39
+ @import "./components/breadcrumb.css" layer(components);
40
+ @import "./components/pagination.css" layer(components);
41
+ @import "./components/rating.css" layer(components);
42
+ @import "./components/chat.css" layer(components);
43
+ @import "./components/tag.css" layer(components);
44
+ @import "./components/popover.css" layer(components);
45
+ @import "./components/file-upload.css" layer(components);
46
+ @import "./components/scroll-top.css" layer(components);
47
+ @import "./components/heading.css" layer(components);
48
+ @import "./components/spinner.css" layer(components);
49
+ @import "./components/docs.css" layer(components);
50
+ @import "./components/broadsheet.css" layer(components);
51
+ @import "./components/empty.css" layer(components);
52
+ @import "./components/segmented.css" layer(components);
53
+ @import "./components/kbd.css" layer(components);
54
+ @import "./components/description-list.css" layer(components);
55
+
56
+ /* Utilities */
57
+ @import "./utilities/spacing.css" layer(utilities);
58
+ @import "./utilities/layout.css" layer(utilities);
59
+ @import "./utilities/typography.css" layer(utilities);
60
+ @import "./utilities/sizing.css" layer(utilities);
61
+ @import "./utilities/colors.css" layer(utilities);
62
+ @import "./utilities/borders.css" layer(utilities);
63
+ @import "./utilities/hover.css" layer(utilities);
64
+ @import "./utilities/responsive.css" layer(utilities);
package/src/arekui.css CHANGED
@@ -1,12 +1,18 @@
1
- /* Arekui v1.0.0 - CSS Framework */
1
+ /* ArekUI v2.0.0 - CSS Framework */
2
2
  /* https://github.com/andikarekatias/arekui */
3
3
 
4
- @layer base, components, utilities;
4
+ @layer base, components, themes, utilities;
5
5
 
6
6
  /* Base layer */
7
7
  @import "./base/tokens.css" layer(base);
8
+ @import "./base/theme-default.css" layer(base);
9
+ @import "./base/theme-neo.css" layer(base);
10
+ @import "./base/theme-pixel.css" layer(base);
11
+ @import "./base/theme-brutalist.css" layer(base);
8
12
  @import "./base/reset.css" layer(base);
9
- @import "./base/neo-overrides.css" layer(base);
13
+ @import "./base/neo-overrides.css" layer(themes);
14
+ @import "./base/pixel-overrides.css" layer(themes);
15
+ @import "./base/brutalist-overrides.css" layer(themes);
10
16
 
11
17
  /* Components */
12
18
  @import "./components/button.css" layer(components);
@@ -17,7 +23,7 @@
17
23
  @import "./components/badge.css" layer(components);
18
24
  @import "./components/modal.css" layer(components);
19
25
  @import "./components/carousel.css" layer(components);
20
- @import "./components/drawer.css" layer(components);
26
+ @import "./components/sidebar.css" layer(components);
21
27
  @import "./components/footer.css" layer(components);
22
28
  @import "./components/hero.css" layer(components);
23
29
  @import "./components/tooltip.css" layer(components);
@@ -35,6 +41,7 @@
35
41
  @import "./components/misc.css" layer(components);
36
42
  @import "./components/toast.css" layer(components);
37
43
  @import "./components/skeleton.css" layer(components);
44
+ @import "./components/loading.css" layer(components);
38
45
  @import "./components/breadcrumb.css" layer(components);
39
46
  @import "./components/pagination.css" layer(components);
40
47
  @import "./components/rating.css" layer(components);
@@ -43,6 +50,14 @@
43
50
  @import "./components/popover.css" layer(components);
44
51
  @import "./components/file-upload.css" layer(components);
45
52
  @import "./components/scroll-top.css" layer(components);
53
+ @import "./components/heading.css" layer(components);
54
+ @import "./components/spinner.css" layer(components);
55
+ @import "./components/docs.css" layer(components);
56
+ @import "./components/broadsheet.css" layer(components);
57
+ @import "./components/empty.css" layer(components);
58
+ @import "./components/segmented.css" layer(components);
59
+ @import "./components/kbd.css" layer(components);
60
+ @import "./components/description-list.css" layer(components);
46
61
 
47
62
  /* Utilities */
48
63
  @import "./utilities/spacing.css" layer(utilities);
@@ -53,4 +68,6 @@
53
68
  @import "./utilities/borders.css" layer(utilities);
54
69
  @import "./utilities/hover.css" layer(utilities);
55
70
  @import "./utilities/responsive.css" layer(utilities);
56
- @import "./utilities/neo-utilities.css" layer(utilities);
71
+ @import "./utilities/neo-utilities.css" layer(utilities);
72
+ @import "./utilities/pixel-utilities.css" layer(utilities);
73
+ @import "./utilities/brutalist-utilities.css" layer(utilities);
@@ -0,0 +1,6 @@
1
+ /* ArekUI v2.0.0 - CSS Framework */
2
+ /* https://github.com/andikarekatias/arekui */
3
+
4
+ @layer base, components, themes, utilities;
5
+
6
+ @import "./base/theme-default.css" layer(base);
@@ -0,0 +1,8 @@
1
+ /* ArekUI v2.0.0 - CSS Framework */
2
+ /* https://github.com/andikarekatias/arekui */
3
+
4
+ @layer base, components, themes, utilities;
5
+
6
+ @import "./base/theme-neo.css" layer(base);
7
+ @import "./base/neo-overrides.css" layer(themes);
8
+ @import "./utilities/neo-utilities.css" layer(utilities);