sabalong-ui 0.0.1 → 0.0.3
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/README.md +85 -0
- package/logo.png +0 -0
- package/package.json +7 -3
- package/scripts/welcome.js +26 -0
package/README.md
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
SabalongUI
|
|
2
|
+
Overview
|
|
3
|
+
SabalongUI is an advanced, specialized user interface component library meticulously developed for the requirements of modern web applications. Built upon the foundation of React and Tailwind CSS, the primary objective of this project is to provide engineers and designers with a comprehensive suite of highly flexible, accessible, and lightweight components. These elements are engineered to be seamlessly integrated into a wide variety of project environments, ranging from minimalist personal portfolios to complex enterprise-grade dashboards.
|
|
4
|
+
|
|
5
|
+
Unlike many contemporary UI frameworks that impose rigid design systems and difficult-to-override internal styles, SabalongUI is established on the core philosophy of total customization. We believe that a library should empower the developer rather than restrict them. Consequently, every component is structured to allow for the modification of core aesthetics through standard Tailwind utility classes, ensuring that you never have to engage in complex CSS specificity battles to achieve your desired visual outcome.
|
|
6
|
+
|
|
7
|
+
The library architecture is optimized for peak performance utilizing the tsup build system. This ensures that your production bundle remains highly efficient with minimal overhead, preventing unnecessary bloat in your final application. By leveraging the latest functional paradigms of React and the utility-first approach of Tailwind CSS, SabalongUI effectively bridges the gap between low-level raw CSS development and high-level component abstraction.
|
|
8
|
+
|
|
9
|
+
Technical Specifications
|
|
10
|
+
SabalongUI is constructed using a modern and resilient technology stack, selected specifically to ensure long-term stability and forward compatibility with the evolving web ecosystem:
|
|
11
|
+
|
|
12
|
+
React Ecosystem: The library offers full compatibility with React version 18 and the latest version 19, utilizing modern hooks and concurrent rendering features where applicable.
|
|
13
|
+
|
|
14
|
+
Tailwind CSS Integration: Optimized specifically for Tailwind CSS version 3.4 and the revolutionary version 4.0 engine, allowing for deep integration with the latest CSS-in-JS and JIT compilation strategies.
|
|
15
|
+
|
|
16
|
+
TypeScript Excellence: Developed with native TypeScript support, providing robust type-checking, comprehensive interfaces, and an improved developer experience through intelligent autocompletion.
|
|
17
|
+
|
|
18
|
+
Optimized Bundling: Every release is processed through tsup, generating highly optimized ESM (ECMAScript Modules) and CJS (CommonJS) formats to support various build tools and server-side rendering frameworks.
|
|
19
|
+
|
|
20
|
+
Installation and Setup
|
|
21
|
+
To begin integrating SabalongUI into your software project, execute the following standardized command within your terminal environment:
|
|
22
|
+
|
|
23
|
+
Bash
|
|
24
|
+
|
|
25
|
+
npm install sabalong-ui
|
|
26
|
+
Upon the successful completion of the installation process, a specialized post-install script will automatically execute within your terminal. This script is designed to verify the installation environment and provide a welcoming confirmation. To ensure that the visual styles of SabalongUI are rendered correctly, you must verify that Tailwind CSS is appropriately configured to scan the library's internal components.
|
|
27
|
+
|
|
28
|
+
Configuration Procedures
|
|
29
|
+
For the utility classes within SabalongUI to function as intended, you must modify your Tailwind configuration file. Update your tailwind.config.js by appending the library's distribution path to the content array as demonstrated below:
|
|
30
|
+
|
|
31
|
+
JavaScript
|
|
32
|
+
|
|
33
|
+
/** @type {import('tailwindcss').Config} */
|
|
34
|
+
module.exports = {
|
|
35
|
+
content: [
|
|
36
|
+
"./index.html",
|
|
37
|
+
"./src/**/*.{js,ts,jsx,tsx}",
|
|
38
|
+
"./node_modules/sabalong-ui/dist/**/*.{js,ts,jsx,tsx}",
|
|
39
|
+
],
|
|
40
|
+
theme: {
|
|
41
|
+
extend: {},
|
|
42
|
+
},
|
|
43
|
+
plugins: [],
|
|
44
|
+
}
|
|
45
|
+
If you are early-adopting Tailwind CSS v4, ensure the library source is declared within your primary CSS entry point using the modern @source directive. This ensures the compiler correctly identifies and generates the necessary utility classes for the SabalongUI components.
|
|
46
|
+
|
|
47
|
+
Usage Implementation
|
|
48
|
+
The library provides clean, named exports for all available components. This modular approach allows for tree-shaking, ensuring that only the components you actually use are included in your final build. Below is a standard implementation example featuring the CheckBox and TextArea components within a functional React structure:
|
|
49
|
+
|
|
50
|
+
TypeScript
|
|
51
|
+
|
|
52
|
+
import { CheckBox, TextArea, Button } from "sabalong-ui";
|
|
53
|
+
|
|
54
|
+
const FeedbackForm = () => {
|
|
55
|
+
const handleSubmit = (event) => {
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
// Logic for form submission
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
return (
|
|
61
|
+
<form onSubmit={handleSubmit} className="form-container">
|
|
62
|
+
<TextArea
|
|
63
|
+
Placeholder="Please describe your experience with our service"
|
|
64
|
+
/>
|
|
65
|
+
<CheckBox
|
|
66
|
+
Text="I hereby agree to the privacy policy and terms of service"
|
|
67
|
+
/>
|
|
68
|
+
<SabalongButton label="Submit Feedback" />
|
|
69
|
+
</form>
|
|
70
|
+
);
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export default FeedbackForm;
|
|
74
|
+
Vision and Philosophy
|
|
75
|
+
SabalongUI was born out of a necessity for a component library that respects the developer's time and creative freedom. We prioritize accessibility (A11y) and keyboard navigation, ensuring that the components are usable for all individuals regardless of how they interact with the web. The naming conventions used throughout the library are intentional and semantic, making the code readable and maintainable for teams of any size.
|
|
76
|
+
|
|
77
|
+
Developer Information
|
|
78
|
+
SabalongUI is designed, developed, and maintained by Rizqy Fajrul Syabani, professionally recognized as Rzfan03. This project stands as a commitment to promoting clean architecture, modular design patterns, and high-performance UI solutions within the global React community.
|
|
79
|
+
|
|
80
|
+
For further technical inquiries, contribution requests, or to view the source code and progress of the library, please visit the official GitHub profile: https://github.com/Rzfan03
|
|
81
|
+
|
|
82
|
+
License and Distribution
|
|
83
|
+
This software is released under the MIT License. This permissive license allows for the use, modification, and distribution of the library in both open-source and proprietary commercial applications without restriction, provided that the original copyright notice is maintained.
|
|
84
|
+
|
|
85
|
+
Next Step: Would you like me to generate a detailed API Reference table for each existing component to further expand this documentation?
|
package/logo.png
ADDED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sabalong-ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"module": "./dist/index.mjs",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"files": [
|
|
8
|
-
"dist"
|
|
8
|
+
"dist",
|
|
9
|
+
"scripts",
|
|
10
|
+
"logo.png",
|
|
11
|
+
"README.md"
|
|
9
12
|
],
|
|
10
13
|
"publishConfig": {
|
|
11
14
|
"access": "public"
|
|
12
15
|
},
|
|
13
16
|
"scripts": {
|
|
14
17
|
"dev": "tsup src/index.tsx --format cjs,esm --watch --dts --clean",
|
|
15
|
-
"build": "tsup src/index.tsx --format cjs,esm --dts --minify --clean"
|
|
18
|
+
"build": "tsup src/index.tsx --format cjs,esm --dts --minify --clean",
|
|
19
|
+
"postinstall": "node ./scripts/welcome.js"
|
|
16
20
|
},
|
|
17
21
|
"devDependencies": {
|
|
18
22
|
"tsup": "^8.0.0",
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// packages/sabalongui/scripts/welcome.js
|
|
2
|
+
|
|
3
|
+
const loadingChars = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
4
|
+
let i = 0;
|
|
5
|
+
|
|
6
|
+
console.log('\n');
|
|
7
|
+
console.log('\x1b[36m%s\x1b[0m', 'Menginstall Sabalong-UI');
|
|
8
|
+
|
|
9
|
+
const loader = setInterval(() => {
|
|
10
|
+
process.stdout.write(`\r\x1b[34m${loadingChars[i++ % loadingChars.length]}\x1b[0m Finalizing installation...`);
|
|
11
|
+
}, 100);
|
|
12
|
+
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
clearInterval(loader);
|
|
15
|
+
process.stdout.write('\r');
|
|
16
|
+
|
|
17
|
+
console.log('\x1b[32m%s\x1b[0m', 'Installation Complete!');
|
|
18
|
+
console.log('\x1b[1m\x1b[33m%s\x1b[0m', ' Silamo sia ngoding! 🚀');
|
|
19
|
+
|
|
20
|
+
// Developer Info & Clickable Link
|
|
21
|
+
console.log('\x1b[37m%s\x1b[0m', 'Developer: Rzfan03');
|
|
22
|
+
console.log('\x1b[36m%s\x1b[0m', 'GitHub: \x1b]8;;https://github.com/Rzfan03\x07https://github.com/Rzfan03\x1b]8;;\x07');
|
|
23
|
+
console.log('\x1b[34m%s\x1b[0m', 'Docs: https://sabalong-ui.vercel.app');
|
|
24
|
+
|
|
25
|
+
console.log('\n');
|
|
26
|
+
}, 2000);
|