@elliemae/ds-props-helpers 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/cjs/globalProps/constants.js +15 -0
  2. package/cjs/globalProps/globalAttributesPropTypes.js +382 -0
  3. package/cjs/globalProps/index.js +11 -0
  4. package/cjs/globalProps/useGetGlobalAttributes.js +36 -0
  5. package/cjs/index.js +8 -0
  6. package/cjs/propTypes/PropTypes.js +130 -0
  7. package/cjs/propTypes/customPropTypes.js +21 -0
  8. package/cjs/propTypes/describe.js +64 -0
  9. package/cjs/propTypes/describeConversions.js +104 -0
  10. package/cjs/propTypes/describeGuards.js +21 -0
  11. package/cjs/propTypes/index.js +11 -0
  12. package/cjs/propTypes/toTypescript.js +160 -0
  13. package/cjs/propTypes/types.js +2 -0
  14. package/cjs/validation/typescriptValidator.js +3 -2
  15. package/esm/globalProps/constants.js +11 -0
  16. package/esm/globalProps/globalAttributesPropTypes.js +378 -0
  17. package/esm/globalProps/index.js +2 -0
  18. package/esm/globalProps/useGetGlobalAttributes.js +32 -0
  19. package/esm/index.js +4 -0
  20. package/esm/propTypes/PropTypes.js +124 -0
  21. package/esm/propTypes/customPropTypes.js +17 -0
  22. package/esm/propTypes/describe.js +62 -0
  23. package/esm/propTypes/describeConversions.js +96 -0
  24. package/esm/propTypes/describeGuards.js +10 -0
  25. package/esm/propTypes/index.js +2 -0
  26. package/esm/propTypes/toTypescript.js +154 -0
  27. package/esm/propTypes/types.js +1 -0
  28. package/esm/validation/typescriptValidator.js +2 -1
  29. package/package.json +56 -4
  30. package/types/globalProps/constants.d.ts +3 -0
  31. package/types/globalProps/globalAttributesPropTypes.d.ts +363 -0
  32. package/types/globalProps/index.d.ts +2 -0
  33. package/types/globalProps/useGetGlobalAttributes.d.ts +5 -0
  34. package/types/index.d.ts +2 -0
  35. package/types/propTypes/PropTypes.d.ts +3 -0
  36. package/types/propTypes/customPropTypes.d.ts +2 -0
  37. package/types/propTypes/describe.d.ts +3 -0
  38. package/types/propTypes/describeConversions.d.ts +3 -0
  39. package/types/propTypes/describeGuards.d.ts +9 -0
  40. package/types/propTypes/index.d.ts +3 -0
  41. package/types/propTypes/toTypescript.d.ts +3 -0
  42. package/types/propTypes/types.d.ts +96 -0
  43. package/types/tests/globalProps/TestComponent.d.ts +1 -0
  44. package/types/tests/{any.validation.test.d.ts → globalProps/globalAttributes.test.d.ts} +0 -0
  45. package/types/tests/{array.validation.test.d.ts → validation/any.validation.test.d.ts} +0 -0
  46. package/types/tests/{boolean.validation.test.d.ts → validation/array.validation.test.d.ts} +0 -0
  47. package/types/tests/{function.validation.test.d.ts → validation/boolean.validation.test.d.ts} +0 -0
  48. package/types/tests/{number.validation.test.d.ts → validation/function.validation.test.d.ts} +0 -0
  49. package/types/tests/{object.validation.test.d.ts → validation/number.validation.test.d.ts} +0 -0
  50. package/types/tests/{schema.validation.test.d.ts → validation/object.validation.test.d.ts} +0 -0
  51. package/types/tests/{string.validation.test.d.ts → validation/schema.validation.test.d.ts} +0 -0
  52. package/types/tests/{union.validation.test.d.ts → validation/string.validation.test.d.ts} +0 -0
  53. package/types/tests/{test.schema.d.ts → validation/test.schema.d.ts} +0 -0
  54. package/types/tests/validation/union.validation.test.d.ts +1 -0
  55. package/types/validation/typescriptValidator.d.ts +2 -2
