forked from ant-design/ant-design
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New Component: Typography (ant-design#14250)
* text with prefix * add edit style * support editable * enhance accessibility & type experience * optimize IME case * support copy * add locale * add secondary & disabled * add ellipsis shadow text * split to 3 components * update snapshot * update desc * change lines also need update ellipsis * skip aria when is in ellipsis * add ResizeObserver in _util * update snapshot * move TestBase into test file * update test case * update doc * fix typo * important => level * use rows * update demo cols to 1 * fix cssText not work in firefox * update doc * add miss point * support extendable * update snapshot * fix doc * copyable support string * update snapshot * update doc * update doc desc * adjust style * full test * reset after test * rename * update snapshot * fix compile * adjust style * update desc * update prefixCls * update margin * adjust * nest wrap of tag content * adjust style * update comment * rm % * one more thing * tmp of measure * merge string as children * update snapshot * update testcase * remove comment * use internal variable for configProvider passing * update snapshot * use expandable instead of extendable * less variable it * update demo * update less * adjust code & mark style * remove mark padding * update measure logic * support nest element style * use childNode.textContent to fix react 15 error * update css * popout Typography * add link style * adjust doc * use ellipsis instead of rows & expandable * update doc * update doc * update doc & style * fix typo * add css ellipsis support * client render * update snapshot * enhance copyable * support onExpand * update test case * add test of css ellipsis * fix logic in react 15 * rename onChange -> onSave * use tagName of article * fix lint
- Loading branch information
Showing
42 changed files
with
2,782 additions
and
89 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -59,6 +59,7 @@ Array [ | |
"TimePicker", | ||
"Timeline", | ||
"Tooltip", | ||
"Typography", | ||
"Mention", | ||
"Upload", | ||
"version", | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
import * as React from 'react'; | ||
import { findDOMNode } from 'react-dom'; | ||
import ResizeObserver from 'resize-observer-polyfill'; | ||
|
||
type DomElement = Element | null; | ||
|
||
interface ResizeObserverProps { | ||
children?: React.ReactNode; | ||
disabled?: boolean; | ||
onResize?: () => void; | ||
} | ||
|
||
class ReactResizeObserver extends React.Component<ResizeObserverProps, {}> { | ||
resizeObserver: ResizeObserver | null = null; | ||
|
||
componentDidMount() { | ||
this.onComponentUpdated(); | ||
} | ||
|
||
componentDidUpdate() { | ||
this.onComponentUpdated(); | ||
} | ||
|
||
componentWillUnmount() { | ||
this.destroyObserver(); | ||
} | ||
|
||
onComponentUpdated() { | ||
const { disabled } = this.props; | ||
const element = findDOMNode(this) as DomElement; | ||
if (!this.resizeObserver && !disabled && element) { | ||
// Add resize observer | ||
this.resizeObserver = new ResizeObserver(this.onResize); | ||
this.resizeObserver.observe(element); | ||
} else if (disabled) { | ||
// Remove resize observer | ||
this.destroyObserver(); | ||
} | ||
} | ||
|
||
onResize = () => { | ||
const { onResize } = this.props; | ||
if (onResize) { | ||
onResize(); | ||
} | ||
}; | ||
|
||
destroyObserver() { | ||
if (this.resizeObserver) { | ||
this.resizeObserver.disconnect(); | ||
this.resizeObserver = null; | ||
} | ||
} | ||
|
||
render() { | ||
const { children } = this.props; | ||
return children; | ||
} | ||
} | ||
|
||
export default ReactResizeObserver; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
/** | ||
* Wrap of sub component which need use as Button capacity (like Icon component). | ||
* This helps accessibility reader to tread as a interactive button to operation. | ||
*/ | ||
import * as React from 'react'; | ||
import KeyCode from 'rc-util/lib/KeyCode'; | ||
|
||
interface TransButtonProps extends React.HTMLAttributes<HTMLButtonElement> { | ||
onClick?: () => void; | ||
} | ||
|
||
const inlineStyle: React.CSSProperties = { | ||
border: 0, | ||
background: 'transparent', | ||
padding: 0, | ||
lineHeight: 'inherit', | ||
}; | ||
|
||
class TransButton extends React.Component<TransButtonProps> { | ||
button?: HTMLButtonElement; | ||
lastKeyCode?: number; | ||
|
||
onKeyDown: React.KeyboardEventHandler<HTMLButtonElement> = event => { | ||
const { keyCode } = event; | ||
if (keyCode === KeyCode.ENTER) { | ||
event.preventDefault(); | ||
} | ||
}; | ||
|
||
onKeyUp: React.KeyboardEventHandler<HTMLButtonElement> = event => { | ||
const { keyCode } = event; | ||
const { onClick } = this.props; | ||
if (keyCode === KeyCode.ENTER && onClick) { | ||
onClick(); | ||
} | ||
}; | ||
|
||
setRef = (btn: HTMLButtonElement) => { | ||
this.button = btn; | ||
}; | ||
|
||
focus() { | ||
if (this.button) { | ||
this.button.focus(); | ||
} | ||
} | ||
|
||
blur() { | ||
if (this.button) { | ||
this.button.blur(); | ||
} | ||
} | ||
|
||
render() { | ||
const { style } = this.props; | ||
return ( | ||
<button | ||
ref={this.setRef} | ||
{...this.props} | ||
onKeyDown={this.onKeyDown} | ||
onKeyUp={this.onKeyUp} | ||
style={{ ...inlineStyle, ...style }} | ||
/> | ||
); | ||
} | ||
} | ||
|
||
export default TransButton; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; | ||
// https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead | ||
export const tuple = <T extends string[]>(...args: T) => args; | ||
export const tuple = <T extends string[]>(...args: T) => args; | ||
|
||
export const tupleNum = <T extends number[]>(...args: T) => args; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -47,4 +47,10 @@ export default { | |
Icon: { | ||
icon: '图标', | ||
}, | ||
Text: { | ||
edit: '编辑', | ||
copy: '复制', | ||
copied: '复制成功', | ||
expand: '展开', | ||
}, | ||
}; |
Oops, something went wrong.