ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° ΡΠΈΡΡΠΎΠΌ HTML, CSS ΠΈ JavaScript. ΠΠ΅Π· Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π»Π΅Π³ΠΊΠ°Ρ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ. Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π° Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΠ΅ΠΉ.
- π― 100% ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄ - HTML, CSS, JavaScript Π±Π΅Π· ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²
- π¦ 60+ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² - Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
- π¨ Π’Π΅ΠΌΠ½Π°Ρ ΡΠ΅ΠΌΠ° - Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΠΌ
- π± ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΠΎΡΡΡ - ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π²ΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
- β‘ ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ - ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
- π§ ΠΠΈΠ±ΠΊΠΎΡΡΡ - ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://raw.githubusercontent.com/ll1ness/TechOne-UI/refs/heads/com.techone.build/techon-ui.min.js">
</head>
<!-- ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ --><!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://raw.githubusercontent.com/ll1ness/TechOne-UI/refs/heads/com.techone.build/techon-ui.min.js">
</head>
<body>
<!-- ΠΠ½ΠΎΠΏΠΊΠ° -->
<button class="to-button" data-variant="primary">ΠΠ°ΠΆΠΌΠΈ ΠΌΠ΅Π½Ρ</button>
<!-- ΠΠΊΠΊΠΎΡΠ΄Π΅ΠΎΠ½ -->
<div class="to-accordion" data-open="true">
<div class="to-accordion-header">
<button class="to-accordion-trigger">
<span>ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ</span>
<span class="to-accordion-icon">βΌ</span>
</button>
</div>
<div class="to-accordion-content">
<div class="to-accordion-content-inner">
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π°ΠΊΠΊΠΎΡΠ΄Π΅ΠΎΠ½Π°
</div>
</div>
</div>
<!-- ΠΠ΅ΠΉΠ΄ΠΆ -->
<span class="to-badge" data-variant="success">Π£ΡΠΏΠ΅Ρ
</span>
<script src="https://raw.githubusercontent.com/ll1ness/TechOne-UI/refs/heads/com.techone.build/techon-ui.min.js"></script>
</body>
</html>// ΠΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ - ΠΎΠ½ ΡΠ°ΠΌ Π½Π°ΠΉΠ΄Π΅Ρ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
// Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ MutationObserver Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ // ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ
TechOnUI.load('button').then(() => {
console.log('ΠΠ½ΠΎΠΏΠΊΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ');
});
// ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
TechOnUI.loadAll();
// ΠΡΠΎΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅
TechOnUI.scan();// ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π»Π΅ΠΆΠ°Ρ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅
TechOnUI.setBasePath('/assets/techon/');
// ΠΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ
TechOnUI.enableDebug();<body data-theme="light">
<!-- ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±ΡΠ΄ΡΡ Π² ΡΠ²Π΅ΡΠ»ΠΎΠΉ ΡΠ΅ΠΌΠ΅ -->
</body><body data-theme="dark">
<!-- ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±ΡΠ΄ΡΡ Π² ΡΡΠΌΠ½ΠΎΠΉ ΡΠ΅ΠΌΠ΅ -->
</body>// ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ
document.body.setAttribute('data-theme', 'dark');
// ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ThemeSwitcher
<div class="to-theme-switcher" data-type="buttons"></div>
// ΠΈΠ»ΠΈ
<div class="to-theme-switcher" data-type="dropdown"></div>// ΠΠΎΡΡΡΠΏ ΡΠ΅ΡΠ΅Π· TechOnUI ΠΈΠ»ΠΈ to
TechOnUI.load('button');
to.load('button');
// ΠΠ΅ΡΡΠΈΡ
console.log(TechOnUI.version); // "1.01.2"| ΠΠ΅ΡΠΎΠ΄ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΡΠΈΠΌΠ΅Ρ |
|---|---|---|
load(componentName) |
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ | TechOnUI.load('accordion') |
loadAll() |
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ | TechOnUI.loadAll() |
scan() |
ΠΠ°ΠΉΡΠΈ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ | TechOnUI.scan() |
setBasePath(path) |
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΏΡΡΡ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² | TechOnUI.setBasePath('/ui/') |
enableDebug() |
ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ | TechOnUI.enableDebug() |
// Π‘Π»ΡΡΠ°ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°
document.addEventListener('DOMContentLoaded', () => {
console.log('TechOn UI Π³ΠΎΡΠΎΠ²');
});
// ΠΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
document.querySelector('.to-dropdown').addEventListener('dropdown-select', (e) => {
console.log('ΠΡΠ±ΡΠ°Π½ΠΎ:', e.detail.value);
});<div data-theme="dark" style="padding: 40px;">
<div class="to-card" style="max-width: 400px; margin: 0 auto;">
<div class="to-card-header">
<h2 class="to-card-title">ΠΡ
ΠΎΠ΄</h2>
</div>
<div class="to-card-content">
<input type="email" placeholder="Email" style="width: 100%; padding: 10px; margin-bottom: 16px; border: 1px solid var(--to-border); border-radius: var(--to-radius);">
<input type="password" placeholder="ΠΠ°ΡΠΎΠ»Ρ" style="width: 100%; padding: 10px; margin-bottom: 24px; border: 1px solid var(--to-border); border-radius: var(--to-radius);">
<button class="to-button" data-variant="primary" data-fill-width="true">ΠΠΎΠΉΡΠΈ</button>
</div>
</div>
</div><div class="to-grid" data-columns="3" data-gap="m">
<div class="to-card" data-variant="elevated">
<div class="to-card-header">
<h3 class="to-card-title">ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ</h3>
<span class="to-badge" data-variant="info">+12%</span>
</div>
<div class="to-card-content">
<div style="font-size: 32px; font-weight: bold;">1,234</div>
</div>
</div>
<div class="to-card" data-variant="elevated">
<div class="to-card-header">
<h3 class="to-card-title">ΠΠ°ΠΊΠ°Π·Ρ</h3>
<span class="to-badge" data-variant="success">+5%</span>
</div>
<div class="to-card-content">
<div style="font-size: 32px; font-weight: bold;">567</div>
</div>
</div>
<div class="to-card" data-variant="elevated">
<div class="to-card-header">
<h3 class="to-card-title">ΠΠΎΡ
ΠΎΠ΄</h3>
<span class="to-badge" data-variant="warning">-2%</span>
</div>
<div class="to-card-content">
<div style="font-size: 32px; font-weight: bold;">$12.3K</div>
</div>
</div>
</div># ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
git clone https://github.com/techon-ui/techon-ui.git
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ)
npm install
# Π‘ΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ
npm run build
# ΠΠ°ΠΏΡΡΡΠΈΡΡ dev ΡΠ΅ΡΠ²Π΅Ρ
npm run devΠΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΠΌ Π»ΡΠ±ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡΠΎΠ΅ΠΊΡ!
Π€ΠΎΡΠΊΠ½ΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ Π΄Π»Ρ ΡΠΈΡΠΈ (git checkout -b feature/amazing-feature)
ΠΠ°ΠΊΠΎΠΌΠΌΠΈΡΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (git commit -m 'Add amazing feature')
ΠΠ°ΠΏΡΡΡΡΠ΅ Π² Π²Π΅ΡΠΊΡ (git push origin feature/amazing-feature)
ΠΡΠΊΡΠΎΠΉΡΠ΅ Pull Request
π₯ Contributors
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠΈΠΌ Π²ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠ΄Π΅Π»Π°Π» Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡΠΎΠ΅ΠΊΡ:
DeepSeek - deepseek.com - ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ΄Π°
ll1ness - github.com/ll1ness - ΠΠΈΠ·Π°ΠΉΠ½ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ΅ΠΌΠΈΠ·Π°ΡΠΈΡ
Lorant One - lorant.one - ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
π ΠΠΈΡΠ΅Π½Π·ΠΈΡ
MIT Β© TechOn UI. ΠΠΎΠ»Π½ΡΠΉ ΡΠ΅ΠΊΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΠ°ΠΉΠ»Π΅ LICENSE. π ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
ΠΠΎΡΡΠ°Π²ΡΡΠ΅ Π·Π²Π΅Π·Π΄Ρ Π½Π° GitHub β
Π Π°ΡΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΄ΡΡΠ·ΡΡΠΌ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π² ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ issue Ρ Π±Π°Π³Π°ΠΌΠΈ ΠΈ ΠΈΠ΄Π΅ΡΠΌΠΈ
π ΠΠΎΠ½ΡΠ°ΠΊΡΡ
GitHub: github.com/ll1ness
Email: majezxctoy6799@outlook.com
- ll1ness