@@ -0,0 +1,378 @@
1
+ import PropTypes from '../propTypes/PropTypes.js';
2
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
3
+ import 'core-js/modules/esnext.iterator.constructor.js';
4
+ import 'core-js/modules/esnext.iterator.for-each.js';
5
+ import 'core-js/modules/web.dom-collections.iterator.js';
6
+ import 'core-js/modules/esnext.async-iterator.map.js';
7
+ import 'core-js/modules/esnext.iterator.map.js';
8
+ import 'prop-types';
9
+ import 'core-js/modules/esnext.async-iterator.filter.js';
10
+ import 'core-js/modules/esnext.iterator.filter.js';
11
+ import '@babel/runtime/helpers/esm/defineProperty';
12
+
13
+ /* eslint-disable max-lines */
14
+ const globalAttributesPropTypes = {
15
+ 'aria-*': PropTypes.any.description('Aria related properties').global(),
16
+ 'on-*': PropTypes.func.description('Any supported React event').global(),
17
+ 'data-*': PropTypes.any.description('Any data property to attach to the root container').global(),
18
+ 'all HTML attributes': PropTypes.any.description('HTML attributes such as id, className, autoComplete, href and so on').global(),
19
+ about: PropTypes.any.hidden(),
20
+ accept: PropTypes.any.hidden(),
21
+ acceptCharset: PropTypes.any.hidden(),
22
+ accessKey: PropTypes.any.hidden(),
23
+ action: PropTypes.any.hidden(),
24
+ allowFullScreen: PropTypes.any.hidden(),
25
+ allowTransparency: PropTypes.any.hidden(),
26
+ alt: PropTypes.any.hidden(),
27
+ 'aria-activedescendant': PropTypes.any.hidden(),
28
+ 'aria-atomic': PropTypes.any.hidden(),
29
+ 'aria-autocomplete': PropTypes.any.hidden(),
30
+ 'aria-busy': PropTypes.any.hidden(),
31
+ 'aria-checked': PropTypes.any.hidden(),
32
+ 'aria-colcount': PropTypes.any.hidden(),
33
+ 'aria-colindex': PropTypes.any.hidden(),
34
+ 'aria-colspan': PropTypes.any.hidden(),
35
+ 'aria-controls': PropTypes.any.hidden(),
36
+ 'aria-current': PropTypes.any.hidden(),
37
+ 'aria-describedby': PropTypes.any.hidden(),
38
+ 'aria-details': PropTypes.any.hidden(),
39
+ 'aria-disabled': PropTypes.any.hidden(),
40
+ 'aria-dropeffect': PropTypes.any.hidden(),
41
+ 'aria-errormessage': PropTypes.any.hidden(),
42
+ 'aria-expanded': PropTypes.any.hidden(),
43
+ 'aria-flowto': PropTypes.any.hidden(),
44
+ 'aria-grabbed': PropTypes.any.hidden(),
45
+ 'aria-haspopup': PropTypes.any.hidden(),
46
+ 'aria-hidden': PropTypes.any.hidden(),
47
+ 'aria-invalid': PropTypes.any.hidden(),
48
+ 'aria-keyshortcuts': PropTypes.any.hidden(),
49
+ 'aria-label': PropTypes.any.hidden(),
50
+ 'aria-labelledby': PropTypes.any.hidden(),
51
+ 'aria-level': PropTypes.any.hidden(),
52
+ 'aria-live': PropTypes.any.hidden(),
53
+ 'aria-modal': PropTypes.any.hidden(),
54
+ 'aria-multiline': PropTypes.any.hidden(),
55
+ 'aria-multiselectable': PropTypes.any.hidden(),
56
+ 'aria-orientation': PropTypes.any.hidden(),
57
+ 'aria-owns': PropTypes.any.hidden(),
58
+ 'aria-placeholder': PropTypes.any.hidden(),
59
+ 'aria-posinset': PropTypes.any.hidden(),
60
+ 'aria-pressed': PropTypes.any.hidden(),
61
+ 'aria-readonly': PropTypes.any.hidden(),
62
+ 'aria-relevant': PropTypes.any.hidden(),
63
+ 'aria-required': PropTypes.any.hidden(),
64
+ 'aria-roledescription': PropTypes.any.hidden(),
65
+ 'aria-rowcount': PropTypes.any.hidden(),
66
+ 'aria-rowindex': PropTypes.any.hidden(),
67
+ 'aria-rowspan': PropTypes.any.hidden(),
68
+ 'aria-selected': PropTypes.any.hidden(),
69
+ 'aria-setsize': PropTypes.any.hidden(),
70
+ 'aria-sort': PropTypes.any.hidden(),
71
+ 'aria-valuemax': PropTypes.any.hidden(),
72
+ 'aria-valuemin': PropTypes.any.hidden(),
73
+ 'aria-valuenow': PropTypes.any.hidden(),
74
+ 'aria-valuetext': PropTypes.any.hidden(),
75
+ as: PropTypes.any.hidden(),
76
+ async: PropTypes.any.hidden(),
77
+ autoCapitalize: PropTypes.any.hidden(),
78
+ autoComplete: PropTypes.any.hidden(),
79
+ autoCorrect: PropTypes.any.hidden(),
80
+ autoFocus: PropTypes.any.hidden(),
81
+ autoPlay: PropTypes.any.hidden(),
82
+ autoSave: PropTypes.any.hidden(),
83
+ capture: PropTypes.any.hidden(),
84
+ cellPadding: PropTypes.any.hidden(),
85
+ cellSpacing: PropTypes.any.hidden(),
86
+ challenge: PropTypes.any.hidden(),
87
+ charSet: PropTypes.any.hidden(),
88
+ checked: PropTypes.any.hidden(),
89
+ cite: PropTypes.any.hidden(),
90
+ classID: PropTypes.any.hidden(),
91
+ className: PropTypes.any.hidden(),
92
+ color: PropTypes.any.hidden(),
93
+ cols: PropTypes.any.hidden(),
94
+ colSpan: PropTypes.any.hidden(),
95
+ content: PropTypes.any.hidden(),
96
+ contentEditable: PropTypes.any.hidden(),
97
+ contextMenu: PropTypes.any.hidden(),
98
+ controls: PropTypes.any.hidden(),
99
+ coords: PropTypes.any.hidden(),
100
+ crossOrigin: PropTypes.any.hidden(),
101
+ data: PropTypes.any.hidden(),
102
+ datatype: PropTypes.any.hidden(),
103
+ dateTime: PropTypes.any.hidden(),
104
+ default: PropTypes.any.hidden(),
105
+ defaultChecked: PropTypes.any.hidden(),
106
+ defaultValue: PropTypes.any.hidden(),
107
+ defer: PropTypes.any.hidden(),
108
+ dir: PropTypes.any.hidden(),
109
+ disabled: PropTypes.any.hidden(),
110
+ download: PropTypes.any.hidden(),
111
+ draggable: PropTypes.any.hidden(),
112
+ encType: PropTypes.any.hidden(),
113
+ form: PropTypes.any.hidden(),
114
+ formAction: PropTypes.any.hidden(),
115
+ formEncType: PropTypes.any.hidden(),
116
+ formMethod: PropTypes.any.hidden(),
117
+ formNoValidate: PropTypes.any.hidden(),
118
+ formTarget: PropTypes.any.hidden(),
119
+ frameBorder: PropTypes.any.hidden(),
120
+ headers: PropTypes.any.hidden(),
121
+ height: PropTypes.any.hidden(),
122
+ hidden: PropTypes.any.hidden(),
123
+ high: PropTypes.any.hidden(),
124
+ href: PropTypes.any.hidden(),
125
+ hrefLang: PropTypes.any.hidden(),
126
+ htmlFor: PropTypes.any.hidden(),
127
+ httpEquiv: PropTypes.any.hidden(),
128
+ id: PropTypes.any.hidden(),
129
+ inlist: PropTypes.any.hidden(),
130
+ inputMode: PropTypes.any.hidden(),
131
+ integrity: PropTypes.any.hidden(),
132
+ is: PropTypes.any.hidden(),
133
+ itemID: PropTypes.any.hidden(),
134
+ itemProp: PropTypes.any.hidden(),
135
+ itemRef: PropTypes.any.hidden(),
136
+ itemScope: PropTypes.any.hidden(),
137
+ itemType: PropTypes.any.hidden(),
138
+ keyParams: PropTypes.any.hidden(),
139
+ keyType: PropTypes.any.hidden(),
140
+ kind: PropTypes.any.hidden(),
141
+ label: PropTypes.any.hidden(),
142
+ lang: PropTypes.any.hidden(),
143
+ list: PropTypes.any.hidden(),
144
+ loop: PropTypes.any.hidden(),
145
+ low: PropTypes.any.hidden(),
146
+ manifest: PropTypes.any.hidden(),
147
+ marginHeight: PropTypes.any.hidden(),
148
+ marginWidth: PropTypes.any.hidden(),
149
+ max: PropTypes.any.hidden(),
150
+ maxLength: PropTypes.any.hidden(),
151
+ media: PropTypes.any.hidden(),
152
+ mediaGroup: PropTypes.any.hidden(),
153
+ method: PropTypes.any.hidden(),
154
+ min: PropTypes.any.hidden(),
155
+ minLength: PropTypes.any.hidden(),
156
+ multiple: PropTypes.any.hidden(),
157
+ muted: PropTypes.any.hidden(),
158
+ name: PropTypes.any.hidden(),
159
+ nonce: PropTypes.any.hidden(),
160
+ noValidate: PropTypes.any.hidden(),
161
+ onAbort: PropTypes.any.hidden(),
162
+ onAbortCapture: PropTypes.any.hidden(),
163
+ onAnimationEnd: PropTypes.any.hidden(),
164
+ onAnimationEndCapture: PropTypes.any.hidden(),
165
+ onAnimationIteration: PropTypes.any.hidden(),
166
+ onAnimationIterationCapture: PropTypes.any.hidden(),
167
+ onAnimationStart: PropTypes.any.hidden(),
168
+ onAnimationStartCapture: PropTypes.any.hidden(),
169
+ onAuxClick: PropTypes.any.hidden(),
170
+ onAuxClickCapture: PropTypes.any.hidden(),
171
+ onBeforeInput: PropTypes.any.hidden(),
172
+ onBeforeInputCapture: PropTypes.any.hidden(),
173
+ onBlur: PropTypes.any.hidden(),
174
+ onBlurCapture: PropTypes.any.hidden(),
175
+ onCanPlay: PropTypes.any.hidden(),
176
+ onCanPlayCapture: PropTypes.any.hidden(),
177
+ onCanPlayThrough: PropTypes.any.hidden(),
178
+ onCanPlayThroughCapture: PropTypes.any.hidden(),
179
+ onChange: PropTypes.any.hidden(),
180
+ onChangeCapture: PropTypes.any.hidden(),
181
+ onClick: PropTypes.any.hidden(),
182
+ onClickCapture: PropTypes.any.hidden(),
183
+ onCompositionEnd: PropTypes.any.hidden(),
184
+ onCompositionEndCapture: PropTypes.any.hidden(),
185
+ onCompositionStart: PropTypes.any.hidden(),
186
+ onCompositionStartCapture: PropTypes.any.hidden(),
187
+ onCompositionUpdate: PropTypes.any.hidden(),
188
+ onCompositionUpdateCapture: PropTypes.any.hidden(),
189
+ onContextMenu: PropTypes.any.hidden(),
190
+ onContextMenuCapture: PropTypes.any.hidden(),
191
+ onCopy: PropTypes.any.hidden(),
192
+ onCopyCapture: PropTypes.any.hidden(),
193
+ onCut: PropTypes.any.hidden(),
194
+ onCutCapture: PropTypes.any.hidden(),
195
+ onDoubleClick: PropTypes.any.hidden(),
196
+ onDoubleClickCapture: PropTypes.any.hidden(),
197
+ onDrag: PropTypes.any.hidden(),
198
+ onDragCapture: PropTypes.any.hidden(),
199
+ onDragEnd: PropTypes.any.hidden(),
200
+ onDragEndCapture: PropTypes.any.hidden(),
201
+ onDragEnter: PropTypes.any.hidden(),
202
+ onDragEnterCapture: PropTypes.any.hidden(),
203
+ onDragExit: PropTypes.any.hidden(),
204
+ onDragExitCapture: PropTypes.any.hidden(),
205
+ onDragLeave: PropTypes.any.hidden(),
206
+ onDragLeaveCapture: PropTypes.any.hidden(),
207
+ onDragOver: PropTypes.any.hidden(),
208
+ onDragOverCapture: PropTypes.any.hidden(),
209
+ onDragStart: PropTypes.any.hidden(),
210
+ onDragStartCapture: PropTypes.any.hidden(),
211
+ onDrop: PropTypes.any.hidden(),
212
+ onDropCapture: PropTypes.any.hidden(),
213
+ onDurationChange: PropTypes.any.hidden(),
214
+ onDurationChangeCapture: PropTypes.any.hidden(),
215
+ onEmptied: PropTypes.any.hidden(),
216
+ onEmptiedCapture: PropTypes.any.hidden(),
217
+ onEncrypted: PropTypes.any.hidden(),
218
+ onEncryptedCapture: PropTypes.any.hidden(),
219
+ onEnded: PropTypes.any.hidden(),
220
+ onEndedCapture: PropTypes.any.hidden(),
221
+ onError: PropTypes.any.hidden(),
222
+ onErrorCapture: PropTypes.any.hidden(),
223
+ onFocus: PropTypes.any.hidden(),
224
+ onFocusCapture: PropTypes.any.hidden(),
225
+ onGotPointerCapture: PropTypes.any.hidden(),
226
+ onGotPointerCaptureCapture: PropTypes.any.hidden(),
227
+ onInput: PropTypes.any.hidden(),
228
+ onInputCapture: PropTypes.any.hidden(),
229
+ onInvalid: PropTypes.any.hidden(),
230
+ onInvalidCapture: PropTypes.any.hidden(),
231
+ onKeyDown: PropTypes.any.hidden(),
232
+ onKeyDownCapture: PropTypes.any.hidden(),
233
+ onKeyPress: PropTypes.any.hidden(),
234
+ onKeyPressCapture: PropTypes.any.hidden(),
235
+ onKeyUp: PropTypes.any.hidden(),
236
+ onKeyUpCapture: PropTypes.any.hidden(),
237
+ onLoad: PropTypes.any.hidden(),
238
+ onLoadCapture: PropTypes.any.hidden(),
239
+ onLoadedData: PropTypes.any.hidden(),
240
+ onLoadedDataCapture: PropTypes.any.hidden(),
241
+ onLoadedMetadata: PropTypes.any.hidden(),
242
+ onLoadedMetadataCapture: PropTypes.any.hidden(),
243
+ onLoadStart: PropTypes.any.hidden(),
244
+ onLoadStartCapture: PropTypes.any.hidden(),
245
+ onLostPointerCapture: PropTypes.any.hidden(),
246
+ onLostPointerCaptureCapture: PropTypes.any.hidden(),
247
+ onMouseDown: PropTypes.any.hidden(),
248
+ onMouseDownCapture: PropTypes.any.hidden(),
249
+ onMouseEnter: PropTypes.any.hidden(),
250
+ onMouseLeave: PropTypes.any.hidden(),
251
+ onMouseMove: PropTypes.any.hidden(),
252
+ onMouseMoveCapture: PropTypes.any.hidden(),
253
+ onMouseOut: PropTypes.any.hidden(),
254
+ onMouseOutCapture: PropTypes.any.hidden(),
255
+ onMouseOver: PropTypes.any.hidden(),
256
+ onMouseOverCapture: PropTypes.any.hidden(),
257
+ onMouseUp: PropTypes.any.hidden(),
258
+ onMouseUpCapture: PropTypes.any.hidden(),
259
+ onPaste: PropTypes.any.hidden(),
260
+ onPasteCapture: PropTypes.any.hidden(),
261
+ onPause: PropTypes.any.hidden(),
262
+ onPauseCapture: PropTypes.any.hidden(),
263
+ onPlay: PropTypes.any.hidden(),
264
+ onPlayCapture: PropTypes.any.hidden(),
265
+ onPlaying: PropTypes.any.hidden(),
266
+ onPlayingCapture: PropTypes.any.hidden(),
267
+ onPointerCancel: PropTypes.any.hidden(),
268
+ onPointerCancelCapture: PropTypes.any.hidden(),
269
+ onPointerDown: PropTypes.any.hidden(),
270
+ onPointerDownCapture: PropTypes.any.hidden(),
271
+ onPointerEnter: PropTypes.any.hidden(),
272
+ onPointerEnterCapture: PropTypes.any.hidden(),
273
+ onPointerLeave: PropTypes.any.hidden(),
274
+ onPointerLeaveCapture: PropTypes.any.hidden(),
275
+ onPointerMove: PropTypes.any.hidden(),
276
+ onPointerMoveCapture: PropTypes.any.hidden(),
277
+ onPointerOut: PropTypes.any.hidden(),
278
+ onPointerOutCapture: PropTypes.any.hidden(),
279
+ onPointerOver: PropTypes.any.hidden(),
280
+ onPointerOverCapture: PropTypes.any.hidden(),
281
+ onPointerUp: PropTypes.any.hidden(),
282
+ onPointerUpCapture: PropTypes.any.hidden(),
283
+ onProgress: PropTypes.any.hidden(),
284
+ onProgressCapture: PropTypes.any.hidden(),
285
+ onRateChange: PropTypes.any.hidden(),
286
+ onRateChangeCapture: PropTypes.any.hidden(),
287
+ onReset: PropTypes.any.hidden(),
288
+ onResetCapture: PropTypes.any.hidden(),
289
+ onScroll: PropTypes.any.hidden(),
290
+ onScrollCapture: PropTypes.any.hidden(),
291
+ onSeeked: PropTypes.any.hidden(),
292
+ onSeekedCapture: PropTypes.any.hidden(),
293
+ onSeeking: PropTypes.any.hidden(),
294
+ onSeekingCapture: PropTypes.any.hidden(),
295
+ onSelect: PropTypes.any.hidden(),
296
+ onSelectCapture: PropTypes.any.hidden(),
297
+ onStalled: PropTypes.any.hidden(),
298
+ onStalledCapture: PropTypes.any.hidden(),
299
+ onSubmit: PropTypes.any.hidden(),
300
+ onSubmitCapture: PropTypes.any.hidden(),
301
+ onSuspend: PropTypes.any.hidden(),
302
+ onSuspendCapture: PropTypes.any.hidden(),
303
+ onTimeUpdate: PropTypes.any.hidden(),
304
+ onTimeUpdateCapture: PropTypes.any.hidden(),
305
+ onTouchCancel: PropTypes.any.hidden(),
306
+ onTouchCancelCapture: PropTypes.any.hidden(),
307
+ onTouchEnd: PropTypes.any.hidden(),
308
+ onTouchEndCapture: PropTypes.any.hidden(),
309
+ onTouchMove: PropTypes.any.hidden(),
310
+ onTouchMoveCapture: PropTypes.any.hidden(),
311
+ onTouchStart: PropTypes.any.hidden(),
312
+ onTouchStartCapture: PropTypes.any.hidden(),
313
+ onTransitionEnd: PropTypes.any.hidden(),
314
+ onTransitionEndCapture: PropTypes.any.hidden(),
315
+ onVolumeChange: PropTypes.any.hidden(),
316
+ onVolumeChangeCapture: PropTypes.any.hidden(),
317
+ onWaiting: PropTypes.any.hidden(),
318
+ onWaitingCapture: PropTypes.any.hidden(),
319
+ onWheel: PropTypes.any.hidden(),
320
+ onWheelCapture: PropTypes.any.hidden(),
321
+ open: PropTypes.any.hidden(),
322
+ optimum: PropTypes.any.hidden(),
323
+ pattern: PropTypes.any.hidden(),
324
+ placeholder: PropTypes.any.hidden(),
325
+ playsInline: PropTypes.any.hidden(),
326
+ poster: PropTypes.any.hidden(),
327
+ prefix: PropTypes.any.hidden(),
328
+ preload: PropTypes.any.hidden(),
329
+ property: PropTypes.any.hidden(),
330
+ radioGroup: PropTypes.any.hidden(),
331
+ readOnly: PropTypes.any.hidden(),
332
+ rel: PropTypes.any.hidden(),
333
+ required: PropTypes.any.hidden(),
334
+ resource: PropTypes.any.hidden(),
335
+ results: PropTypes.any.hidden(),
336
+ reversed: PropTypes.any.hidden(),
337
+ role: PropTypes.any.hidden(),
338
+ rows: PropTypes.any.hidden(),
339
+ rowSpan: PropTypes.any.hidden(),
340
+ sandbox: PropTypes.any.hidden(),
341
+ scope: PropTypes.any.hidden(),
342
+ scoped: PropTypes.any.hidden(),
343
+ scrolling: PropTypes.any.hidden(),
344
+ seamless: PropTypes.any.hidden(),
345
+ security: PropTypes.any.hidden(),
346
+ selected: PropTypes.any.hidden(),
347
+ shape: PropTypes.any.hidden(),
348
+ size: PropTypes.any.hidden(),
349
+ sizes: PropTypes.any.hidden(),
350
+ slot: PropTypes.any.hidden(),
351
+ span: PropTypes.any.hidden(),
352
+ spellCheck: PropTypes.any.hidden(),
353
+ src: PropTypes.any.hidden(),
354
+ srcDoc: PropTypes.any.hidden(),
355
+ srcLang: PropTypes.any.hidden(),
356
+ srcSet: PropTypes.any.hidden(),
357
+ start: PropTypes.any.hidden(),
358
+ step: PropTypes.any.hidden(),
359
+ style: PropTypes.any.hidden(),
360
+ summary: PropTypes.any.hidden(),
361
+ suppressContentEditableWarning: PropTypes.any.hidden(),
362
+ suppressHydrationWarning: PropTypes.any.hidden(),
363
+ tabIndex: PropTypes.any.hidden(),
364
+ target: PropTypes.any.hidden(),
365
+ title: PropTypes.any.hidden(),
366
+ translate: PropTypes.any.hidden(),
367
+ type: PropTypes.any.hidden(),
368
+ typeof: PropTypes.any.hidden(),
369
+ unselectable: PropTypes.any.hidden(),
370
+ useMap: PropTypes.any.hidden(),
371
+ value: PropTypes.any.hidden(),
372
+ vocab: PropTypes.any.hidden(),
373
+ width: PropTypes.any.hidden(),
374
+ wmode: PropTypes.any.hidden(),
375
+ wrap: PropTypes.any.hidden()
376
+ };
377
+
378
+ export { globalAttributesPropTypes };
@@ -0,0 +1,2 @@
1
+ export { useGetGlobalAttributes } from './useGetGlobalAttributes.js';
2
+ export { globalAttributesPropTypes } from './globalAttributesPropTypes.js';
@@ -0,0 +1,32 @@
1
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.for-each.js';
4
+ import 'core-js/modules/web.dom-collections.iterator.js';
5
+ import { useMemo } from 'react';
6
+ import { globalAttributes } from './constants.js';
7
+
8
+ const useGetGlobalAttributes = (props, overrides) => {
9
+ const componentGlobalAttributes = useMemo(() => {
10
+ const globalAttributesObject = {};
11
+ Object.entries(props).forEach(_ref => {
12
+ let [key, value] = _ref;
13
+
14
+ if (key in globalAttributes || key.startsWith('data-')) {
15
+ if (overrides && key in overrides && typeof value === 'function' && typeof overrides[key] === 'function') {
16
+ const newFunc = function () {
17
+ value(...arguments);
18
+ overrides[key](...arguments);
19
+ };
20
+
21
+ globalAttributesObject[key] = newFunc;
22
+ } else {
23
+ globalAttributesObject[key] = value;
24
+ }
25
+ }
26
+ });
27
+ return globalAttributesObject;
28
+ }, [props, overrides]);
29
+ return componentGlobalAttributes;
30
+ };
31
+
32
+ export { useGetGlobalAttributes };
package/esm/index.js CHANGED
@@ -3,3 +3,7 @@ export { useValidatePropTypes } from './validation/validator.js';
3
3
  export { throwRequiredError, throwTypeError } from './validation/errorTemplates.js';
