react-contenteditable 3.3.2 → 3.3.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,28 @@
1
+ # This is a basic workflow to help you get started with Actions
2
+
3
+ name: CI
4
+
5
+ on:
6
+ push:
7
+ branches: [ master ]
8
+ pull_request:
9
+ branches: [ master ]
10
+
11
+ # Allows you to run this workflow manually from the Actions tab
12
+ workflow_dispatch:
13
+
14
+ # A workflow run is made up of one or more jobs that can run sequentially or in parallel
15
+ jobs:
16
+ # This workflow contains a single job called "build"
17
+ build:
18
+ # The type of runner that the job will run on
19
+ runs-on: ubuntu-latest
20
+
21
+ # Steps represent a sequence of tasks that will be executed as part of the job
22
+ steps:
23
+ - uses: actions/checkout@v2
24
+
25
+ - name: Setup Node.js environment
26
+ uses: actions/setup-node@v2.4.0
27
+ - run: npm ci
28
+ - run: npm test
package/README.md CHANGED
@@ -52,11 +52,28 @@ class MyComponent extends React.Component {
52
52
  |disabled|use true to disable editing|Boolean|
53
53
  |onChange|called whenever `innerHTML` changes|Function|
54
54
  |onBlur|called whenever the html element is [blurred](https://developer.mozilla.org/en-US/docs/Web/Events/blur)|Function|
55
+ |onFocus|event fires when an element has received [focus](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event)|Function|
55
56
  |onKeyUp|called whenever a key is released|Function|
56
57
  |onKeyDown|called whenever a key is pressed |Function|
57
58
  |className|the element's [CSS class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class)|String|
58
59
  |style|a collection of CSS properties to apply to the element|Object|
59
60
 
61
+ ## Known Issues
62
+ If you are using hooks, please see [this issue](https://github.com/lovasoa/react-contenteditable/issues/161). Using this component with [`useState`](https://reactjs.org/docs/hooks-reference.html#usestate) doesn't work, but you can still use [`useRef`](https://reactjs.org/docs/hooks-reference.html#useref) :
63
+
64
+ ```js
65
+ const text = useRef('');
66
+
67
+ const handleChange = evt => {
68
+ text.current = evt.target.value;
69
+ };
70
+
71
+ const handleBlur = () => {
72
+ console.log(text.current);
73
+ };
74
+
75
+ return <ContentEditable html={text.current} onBlur={handleBlur} onChange={handleChange} />
76
+ ```
60
77
 
61
78
  ## Examples
62
79
 
@@ -10,9 +10,9 @@ export default class ContentEditable extends React.Component<Props> {
10
10
  render(): React.ReactElement<{
11
11
  ref: any;
12
12
  onInput: (originalEvt: React.SyntheticEvent<any, Event>) => void;
13
- onBlur: (event: React.FocusEvent<HTMLDivElement>) => void;
14
- onKeyUp: (event: React.KeyboardEvent<HTMLDivElement>) => void;
15
- onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
13
+ onBlur: React.FocusEventHandler<HTMLDivElement>;
14
+ onKeyUp: React.KeyboardEventHandler<HTMLDivElement>;
15
+ onKeyDown: React.KeyboardEventHandler<HTMLDivElement>;
16
16
  contentEditable: boolean;
17
17
  dangerouslySetInnerHTML: {
18
18
  __html: string;
@@ -25,28 +25,27 @@ export default class ContentEditable extends React.Component<Props> {
25
25
  slot?: string | undefined;
26
26
  title?: string | undefined;
27
27
  color?: string | undefined;
28
- key?: string | number | undefined;
28
+ translate?: "yes" | "no" | undefined;
29
+ prefix?: string | undefined;
29
30
  children?: React.ReactNode;
31
+ key?: React.Key | null | undefined;
30
32
  defaultChecked?: boolean | undefined;
31
- defaultValue?: string | string[] | undefined;
33
+ defaultValue?: string | number | readonly string[] | undefined;
32
34
  suppressContentEditableWarning?: boolean | undefined;
33
35
  suppressHydrationWarning?: boolean | undefined;
34
36
  accessKey?: string | undefined;
35
37
  contextMenu?: string | undefined;
36
- draggable?: boolean | undefined;
38
+ draggable?: (boolean | "false" | "true") | undefined;
37
39
  id?: string | undefined;
38
40
  lang?: string | undefined;
39
41
  placeholder?: string | undefined;
40
- spellCheck?: boolean | undefined;
42
+ spellCheck?: (boolean | "false" | "true") | undefined;
41
43
  tabIndex?: number | undefined;
42
- inputMode?: string | undefined;
43
- is?: string | undefined;
44
44
  radioGroup?: string | undefined;
45
- role?: string | undefined;
45
+ role?: React.AriaRole | undefined;
46
46
  about?: string | undefined;
47
47
  datatype?: string | undefined;
48
48
  inlist?: any;
49
- prefix?: string | undefined;
50
49
  property?: string | undefined;
51
50
  resource?: string | undefined;
52
51
  typeof?: string | undefined;
@@ -62,9 +61,11 @@ export default class ContentEditable extends React.Component<Props> {
62
61
  results?: number | undefined;
63
62
  security?: string | undefined;
64
63
  unselectable?: "on" | "off" | undefined;
64
+ inputMode?: "search" | "numeric" | "none" | "text" | "tel" | "url" | "email" | "decimal" | undefined;
65
+ is?: string | undefined;
65
66
  'aria-activedescendant'?: string | undefined;
66
67
  'aria-atomic'?: boolean | "false" | "true" | undefined;
67
- 'aria-autocomplete'?: "none" | "both" | "inline" | "list" | undefined;
68
+ 'aria-autocomplete'?: "both" | "none" | "inline" | "list" | undefined;
68
69
  'aria-busy'?: boolean | "false" | "true" | undefined;
69
70
  'aria-checked'?: boolean | "mixed" | "false" | "true" | undefined;
70
71
  'aria-colcount'?: number | undefined;
@@ -97,7 +98,7 @@ export default class ContentEditable extends React.Component<Props> {
97
98
  'aria-posinset'?: number | undefined;
98
99
  'aria-pressed'?: boolean | "mixed" | "false" | "true" | undefined;
99
100
  'aria-readonly'?: boolean | "false" | "true" | undefined;
100
- 'aria-relevant'?: "all" | "text" | "additions" | "additions text" | "removals" | undefined;
101
+ 'aria-relevant'?: "all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
101
102
  'aria-required'?: boolean | "false" | "true" | undefined;
102
103
  'aria-roledescription'?: string | undefined;
103
104
  'aria-rowcount'?: number | undefined;
@@ -110,166 +111,166 @@ export default class ContentEditable extends React.Component<Props> {
110
111
  'aria-valuemin'?: number | undefined;
111
112
  'aria-valuenow'?: number | undefined;
112
113
  'aria-valuetext'?: string | undefined;
113
- onCopy?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
114
- onCopyCapture?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
115
- onCut?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
116
- onCutCapture?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
117
- onPaste?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
118
- onPasteCapture?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
119
- onCompositionEnd?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
120
- onCompositionEndCapture?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
121
- onCompositionStart?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
122
- onCompositionStartCapture?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
123
- onCompositionUpdate?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
124
- onCompositionUpdateCapture?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
125
- onFocus?: ((event: React.FocusEvent<HTMLDivElement>) => void) | undefined;
126
- onFocusCapture?: ((event: React.FocusEvent<HTMLDivElement>) => void) | undefined;
127
- onBlurCapture?: ((event: React.FocusEvent<HTMLDivElement>) => void) | undefined;
128
- onChangeCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
129
- onBeforeInput?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
130
- onBeforeInputCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
131
- onInputCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
132
- onReset?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
133
- onResetCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
134
- onSubmit?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
135
- onSubmitCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
136
- onInvalid?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
137
- onInvalidCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
138
- onLoad?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
139
- onLoadCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
140
- onError?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
141
- onErrorCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
142
- onKeyDownCapture?: ((event: React.KeyboardEvent<HTMLDivElement>) => void) | undefined;
143
- onKeyPress?: ((event: React.KeyboardEvent<HTMLDivElement>) => void) | undefined;
144
- onKeyPressCapture?: ((event: React.KeyboardEvent<HTMLDivElement>) => void) | undefined;
145
- onKeyUpCapture?: ((event: React.KeyboardEvent<HTMLDivElement>) => void) | undefined;
146
- onAbort?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
147
- onAbortCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
148
- onCanPlay?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
149
- onCanPlayCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
150
- onCanPlayThrough?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
151
- onCanPlayThroughCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
152
- onDurationChange?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
153
- onDurationChangeCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
154
- onEmptied?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
155
- onEmptiedCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
156
- onEncrypted?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
157
- onEncryptedCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
158
- onEnded?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
159
- onEndedCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
160
- onLoadedData?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
161
- onLoadedDataCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
162
- onLoadedMetadata?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
163
- onLoadedMetadataCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
164
- onLoadStart?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
165
- onLoadStartCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
166
- onPause?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
167
- onPauseCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
168
- onPlay?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
169
- onPlayCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
170
- onPlaying?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
171
- onPlayingCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
172
- onProgress?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
173
- onProgressCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
174
- onRateChange?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
175
- onRateChangeCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
176
- onSeeked?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
177
- onSeekedCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
178
- onSeeking?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
179
- onSeekingCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
180
- onStalled?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
181
- onStalledCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
182
- onSuspend?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
183
- onSuspendCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
184
- onTimeUpdate?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
185
- onTimeUpdateCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
186
- onVolumeChange?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
187
- onVolumeChangeCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
188
- onWaiting?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
189
- onWaitingCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
190
- onAuxClick?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
191
- onAuxClickCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
192
- onClick?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
193
- onClickCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
194
- onContextMenu?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
195
- onContextMenuCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
196
- onDoubleClick?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
197
- onDoubleClickCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
198
- onDrag?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
199
- onDragCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
200
- onDragEnd?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
201
- onDragEndCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
202
- onDragEnter?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
203
- onDragEnterCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
204
- onDragExit?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
205
- onDragExitCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
206
- onDragLeave?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
207
- onDragLeaveCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
208
- onDragOver?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
209
- onDragOverCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
210
- onDragStart?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
211
- onDragStartCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
212
- onDrop?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
213
- onDropCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
214
- onMouseDown?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
215
- onMouseDownCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
216
- onMouseEnter?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
217
- onMouseLeave?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
218
- onMouseMove?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
219
- onMouseMoveCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
220
- onMouseOut?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
221
- onMouseOutCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
222
- onMouseOver?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
223
- onMouseOverCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
224
- onMouseUp?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
225
- onMouseUpCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
226
- onSelect?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
227
- onSelectCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
228
- onTouchCancel?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
229
- onTouchCancelCapture?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
230
- onTouchEnd?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
231
- onTouchEndCapture?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
232
- onTouchMove?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
233
- onTouchMoveCapture?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
234
- onTouchStart?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
235
- onTouchStartCapture?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
236
- onPointerDown?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
237
- onPointerDownCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
238
- onPointerMove?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
239
- onPointerMoveCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
240
- onPointerUp?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
241
- onPointerUpCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
242
- onPointerCancel?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
243
- onPointerCancelCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
244
- onPointerEnter?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
245
- onPointerEnterCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
246
- onPointerLeave?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
247
- onPointerLeaveCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
248
- onPointerOver?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
249
- onPointerOverCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
250
- onPointerOut?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
251
- onPointerOutCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
252
- onGotPointerCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
253
- onGotPointerCaptureCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
254
- onLostPointerCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
255
- onLostPointerCaptureCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
256
- onScroll?: ((event: React.UIEvent<HTMLDivElement>) => void) | undefined;
257
- onScrollCapture?: ((event: React.UIEvent<HTMLDivElement>) => void) | undefined;
258
- onWheel?: ((event: React.WheelEvent<HTMLDivElement>) => void) | undefined;
259
- onWheelCapture?: ((event: React.WheelEvent<HTMLDivElement>) => void) | undefined;
260
- onAnimationStart?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
261
- onAnimationStartCapture?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
262
- onAnimationEnd?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
263
- onAnimationEndCapture?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
264
- onAnimationIteration?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
265
- onAnimationIterationCapture?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
266
- onTransitionEnd?: ((event: React.TransitionEvent<HTMLDivElement>) => void) | undefined;
267
- onTransitionEndCapture?: ((event: React.TransitionEvent<HTMLDivElement>) => void) | undefined;
114
+ onCopy?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
115
+ onCopyCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
116
+ onCut?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
117
+ onCutCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
118
+ onPaste?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
119
+ onPasteCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
120
+ onCompositionEnd?: React.CompositionEventHandler<HTMLDivElement> | undefined;
121
+ onCompositionEndCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
122
+ onCompositionStart?: React.CompositionEventHandler<HTMLDivElement> | undefined;
123
+ onCompositionStartCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
124
+ onCompositionUpdate?: React.CompositionEventHandler<HTMLDivElement> | undefined;
125
+ onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
126
+ onFocus?: React.FocusEventHandler<HTMLDivElement> | undefined;
127
+ onFocusCapture?: React.FocusEventHandler<HTMLDivElement> | undefined;
128
+ onBlurCapture?: React.FocusEventHandler<HTMLDivElement> | undefined;
129
+ onChangeCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
130
+ onBeforeInput?: React.FormEventHandler<HTMLDivElement> | undefined;
131
+ onBeforeInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
132
+ onInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
133
+ onReset?: React.FormEventHandler<HTMLDivElement> | undefined;
134
+ onResetCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
135
+ onSubmit?: React.FormEventHandler<HTMLDivElement> | undefined;
136
+ onSubmitCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
137
+ onInvalid?: React.FormEventHandler<HTMLDivElement> | undefined;
138
+ onInvalidCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
139
+ onLoad?: React.ReactEventHandler<HTMLDivElement> | undefined;
140
+ onLoadCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
141
+ onError?: React.ReactEventHandler<HTMLDivElement> | undefined;
142
+ onErrorCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
143
+ onKeyDownCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
144
+ onKeyPress?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
145
+ onKeyPressCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
146
+ onKeyUpCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
147
+ onAbort?: React.ReactEventHandler<HTMLDivElement> | undefined;
148
+ onAbortCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
149
+ onCanPlay?: React.ReactEventHandler<HTMLDivElement> | undefined;
150
+ onCanPlayCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
151
+ onCanPlayThrough?: React.ReactEventHandler<HTMLDivElement> | undefined;
152
+ onCanPlayThroughCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
153
+ onDurationChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
154
+ onDurationChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
155
+ onEmptied?: React.ReactEventHandler<HTMLDivElement> | undefined;
156
+ onEmptiedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
157
+ onEncrypted?: React.ReactEventHandler<HTMLDivElement> | undefined;
158
+ onEncryptedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
159
+ onEnded?: React.ReactEventHandler<HTMLDivElement> | undefined;
160
+ onEndedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
161
+ onLoadedData?: React.ReactEventHandler<HTMLDivElement> | undefined;
162
+ onLoadedDataCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
163
+ onLoadedMetadata?: React.ReactEventHandler<HTMLDivElement> | undefined;
164
+ onLoadedMetadataCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
165
+ onLoadStart?: React.ReactEventHandler<HTMLDivElement> | undefined;
166
+ onLoadStartCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
167
+ onPause?: React.ReactEventHandler<HTMLDivElement> | undefined;
168
+ onPauseCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
169
+ onPlay?: React.ReactEventHandler<HTMLDivElement> | undefined;
170
+ onPlayCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
171
+ onPlaying?: React.ReactEventHandler<HTMLDivElement> | undefined;
172
+ onPlayingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
173
+ onProgress?: React.ReactEventHandler<HTMLDivElement> | undefined;
174
+ onProgressCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
175
+ onRateChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
176
+ onRateChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
177
+ onSeeked?: React.ReactEventHandler<HTMLDivElement> | undefined;
178
+ onSeekedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
179
+ onSeeking?: React.ReactEventHandler<HTMLDivElement> | undefined;
180
+ onSeekingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
181
+ onStalled?: React.ReactEventHandler<HTMLDivElement> | undefined;
182
+ onStalledCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
183
+ onSuspend?: React.ReactEventHandler<HTMLDivElement> | undefined;
184
+ onSuspendCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
185
+ onTimeUpdate?: React.ReactEventHandler<HTMLDivElement> | undefined;
186
+ onTimeUpdateCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
187
+ onVolumeChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
188
+ onVolumeChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
189
+ onWaiting?: React.ReactEventHandler<HTMLDivElement> | undefined;
190
+ onWaitingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
191
+ onAuxClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
192
+ onAuxClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
193
+ onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
194
+ onClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
195
+ onContextMenu?: React.MouseEventHandler<HTMLDivElement> | undefined;
196
+ onContextMenuCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
197
+ onDoubleClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
198
+ onDoubleClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
199
+ onDrag?: React.DragEventHandler<HTMLDivElement> | undefined;
200
+ onDragCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
201
+ onDragEnd?: React.DragEventHandler<HTMLDivElement> | undefined;
202
+ onDragEndCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
203
+ onDragEnter?: React.DragEventHandler<HTMLDivElement> | undefined;
204
+ onDragEnterCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
205
+ onDragExit?: React.DragEventHandler<HTMLDivElement> | undefined;
206
+ onDragExitCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
207
+ onDragLeave?: React.DragEventHandler<HTMLDivElement> | undefined;
208
+ onDragLeaveCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
209
+ onDragOver?: React.DragEventHandler<HTMLDivElement> | undefined;
210
+ onDragOverCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
211
+ onDragStart?: React.DragEventHandler<HTMLDivElement> | undefined;
212
+ onDragStartCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
213
+ onDrop?: React.DragEventHandler<HTMLDivElement> | undefined;
214
+ onDropCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
215
+ onMouseDown?: React.MouseEventHandler<HTMLDivElement> | undefined;
216
+ onMouseDownCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
217
+ onMouseEnter?: React.MouseEventHandler<HTMLDivElement> | undefined;
218
+ onMouseLeave?: React.MouseEventHandler<HTMLDivElement> | undefined;
219
+ onMouseMove?: React.MouseEventHandler<HTMLDivElement> | undefined;
220
+ onMouseMoveCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
221
+ onMouseOut?: React.MouseEventHandler<HTMLDivElement> | undefined;
222
+ onMouseOutCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
223
+ onMouseOver?: React.MouseEventHandler<HTMLDivElement> | undefined;
224
+ onMouseOverCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
225
+ onMouseUp?: React.MouseEventHandler<HTMLDivElement> | undefined;
226
+ onMouseUpCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
227
+ onSelect?: React.ReactEventHandler<HTMLDivElement> | undefined;
228
+ onSelectCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
229
+ onTouchCancel?: React.TouchEventHandler<HTMLDivElement> | undefined;
230
+ onTouchCancelCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
231
+ onTouchEnd?: React.TouchEventHandler<HTMLDivElement> | undefined;
232
+ onTouchEndCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
233
+ onTouchMove?: React.TouchEventHandler<HTMLDivElement> | undefined;
234
+ onTouchMoveCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
235
+ onTouchStart?: React.TouchEventHandler<HTMLDivElement> | undefined;
236
+ onTouchStartCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
237
+ onPointerDown?: React.PointerEventHandler<HTMLDivElement> | undefined;
238
+ onPointerDownCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
239
+ onPointerMove?: React.PointerEventHandler<HTMLDivElement> | undefined;
240
+ onPointerMoveCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
241
+ onPointerUp?: React.PointerEventHandler<HTMLDivElement> | undefined;
242
+ onPointerUpCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
243
+ onPointerCancel?: React.PointerEventHandler<HTMLDivElement> | undefined;
244
+ onPointerCancelCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
245
+ onPointerEnter?: React.PointerEventHandler<HTMLDivElement> | undefined;
246
+ onPointerEnterCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
247
+ onPointerLeave?: React.PointerEventHandler<HTMLDivElement> | undefined;
248
+ onPointerLeaveCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
249
+ onPointerOver?: React.PointerEventHandler<HTMLDivElement> | undefined;
250
+ onPointerOverCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
251
+ onPointerOut?: React.PointerEventHandler<HTMLDivElement> | undefined;
252
+ onPointerOutCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
253
+ onGotPointerCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
254
+ onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
255
+ onLostPointerCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
256
+ onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
257
+ onScroll?: React.UIEventHandler<HTMLDivElement> | undefined;
258
+ onScrollCapture?: React.UIEventHandler<HTMLDivElement> | undefined;
259
+ onWheel?: React.WheelEventHandler<HTMLDivElement> | undefined;
260
+ onWheelCapture?: React.WheelEventHandler<HTMLDivElement> | undefined;
261
+ onAnimationStart?: React.AnimationEventHandler<HTMLDivElement> | undefined;
262
+ onAnimationStartCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
263
+ onAnimationEnd?: React.AnimationEventHandler<HTMLDivElement> | undefined;
264
+ onAnimationEndCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
265
+ onAnimationIteration?: React.AnimationEventHandler<HTMLDivElement> | undefined;
266
+ onAnimationIterationCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
267
+ onTransitionEnd?: React.TransitionEventHandler<HTMLDivElement> | undefined;
268
+ onTransitionEndCapture?: React.TransitionEventHandler<HTMLDivElement> | undefined;
268
269
  onChange: (event: ContentEditableEvent) => void;
269
- }, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)>;
270
+ }, string | React.JSXElementConstructor<any>>;
270
271
  shouldComponentUpdate(nextProps: Props): boolean;
271
272
  componentDidUpdate(): void;
272
- emitChange: (originalEvt: React.SyntheticEvent<any, Event>) => void;
273
+ emitChange: (originalEvt: React.SyntheticEvent<any>) => void;
273
274
  static propTypes: {
274
275
  html: PropTypes.Validator<string>;
275
276
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -23,6 +25,25 @@ var __assign = (this && this.__assign) || function () {
23
25
  };
24
26
  return __assign.apply(this, arguments);
25
27
  };
28
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
31
+ }) : (function(o, m, k, k2) {
32
+ if (k2 === undefined) k2 = k;
33
+ o[k2] = m[k];
34
+ }));
35
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
36
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
37
+ }) : function(o, v) {
38
+ o["default"] = v;
39
+ });
40
+ var __importStar = (this && this.__importStar) || function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
26
47
  var __rest = (this && this.__rest) || function (s, e) {
27
48
  var t = {};
28
49
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -34,13 +55,6 @@ var __rest = (this && this.__rest) || function (s, e) {
34
55
  }
35
56
  return t;
36
57
  };
37
- var __importStar = (this && this.__importStar) || function (mod) {
38
- if (mod && mod.__esModule) return mod;
39
- var result = {};
40
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
41
- result["default"] = mod;
42
- return result;
43
- };
44
58
  var __importDefault = (this && this.__importDefault) || function (mod) {
45
59
  return (mod && mod.__esModule) ? mod : { "default": mod };
46
60
  };
@@ -51,20 +65,10 @@ var PropTypes = __importStar(require("prop-types"));
51
65
  function normalizeHtml(str) {
52
66
  return str && str.replace(/&nbsp;|\u202F|\u00A0/g, ' ');
53
67
  }
54
- function findLastTextNode(node) {
55
- if (node.nodeType === Node.TEXT_NODE)
56
- return node;
57
- var children = node.childNodes;
58
- for (var i = children.length - 1; i >= 0; i--) {
59
- var textNode = findLastTextNode(children[i]);
60
- if (textNode !== null)
61
- return textNode;
62
- }
63
- return null;
64
- }
65
68
  function replaceCaret(el) {
66
69
  // Place the caret at the end of the element
67
- var target = findLastTextNode(el);
70
+ var target = document.createTextNode('');
71
+ el.appendChild(target);
68
72
  // do not move caret if element was not focused
69
73
  var isTargetFocused = document.activeElement === el;
70
74
  if (target !== null && target.nodeValue !== null && isTargetFocused) {
@@ -112,7 +116,7 @@ var ContentEditable = /** @class */ (function (_super) {
112
116
  ContentEditable.prototype.render = function () {
113
117
  var _this = this;
114
118
  var _a = this.props, tagName = _a.tagName, html = _a.html, innerRef = _a.innerRef, props = __rest(_a, ["tagName", "html", "innerRef"]);
115
- return React.createElement(tagName || 'div', __assign({}, props, { ref: typeof innerRef === 'function' ? function (current) {
119
+ return React.createElement(tagName || 'div', __assign(__assign({}, props), { ref: typeof innerRef === 'function' ? function (current) {
116
120
  innerRef(current);
117
121
  _this.el.current = current;
118
122
  } : innerRef || this.el, onInput: this.emitChange, onBlur: this.props.onBlur || this.emitChange, onKeyUp: this.props.onKeyUp || this.emitChange, onKeyDown: this.props.onKeyDown || this.emitChange, contentEditable: !this.props.disabled, dangerouslySetInnerHTML: { __html: html } }), this.props.children);
@@ -134,6 +138,7 @@ var ContentEditable = /** @class */ (function (_super) {
134
138
  props.tagName !== nextProps.tagName ||
135
139
  props.className !== nextProps.className ||
136
140
  props.innerRef !== nextProps.innerRef ||
141
+ props.placeholder !== nextProps.placeholder ||
137
142
  !fast_deep_equal_1.default(props.style, nextProps.style);
138
143
  };
139
144
  ContentEditable.prototype.componentDidUpdate = function () {
@@ -143,8 +148,9 @@ var ContentEditable = /** @class */ (function (_super) {
143
148
  // Perhaps React (whose VDOM gets outdated because we often prevent
144
149
  // rerendering) did not update the DOM. So we update it manually now.
145
150
  if (this.props.html !== el.innerHTML) {
146
- el.innerHTML = this.lastHtml = this.props.html;
151
+ el.innerHTML = this.props.html;
147
152
  }
153
+ this.lastHtml = this.props.html;
148
154
  replaceCaret(el);
149
155
  };
150
156
  ContentEditable.propTypes = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-contenteditable",
3
- "version": "3.3.2",
3
+ "version": "3.3.6",
4
4
  "description": "React component representing an element with editable contents",
5
5
  "main": "./lib/react-contenteditable.js",
6
6
  "types": "./lib/react-contenteditable.d.ts",
@@ -8,7 +8,7 @@
8
8
  "react": ">=16.3"
9
9
  },
10
10
  "author": "Ophir LOJKINE (original code posted by Sebastien Lorber on stackoverflow)",
11
- "license": " Apache-2.0",
11
+ "license": "Apache-2.0",
12
12
  "keywords": [
13
13
  "react-component",
14
14
  "contenteditable",
@@ -21,9 +21,9 @@
21
21
  "url": "https://github.com/lovasoa/react-contenteditable.git"
22
22
  },
23
23
  "devDependencies": {
24
- "@types/react": "^16.8.23",
25
- "react": "^16.8.6",
26
- "typescript": "^3.5.3"
24
+ "@types/react": "^17.0.2",
25
+ "react": "^17.0.2",
26
+ "typescript": "^4.3.5"
27
27
  },
28
28
  "scripts": {
29
29
  "compile": "tsc",
@@ -32,6 +32,6 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "prop-types": "^15.7.1",
35
- "fast-deep-equal": "^2.0.1"
35
+ "fast-deep-equal": "^3.1.3"
36
36
  }
37
37
  }
@@ -1,299 +0,0 @@
1
- import * as React from 'react';
2
- import * as PropTypes from 'prop-types';
3
- /**
4
- * A simple component for an html element with editable contents.
5
- */
6
- export default class ContentEditable extends React.Component<Props> {
7
- lastHtml: string;
8
- el: any;
9
- getEl: () => any;
10
- render(): React.ReactElement<{
11
- ref: any;
12
- onInput: (originalEvt: React.SyntheticEvent<any, Event>) => void;
13
- onBlur: (event: React.FocusEvent<HTMLDivElement>) => void;
14
- onKeyUp: (event: React.KeyboardEvent<HTMLDivElement>) => void;
15
- onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
16
- contentEditable: boolean;
17
- dangerouslySetInnerHTML: {
18
- __html: string;
19
- };
20
- disabled?: boolean | undefined;
21
- className?: string | undefined;
22
- style?: Object | undefined;
23
- key?: string | number | undefined;
24
- defaultChecked?: boolean | undefined;
25
- defaultValue?: string | string[] | undefined;
26
- suppressContentEditableWarning?: boolean | undefined;
27
- suppressHydrationWarning?: boolean | undefined;
28
- accessKey?: string | undefined;
29
- contextMenu?: string | undefined;
30
- dir?: string | undefined;
31
- draggable?: boolean | undefined;
32
- hidden?: boolean | undefined;
33
- id?: string | undefined;
34
- lang?: string | undefined;
35
- placeholder?: string | undefined;
36
- slot?: string | undefined;
37
- spellCheck?: boolean | undefined;
38
- tabIndex?: number | undefined;
39
- title?: string | undefined;
40
- inputMode?: string | undefined;
41
- is?: string | undefined;
42
- radioGroup?: string | undefined;
43
- role?: string | undefined;
44
- about?: string | undefined;
45
- datatype?: string | undefined;
46
- inlist?: any;
47
- prefix?: string | undefined;
48
- property?: string | undefined;
49
- resource?: string | undefined;
50
- typeof?: string | undefined;
51
- vocab?: string | undefined;
52
- autoCapitalize?: string | undefined;
53
- autoCorrect?: string | undefined;
54
- autoSave?: string | undefined;
55
- color?: string | undefined;
56
- itemProp?: string | undefined;
57
- itemScope?: boolean | undefined;
58
- itemType?: string | undefined;
59
- itemID?: string | undefined;
60
- itemRef?: string | undefined;
61
- results?: number | undefined;
62
- security?: string | undefined;
63
- unselectable?: "on" | "off" | undefined;
64
- 'aria-activedescendant'?: string | undefined;
65
- 'aria-atomic'?: boolean | "false" | "true" | undefined;
66
- 'aria-autocomplete'?: "none" | "both" | "inline" | "list" | undefined;
67
- 'aria-busy'?: boolean | "false" | "true" | undefined;
68
- 'aria-checked'?: boolean | "mixed" | "false" | "true" | undefined;
69
- 'aria-colcount'?: number | undefined;
70
- 'aria-colindex'?: number | undefined;
71
- 'aria-colspan'?: number | undefined;
72
- 'aria-controls'?: string | undefined;
73
- 'aria-current'?: boolean | "time" | "page" | "false" | "true" | "step" | "location" | "date" | undefined;
74
- 'aria-describedby'?: string | undefined;
75
- 'aria-details'?: string | undefined;
76
- 'aria-disabled'?: boolean | "false" | "true" | undefined;
77
- 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup" | undefined;
78
- 'aria-errormessage'?: string | undefined;
79
- 'aria-expanded'?: boolean | "false" | "true" | undefined;
80
- 'aria-flowto'?: string | undefined;
81
- 'aria-grabbed'?: boolean | "false" | "true" | undefined;
82
- 'aria-haspopup'?: boolean | "dialog" | "menu" | "listbox" | "grid" | "false" | "true" | "tree" | undefined;
83
- 'aria-hidden'?: boolean | "false" | "true" | undefined;
84
- 'aria-invalid'?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
85
- 'aria-keyshortcuts'?: string | undefined;
86
- 'aria-label'?: string | undefined;
87
- 'aria-labelledby'?: string | undefined;
88
- 'aria-level'?: number | undefined;
89
- 'aria-live'?: "off" | "assertive" | "polite" | undefined;
90
- 'aria-modal'?: boolean | "false" | "true" | undefined;
91
- 'aria-multiline'?: boolean | "false" | "true" | undefined;
92
- 'aria-multiselectable'?: boolean | "false" | "true" | undefined;
93
- 'aria-orientation'?: "horizontal" | "vertical" | undefined;
94
- 'aria-owns'?: string | undefined;
95
- 'aria-placeholder'?: string | undefined;
96
- 'aria-posinset'?: number | undefined;
97
- 'aria-pressed'?: boolean | "mixed" | "false" | "true" | undefined;
98
- 'aria-readonly'?: boolean | "false" | "true" | undefined;
99
- 'aria-relevant'?: "all" | "text" | "additions" | "additions text" | "removals" | undefined;
100
- 'aria-required'?: boolean | "false" | "true" | undefined;
101
- 'aria-roledescription'?: string | undefined;
102
- 'aria-rowcount'?: number | undefined;
103
- 'aria-rowindex'?: number | undefined;
104
- 'aria-rowspan'?: number | undefined;
105
- 'aria-selected'?: boolean | "false" | "true" | undefined;
106
- 'aria-setsize'?: number | undefined;
107
- 'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined;
108
- 'aria-valuemax'?: number | undefined;
109
- 'aria-valuemin'?: number | undefined;
110
- 'aria-valuenow'?: number | undefined;
111
- 'aria-valuetext'?: string | undefined;
112
- children?: React.ReactNode;
113
- onCopy?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
114
- onCopyCapture?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
115
- onCut?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
116
- onCutCapture?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
117
- onPaste?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
118
- onPasteCapture?: ((event: React.ClipboardEvent<HTMLDivElement>) => void) | undefined;
119
- onCompositionEnd?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
120
- onCompositionEndCapture?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
121
- onCompositionStart?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
122
- onCompositionStartCapture?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
123
- onCompositionUpdate?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
124
- onCompositionUpdateCapture?: ((event: React.CompositionEvent<HTMLDivElement>) => void) | undefined;
125
- onFocus?: ((event: React.FocusEvent<HTMLDivElement>) => void) | undefined;
126
- onFocusCapture?: ((event: React.FocusEvent<HTMLDivElement>) => void) | undefined;
127
- onBlurCapture?: ((event: React.FocusEvent<HTMLDivElement>) => void) | undefined;
128
- onChange: ((event: React.FormEvent<HTMLDivElement>) => void) & ((event: RCEvent) => void);
129
- onChangeCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
130
- onBeforeInput?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
131
- onBeforeInputCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
132
- onInputCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
133
- onReset?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
134
- onResetCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
135
- onSubmit?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
136
- onSubmitCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
137
- onInvalid?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
138
- onInvalidCapture?: ((event: React.FormEvent<HTMLDivElement>) => void) | undefined;
139
- onLoad?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
140
- onLoadCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
141
- onError?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
142
- onErrorCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
143
- onKeyDownCapture?: ((event: React.KeyboardEvent<HTMLDivElement>) => void) | undefined;
144
- onKeyPress?: ((event: React.KeyboardEvent<HTMLDivElement>) => void) | undefined;
145
- onKeyPressCapture?: ((event: React.KeyboardEvent<HTMLDivElement>) => void) | undefined;
146
- onKeyUpCapture?: ((event: React.KeyboardEvent<HTMLDivElement>) => void) | undefined;
147
- onAbort?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
148
- onAbortCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
149
- onCanPlay?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
150
- onCanPlayCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
151
- onCanPlayThrough?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
152
- onCanPlayThroughCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
153
- onDurationChange?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
154
- onDurationChangeCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
155
- onEmptied?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
156
- onEmptiedCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
157
- onEncrypted?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
158
- onEncryptedCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
159
- onEnded?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
160
- onEndedCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
161
- onLoadedData?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
162
- onLoadedDataCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
163
- onLoadedMetadata?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
164
- onLoadedMetadataCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
165
- onLoadStart?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
166
- onLoadStartCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
167
- onPause?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
168
- onPauseCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
169
- onPlay?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
170
- onPlayCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
171
- onPlaying?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
172
- onPlayingCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
173
- onProgress?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
174
- onProgressCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
175
- onRateChange?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
176
- onRateChangeCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
177
- onSeeked?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
178
- onSeekedCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
179
- onSeeking?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
180
- onSeekingCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
181
- onStalled?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
182
- onStalledCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
183
- onSuspend?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
184
- onSuspendCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
185
- onTimeUpdate?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
186
- onTimeUpdateCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
187
- onVolumeChange?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
188
- onVolumeChangeCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
189
- onWaiting?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
190
- onWaitingCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
191
- onAuxClick?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
192
- onAuxClickCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
193
- onClick?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
194
- onClickCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
195
- onContextMenu?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
196
- onContextMenuCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
197
- onDoubleClick?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
198
- onDoubleClickCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
199
- onDrag?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
200
- onDragCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
201
- onDragEnd?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
202
- onDragEndCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
203
- onDragEnter?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
204
- onDragEnterCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
205
- onDragExit?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
206
- onDragExitCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
207
- onDragLeave?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
208
- onDragLeaveCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
209
- onDragOver?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
210
- onDragOverCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
211
- onDragStart?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
212
- onDragStartCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
213
- onDrop?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
214
- onDropCapture?: ((event: React.DragEvent<HTMLDivElement>) => void) | undefined;
215
- onMouseDown?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
216
- onMouseDownCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
217
- onMouseEnter?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
218
- onMouseLeave?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
219
- onMouseMove?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
220
- onMouseMoveCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
221
- onMouseOut?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
222
- onMouseOutCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
223
- onMouseOver?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
224
- onMouseOverCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
225
- onMouseUp?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
226
- onMouseUpCapture?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
227
- onSelect?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
228
- onSelectCapture?: ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void) | undefined;
229
- onTouchCancel?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
230
- onTouchCancelCapture?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
231
- onTouchEnd?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
232
- onTouchEndCapture?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
233
- onTouchMove?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
234
- onTouchMoveCapture?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
235
- onTouchStart?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
236
- onTouchStartCapture?: ((event: React.TouchEvent<HTMLDivElement>) => void) | undefined;
237
- onPointerDown?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
238
- onPointerDownCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
239
- onPointerMove?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
240
- onPointerMoveCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
241
- onPointerUp?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
242
- onPointerUpCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
243
- onPointerCancel?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
244
- onPointerCancelCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
245
- onPointerEnter?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
246
- onPointerEnterCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
247
- onPointerLeave?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
248
- onPointerLeaveCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
249
- onPointerOver?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
250
- onPointerOverCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
251
- onPointerOut?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
252
- onPointerOutCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
253
- onGotPointerCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
254
- onGotPointerCaptureCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
255
- onLostPointerCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
256
- onLostPointerCaptureCapture?: ((event: React.PointerEvent<HTMLDivElement>) => void) | undefined;
257
- onScroll?: ((event: React.UIEvent<HTMLDivElement>) => void) | undefined;
258
- onScrollCapture?: ((event: React.UIEvent<HTMLDivElement>) => void) | undefined;
259
- onWheel?: ((event: React.WheelEvent<HTMLDivElement>) => void) | undefined;
260
- onWheelCapture?: ((event: React.WheelEvent<HTMLDivElement>) => void) | undefined;
261
- onAnimationStart?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
262
- onAnimationStartCapture?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
263
- onAnimationEnd?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
264
- onAnimationEndCapture?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
265
- onAnimationIteration?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
266
- onAnimationIterationCapture?: ((event: React.AnimationEvent<HTMLDivElement>) => void) | undefined;
267
- onTransitionEnd?: ((event: React.TransitionEvent<HTMLDivElement>) => void) | undefined;
268
- onTransitionEndCapture?: ((event: React.TransitionEvent<HTMLDivElement>) => void) | undefined;
269
- }, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)>;
270
- shouldComponentUpdate(nextProps: Props): boolean;
271
- componentDidUpdate(): void;
272
- emitChange: (originalEvt: React.SyntheticEvent<any, Event>) => void;
273
- static propTypes: {
274
- html: PropTypes.Validator<string>;
275
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
276
- disabled: PropTypes.Requireable<boolean>;
277
- tagName: PropTypes.Requireable<string>;
278
- className: PropTypes.Requireable<string>;
279
- style: PropTypes.Requireable<object>;
280
- innerRef: PropTypes.Requireable<object>;
281
- };
282
- }
283
- declare type RCEvent = React.SyntheticEvent<any, Event> & {
284
- target: {
285
- value: string;
286
- };
287
- };
288
- declare type DivProps = JSX.IntrinsicElements["div"] & {
289
- onChange: ((event: RCEvent) => void);
290
- };
291
- export interface Props extends DivProps {
292
- html: string;
293
- disabled?: boolean;
294
- tagName?: string;
295
- className?: string;
296
- style?: Object;
297
- innerRef?: React.RefObject<HTMLElement> | Function;
298
- }
299
- export {};
@@ -1,164 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __assign = (this && this.__assign) || function () {
16
- __assign = Object.assign || function(t) {
17
- for (var s, i = 1, n = arguments.length; i < n; i++) {
18
- s = arguments[i];
19
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
- t[p] = s[p];
21
- }
22
- return t;
23
- };
24
- return __assign.apply(this, arguments);
25
- };
26
- var __rest = (this && this.__rest) || function (s, e) {
27
- var t = {};
28
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
29
- t[p] = s[p];
30
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
31
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
32
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
33
- t[p[i]] = s[p[i]];
34
- }
35
- return t;
36
- };
37
- var __importStar = (this && this.__importStar) || function (mod) {
38
- if (mod && mod.__esModule) return mod;
39
- var result = {};
40
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
41
- result["default"] = mod;
42
- return result;
43
- };
44
- var __importDefault = (this && this.__importDefault) || function (mod) {
45
- return (mod && mod.__esModule) ? mod : { "default": mod };
46
- };
47
- Object.defineProperty(exports, "__esModule", { value: true });
48
- var React = __importStar(require("react"));
49
- var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
50
- var PropTypes = __importStar(require("prop-types"));
51
- function normalizeHtml(str) {
52
- return str && str.replace(/&nbsp;|\u202F|\u00A0/g, ' ');
53
- }
54
- function findLastTextNode(node) {
55
- if (node.nodeType === Node.TEXT_NODE)
56
- return node;
57
- var children = node.childNodes;
58
- for (var i = children.length - 1; i >= 0; i--) {
59
- var textNode = findLastTextNode(children[i]);
60
- if (textNode !== null)
61
- return textNode;
62
- }
63
- return null;
64
- }
65
- function replaceCaret(el) {
66
- // Place the caret at the end of the element
67
- var target = findLastTextNode(el);
68
- // do not move caret if element was not focused
69
- var isTargetFocused = document.activeElement === el;
70
- if (target !== null && target.nodeValue !== null && isTargetFocused) {
71
- var sel = window.getSelection();
72
- if (sel !== null) {
73
- var range = document.createRange();
74
- range.setStart(target, target.nodeValue.length);
75
- range.collapse(true);
76
- sel.removeAllRanges();
77
- sel.addRange(range);
78
- }
79
- if (el instanceof HTMLElement)
80
- el.focus();
81
- }
82
- }
83
- /**
84
- * A simple component for an html element with editable contents.
85
- */
86
- var ContentEditable = /** @class */ (function (_super) {
87
- __extends(ContentEditable, _super);
88
- function ContentEditable() {
89
- var _this = _super !== null && _super.apply(this, arguments) || this;
90
- _this.lastHtml = _this.props.html;
91
- _this.el = typeof _this.props.innerRef === 'function' ? { current: null } : React.createRef();
92
- _this.getEl = function () { return (_this.props.innerRef && typeof _this.props.innerRef !== 'function' ? _this.props.innerRef : _this.el).current; };
93
- _this.emitChange = function (originalEvt) {
94
- var el = _this.getEl();
95
- if (!el)
96
- return;
97
- var html = el.innerHTML;
98
- if (_this.props.onChange && html !== _this.lastHtml) {
99
- // Clone event with Object.assign to avoid
100
- // "Cannot assign to read only property 'target' of object"
101
- var evt = Object.assign({}, originalEvt, {
102
- target: {
103
- value: html
104
- }
105
- });
106
- _this.props.onChange(evt);
107
- }
108
- _this.lastHtml = html;
109
- };
110
- return _this;
111
- }
112
- ContentEditable.prototype.render = function () {
113
- var _this = this;
114
- var _a = this.props, tagName = _a.tagName, html = _a.html, innerRef = _a.innerRef, props = __rest(_a, ["tagName", "html", "innerRef"]);
115
- return React.createElement(tagName || 'div', __assign({}, props, { ref: typeof innerRef === 'function' ? function (current) {
116
- innerRef(current);
117
- _this.el.current = current;
118
- } : innerRef || this.el, onInput: this.emitChange, onBlur: this.props.onBlur || this.emitChange, onKeyUp: this.props.onKeyUp || this.emitChange, onKeyDown: this.props.onKeyDown || this.emitChange, contentEditable: !this.props.disabled, dangerouslySetInnerHTML: { __html: html } }), this.props.children);
119
- };
120
- ContentEditable.prototype.shouldComponentUpdate = function (nextProps) {
121
- var props = this.props;
122
- var el = this.getEl();
123
- // We need not rerender if the change of props simply reflects the user's edits.
124
- // Rerendering in this case would make the cursor/caret jump
125
- // Rerender if there is no element yet... (somehow?)
126
- if (!el)
127
- return true;
128
- // ...or if html really changed... (programmatically, not by user edit)
129
- if (normalizeHtml(nextProps.html) !== normalizeHtml(el.innerHTML)) {
130
- return true;
131
- }
132
- // Handle additional properties
133
- return props.disabled !== nextProps.disabled ||
134
- props.tagName !== nextProps.tagName ||
135
- props.className !== nextProps.className ||
136
- props.innerRef !== nextProps.innerRef ||
137
- !fast_deep_equal_1.default(props.style, nextProps.style);
138
- };
139
- ContentEditable.prototype.componentDidUpdate = function () {
140
- var el = this.getEl();
141
- if (!el)
142
- return;
143
- // Perhaps React (whose VDOM gets outdated because we often prevent
144
- // rerendering) did not update the DOM. So we update it manually now.
145
- if (this.props.html !== el.innerHTML) {
146
- el.innerHTML = this.lastHtml = this.props.html;
147
- }
148
- replaceCaret(el);
149
- };
150
- ContentEditable.propTypes = {
151
- html: PropTypes.string.isRequired,
152
- onChange: PropTypes.func,
153
- disabled: PropTypes.bool,
154
- tagName: PropTypes.string,
155
- className: PropTypes.string,
156
- style: PropTypes.object,
157
- innerRef: PropTypes.oneOfType([
158
- PropTypes.object,
159
- PropTypes.func,
160
- ])
161
- };
162
- return ContentEditable;
163
- }(React.Component));
164
- exports.default = ContentEditable;
@@ -1 +0,0 @@
1
- export {};
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __importDefault = (this && this.__importDefault) || function (mod) {
16
- return (mod && mod.__esModule) ? mod : { "default": mod };
17
- };
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- var react_1 = __importDefault(require("react"));
20
- var react_dom_1 = __importDefault(require("react-dom"));
21
- var react_contenteditable_1 = __importDefault(require("react-contenteditable"));
22
- var EditComponent = /** @class */ (function (_super) {
23
- __extends(EditComponent, _super);
24
- function EditComponent() {
25
- var _this = _super.call(this, { useInnerRef: false }) || this;
26
- _this.getHtml = function () { return _this.state.html; };
27
- _this.setHtml = function (html) { return _this.setState({ html: html }); };
28
- _this.setChangeCallback = function (cb) { return _this.changeCallback = cb.bind(_this); };
29
- _this.setProps = function (props) { return _this.setState({ props: props }); };
30
- _this.handleChange = function (evt) {
31
- _this.history.push(evt);
32
- _this.setHtml(evt.target.value);
33
- _this.changeCallback(evt);
34
- };
35
- _this.render = function () {
36
- return <react_contenteditable_1.default id="editableDiv" style={{ "height": "300px", "border": "1px dashed" }} html={_this.state.html} onChange={_this.handleChange} innerRef={_this.props.useInnerRef ? _this.el : undefined} {..._this.state.props}/>;
37
- };
38
- _this.state = { html: "", props: {} };
39
- _this.history = [];
40
- _this.changeCallback = function (_) { };
41
- _this.el = react_1.default.createRef();
42
- return _this;
43
- }
44
- return EditComponent;
45
- }(react_1.default.Component));
46
- window["render"] = function (useInnerRef) {
47
- window["editComponent"] = react_dom_1.default.render(<EditComponent useInnerRef={useInnerRef}/>, document.getElementById("root"));
48
- };