[email protected]
ç§ãã¡ãäœãããã/ããªããã°ãªããªãããè°è«ããå ŽæïŒ
React @ 16çžå¯Ÿ
ref: string
ãref: function
ãªãã¡ã¯ã¿ãªã³ã°ããŸã..ã
antdèªèº«
LocaleProvider
ãen
å€æŽããå¿
èŠããããŸãjsx
// We need to link moment before antd's dist file after [email protected]
<script src="moment.js"></script>
<script src="antd.js"></script>
ããŒã«
..ã
Antèšèšä»æ§çžå¯Ÿ
..ã
ãµã€ãant.design
..ã
æŽæ°ããŸããã
æŽæ°ããŸããã
https://github.com/ant-design/ant-design/issues/5140ã¯ç·šéå¯èœãªéã³å Žã«ããããšãã§ããŸãã
ãã¶ã€ããŒã®èšç»ã«åŸã£ãŠãããã©ã«ãã®ãã©ã³ããµã€ãºã倧ããããããšãã§ããŸãã
cloneElement
ãcontext
ãªãã¡ã¯ã¿ãªã³ã°ããŸããïŒ
ïŒ1473ãåéããŸããïŒ
ç§ã¯ãŸã ããå ç¢ãªçµã¿èŸŒã¿ã®i18nãµããŒããæãã§ããŸãhttps://github.com/ant-design/ant-design/issues/5554#issuecomment-290372828
ã³ã³ããŒãã³ãã®å®çŸ©ã®ã³ã¡ã³ããæ¹åããŠå®ç§ã«ããŸããïŒ
2-> 3ãããã«ã¯1-> 3ã®ããŒã«ã¯ã©ãã§ããïŒ
@yesmeck this https://github.com/ant-design/ant-design/issues/5570#issuecomment -290622803ã¯ã Tabs.TabPane[key]
ãšMenu.Item[key]
ããããããå¿
èŠãããããšãæå³ããŸã...
ãã£ãšå ç¢ãªçµã¿èŸŒã¿ã®i18nãµããŒãïŒ5554ïŒã³ã¡ã³ãïŒããŸã æãã§ããŸã
@plandemç§ã¯è©äŸ¡ããŠããŸãããã®åé¡ã§è°è«ãç¶ããŸãããã
ã³ã³ããŒãã³ãã®å®çŸ©ã®ã³ã¡ã³ããæ¹åããŠå®ç§ã«ããŸããïŒ
@infengããããTypeScriptã§ãã¢ãæžãçŽãããçç±ã§ããããã«ãããå®çŸ©https://github.com/ant-design/ant-design/issues/5390ã®åé¡ã«æ°ä»ãããšãã§ã
2-> 3ãããã«ã¯1-> 3ã®ããŒã«ã¯ã©ãã§ããïŒ
ã¯ãã httpsïŒ //github.com/ant-design/ant-design/issues/3759#issuecomment -272353773ã®ãããªããŒã«ãæäŸããå¿ èŠããã
@sorrycc webpack@2
ã«ã€ããŠã©ãæããŸããïŒ
ãªããããã¹ããšãã£ã¿ã«ã€ããŠäœãé²æ©ã¯ãããŸããïŒ ïŒ1083
ç·šéè ã¯ãä»ã®ãšããç§ãã¡ã®æè¿ã®èšç»ã«å«ãŸããŠããªãå¯èœæ§ããããŸãã
ThemeProviderã«ã€ããŠã¯ã httpsïŒ//github.com/ant-design/ant-design/issues/5656ã§èª¬æããå¿ èŠããã
ããããããã[email protected]
ã«å°å
¥ããæéããããã©ããã¯ããããŸããã
ãã£ãŒãã®æ°æ©èœãè¿œå
ãã€ããã¹ã°ã©ã ãªã©ã
ãã£ãŒãã®æ°æ©èœãè¿œå
ç§ã¯ããã«å察ã§ãã ããã¯å¥ã®ã¯ã©ã¹ã®ã³ã³ããŒãã³ãã§ãã
åãããŒã ã®ãã£ãŒããå¿
èŠãªå Žåã¯ã次ã®ãã£ãŒããè©Šãããšãã§ããŸãã
https://antv.alipay.com/index.html
ç§ããã¹ãŠã®ãããžã§ã¯ãã§äœåºŠãäœåºŠãå®è£ ããŠããããšã«æ°ä»ããantdã«æ¬ ããŠãã1ã€ã®ã³ã³ããŒãã³ãã¯ããªãã¹ã¯ãªãŒã³ãµã€ãããŒã§ãã
react-sidebarã¯çŽ æŽãããã³ã³ããŒãã³ãã§ãããããŒãžã®ã¹ã¯ããŒã«ã«é¢ä¿ãããã¹ãŠã®ãã®ãå£ããŠããŸãã®ã§ãããªã圹ã«ç«ããªãã§ãã çµ±åããããµã€ãããŒãã§ããã°ã¿ããããã€ã¹ã§ã®ã¹ã¯ã€ããµããŒãã3.0ã®æ倧ã®é¡ãã§ãïŒ
@JesperWeå¿ èŠãªã®ã¯Layout.Siderã ãšæããŸã
@benjycuiå®éãç§ã¯æ°ãæéSiderã調ã¹ãŠããŸãããã2.6以éãã«ã¹ã¿ã ããªã¬ãŒãããã以åããã䟿å©ã«ãªã£ãŠããŸãã ãã ããã³ã³ãã³ãåã衚瀺ããããšãã«çããªãããã«å§çž®ãããŠããããããµã€ãããŒãšããŠã¯äœ¿çšã§ããŸããã
ããããããã€ãã®æ°ããå°éå ·ãåãããµã€ãããŒã®ããã«æ©èœããããã«æ¡åŒµããããšãã§ããŸãã
cover: true
ãæŒããŠãããŒãžã³ã³ãã³ãã®äžéšã«è¡šç€ºããããã«ããŸããmask: true
ã¯ãSiderãäžã«ãããšãã«ãããŒãžã®ã«ããŒãããŠããªãéšåã«ãã¹ã¯ã衚瀺ããŸããmaskCloseable: true
ãå€åŽãã¯ãªãã¯ãããšæããããŸããŸãããããŠæåŸã«å€¢ã®äžçã§
swipeable: true
ãã¿ããããã€ã¹ãããé©åã«ãµããŒãããŸãïŒãã ããããããantdããã¹ã¯ãããã®ãã®ãšããŠèããŠããã®ã§ãããã¯antdã®å€éšã§ãå®çŸã§ããŸãïŒã@benjycui @JesperWe Layout.Siderãã¢ã§ã¯ãSiderãã¢ãã€ã«ã§éããããšãã³ã³ãã³ããå§çž®ãããŸãïŒããã¯æªãããšã§ãïŒã
ã³ã³ãã³ããå³ã«ããã·ã¥ããããšãã§ããŸããïŒ ãŸãã¯ãã³ã³ãã³ãã®äžã«ãµã€ããŒã眮ããŸããïŒ
次ã®ã¡ãžã£ãŒããŒãžã§ã³ã§ãããããããã«å¥ã®é倧ãªå€æŽã«ã€ããŠã¢ããã€ã¹ãæäŸããŠã»ããïŒ https ïŒ
@JesperWeã ãããå¿ èŠãªã®ã¯Drawerã®ãããªãã®ã§ãã
ãŸããããã§æ©èœã®è©³çŽ°ã«ã€ããŠèª¬æããã®ã§ã¯ãªããæ°ããåé¡ãéããŠèª¬æããŠãã ããã
@benjycuiããããŸããã3.0ã®å€¢ãèšãæããŸã:-)ïŒantdã«çµ±åãããDrawerã®ãããªãã®ïŒantd-mobile / Drawerãè¿œå ãããšãã³ãã«ãã¯ããã«å€§ãããªããäžèŠãªåå¿ãã€ãã£ãã®ãã®ãããããè¿œå ãããããïŒ
çµæãæ¯èŒããããŒã«ã¢ãããã©ã€ãã©ãªããã«ãŒãšèŠãªããŸãã
ããã«ããã€ãã®èãããããŸãïŒ
https://medium.com/webpack/webpack-and-rollup-the-same-but-different-a41ad427058c
çµæãæ¯èŒããããŒã«ã¢ãããã©ã€ãã©ãªããã«ãŒãšèŠãªããŸãã
éçºè ã¯å€æŽãæããªããããããã¯2.xã§å®è¡ã§ããŸãã
ãããŠãããªãã¯ãã®ã¢ã€ãã¢ãè°è«ããããã«æ°ããåé¡ãéãããšãã§ããŸã@plandem
lessãhttps://github.com/styled-components/styled-componentsã«çœ®ãæããŠã¿ãŠ
ã¹ã¿ã€ã«ä»ãã³ã³ããŒãã³ãã«ã€ããŠã¯ãåé¡ãå€ãããŸãã
ãããtry
ååšããçç±ã§ãããäºææ§ã¯ç§ãã¡ãèæ
®ããªããã°ãªããªã倧ããªåé¡ã§ãã
äºææ§ã®ããã«çŸåšã®cssã¯ã©ã¹åå šäœãç¶æããå¿ èŠããããŸãããstyled-componentsã¯ã¹ã¿ã€ã«çšã«ç¬èªã®ã¯ã©ã¹åãçæããŸãããåé·æ§ããããç¶æããã®ãé£ããã§ããããïŒ
å®éãããã¯åé¡ã§ã¯ãããŸããã çŸåšã®CSSã¯ã©ã¹åã¯ãäºææ§ã®ããã ãã§ãªãããã¹ãã§äœ¿çšã§ããã»ã¬ã¯ã¿ãŒïŒé µçŽ ãªã©ïŒã§ãã ã ãããç§ãã¡ã¯ããããç¶æããªããã°ãªããŸããã
@paranoidjk @ afc163 @benjycui
ã²ããç§ã¯styled-componentsã®ã³ã¢ã³ã³ããªãã¥ãŒã¿ãŒã®1人ã§ããããªããžããªã§éãããåé¡ïŒäžèšãåç §ïŒãåå ã§ãã®ã¹ã¬ãããèŠã€ããŸããããã®ã¹ã¬ããã¯SCããµããŒãããŠããªãããšãç¥ãããŠãããŸããã å¶ç¶ãç§ã¯ãã®äŒè©±ãèŠã€ããŸããïŒwinkïŒâããããŸãããã³ã³ããã¹ãã¯ããŠããã
èªåãã¬ãã£ãã¯ã¹ã©ã€ãã©ãªã¯ãpostcssãšæ¯èŒããŠä¿¡é Œæ§ãäœãå ŽåããããŸã
stylis
ãæ
éã«éžæãããããéçºããŠãã@thysultanãšç·å¯ã«ååããŠããŸãã ãããPostCSSã®äŸ¡å€ã®ãã眮ãæãã§ãªãããããæã£ãŠããããã€ãã®åé¡ïŒv3ã§ããã€ãã®æ¬ èœãããã¬ãã£ãã¯ã¹ïŒãéåžžã«è¿
éã«è§£æ±ºãããå Žåãç§ãã¡ã¯ãããéžæããªãã£ãã§ãããã v2èªäœã¯æ°ãæéäœæãããŠãããã€ãã«ãªãªãŒã¹ãããŸããã ç§ãã¡ã¯ééããªããã®éšåãä¿èšŒããããšãã§ããŸãã SCïŒsmileïŒã䜿çšããå Žåã¯ããã®å®è£
ã®è©³çŽ°ãå¿é
ããŠãã ããã
ããªããæããŠãããã¡ã€ã«ã¯äœ¿çšãããŠããããçŸåšåé€ãããŠãããinline-style-prefixerã䜿çšããå€ãèªåãã¬ãã£ãã¯ã¹ã®äžéšã§ãã ããããããã§ãïŒãããŠç§ãã¡ã«ãšã£ãŠã¯ïŒã@ rofrischmannã«ããcss-in-jsã³ãã¥ããã£å šäœã§éåžžã«ä¿¡é Œã§ãããœãªã¥ãŒã·ã§ã³ã§ãã
ãŸãã¯ãcss-in-jsãéžæãããšãpx-to-remãªã©ã®ãã¹ãcssãã©ã°ã€ã³ã·ã¹ãã ã®å©äŸ¿æ§ã倱ããããšèšããŸããïŒ
ã¿ã°ä»ããã³ãã¬ãŒããªãã©ã«ã®è£éã§ã¯ãä»»æã®JSã䜿çšã§ãããããåçŽãªé¢æ°ã§ãã¹ãŠã眮ãæããããšãã§ããŸãã å®éã«ã¯ãCSS-in-JSã®lodashã®ãããªãpolishedããšåŒã°ããå¥ã®ãããžã§ã¯ãããããSASS / LESSãªã©ã«æåŸ ããããã¹ãŠã®ããã¯ã¹ã€ã³ïŒã€ãŸããã«ããŒé¢æ°ïŒãä»å±ããŠããŸãïŒ httpsïŒ// polishedã js.org
ïŒå®éãäžèšã®ããã«PostCSSã䜿çšããããšãããã©ã°ã€ã³ããµããŒãããããšããããŸããïŒ
äºææ§ã®ããã«çŸåšã®cssã¯ã©ã¹åå šäœãç¶æããå¿ èŠããããŸãããstyled-componentsã¯ã¹ã¿ã€ã«çšã«ç¬èªã®ã¯ã©ã¹åãçæããŸãããåé·æ§ããããç¶æããã®ãé£ããã§ããããïŒ
ã«ã¹ã¿ã ã¯ã©ã¹åãã¢ã¿ããããå¿
èŠãããå Žåã¯ã .attrs
ã¡ãœãããç°¡åã«äœ¿çšã§ããŸããããã«ãããã³ã³ããŒãã³ãã«è¿œå ã®å°éå
·ãã¢ã¿ããã§ããŸãã äŸãã°ïŒ
const ButtonLink = styled.a.attrs({
className: 'your-custom-extra-classname'
})`
... // css and stuff
`
ãã®ä»ã®ç¹å žãšæ©èœïŒ
css
ãã«ããŒã䜿çšããŠããã¯ã¹ã€ã³/å
±æã¹ã¿ã€ã«ãäœæã§ããŸãããã«å©ããå¿ èŠãªå Žåã¯ãç§ãããã«ããŸãã ãã ããããã«æ å ±ãå¿ èŠãªå Žåã¯ãæ°ããWebãµã€ãïŒ100ïŒ https ïŒ ãã ããã
@philpl @benjycui
çŸåšã®CSSã¯ã©ã¹åã¯ãäºææ§ã®ããã ãã§ãªãããã¹ãã§äœ¿çšã§ããã»ã¬ã¯ã¿ãŒïŒé µçŽ ãªã©ïŒã§ãã ã ãããç§ãã¡ã¯ããããç¶æããªããã°ãªããŸããã
ãã¹ãã®ã¯ã©ã¹ã»ã¬ã¯ã¿ãŒã®ã»ãšãã©ã¯ã代ããã«è¡šç€ºåã»ã¬ã¯ã¿ãŒã«çœ®ãæããããšãã§ããããã«èŠããŸãã ããã¯ãã¹ãŠã®ãã¹ãã«åœãŠã¯ãŸãããã§ã¯ãããŸããããã»ãšãã©ã®å Žåãããã«å°éããŸãã ç§ã¯ãããåŒãåããŠãããŸããŸããã
styled-componentsã圹ç«ã€å¯èœæ§ã®ããå Žæã®1ã€ã¯ãããŒãã®ã«ã¹ã¿ãã€ãºã§ãã æåã®ã¢ãããŒããããæè»æ§ãé«ãã2çªç®ã®ã¢ãããŒããããæé©åãåªããŠããããã§ãã
2çªç®ã®@ philpl - styled-components
ã¯çŽ æŽãããã§ãã
styled-component
ãªãã¡ã¯ã¿ãªã³ã°ããã°ããã®åé¡ãåæã«è§£æ±ºã§ãããšæããŸãhttps://github.com/ant-design/ant-design/issues/4998 ã
PSããã¯ã styled-component
ããã®åé¡ã解決ã§ãããšããæå³ã§ã¯ãããŸãããããã¯ãäœæ¥ãæžããããã«åæã«è¡ãããšãã§ããããã§ãã
æŽæ°ããŸããïŒ
ãããç§ãçŸåšReactãããžã§ã¯ãã§AntDesignãã¹ã¿ã€ãªã³ã°ããŠããæ¹æ³ã§ãã Ant Designã©ã€ãã©ãªå
šäœã調ã¹ãŠãã¹ãŠã®ã¹ã¿ã€ã«ãèšå®ããå¿
èŠããããããããã¯æé«ã§ã¯ãããŸããã create-react-app
LESSããªããã»ããµã«ç
©ããããããªãã®ã¯ããããäžçš®ã®èŠçã ããã§ãã
// <strong i="7">@flow</strong>
import { injectGlobal } from 'styled-components';
import Color from 'color';
/*
* We'll start with just one theme for now. Define colors and other styles here.
* More themes can be easily added later. Look in ./App.js to see where this
* theme is actually used.
*/
const mainTheme = {
primaryColor: Color('#fd3d57'),
primaryTextColor: Color('#fff'),
};
const defaultTheme = mainTheme;
// Inject global styles - seems to be the only way to customize Ant Design
// PLEASE ADD STYLES IN ALPHABETICAL ORDER for everyone's sanity. Thanks.
injectGlobal`
.ant-btn {
&:hover {
border-color: ${defaultTheme.primaryColor
.lighten(0.2)
.toString()} !important;
color: ${defaultTheme.primaryColor.lighten(0.2).toString()} !important;
}
&:active {
border-color: ${defaultTheme.primaryColor
.darken(0.2)
.toString()} !important;
color: ${defaultTheme.primaryColor.darken(0.2).toString()} !important;
}
}
.ant-btn-primary {
background-color: ${defaultTheme.primaryColor.toString()} !important;
border-color: ${defaultTheme.primaryColor.toString()} !important;
color: ${defaultTheme.primaryTextColor.toString()} !important;
&:hover {
background-color: ${defaultTheme.primaryColor
.lighten(0.2)
.toString()} !important;
border-color: ${defaultTheme.primaryColor
.lighten(0.2)
.toString()} !important;
color: ${defaultTheme.primaryTextColor.toString()} !important;
}
&:active {
background-color: ${defaultTheme.primaryColor
.darken(0.2)
.toString()} !important;
border-color: ${defaultTheme.primaryColor
.darken(0.2)
.toString()} !important;
color: ${defaultTheme.primaryTextColor.toString()} !important;
}
}
.ant-btn-clicked:after {
border: 0 solid ${defaultTheme.primaryColor.toString()} !important;
}
.ant-switch-checked {
background-color: ${defaultTheme.primaryColor.toString()} !important;
border-color: ${defaultTheme.primaryColor.toString()} !important;
}
`;
export default defaultTheme;
Ant Designãstyled-components
ãšäºææ§ãããå Žåã¯ãã¢ããªã<ThemeProvider theme={primaryTheme}>
ã©ããããã ãã§ãããã«å¿ããã¹ã¿ã€ã«ã«ãªããŸãã
styled-componentsã®ä»£ããã«ã @ rofrischmannã«ããfelaãæå ¥ããããšæããŸãã ãã®ããã¢ãžã¥ãŒã«åŒã§é«éã§ãã ããã¯å€ãã®æ©èœãšå°ããªãããããªã³ããæã£ãŠããŸãã ãŸãã cloudflareã¯styled-componentsã®ä»£ããã«ããã䜿ã£ãŠUIãæ§ç¯ããããšã«ããŸããã
çãããäœã決ããã«ããŠããantdãcss-in-jsãœãªã¥ãŒã·ã§ã³ãå°ãªããã代ããã«äœ¿çšããã®ãèŠãŠæ¬åœã«ããããã§ãã
styled-components
ã¯ãææ°ã®ã¢ãžã¥ãŒã«åŒã®ã¹ã±ãŒã©ãã«ãªUIã³ã³ããŒãã³ããæ§ç¯ããããã®ããè¯ãéžæã§ãã
æãéèŠãªã®ã¯ãå€éšã®cssãã¡ã€ã«ãªãã§ã³ã³ããŒãã³ããç¬ç«ããŠã¬ã³ããªã³ã°ã§ããããšã§ãã
ããã«ãããå¿
èŠæå°éã®ã¹ã¿ã€ã«ã§ã³ã³ããŒãã³ããéšåçã«ã€ã³ããŒãã§ããŸãã
[email protected]ãããã䜿çšããããšãé¡ã£ãŠããŸãã
https://github.com/ant-design/ant-design/tree/antd-3.0
@benjycui @yesmeck @ ddcat1115 @RaoHai
cc @nikogu
ïŒ4853ãè¿œå ããŸããïŒ
ïŒ4853ãè¿œå ããŸããïŒ
äžéšã®ã³ã³ããŒãã³ãã¯APIã®äžéšãšããŠkey
ã䜿çšããŠããããããã¹ãŠã®APIã®ååãå€æŽãããŸã§ãããä¿®æ£ããããšã¯ã§ããŸããã äŸãã°
key => id
expandedKeys => expandedIds
selectedKeys => selectedIds
....
ããã¯é倧ãªå€æŽã«ãªããŸããããã®ãããªantd-codemodã«ãã£ãŠè§£æ±ºã§ããŸãã
ïŒ4853ã§è°è«ãç¶ããããšãã§ããŸã
TypeScriptã§ãã¢ãæžãçŽã
ãã¢ã¯Typescriptã®ã¿ã§ããããããšãJSãšTypescriptã®äž¡æ¹ã§ããïŒ ç§ã¯äž¡æ¹ãç¶æããããšæã£ãŠããŸãã
https://github.com/react-bootstrap/react-overlays/issues/188
rc-trigger
ãReact16ã§æ©èœããããšã確èªããŠãã ããã
styled-components
ãŸãã¯ã¡ã³ãã/ã³ã©ãã¬ãŒã¿ãŒã®éžæã®css-in-jsãœãªã¥ãŒã·ã§ã³ã¯ãŸã ãªãã·ã§ã³ã§ããïŒ
ç§ã¯ããã倧奜ãã§ããªãã¡ã¯ã¿ãªã³ã°ãæäŒããããšæããŸã:)
å°ãªããã¡ã€ã«ãstyled-componentsã«ç§»è¡ããäœæ¥ãå€ããããããantd 3ã«styled-componentsãå°å ¥ããªãã®ã§ã¯ãªãããšæããŸãããã ããstyled-componentsã¯ãantdã®ã³ãŒãã«äŸµå ¥ããããšãªããantdã®ã³ã³ããŒãã³ãã«ã¹ã¿ã€ã«ãé©çšã§ãããããèå³ãããå Žåã¯antdã§styled-componentsã䜿çšããå Žåã httpsïŒ//github.com/yesmeck/styled-antdã®äŸã次ã«ç€ºã
@codepunkt @yesmeckã¯ãé åçãªantdã®äŸãèŠãããšæã£ãŠããŸã
@yesmeck @ afc163 CSS-in-JSçšã«JSSã
ããã«ãªã¹ããããŠããå©ç¹ã«ãããã¹ã¿ã€ã«ä»ãã³ã³ããŒãã³ããããå®çŸå¯èœã«ãªããšæã
ããããããã¯ããŒãªã³ã°ãšã³ã·ã¹ãã ã«é¢é£ããŠãããããããŸããããantd3.0ãbabel7ã§æ£åžžã«åäœããããšã確èªããããšã¯è¯ãèããããããŸããã
ç¹ã«ã7.0ã§èšç»ãããŠããbabeltypescriptçµã¿èŸŒã¿äžä»£ã®å Žåã
create-react-appã§antd / typescriptã®äœ¿çšã倧å¹
ã«ç°¡çŽ åã§ããŸã
IE6-8ãããããIE11ããåã®ãã¹ãŠã®ããŒãžã§ã³ã®ãµããŒããçµäºããããšãæ€èšããŠãã ããã
ããã«ãããcssãã¡ã€ã«ã®ããŠã³ããŒããããã¹ãªã ã§é«éã«ãªããŸãã Reactã¯ããŒãžã§ã³9ããåã®IEããµããŒãããŠããªãããã.clearfixã-ms-filterãªã©ãå®å šã«åé€ã§ããŸãã
antã¯ãã§ã«IE9 +ã®ã¿ãå ¬åŒã«ãµããŒãããŠããŸã
2017幎10æ12æ¥æšææ¥åå7æ58åãAndreasCederström<
[email protected]>ã¯æžããïŒ
IE6-8ãããããIE11ããåã®ãã¹ãŠã®ããŒãžã§ã³ã®ãµããŒããçµäºããããšãæ€èšããŠãã ããã
ããã«ãããcssãã¡ã€ã«ã®ããŠã³ããŒããããã¹ãªã ã§é«éã«ãªããŸãã Reactã¯ããŸãã
ããŒãžã§ã³9ããåã®IEããµããŒãããŠããããã.clearfixã-ms-filterãªã©ãå®å šã«äœ¿çšã§ããŸãã
åé€ãããŸãããâ
ãã®ã¹ã¬ããã«ãµãã¹ã¯ã©ã€ãããŠããããããããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/ant-design/ant-design/issues/5570#issuecomment-336107229 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/ADUIEIQi6tXJB0336SQrtMrMCIHfvjNuks5srf7pgaJpZM4MuJYf
ã
OKã antd.cssïŒhttps://cdnjs.cloudflare.com/ajax/libs/antd/2.13.6/antd.cssïŒã«IE6-8ã®ããã¯ãå«ãŸããŠããããšã確èªããŠãã ããã
äŸïŒ
/* IE6-IE8 */
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)";
zoom: 1;
.clearfix {
zoom: 1;
}
@andriijas antd-3.0
ã§åé€ããããšæããŸãããããã§ããããã³ã°ãèŠãããå Žåã¯ãPRããŠåé€ããŠãã ãããããããšãããããŸãã
ã¹ã¿ã€ã«ä»ãã³ã³ããŒãã³ããšantdãã©ãŒã ã«å€§ããªåé¡ããããŸãã fieldDecoratorã§è£
食ããããã©ãŒã ã³ã³ããŒãã³ããstyled-componentsã§ã¹ã¿ã€ã«èšå®ãããã©ãããŒã«ã©ãããããšããã©ãŒã ãã£ãŒã«ããæ©èœããªããªããŸãã ç§ã¯ãã®åé¡ãæ¬åœã«ç解ããŠããŸãããããããæ©èœãããããã«ã€ã³ã©ã€ã³ã¹ã¿ã€ã«ã§<div>
ã«ã©ããããå¿
èŠããããŸãã ããã¯æ¬åœã«è¿·æã§ã...
ãŠã£ãŒã¯ã»ã¬ã¯ã¿ãŒ!!!
誀ã£ã䜿çšæ³ã«é¢é£ããŠããå¯èœæ§ã®ãã@malekjaroslav ã styled-componentsãªããžããªã§åé¡ãéãããšãã§ããŸããïŒç§ããæäŒãããŸããïŒ
@benjycui antd3.0ã®ã¬ã¹ãã³ã·ããã«ããŒã«ã€ããŠã©ãæããŸããïŒ ãã®ãããªhttps://github.com/twbs/bootstrap/blob/v4-dev/scss/utilities/_display.scssin react
import { Utils } from "antd";
const { Display } = Utils;
const Foo = props => (
<h1>
My idiotic example header
<Display xs="block" sm="inline" print="inline-block">my subheader is fantastic</Display>
</h1>
);
const Zoo = props => (
<h1>
My idiotic example header
<Display xs={{display: "block", className: ..}} sm="inline" print="hidden">my subheader is fantastic</Display>
</h1>
);
ãã«ããå¿ èŠãªå Žåã¯åæã®PRãäœæã§ããŸãããããã¥ã¡ã³ãã®ç¿»èš³ãªã©ã®ãµããŒããå¿ èŠã«ãªããŸãã
@andriijasã¯https://github.com/contra/react-responsiveã䜿çšããã ãã§ãã Antèšèšä»æ§ã«æºæ ããUIã³ã³ããŒãã³ããantdã«è¿œå ããã ãã§ãã ãšã«ãããããããšãð
ã¯ããant-design-proãªããžããªã§èŠãŸããã antdããã®ãã¬ãŒã¯ãã€ã³ãã§ã©ãããŒãäœæããŸãã
ãã®ãªãªãŒã¹ã楜ãã¿ã«ããŠããŸãïŒ
ã¿ãªãããããã«ã¡ã¯ãantd@ 3.0.0-rc.1ããªãªãŒã¹ããŸãããhttpsïŒ //github.com/ant-design/ant-design/issues/8233ãã芧ãã ãã
antd proã³ã³ããŒãã³ãã¯ããªãªãŒã¹ããããšãã«ã®ã¿äœ¿çšãéå§ã§ãããããæ°ããããŒãžã§ã³ã®ãªãªãŒã¹ã楜ãã¿ã«ããŠããŸããææ«ã«ãªãªãŒã¹ããäºå®ã¯ãããŸããïŒ
ãã®ãããªåªããããã³ããšã³ãã³ã³ããŒãã³ããæäŸããŠããã ãããããšãããããŸããGoogleã®è³æãäžåããŸããã
æ°ããantdproã³ã³ããŒãã³ãã®äœ¿çšãéå§ããããã®ãããã«ãŒã§ããããããã®ãªãªãŒã¹ã«æ¬åœã«è奮ããŠããŸãããªãªãŒã¹äºå®æéã¯ãŸã 11ææ«ã§ããïŒ
ãã®ãããªçŽ æŽãããã©ã€ãã©ãªãæäŸããŠããã ãããããšãããããŸããçããã¯Googleã®ãããªã¢ã«UIãé¢ããŠããŸãã
https://medium.com/ant-design/announcing-ant-design-3-0-70e3e65eca0c
Ant Design 3.0ããªãªãŒã¹ãããŸããïŒ ððð
å°æ¥ã®ãªãªãŒã¹ã§ã®styled-components / emotion / felaãµããŒãã®+1ã
æãåèã«ãªãã³ã¡ã³ã
@paranoidjk @ afc163 @benjycui
ã²ããç§ã¯styled-componentsã®ã³ã¢ã³ã³ããªãã¥ãŒã¿ãŒã®1人ã§ããããªããžããªã§éãããåé¡ïŒäžèšãåç §ïŒãåå ã§ãã®ã¹ã¬ãããèŠã€ããŸããããã®ã¹ã¬ããã¯SCããµããŒãããŠããªãããšãç¥ãããŠãããŸããã å¶ç¶ãç§ã¯ãã®äŒè©±ãèŠã€ããŸããïŒwinkïŒâããããŸãããã³ã³ããã¹ãã¯ããŠããã
stylis
ãæ éã«éžæãããããéçºããŠãã@thysultanãšç·å¯ã«ååããŠããŸãã ãããPostCSSã®äŸ¡å€ã®ãã眮ãæãã§ãªãããããæã£ãŠããããã€ãã®åé¡ïŒv3ã§ããã€ãã®æ¬ èœãããã¬ãã£ãã¯ã¹ïŒãéåžžã«è¿ éã«è§£æ±ºãããå Žåãç§ãã¡ã¯ãããéžæããªãã£ãã§ãããã v2èªäœã¯æ°ãæéäœæãããŠãããã€ãã«ãªãªãŒã¹ãããŸããã ç§ãã¡ã¯ééããªããã®éšåãä¿èšŒããããšãã§ããŸãã SCïŒsmileïŒã䜿çšããå Žåã¯ããã®å®è£ ã®è©³çŽ°ãå¿é ããŠãã ãããããªããæããŠãããã¡ã€ã«ã¯äœ¿çšãããŠããããçŸåšåé€ãããŠãããinline-style-prefixerã䜿çšããå€ãèªåãã¬ãã£ãã¯ã¹ã®äžéšã§ãã ããããããã§ãïŒãããŠç§ãã¡ã«ãšã£ãŠã¯ïŒã@ rofrischmannã«ããcss-in-jsã³ãã¥ããã£å šäœã§éåžžã«ä¿¡é Œã§ãããœãªã¥ãŒã·ã§ã³ã§ãã
ã¿ã°ä»ããã³ãã¬ãŒããªãã©ã«ã®è£éã§ã¯ãä»»æã®JSã䜿çšã§ãããããåçŽãªé¢æ°ã§ãã¹ãŠã眮ãæããããšãã§ããŸãã å®éã«ã¯ãCSS-in-JSã®lodashã®ãããªãpolishedããšåŒã°ããå¥ã®ãããžã§ã¯ãããããSASS / LESSãªã©ã«æåŸ ããããã¹ãŠã®ããã¯ã¹ã€ã³ïŒã€ãŸããã«ããŒé¢æ°ïŒãä»å±ããŠããŸãïŒ httpsïŒ// polishedã js.org
ïŒå®éãäžèšã®ããã«PostCSSã䜿çšããããšãããã©ã°ã€ã³ããµããŒãããããšããããŸããïŒ
ã«ã¹ã¿ã ã¯ã©ã¹åãã¢ã¿ããããå¿ èŠãããå Žåã¯ã
.attrs
ã¡ãœãããç°¡åã«äœ¿çšã§ããŸããããã«ãããã³ã³ããŒãã³ãã«è¿œå ã®å°éå ·ãã¢ã¿ããã§ããŸãã äŸãã°ïŒãã®ä»ã®ç¹å žãšæ©èœïŒ
css
ãã«ããŒã䜿çšããŠããã¯ã¹ã€ã³/å ±æã¹ã¿ã€ã«ãäœæã§ããŸãããã«å©ããå¿ èŠãªå Žåã¯ãç§ãããã«ããŸãã ãã ããããã«æ å ±ãå¿ èŠãªå Žåã¯ãæ°ããWebãµã€ãïŒ100ïŒ https ïŒ ãã ããã