4
4
  export { useValidateTypescriptPropTypes, validateTypescriptPropTypesImplementation } from './validation/typescriptValidator.js';
5
5
  export { getAriaProps, getDataProps } from './getProps/index.js';
6
+ export { useGetGlobalAttributes } from './globalProps/useGetGlobalAttributes.js';
7
+ export { globalAttributesPropTypes } from './globalProps/globalAttributesPropTypes.js';
8
+ export { default as PropTypes } from './propTypes/PropTypes.js';
9
+ export { default as describe } from './propTypes/describe.js';
@@ -0,0 +1,124 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.filter.js';
3
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.constructor.js';
6
+ import 'core-js/modules/esnext.iterator.for-each.js';
7
+
8
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
+
10
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
+
12
+ const addPropTypeDocumentationField = fieldName => function addFieldToReactDesc(value) {
13
+ if (!this.reactDesc) {
14
+ this.reactDesc = {};
15
+ }
16
+
17
+ let realValue = value;
18
+ if (fieldName === 'global' || fieldName === 'hidden') realValue = true;
19
+ this.reactDesc[fieldName] = realValue;
20
+ return this;
21
+ };
22
+
23
+ const documentedPropType = {
24
+ defaultValue: addPropTypeDocumentationField('defaultValue'),
25
+ description: addPropTypeDocumentationField('description'),
26
+ deprecated: addPropTypeDocumentationField('deprecated'),
27
+ format: addPropTypeDocumentationField('format'),
28
+ global: addPropTypeDocumentationField('global'),
29
+ hidden: addPropTypeDocumentationField('hidden')
30
+ };
31
+
32
+ const createPropType = type => {
33
+ const propTypeObj = _objectSpread({
34
+ type
35
+ }, documentedPropType);
36
+
37
+ Object.defineProperty(propTypeObj, 'isRequired', {
38
+ get: function getRequired() {
39
+ if (!this.reactDesc) {
40
+ this.reactDesc = {};
41
+ }
42
+
43
+ this.reactDesc.required = true;
44
+ return this;
45
+ },
46
+ enumerable: true,
47
+ configurable: true
48
+ });
49
+ return propTypeObj;
50
+ };
51
+
52
+ const createPropTypeWithArgs = type => args => {
53
+ const propTypeObj = _objectSpread({
54
+ args,
55
+ type
56
+ }, documentedPropType);
57
+
58
+ Object.defineProperty(propTypeObj, 'isRequired', {
59
+ get: function getRequired() {
60
+ if (!this.reactDesc) {
61
+ this.reactDesc = {};
62
+ }
63
+
64
+ this.reactDesc.required = true;
65
+ return this;
66
+ },
67
+ enumerable: true,
68
+ configurable: true
69
+ });
70
+ return propTypeObj;
71
+ };
72
+
73
+ const PropTypes = {
74
+ custom: callback => {
75
+ const target = callback.bind(null);
76
+ target.type = 'func';
77
+ Object.keys(documentedPropType).forEach(fieldName => {
78
+ const fieldNameCasted = fieldName; // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
79
+
80
+ target[fieldNameCasted] = documentedPropType[fieldNameCasted];
81
+ });
82
+ return target;
83
+ }
84
+ };
85
+
86
+ function definePropType(type) {
87
+ Object.defineProperty(PropTypes, type, {
88
+ get: function getPropType() {
89
+ return createPropType(type);
90
+ },
91
+ enumerable: true,
92
+ configurable: true
93
+ });
94
+ }
95
+
96
+ function definePropTypeWithArgs(type) {
97
+ Object.defineProperty(PropTypes, type, {
98
+ get: function getPropType() {
99
+ return createPropTypeWithArgs(type);
100
+ },
101
+ enumerable: true,
102
+ configurable: true
103
+ });
104
+ }
105
+
106
+ definePropType('any');
107
+ definePropType('array');
108
+ definePropType('bool');
109
+ definePropType('element');
110
+ definePropType('func');
111
+ definePropType('node');
112
+ definePropType('number');
113
+ definePropType('object');
114
+ definePropType('symbol');
115
+ definePropType('string');
116
+ definePropTypeWithArgs('arrayOf');
117
+ definePropTypeWithArgs('instanceOf');
118
+ definePropTypeWithArgs('objectOf');
119
+ definePropTypeWithArgs('oneOfType');
120
+ definePropTypeWithArgs('oneOf');
121
+ definePropTypeWithArgs('shape');
122
+ definePropTypeWithArgs('tuple');
123
+
124
+ export { PropTypes as default };
@@ -0,0 +1,17 @@
1
+ import 'core-js/modules/web.dom-collections.iterator.js';
2
+
3
+ /* eslint-disable max-params */
4
+ const tupleValidator = tupleShape => {
5
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call
6
+ const func = function (value, index) {
7
+ for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
8
+ rest[_key - 2] = arguments[_key];
9
+ }
10
+
11
+ return tupleShape[index](value, index, ...rest);
12
+ };
13
+
14
+ return func;
15
+ };
16
+
17
+ export { tupleValidator };
@@ -0,0 +1,62 @@
1
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.for-each.js';
4
+ import { convertPropType } from './describeConversions.js';
5
+ import descToTypescript from './toTypescript.js';
6
+
7
+ function describe(ComponentInstance) {
8
+ if (!ComponentInstance) {
9
+ throw new Error('react-desc: component is required');
10
+ }
11
+
12
+ const documentation = {
13
+ propTypes: {}
14
+ };
15
+ const DocumentedComponent = ComponentInstance;
16
+
17
+ const addDocumentationProp = propName => {
18
+ const func = value => {
19
+ documentation[propName] = value;
20
+ return DocumentedComponent;
21
+ };
22
+
23
+ return func;
24
+ };
25
+
26
+ DocumentedComponent.availableAt = addDocumentationProp('availableAt');
27
+ DocumentedComponent.description = addDocumentationProp('description');
28
+ DocumentedComponent.details = addDocumentationProp('details');
29
+ DocumentedComponent.deprecated = addDocumentationProp('deprecated');
30
+ DocumentedComponent.usage = addDocumentationProp('usage');
31
+ DocumentedComponent.intrinsicElement = addDocumentationProp('intrinsicElement');
32
+
33
+ DocumentedComponent.toTypescript = () => descToTypescript(ComponentInstance, documentation);
34
+
35
+ Object.defineProperty(DocumentedComponent, 'propTypes', {
36
+ get: () => DocumentedComponent.propTypesValue,
37
+ set: value => {
38
+ if (!DocumentedComponent.propTypesValue) {
39
+ DocumentedComponent.propTypesValue = {};
40
+ }
41
+
42
+ Object.keys(value).forEach(name => {
43
+ const propType = value[name];
44
+ let realPropType;
45
+ documentation.propTypes[name] = propType;
46
+ realPropType = convertPropType(propType);
47
+
48
+ if (value[name].reactDesc.required) {
49
+ realPropType = realPropType.isRequired;
50
+ }
51
+
52
+ DocumentedComponent.propTypesValue[name] = realPropType;
53
+ return propType;
54
+ });
55
+ },
56
+ enumerable: true,
57
+ configurable: true
58
+ });
59
+ return DocumentedComponent;
60
+ }
61
+
62
+ export { describe as default };