Plasma
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½-ΡΠΈΡΡΠ΅ΠΌΡ Plasma
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Canvas App ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
Π°ΡΡΠΈΡΡΠ΅Π½ΡΠΎΠ² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° "Π‘Π°Π»ΡΡ". ΠΡΠ΅ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Plasma
.
Π‘ΠΎΡΡΠ°Π²:
- @sberdevices/plasma-core
- @sberdevices/plasma-ui
- @sberdevices/plasma-tokens
- @sberdevices/plasma-icons
plasma-tokens
ΠΠ°ΠΊΠ΅Ρ Ρ Π½Π°Π±ΠΎΡΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½-ΡΠΎΠΊΠ΅Π½ΠΎΠ²
. Π ΠΏΠ°ΠΊΠ΅Ρ Π²Ρ
ΠΎΠ΄ΡΡ ΡΠΈΠΏΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ. ΠΠΈΠ·Π°ΠΉΠ½-ΡΠΎΠΊΠ΅Π½Ρ
ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ css
custom propperties ΠΈ js
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. ΠΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ui
ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡ Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°.
ui
ΠΠ°ΠΊΠ΅Ρ Ρ Π½Π°Π±ΠΎΡΠΎΠΌ Π³ΠΎΡΠΎΠ²ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Canvas App
. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ React. ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ½Π° Π²ΠΈΡΡΠΈΠ½Π° ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
plasma-icons
ΠΠ°ΠΊΠ΅Ρ Ρ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΈΠΊΠΎΠ½ΠΎΠΊ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ ui
. ΠΡΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΊ ΠΏΡΠΎΡΠΌΠΎΡΡΡ Π² Π²ΠΈΡΡΠΈΠ½Π΅ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
Canvas App
ΡΡΠΎ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π»Ρ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ:
-
Node.js
&npm
ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° -
Create React App
β Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. CRA -
React
ΠΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π° Π΄Π»Ρ web ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²: https://ru.reactjs.org/tutorial/tutorial.html
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
npm i -S styled-components @sberdevices/plasma-ui @sberdevices/plasma-tokens @sberdevices/plasma-icons
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ styled-components. ΠΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ.
NB: ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Create React App
, ΡΠΎ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ react
ΠΈ react-dom
:
npm i -S react react-dom
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
// ./src/App.jsx
import React from 'react';
import { Button } from '@sberdevices/plasma-ui/components/Button/Button';
function App() {
return (
<div className="App">
<p>
<Button view="primary">Hello Plasma</Button>
</p>
</div>
);
}
export default App;
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΅ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ°Ρ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Button
ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°.
ΠΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° plasma
Π²Π΅Π΄Π΅ΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ https://github.com/sberdevices/plasma.
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΡΠ»Π°ΡΡ ΠΏΡΠ»Π»-ΡΠ΅ΠΊΠ²Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π²Π΅ΡΡΠΈ Π·Π°Π΄Π°ΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΠ»ΠΈ ΠΎΠΏΠΈΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ.