File tree Expand file tree Collapse file tree 2 files changed +29
-3
lines changed
Expand file tree Collapse file tree 2 files changed +29
-3
lines changed Original file line number Diff line number Diff line change 11<script lang =" ts" >
22 import style from ' svelte-inline-css' ;
3+
4+ const fontSize = 30 ;
5+ const styleObject = {
6+ color: ' red' ,
7+ fontSize: ' 13px' ,
8+ };
9+ const baseStyles = styleObject ;
10+ const overridingStyles = {
11+ color: ' blue' ,
12+ };
313 </script >
414
5- <div use:style ={{ color : ' red' , backgroundColor : ' pink' }}>example</div >
15+ <!-- https://v3.vuejs.org/guide/class-and-style.html#object-syntax-2 -->
16+ <div use:style ={{ color : ' red' , fontSize : fontSize + ' px' }}>Object Syntax</div >
17+
18+ <div use:style ={styleObject }>Object directly</div >
19+
20+ <!-- https://v3.vuejs.org/guide/class-and-style.html#array-syntax-2 -->
21+ <div use:style ={[baseStyles , overridingStyles ]}>Array Syntax</div >
Original file line number Diff line number Diff line change 11import type { Properties } from 'csstype' ;
22
3- type Parameters = Properties < string | number > ;
3+ type properties = Properties < string | number > ;
4+ type Parameters = properties | properties [ ] ;
45
56const style = ( node : HTMLElement , parameters : Parameters ) => {
67 const setStyle = ( parameters : Parameters ) => {
7- Object . entries ( parameters ) . forEach ( ( [ key , value ] ) => {
8+ let properties : properties = { } ;
9+ if ( Array . isArray ( parameters ) ) {
10+ parameters . forEach ( ( value ) => {
11+ properties = { ...properties , ...value } ;
12+ } ) ;
13+ } else {
14+ properties = parameters ;
15+ }
16+
17+ Object . entries ( properties ) . forEach ( ( [ key , value ] ) => {
818 key = key . replace ( / [ A - Z ] / , ( substring ) => '-' + substring . toLowerCase ( ) ) ;
919
1020 node . style . setProperty ( key , value ) ;
You can’t perform that action at this time.
0 commit comments