From c2aabb325948ce9dc2592cbdd323accbf2104f3f Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Mon, 27 Dec 2021 20:40:21 +0100 Subject: [PATCH] Add style manager default types doc --- docs/.vuepress/public/sm-type-composite.jpg | Bin 0 -> 13144 bytes docs/.vuepress/public/sm-type-radio.jpg | Bin 0 -> 6789 bytes docs/.vuepress/public/sm-type-stack.jpg | Bin 0 -> 12744 bytes docs/modules/Style-manager.md | 58 +++++++++++++++++--- src/style_manager/model/PropertyStack.js | 2 +- 5 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 docs/.vuepress/public/sm-type-composite.jpg create mode 100644 docs/.vuepress/public/sm-type-radio.jpg create mode 100644 docs/.vuepress/public/sm-type-stack.jpg diff --git a/docs/.vuepress/public/sm-type-composite.jpg b/docs/.vuepress/public/sm-type-composite.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35822e8269226022d961facaefa2e0ee44685f71 GIT binary patch literal 13144 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 literal 0 HcmV?d00001 diff --git a/docs/.vuepress/public/sm-type-radio.jpg b/docs/.vuepress/public/sm-type-radio.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a75bdcc1a23bbfa128edddf092e76fa60ab50607 GIT binary patch literal 6789 zcmd6qbyQT__rUL+q;n{#p^+4n?vyTJNF{~=MqubhR0I@IT0lWSIs~LaQIrq`MClX> z5do=(fC|EIc&_F17w=nt{q|aO?q~Md`|N%8IcME-kH(MY0A{UVybA#6>IwlQz+ZCo z8KBh+z`BP3AOIt(wE^I0p2A93L&M(0%vf93Knnmt0HDw@z!SV6Gyvd9@b@)4tB$s^ zwm~EN0SG_}AOHyfaK!p~8=liPKOS0FO9SmkH2N#dG3|~LV-RIXRL2C3KBj*|XtCbD z{r~`)5PeQN;ijmv@LS-qpmdmXMQ^MeE>#JaGR0 zq9%@5cSm1mw1$_bw<9400DjK-*bAULt}U8aWN8UGX=zbOF=F|D$v^D;W%ZBYcx``L zY@7bMW*}qVU%J11|I&Ho1Ay!fu{KG6>74EWKvOgTFi-xaL>tceDm9U7?1ah zo4>!eytsH!P>>iNhZQ?6=r8%F2EQ!-9)61_b{y|l?a-Py7smh(fAn!tv0fft0lsKI zZ$~T+E&4w<@qg_2TUx*6A!3Ge!TI6{#84RGF2fUCiOWrJ#{1*F2xvUv?^gIfbo(ub zWBj?Vi9la?2%zl60Gc-_0J_!(!05>Vs9g@R2mG~e2Ba9^_~cn~F8$p1L?-tC+5Wc% zl1Tgu@x!~KkJTDx=4fnyZ{RT#&%|*92gm?w00poB8~_g>2#5lbfDE7jr~+Dm9$*ZZ z1J=L=01LPQo`5e91cU=uffyhjNCIvHcY$1>5GVtxfLfplXa$}FFMwX)EieL10kgm& zunKGfyTCpOf=G}Oqz73*PLK~21|>mRP#M$$4L~!{8gu|%K>`>6hJ)9@crXRL3*HCI zz#6axd=9<>2fzt%4qOKR0KY?^5DEwi!Vckwh(lx{Y7l*hIpjRV72*R4g+xITAeoSS z$OA|t;EP-CbK)CKAbjey2M)1mp$D(E9RSbdqwCrzC?UOC&P^^yZc2_P zze1i#{*e47`5gH-3OWiQ3JnT7iU5iPiV})v6cZHNl$4bGl&X|Al>U?nlx371lrxlH zspzT1sC22EsV-AxQ8iKxQms>yQu9%(QD2}ArB0`=qkcpEnTC{xpGJemktTvBi>8HU zjAnqd^nAVf_CT%(GE80(VNIHHxEjnkqD7pf=4!Q+;C_N9o20fPk8hs&s7yTj% zff7LJqAsH1QI)8E)FuNR!x;t)Loh=Y!xM&CMkpgcqb{QdVbqC3%>Tx?uATmfA7x%#>Gxdpf_xFfl%x!>`S@yPPH@TBpy^K9~R z@*47n^H%Uq@{#h%^11P4@OAU;@eA-<@?Ym~;{PPTETAh8Do`OXEl4S-BIqNSFF1S> zaZ>iA`^kGJ-wHv5q=ejrvV`6ULxiP;@xu3n2Snf^av}tge33Cx3Q;xDK+y`(IWa~t z1F=Z4Cb4yKUU3`oWbtnC!&6eHJWds!nv$TC(36OicqH+Mq>v<5GD~v!H05dS)0a;- zpWZqndy?W3nh&6WN=xFXiBJ>T;Lm zTIIgUOUwJq*UE1wh$^@%lq-Bv6i~z|7Ah_%aVt40-B+4bMk_lg=PA#saH%+|q}QoWp?^;QuKv7%kb$qkBSVOxo?)ut zv=N^X!Kld?FxE9rHGXFzVB%x)*c4%EVwz?8(M-ZD+^qW?{W<${<>z+I)y)&lrz`|5 z0xa4w)EGNV8D`H?(=x?!)=J#!l2xzu32VG{vklS)V^eIiW229C#8u+{Tt&2Jrb1&|>8@rddA9+}MRC|(mI(W7a=m_qF zPA?9xV6OphVec64Ss!_y+diAV`o6_}px=4FW`7j%GSwF#7!VyW7pNSV75Fs>6I2&W z8%zl93lR#54Ot4+4lN3Ug<-?m!@0t*hRhj{1vsX&5l3jJb z`a1GdWJ=_hYnIm@MX^U+iCTz08(k4Y72_K-c3t6m?hV)t{EhzD)3JAA596HUdg4#T zr^g@M#NO<=C2=eB)=`2>LVu!kVonkwiI6m!tdd-sLYoqrvXE+++L(q;i%a`*+y3^e z^fT$X8Dtp&8MB!Nnay{2?U7s(s+qX}3Sal3{ zns)Yg>36++q5YzxTdlk8rP9mRSMsk~dSrW=dZl|C`=t6BUQ4}h=$Gzqd?WLw`K{dB zM+1rjPX|>7pATscy%^RV?j12285p$~9UrqBn;mx^|1{w-u{9Yuxj%Jf8a^HOj^e(?Knuo(4`@?-iE=Tg}x$xp4z+RJZOY*!Xn zy;t`?$E?w=Wv>ga*Keq9^le&gE^hg59sO~0n`OJ?%b73jJ0?3byPmuIdvRY`zLtKI z{nq{6^83<$&;jxw^T){_j}G+@r;j|3j*iv=Dm7;>Cmi7XjCdCSkEVbq00uo4VoQ7< z5`RcI3^;nQ7A|YKxjcIEqK&PylQ{|1bY1K^GjfG2o!-NUN8QXUuxoo2ZX}lGyn*N zz~CSpMhgG4?^p}KY3WiBTm$syP)G?iZgU1xM@iqB=jxF>r#0%N%+Ay^1`=aJ04M^A zfJ2Z!#{_91ToQC@rj9;Wlke9+pAT?Ls^@QRIn@rf)6e-5UF%>+lK=&jm>?~b7El2; zIT^)qPfqq+39bnfT{bd@cEwM4>G|eyh+OCmJ$D<}a@w^W%q~U7Gu6(dEvhP7JxTvk zA_UHNeQqj}Gok+f<}71E2C53efjkuC%0EDApTwHop+eKbNm0s4+o?6X_t~!p)$FxK z8es(iT!l?4<$5i8LR3b|J=H(RjrVw#2@37G0%_D|=Lb|U5#!70!P&1u)g;!MnJU6t zsC6)F{X#0>%f>y%PoE^YI2>CJ%slQiK;<(0RGx&K=W(vE& zF~9Hm-L=lSa*#(xrE1!9PZrZX@byiHW1asrJsMLuzv_~w9@RoBxe&>{HM@2OQ)O&_ zy(BD5Xe?paKj7kP#o?f!{LS=SMJlaJO4sIOpS`DPvXzc%lf!S_=K0#wqlZZ`KF1Kk zQ!ZaH(7P{JQ#EGvs9+hdyc`fS+m()hBDr44{<*(rk5LbDZLFYPd8pP8RuSLtQ(-%yk=EuMKm=f7XVNtN79fe!V7e$u$q zHq$>kKJ~PcTi82Y|5-=vf$Y3s^_e)Ml#^6Kg0Ye1vke&2-Ks`RQ?%KoU~HTV2dB*B zN^ZRST~VG;$%AXDQf1rxYr`%S@!`GaE0>3Oqq|71V$iZm5}v^KLL+Z;O}3tT{fMt~ zDfJsYy{<_ZW6`1cRklUt%xuQxslmqLxn|GhVlkbj)=K)wIBsktO$wJoS*8UOeAiOm z)@=Q;tk}r)i9IuOi(x3mXR4>lN=u{)Q$s^pu*Hm$q?Kz`*{bZ~p zBA+skuB1~aTj*YPPsjYoShe&G3%&A|(xE~0zA$gD%LA1HiHSDBS~8a%DG-& zYqmBL`Bc3b?pt3*wt^ z1O1*u-t90}-MXMwav_6EL;c#Y8*4y~;!Ey3hD>V)jODk4F>jVVw|lAK-`LjdMCwLJ zzvO=CuL>%cp1Qpdeu3ZiZf4g`=H?ov?8=hHi$t#0(g=mhRAnOj-*G!?Gwu`O~y4kB)95tKD<$GuLvGl2@mLvujS|S z>*yJYh46XPiX9uWT~L^AiV!3}mC7szZk&|!+)&r^rra`XkR8~a9I#2F9;_SRkzNdan>Z<*~ zm7G*?AQqc>Kg?UR=fX(U#7u=sv}4`Jwz+H!X6c8NfW1iiW~|b;w-CQTUDilj>6a@D zBD5h%lLqgkm}rZmMUGn>|bwxaD*1)V>dxfOx-V~&5-BXNq*&ft z!}msIO*gzVwv1WKStye5VQIOwHkhFFc-JNPNdT`28~g}3n10{)epmfURi1*eVcX2Q z_`%}RAeL=s=N^)%z*uf)U_3_DDQ_54gheeN!Msu5H5`9_B&WCK@mR2yn zmbV%+W4z$R0@Ib;vUpK3M&w&p;X~Ql(=U2WYIElzlIQO(WaO-aQ?4>JTR66rz^L40u$!__ZqR__| z4me8>zZWgVo_ZqvWo1A`cjYiZcS~@jNBW?XS{JzEFZEAo-mLOx4?u4wlCIi3O~T)z2k3Bn3M0sQ`HU? z3&B(;O79D%aOal`)R?t|VgmE)CX=T|$}1brIt$#$VPik>A$f-A3 zJ+5BjV9vp>@ZBA2+PghCf@6vt9cc8qn?xa>quX)NPv%zlO%)-s^EP0QeZ%N4a1 zGv+dO>A)xvJCnNJ+T<-4TB|#{u@bSdnkQgF2CdIS!7JPR)@=?-)Y_m#$)3(&(>_W9v5nlO3S;0(h7A~jKOn&Bl!G|X9U9VWgEz>TQo%Bgdu@a!n zNM1U9Rk^%MFx|t{(8B!T?!t>&rYQe+FT<9q{-AV2A;HT>fQ-zx%#Wlz;Zn+hV*My1 zlpNJrfh=iu%+0KGxZxfLYYPcFBbe}We60%WL0_be{YDwzw^;v-#aI0O28moV1yRpQ z8;h-L_#hxx_jqYsPLGJ>dnKRl9B~d2`Qid%v|cESOz-f^MMhkY`HkZI!j9@@&+@Cy zv*odLCD4#TpC?{U`@j|J1)_iy@!Wr(U{tq zE9#n@6B63$h<5MN=zX7i>2aTxoc)d7#`c&iCd>lc`hO%Y3qj?f;kv1!e<18gskG8a zbf_OXPesNE@m(d$FBUA1-@`}=fwfYj%T%Y6<_(iMc&eoLYbO1l*9Amdc)ZjyMP0S< zE#EQ@FmIKWv*Xz2!geFO7-dA49&hmFtVJ~UE5~-d=C|#yPFRV{a?i}5<)bw-jv&3I zef#}H+*W7V=0WSNz}HicJZf1p@K21Q`O+1o?-7#71FsQ~5nIiVcE4=qEX^{=vcL)6FK;r>Ut|US8f@Ua4nt&hz8N%2W3Uhb8NW zk01d+p3H-Z_%3IK#3eC*j&y=Lt4i|5syLl{B9fz|A&8*lBuLI6IcE_8 zl{=j8e&L*V&UyFVKi*xh)|y_wUES4PU0u7Yy7%17+^hhUN)KHe0YFWS3%~;Yq?>&J ztmtRw76^a+z$004#gdh4smGn$&2 zGhz+{C;&Eq0q_HWjh&CDmVvV2ZP#i_3XDF;Mt=@-i@r@E$3W6JkE$*s<1PAc5ZKPs z+ZO;px=0y8dj}soBo0Gj_W)ndTmCT;liIr7VwBr?ka{B(L}JQY?DQMH^S3s?VcA=3 z4~5wy+uZ8xX%Dr(#a&1o;qT{w#HgA`9PaPp5P-xJNX+8y2X#T>??_Avb+GXP05rT? zzORFwGZNoLVmxm{eFY?z0st&Lr@vs^zhGa7he$mEK*7T^(A&ky*_V;Sj+2pJTwIJ% z)gi#$!Pl2Z*T&Ax#@n7z!2{}P0}BLz-{yQP1rXobmJw-W5q@zI5gq|vr1}4#e_Q!S ztA7t}*Y>v-XL^5IGZ6XEpS(Y1|Kxe(1Ay2$(l+sb@@z8zpz#F&P|p3yW61*m!Y}|p zjQnLj>L<*{?Up5$AW)R>o0oT(RXlk@OFS9hcZTbnG4Jbx!f>&7he|- z7^4g9U#;-}Q0y-{+``}d8VN`WegUM`ya3S%DS&z~1fY@N0;ra`$QsZe>!yiq4BWnX zCJbA@`8^UN>;G2%U4asZd_?haabmn>E9e_C+WC3=-(uuDaa*7RH~=9)3Qz&`05iY= z@BjjUC?E;Q0!n~7paU2JX25;G4sZsbfHx2TJO)C6a3BhZ2U37c;1y5+lmb;iEzk(G z0v~}MU=a8WOak-37hnU}1CD`jz%>X2!UW-iNI+B|1`sQV8zcY{1Id7tK$;+ZkQwL! z$O!}k`GFpTo`a%5iJ(l-Yfveu2Gk7t2KD{~)JrrBG!isMG#)fbG*vVsG&?jev?plM zXqjjwXb7|}v~jc*v}3ei==kWg=-lWM=xXSu=uYSX=;7$8=tbxa=-ud(=o{$YFfcI4 zG1xIgF;p?kFkCT$FrqPXFsd;=V2om{VVq-PVp3spV@hM{VA^2%VuoX8U{+wZV~$~N zV1CEK#bUq`z*5FC$AV!!!%D>}!)n7C!`i~S#wNmM#g@R#3RPz!c)Mr z#Ph?8#Vf}9fH#YGhL4ZWhA)e6j_->fi(iW0iNA#Zoq&XZmq3lco*;xEivU3|MsP@o zO~^_pM|hv`5n(D}9pMP!J`pw%8<7H$4bc;#ETU$jX`*v5378+O1BQa5!DZln@HR0f zF&nWGu|07Z@f+e!;x!Uf5@r$w5<8OTBn2ehBpaj{r0k?>q^_hrQ&drmQCv{cP|8v|P)1T#Q%+J| zQ87{}QMpkiP&HC5Qln9GQR`6$Q0G#2Q}5G|(n!+S(L~bJ(#+AK&~nl0(+1JLp&g<< zr=zD+q4T86pzEaDrzfYErFW%Irf;L)VIX0UVQ^tcW@u;FWh7&iV{~UsXY67;W};ims}mnxHzZMyF<{ zR;qTaE~*}^-lc)3VW5$zv8u_X>8;tKg`%adm87+x&8iL4ZqxyE)O3<`7IoQmy>#E{ zVd&}VW$A6|^Xos>?=>JXur??&_+}_?7-u+d#9`!T)L~3$Y-wC-d|{$!l4$b9l+QHS zbkL02%*Cw99Mjy`yvY3ALdhbX{RKo9p`(_sm}W@ z3ND#0C$6fluUs$Obli&FZrn}WtD#uX2he61G0Y9t^8X%S98mWV{1EnVD3B`<9=P>L`B7mIT992( z$780)p^sOB<$_;70X?yO(hBz_2!Ni$(Dw9yzh!znOd{n zlf92?!)Xg^yJ>&ae*VGp!~RF7k82&)9rK;0ofBPpUBlfP-F-dEJ)OOBz3qL{eXacx z{mlbn1C4_sgNPyFp@vVwpBjcmh7lv8BTb*hKevoZjkb;58~Zq}INmd%HZeGqyfJsfz{xaus^%s#Z?^hI8hE@$$=hy7k z_SSvYe{6(p;%}yIF>IA?3v9RUDDQmUwbh@`s6zhK7!bg@J*Ifq{jCg^eUE92~q` zLYDaWczEDjBK?CvXz1uzm{^23IE17G1O$KZ|I6U!0|3SXW`Rjm5EwuKgHXYsn=YUk znckqFB6Eq`tmQXCLr2BH1fgIdnMgM3Uur-osA%XIm_z^w6%~YvMu>@uih_w0LP0(N zU~~*7ViJBi2-&e-XhO}XzW11*!5dOTOq&&f#C$tpFJ_^S^5o-2zG2A)^&%8t5P<9s z9UTn=3myG$V}QUYO#H-hdNy9Dp$V@cXvZ}lGqk@5Zz?ZK$=qRDGdAb~={}ep)5p!=%cZ!e0P+r z=i2gw?8;By<^9s|OZ{s<3-=)vG*&W(uE;cv!fOr71xJq4h-;A?7my_inrFbgzLM68 zkztE<3U3smVxB+qQypp5^ziQdqrrDU)|uxxQu+U<0xWi`#E(j;@L1ULKp`yHuP`{HzFR_5fN^-anGtGTv2*i1_TTY$vCP!f< zlWg8LrKtg1ZzuB!z4FH-)y(I#JB&(DwGO6uHm+qk!^UrsC1;gEF@pZ0HtSa>=Pt#Z z7uw=&&&SMs=f_Wn)?Q2vi(J-J4NE2Jv%rV(CL;)OO`Djh%$_dvs%grqW+4xN7lwwa zF(y6XlF5=7r!@pq)V zgmnmVQpjGsG`;3@=*>t_U zp=+i<{nc~lvuOrBu(U*vsM33Bi=Co{cP{0xMCl82?sXQ{P=8(2swqC&L zVOo`*qd`2I zaw}d}?&0O5V=Wal7iAlA3jP)!0Sd5OQY0nST0h{O+i?^m+Ij*O{8$@oHr01%$6qwl zvvxmL^+S=N`EuIsyqEhfSyj~N`ugmBDLcAqNd2L=`SzwRhqOEk8L5%neZ#iy2J=e$ zC95nGCsz4zm!|VxCvgHUIwMXR-0%^lt&qv@UH!L6Y?ZLd%ZQIdhoQ9(DA?2dFWkvvE%T zq5tm$F((2E#8yPUx@o7D37Li23|Hi`Ym?GC0^>URAzzyRn>KEwB3@ zw{*D|ug)yb9vhNykP?}mk4YV!o8$Lt6_7tNzucn!{joI9; zhMztsK8Sb(gT=UiE6#@#E6Nu{n%WmxZogiY#4z?VD0sTCeOHA$>u6jWJ24a!{%Sn7 zqWAQKS(;p#RKNg(8YRO^-m8AW^zi;NaT<62+0@Q zr6k{#iBXacyPul=Htzn*ywg)`yUHT2@3M6!_9ySv;U_T{ejN;)iGMY|J;hn65E=74 zct}%>pFVsol4WKE(Q|L2!n=0o>K&&ar;MOsrc#|| zsYft$zK6~8is2Qz(?)xVj;^vTuZ+1=?AtDm13|JBSRV&oUdb%aaMTl{mMQm)@Rk}9 zK^hwNDJp`2>BK@+8RjFoZn3>6w}e~~e&WiCEF-soE*1Un(G80~^tZ+{a&waIIa0Ga z0*@_p5GKw^XXe7K9bwz!NRjDqHAYL5W( zVY@gY!5hu?*)mZAR)7fPlyCkM;-bR1PN=`kCd$<5$F$TknW5&N-pm3gB1$KQN9MyJ zvw8-uTwJ>9ee0)Gfl89>to`1fz}Q=AswwDq;Enak;M={X1yTknOkLQKgL3Pw7e27r zsa+9{4Btx(pmLX8ir*NIyeyi=QVKxVK<*EPOD^z5`o*u231K=6;rB0%I5V)|#3kV$ zlq~WgmEZhJWSsvoIcVtGy^~8U)c1XjJk>d(>5A|o6ypYXnv{5PV&*@Y(Gg}NEGY4k zIhPWipeqUy?Vt#AU&*gLbQpf0y{GR}N~Nbda#bvm6>~;!fW8kZ zI}6}o^Ru`Cgb&AiWp^8Yxh)pQhE96?n0}{2hg!CLS?!-Ifoar!cK<-im!Ldk^Znez zZ93x{;8Rfj$!Cem8zA$-Wi9W2u?Gd0d|RJNDi5OAvGw=+^~Bqx^tRHzBjQr5a(;BV zk{@O%>t~7JtpN*YtcVj>er3|WI&QF0@k=d7`fkxXPPmX+nh$6+WnYdM6M6PqugUxa zN|DTbtkfZ`J>Ch%8^=tma7N~Nu14=$dYOpe~(uVI8htI@rLWoxKWFR|3$f4rAVD6 zcTFlm%COdmXwfjI{6I?oRB?XymwKM^p0!p(C4hX?(#Y_KRB}Y6lfPRmrJcCUIYC-R zu`=oN6bh!8zR>JDVVKx`hn`VhAGMC%KZinF!#D?0GS{@1MqDfJmc^F+qu&(`HhEyF)?KCpAh6KVZ(Ai=5kfTg4f4>b{|lU%iV_ zEjCNrLoFya>s5Q_EjLeiR}PvS&Ff5d)dYh#4FUQKKSIlQsKmNnl$>PTi4yA`kcCN^ z3CJtNcv)moofCg|%oS>?H?|ry-b`{3*@Yj!+fnV<&Lvr0`0A*jveU=Yl~Uq$#v+&+ zlPKsb$bfO@ExCeCky)$?qxv=dufQz-?!%oyr`{KW-BVM%MFEQ5^SP64 z9(s0bJFT&03uXejui`r%IB<|aHM+EuldPE5u&CeIR;w7v)p|iKub$|1M%A6}#=RTQ zoc7~A?d7(D#hC9T8{4{^S(6?`!!{EHcL|d5RyQpAK8l&$Ih5p3?G!g*s~<8^?eAwG z-4U2Y+?$t+MsLlIfWS2#H^HU{X*0p2S0gYh22c& zZcmeTyMRK$3C%Dg7@(@3ABKqe6APgmDj98*+bgPYbcj~#`&kY9ETmKk3e}@`NLUuVKWYqQ>{M#G2@#p{@3nnI`>&B*RL9zl)OioeHus z37XN5qeVt2D!ryRbk_V;d0b;7!i7ZQ?PIqlsB8*>kQh&I&vT9h z2T@xyEQG#3%SLUr%+ixbTW4D4mo~$6zl@Okh!m>1@?YG={4?^bg%_(DJT>PqtvPE$ zYUU0%l*0~4L8q{_GTw8=^Zh*;`osAIP>&Gv(TJVrd}eg+YPwqJu≪^1=Q`sBvw_ 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 literal 0 HcmV?d00001 diff --git a/docs/modules/Style-manager.md b/docs/modules/Style-manager.md index c3a54fb27..16ddb0408 100644 --- a/docs/modules/Style-manager.md +++ b/docs/modules/Style-manager.md @@ -126,11 +126,13 @@ sectors: [ name: 'First sector', properties: [ { + // Default options // id: 'padding', // The id of the property, if missing, will be the same as `property` value type: 'number', label: 'Padding', // Label for the property property: 'padding', // CSS property to change default: '0', // Default value to display + // Additonal `number` options units: ['px', '%'], // Units (available only for the 'number' type) min: 0, // Min value (available only for the 'number' type) } @@ -172,7 +174,7 @@ Let's see below the list of all available default types with their relative UI a #### Default types -* `base` - The base type, renders as a simple text input field. Model: [Property](/api/property.html) +* `base` - The base type, renders as a simple text input field. **Model**: [Property](/api/property.html) @@ -186,11 +188,11 @@ Let's see below the list of all available default types with their relative UI a }, ``` -* `color` - Same props as `base` but the UI is a color picker. Model: [Property](/api/property.html) +* `color` - Same props as `base` but the UI is a color picker. **Model**: [Property](/api/property.html) -* `number` - Number input field for numeric values. Model: [PropertyNumber](/api/property_number.html) +* `number` - Number input field for numeric values. **Model**: [PropertyNumber](/api/property_number.html) @@ -207,11 +209,11 @@ Let's see below the list of all available default types with their relative UI a max: 100, }, ``` -* `slider` - Same props as `number` but the UI is a slider. Model: [PropertyNumber](/api/property_number.html) +* `slider` - Same props as `number` but the UI is a slider. **Model**: [PropertyNumber](/api/property_number.html) -* `select` - Select input with options. Model: [PropertySelect](/api/property_select.html) +* `select` - Select input with options. **Model**: [PropertySelect](/api/property_select.html) @@ -222,6 +224,7 @@ Let's see below the list of all available default types with their relative UI a property: 'display', label: 'Select type', default: 'block', + // Additional props options: [ {id: 'block', label: 'Block'}, {id: 'inline', label: 'Inline'}, @@ -230,9 +233,48 @@ Let's see below the list of all available default types with their relative UI a }, ``` -* `radio` - -* `composite` - -* `stack` - +* `radio` - Same props as `select` but the UI is a radio button. **Model**: [PropertySelect](/api/property_select.html) + + + +* `composite` - This type is great for CSS shorthand properties, where the final value is a composition of multiple sub properties. **Model**: [PropertyComposite](/api/property_composite.html) + + + + ```js + // Example + { + type: 'composite', + property: 'margin', + label: 'Composite type', + // Additional props + properties: [ + { type: 'number', units: ['px'], default: '0', property: 'margin-top' }, + { type: 'number', units: ['px'], default: '0', property: 'margin-right' }, + { type: 'number', units: ['px'], default: '0', property: 'margin-bottom' }, + { type: 'number', units: ['px'], default: '0', property: 'margin-left' }, + ] + }, + ``` +* `stack` - This type is great for CSS multiple properties like `text-shadow`, `box-shadow`, etc. **Model**: [PropertyStack](/api/property_stack.html) + + + + ```js + // Example + { + type: 'stack', + property: 'text-shadow', + label: 'Stack type', + // Additional props + properties: [ + { type: 'number', units: ['px'], default: '0', property: 'x' }, + { type: 'number', units: ['px'], default: '0', property: 'y' }, + { type: 'number', units: ['px'], default: '0', property: 'blur' }, + { type: 'color', default: 'black', property: 'color' }, + ] + }, + ``` #### Built-in properties diff --git a/src/style_manager/model/PropertyStack.js b/src/style_manager/model/PropertyStack.js index 44421576a..bdb987fe3 100644 --- a/src/style_manager/model/PropertyStack.js +++ b/src/style_manager/model/PropertyStack.js @@ -15,7 +15,7 @@ const PARTS_REG = /\s(?![^(]*\))/; * @typedef PropertyStack * @property {String|RegExp} [layerSeparator=', '] The separator used to split layer values. * @property {String} [layerJoin=', '] Value used to join layer values. - * @property {Function} [layerLabel] Custom logic for creating the layer value. + * @property {Function} [layerLabel] Custom logic for creating the layer label. * */ export default class PropertyStack extends PropertyComposite {