@fluentui/react-utilities 9.0.0-nightly.b5b7401007.0 → 9.0.0-rc.3

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 (186) hide show
  1. package/CHANGELOG.json +180 -12
  2. package/CHANGELOG.md +54 -8
  3. package/dist/react-utilities.d.ts +232 -105
  4. package/lib/compose/getSlots.d.ts +11 -10
  5. package/lib/compose/getSlots.js +21 -30
  6. package/lib/compose/getSlots.js.map +1 -1
  7. package/lib/compose/index.d.ts +0 -1
  8. package/lib/compose/index.js +0 -1
  9. package/lib/compose/index.js.map +1 -1
  10. package/lib/compose/resolveShorthand.d.ts +10 -6
  11. package/lib/compose/resolveShorthand.js +13 -12
  12. package/lib/compose/resolveShorthand.js.map +1 -1
  13. package/lib/compose/types.d.ts +86 -35
  14. package/lib/compose/types.js.map +1 -1
  15. package/lib/hooks/index.d.ts +1 -1
  16. package/lib/hooks/index.js +1 -1
  17. package/lib/hooks/index.js.map +1 -1
  18. package/lib/hooks/useBoolean.js +10 -21
  19. package/lib/hooks/useBoolean.js.map +1 -1
  20. package/lib/hooks/useConst.js +1 -1
  21. package/lib/hooks/useConst.js.map +1 -1
  22. package/lib/hooks/useControllableState.d.ts +16 -6
  23. package/lib/hooks/useControllableState.js +26 -25
  24. package/lib/hooks/useControllableState.js.map +1 -1
  25. package/lib/hooks/useEventCallback.js +6 -12
  26. package/lib/hooks/useEventCallback.js.map +1 -1
  27. package/lib/hooks/useFirstMount.js +1 -1
  28. package/lib/hooks/useFirstMount.js.map +1 -1
  29. package/lib/hooks/useForceUpdate.js +1 -3
  30. package/lib/hooks/useForceUpdate.js.map +1 -1
  31. package/lib/hooks/useId.js +2 -4
  32. package/lib/hooks/useId.js.map +1 -1
  33. package/lib/hooks/useIsomorphicLayoutEffect.js +1 -1
  34. package/lib/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  35. package/lib/hooks/useMergedEventCallbacks.d.ts +18 -0
  36. package/lib/hooks/useMergedEventCallbacks.js +26 -0
  37. package/lib/hooks/useMergedEventCallbacks.js.map +1 -0
  38. package/lib/hooks/useMergedRefs.js +5 -13
  39. package/lib/hooks/useMergedRefs.js.map +1 -1
  40. package/lib/hooks/useMount.js +3 -3
  41. package/lib/hooks/useMount.js.map +1 -1
  42. package/lib/hooks/useOnClickOutside.js +30 -36
  43. package/lib/hooks/useOnClickOutside.js.map +1 -1
  44. package/lib/hooks/useOnScrollOutside.js +13 -15
  45. package/lib/hooks/useOnScrollOutside.js.map +1 -1
  46. package/lib/hooks/usePrevious.js +3 -3
  47. package/lib/hooks/usePrevious.js.map +1 -1
  48. package/lib/hooks/useTimeout.js +13 -17
  49. package/lib/hooks/useTimeout.js.map +1 -1
  50. package/lib/hooks/useUnmount.js +5 -7
  51. package/lib/hooks/useUnmount.js.map +1 -1
  52. package/lib/index.js.map +1 -1
  53. package/lib/ssr/SSRContext.js +9 -15
  54. package/lib/ssr/SSRContext.js.map +1 -1
  55. package/lib/ssr/canUseDOM.js.map +1 -1
  56. package/lib/ssr/index.js.map +1 -1
  57. package/lib/utils/applyTriggerPropsToChildren.d.ts +1 -1
  58. package/lib/utils/applyTriggerPropsToChildren.js +24 -4
  59. package/lib/utils/applyTriggerPropsToChildren.js.map +1 -1
  60. package/lib/utils/clamp.js +1 -3
  61. package/lib/utils/clamp.js.map +1 -1
  62. package/lib/utils/getNativeElementProps.d.ts +22 -0
  63. package/lib/utils/getNativeElementProps.js +24 -2
  64. package/lib/utils/getNativeElementProps.js.map +1 -1
  65. package/lib/utils/getRTLSafeKey.js +1 -1
  66. package/lib/utils/getRTLSafeKey.js.map +1 -1
  67. package/lib/utils/getReactCallbackName.d.ts +25 -0
  68. package/lib/utils/getReactCallbackName.js +26 -0
  69. package/lib/utils/getReactCallbackName.js.map +1 -0
  70. package/lib/utils/getTriggerChild.d.ts +22 -0
  71. package/lib/utils/getTriggerChild.js +26 -0
  72. package/lib/utils/getTriggerChild.js.map +1 -0
  73. package/lib/utils/index.d.ts +2 -1
  74. package/lib/utils/index.js +2 -1
  75. package/lib/utils/index.js.map +1 -1
  76. package/lib/utils/isFluentTrigger.d.ts +22 -0
  77. package/lib/utils/isFluentTrigger.js +8 -0
  78. package/lib/utils/isFluentTrigger.js.map +1 -0
  79. package/lib/utils/omit.js +2 -2
  80. package/lib/utils/omit.js.map +1 -1
  81. package/lib/utils/properties.js +55 -44
  82. package/lib/utils/properties.js.map +1 -1
  83. package/lib/utils/shouldPreventDefaultOnKeyDown.js +4 -4
  84. package/lib/utils/shouldPreventDefaultOnKeyDown.js.map +1 -1
  85. package/lib-commonjs/compose/getSlots.d.ts +11 -10
  86. package/lib-commonjs/compose/getSlots.js +23 -34
  87. package/lib-commonjs/compose/getSlots.js.map +1 -1
  88. package/lib-commonjs/compose/index.d.ts +0 -1
  89. package/lib-commonjs/compose/index.js +1 -3
  90. package/lib-commonjs/compose/index.js.map +1 -1
  91. package/lib-commonjs/compose/resolveShorthand.d.ts +10 -6
  92. package/lib-commonjs/compose/resolveShorthand.js +14 -14
  93. package/lib-commonjs/compose/resolveShorthand.js.map +1 -1
  94. package/lib-commonjs/compose/types.d.ts +86 -35
  95. package/lib-commonjs/compose/types.js.map +1 -1
  96. package/lib-commonjs/hooks/index.d.ts +1 -1
  97. package/lib-commonjs/hooks/index.js +3 -3
  98. package/lib-commonjs/hooks/index.js.map +1 -1
  99. package/lib-commonjs/hooks/useBoolean.js +12 -23
  100. package/lib-commonjs/hooks/useBoolean.js.map +1 -1
  101. package/lib-commonjs/hooks/useConst.js +2 -2
  102. package/lib-commonjs/hooks/useConst.js.map +1 -1
  103. package/lib-commonjs/hooks/useControllableState.d.ts +16 -6
  104. package/lib-commonjs/hooks/useControllableState.js +28 -27
  105. package/lib-commonjs/hooks/useControllableState.js.map +1 -1
  106. package/lib-commonjs/hooks/useEventCallback.js +8 -14
  107. package/lib-commonjs/hooks/useEventCallback.js.map +1 -1
  108. package/lib-commonjs/hooks/useFirstMount.js +2 -2
  109. package/lib-commonjs/hooks/useFirstMount.js.map +1 -1
  110. package/lib-commonjs/hooks/useForceUpdate.js +2 -4
  111. package/lib-commonjs/hooks/useForceUpdate.js.map +1 -1
  112. package/lib-commonjs/hooks/useId.js +4 -6
  113. package/lib-commonjs/hooks/useId.js.map +1 -1
  114. package/lib-commonjs/hooks/useIsomorphicLayoutEffect.js +2 -2
  115. package/lib-commonjs/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  116. package/lib-commonjs/hooks/useMergedEventCallbacks.d.ts +18 -0
  117. package/lib-commonjs/hooks/useMergedEventCallbacks.js +36 -0
  118. package/lib-commonjs/hooks/useMergedEventCallbacks.js.map +1 -0
  119. package/lib-commonjs/hooks/useMergedRefs.js +6 -15
  120. package/lib-commonjs/hooks/useMergedRefs.js.map +1 -1
  121. package/lib-commonjs/hooks/useMount.js +4 -4
  122. package/lib-commonjs/hooks/useMount.js.map +1 -1
  123. package/lib-commonjs/hooks/useOnClickOutside.js +32 -38
  124. package/lib-commonjs/hooks/useOnClickOutside.js.map +1 -1
  125. package/lib-commonjs/hooks/useOnScrollOutside.js +15 -17
  126. package/lib-commonjs/hooks/useOnScrollOutside.js.map +1 -1
  127. package/lib-commonjs/hooks/usePrevious.js +4 -4
  128. package/lib-commonjs/hooks/usePrevious.js.map +1 -1
  129. package/lib-commonjs/hooks/useTimeout.js +15 -19
  130. package/lib-commonjs/hooks/useTimeout.js.map +1 -1
  131. package/lib-commonjs/hooks/useUnmount.js +6 -8
  132. package/lib-commonjs/hooks/useUnmount.js.map +1 -1
  133. package/lib-commonjs/index.js +1 -1
  134. package/lib-commonjs/index.js.map +1 -1
  135. package/lib-commonjs/ssr/SSRContext.js +9 -15
  136. package/lib-commonjs/ssr/SSRContext.js.map +1 -1
  137. package/lib-commonjs/ssr/canUseDOM.js.map +1 -1
  138. package/lib-commonjs/ssr/index.js +1 -1
  139. package/lib-commonjs/ssr/index.js.map +1 -1
  140. package/lib-commonjs/utils/applyTriggerPropsToChildren.d.ts +1 -1
  141. package/lib-commonjs/utils/applyTriggerPropsToChildren.js +26 -6
  142. package/lib-commonjs/utils/applyTriggerPropsToChildren.js.map +1 -1
  143. package/lib-commonjs/utils/clamp.js +1 -3
  144. package/lib-commonjs/utils/clamp.js.map +1 -1
  145. package/lib-commonjs/utils/getNativeElementProps.d.ts +22 -0
  146. package/lib-commonjs/utils/getNativeElementProps.js +28 -4
  147. package/lib-commonjs/utils/getNativeElementProps.js.map +1 -1
  148. package/lib-commonjs/utils/getRTLSafeKey.js +1 -1
  149. package/lib-commonjs/utils/getRTLSafeKey.js.map +1 -1
  150. package/lib-commonjs/utils/getReactCallbackName.d.ts +25 -0
  151. package/lib-commonjs/utils/getReactCallbackName.js +35 -0
  152. package/lib-commonjs/utils/getReactCallbackName.js.map +1 -0
  153. package/lib-commonjs/utils/getTriggerChild.d.ts +22 -0
  154. package/lib-commonjs/utils/getTriggerChild.js +37 -0
  155. package/lib-commonjs/utils/getTriggerChild.js.map +1 -0
  156. package/lib-commonjs/utils/index.d.ts +2 -1
  157. package/lib-commonjs/utils/index.js +5 -3
  158. package/lib-commonjs/utils/index.js.map +1 -1
  159. package/lib-commonjs/utils/isFluentTrigger.d.ts +22 -0
  160. package/lib-commonjs/utils/isFluentTrigger.js +17 -0
  161. package/lib-commonjs/utils/isFluentTrigger.js.map +1 -0
  162. package/lib-commonjs/utils/omit.js +2 -2
  163. package/lib-commonjs/utils/omit.js.map +1 -1
  164. package/lib-commonjs/utils/properties.js +50 -39
  165. package/lib-commonjs/utils/properties.js.map +1 -1
  166. package/lib-commonjs/utils/shouldPreventDefaultOnKeyDown.js +5 -5
  167. package/lib-commonjs/utils/shouldPreventDefaultOnKeyDown.js.map +1 -1
  168. package/package.json +6 -11
  169. package/lib/compose/nullRender.d.ts +0 -4
  170. package/lib/compose/nullRender.js +0 -7
  171. package/lib/compose/nullRender.js.map +0 -1
  172. package/lib/hooks/useControllableValue.d.ts +0 -20
  173. package/lib/hooks/useControllableValue.js +0 -62
  174. package/lib/hooks/useControllableValue.js.map +0 -1
  175. package/lib/utils/onlyChild.d.ts +0 -5
  176. package/lib/utils/onlyChild.js +0 -13
  177. package/lib/utils/onlyChild.js.map +0 -1
  178. package/lib-commonjs/compose/nullRender.d.ts +0 -4
  179. package/lib-commonjs/compose/nullRender.js +0 -16
  180. package/lib-commonjs/compose/nullRender.js.map +0 -1
  181. package/lib-commonjs/hooks/useControllableValue.d.ts +0 -20
  182. package/lib-commonjs/hooks/useControllableValue.js +0 -73
  183. package/lib-commonjs/hooks/useControllableValue.js.map +0 -1
  184. package/lib-commonjs/utils/onlyChild.d.ts +0 -5
  185. package/lib-commonjs/utils/onlyChild.js +0 -23
  186. package/lib-commonjs/utils/onlyChild.js.map +0 -1
@@ -5,21 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getNativeProps = exports.divProperties = exports.imageProperties = exports.imgProperties = exports.iframeProperties = exports.formProperties = exports.colProperties = exports.colGroupProperties = exports.tdProperties = exports.thProperties = exports.trProperties = exports.tableProperties = exports.optionProperties = exports.selectProperties = exports.textAreaProperties = exports.inputProperties = exports.buttonProperties = exports.anchorProperties = exports.liProperties = exports.olProperties = exports.videoProperties = exports.audioProperties = exports.labelProperties = exports.htmlElementProperties = exports.baseElementProperties = exports.baseElementEvents = void 0;
7
7
 
8
- var toObjectMap = function () {
9
- var items = [];
8
+ const toObjectMap = (...items) => {
9
+ const result = {};
10
10
 
11
- for (var _i = 0; _i < arguments.length; _i++) {
12
- items[_i] = arguments[_i];
13
- }
14
-
15
- var result = {};
16
-
17
- for (var _a = 0, items_1 = items; _a < items_1.length; _a++) {
18
- var item = items_1[_a];
19
- var keys = Array.isArray(item) ? item : Object.keys(item);
11
+ for (const item of items) {
12
+ const keys = Array.isArray(item) ? item : Object.keys(item);
20
13
 
21
- for (var _b = 0, keys_1 = keys; _b < keys_1.length; _b++) {
22
- var key = keys_1[_b];
14
+ for (const key of keys) {
23
15
  result[key] = 1;
24
16
  }
25
17
  }
@@ -40,7 +32,8 @@ exports.baseElementEvents = /*#__PURE__*/toObjectMap(['onAuxClick', 'onCopy', 'o
40
32
  * @public
41
33
  */
42
34
 
43
- exports.baseElementProperties = /*#__PURE__*/toObjectMap(['accessKey', 'children', 'className', 'contentEditable', 'dir', 'draggable', 'hidden', 'htmlFor', 'id', 'lang', 'ref', 'role', 'style', 'tabIndex', 'title', 'translate', 'spellCheck', 'name']);
35
+ exports.baseElementProperties = /*#__PURE__*/toObjectMap(['accessKey', 'children', 'className', 'contentEditable', 'dir', 'draggable', 'hidden', 'htmlFor', 'id', 'lang', 'ref', 'role', 'style', 'tabIndex', 'title', 'translate', 'spellCheck', 'name' // global
36
+ ]);
44
37
  /**
45
38
  * An array of HTML element properties and events.
46
39
  *
@@ -54,78 +47,90 @@ exports.htmlElementProperties = /*#__PURE__*/toObjectMap(exports.baseElementProp
54
47
  * @public
55
48
  */
56
49
 
57
- exports.labelProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['form']);
50
+ exports.labelProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['form' // button, fieldset, input, label, meter, object, output, select, textarea
51
+ ]);
58
52
  /**
59
53
  * An array of AUDIO tag properties and events.
60
54
 
61
55
  * @public
62
56
  */
63
57
 
64
- exports.audioProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['height', 'loop', 'muted', 'preload', 'src', 'width']);
58
+ exports.audioProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['height', 'loop', 'muted', 'preload', 'src', 'width' // canvas, embed, iframe, img, input, object, video
59
+ ]);
65
60
  /**
66
61
  * An array of VIDEO tag properties and events.
67
62
  *
68
63
  * @public
69
64
  */
70
65
 
71
- exports.videoProperties = /*#__PURE__*/toObjectMap(exports.audioProperties, ['poster']);
66
+ exports.videoProperties = /*#__PURE__*/toObjectMap(exports.audioProperties, ['poster' // video
67
+ ]);
72
68
  /**
73
69
  * An array of OL tag properties and events.
74
70
  *
75
71
  * @public
76
72
  */
77
73
 
78
- exports.olProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['start']);
74
+ exports.olProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['start' // ol
75
+ ]);
79
76
  /**
80
77
  * An array of LI tag properties and events.
81
78
  *
82
79
  * @public
83
80
  */
84
81
 
85
- exports.liProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['value']);
82
+ exports.liProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['value' // button, input, li, option, meter, progress, param
83
+ ]);
86
84
  /**
87
85
  * An array of A tag properties and events.
88
86
  *
89
87
  * @public
90
88
  */
91
89
 
92
- exports.anchorProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['download', 'href', 'hrefLang', 'media', 'rel', 'target', 'type']);
90
+ exports.anchorProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['download', 'href', 'hrefLang', 'media', 'rel', 'target', 'type' // a, button, input, link, menu, object, script, source, style
91
+ ]);
93
92
  /**
94
93
  * An array of BUTTON tag properties and events.
95
94
  *
96
95
  * @public
97
96
  */
98
97
 
99
- exports.buttonProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['autoFocus', 'disabled', 'form', 'formAction', 'formEncType', 'formMethod', 'formNoValidate', 'formTarget', 'type', 'value']);
98
+ exports.buttonProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['autoFocus', 'disabled', 'form', 'formAction', 'formEncType', 'formMethod', 'formNoValidate', 'formTarget', 'type', 'value' // button, input, li, option, meter, progress, param,
99
+ ]);
100
100
  /**
101
101
  * An array of INPUT tag properties and events.
102
102
  *
103
103
  * @public
104
104
  */
105
105
 
106
- exports.inputProperties = /*#__PURE__*/toObjectMap(exports.buttonProperties, ['accept', 'alt', 'autoCapitalize', 'autoComplete', 'checked', 'dirname', 'form', 'height', 'inputMode', 'list', 'max', 'maxLength', 'min', 'multiple', 'pattern', 'placeholder', 'readOnly', 'required', 'src', 'step', 'size', 'type', 'value', 'width']);
106
+ exports.inputProperties = /*#__PURE__*/toObjectMap(exports.buttonProperties, ['accept', 'alt', 'autoCapitalize', 'autoComplete', 'checked', 'dirname', 'form', 'height', 'inputMode', 'list', 'max', 'maxLength', 'min', 'multiple', 'pattern', 'placeholder', 'readOnly', 'required', 'src', 'step', 'size', 'type', 'value', 'width' // canvas, embed, iframe, img, input, object, video
107
+ ]);
107
108
  /**
108
109
  * An array of TEXTAREA tag properties and events.
109
110
  *
110
111
  * @public
111
112
  */
112
113
 
113
- exports.textAreaProperties = /*#__PURE__*/toObjectMap(exports.buttonProperties, ['autoCapitalize', 'cols', 'dirname', 'form', 'maxLength', 'placeholder', 'readOnly', 'required', 'rows', 'wrap']);
114
+ exports.textAreaProperties = /*#__PURE__*/toObjectMap(exports.buttonProperties, ['autoCapitalize', 'cols', 'dirname', 'form', 'maxLength', 'placeholder', 'readOnly', 'required', 'rows', 'wrap' // textarea
115
+ ]);
114
116
  /**
115
117
  * An array of SELECT tag properties and events.
116
118
  *
117
119
  * @public
118
120
  */
119
121
 
120
- exports.selectProperties = /*#__PURE__*/toObjectMap(exports.buttonProperties, ['form', 'multiple', 'required']);
121
- exports.optionProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['selected', 'value']);
122
+ exports.selectProperties = /*#__PURE__*/toObjectMap(exports.buttonProperties, ['form', 'multiple', 'required' // input, select, textarea
123
+ ]);
124
+ exports.optionProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['selected', 'value' // button, input, li, option, meter, progress, param
125
+ ]);
122
126
  /**
123
127
  * An array of TABLE tag properties and events.
124
128
  *
125
129
  * @public
126
130
  */
127
131
 
128
- exports.tableProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['cellPadding', 'cellSpacing']);
132
+ exports.tableProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['cellPadding', 'cellSpacing' // table
133
+ ]);
129
134
  /**
130
135
  * An array of TR tag properties and events.
131
136
  *
@@ -139,37 +144,44 @@ exports.trProperties = exports.htmlElementProperties;
139
144
  * @public
140
145
  */
141
146
 
142
- exports.thProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['rowSpan', 'scope']);
147
+ exports.thProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['rowSpan', 'scope' // th
148
+ ]);
143
149
  /**
144
150
  * An array of TD tag properties and events.
145
151
  *
146
152
  * @public
147
153
  */
148
154
 
149
- exports.tdProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['colSpan', 'headers', 'rowSpan', 'scope']);
150
- exports.colGroupProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['span']);
151
- exports.colProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['span']);
155
+ exports.tdProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['colSpan', 'headers', 'rowSpan', 'scope' // th
156
+ ]);
157
+ exports.colGroupProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['span' // col, colgroup
158
+ ]);
159
+ exports.colProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['span' // col, colgroup
160
+ ]);
152
161
  /**
153
162
  * An array of FORM tag properties and events.
154
163
  *
155
164
  * @public
156
165
  */
157
166
 
158
- exports.formProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['acceptCharset', 'action', 'encType', 'encType', 'method', 'noValidate', 'target']);
167
+ exports.formProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['acceptCharset', 'action', 'encType', 'encType', 'method', 'noValidate', 'target' // form
168
+ ]);
159
169
  /**
160
170
  * An array of IFRAME tag properties and events.
161
171
  *
162
172
  * @public
163
173
  */
164
174
 
165
- exports.iframeProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['allow', 'allowFullScreen', 'allowPaymentRequest', 'allowTransparency', 'csp', 'height', 'importance', 'referrerPolicy', 'sandbox', 'src', 'srcDoc', 'width']);
175
+ exports.iframeProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['allow', 'allowFullScreen', 'allowPaymentRequest', 'allowTransparency', 'csp', 'height', 'importance', 'referrerPolicy', 'sandbox', 'src', 'srcDoc', 'width' // canvas, embed, iframe, img, input, object, video,
176
+ ]);
166
177
  /**
167
178
  * An array of IMAGE tag properties and events.
168
179
  *
169
180
  * @public
170
181
  */
171
182
 
172
- exports.imgProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['alt', 'crossOrigin', 'height', 'src', 'srcSet', 'useMap', 'width']);
183
+ exports.imgProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['alt', 'crossOrigin', 'height', 'src', 'srcSet', 'useMap', 'width' // canvas, embed, iframe, img, input, object, video
184
+ ]);
173
185
  /**
174
186
  * @deprecated Use imgProperties for img elements.
175
187
  */
@@ -205,14 +217,13 @@ props, allowedPropNames, excludedPropNames) {
205
217
  // Then we'd be able to enforce props extends native props (including aria- and data- attributes), and then
206
218
  // return native props.
207
219
  // We should be able to do this once this PR is merged: https://github.com/microsoft/TypeScript/pull/26797
208
- var isArray = Array.isArray(allowedPropNames); // eslint-disable-next-line @typescript-eslint/no-explicit-any
220
+ const isArray = Array.isArray(allowedPropNames); // eslint-disable-next-line @typescript-eslint/no-explicit-any
209
221
 
210
- var result = {};
211
- var keys = Object.keys(props);
222
+ const result = {};
223
+ const keys = Object.keys(props);
212
224
 
213
- for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {
214
- var key = keys_2[_i];
215
- var isNativeProp = !isArray && allowedPropNames[key] || isArray && allowedPropNames.indexOf(key) >= 0 || key.indexOf('data-') === 0 || key.indexOf('aria-') === 0;
225
+ for (const key of keys) {
226
+ const isNativeProp = !isArray && allowedPropNames[key] || isArray && allowedPropNames.indexOf(key) >= 0 || key.indexOf('data-') === 0 || key.indexOf('aria-') === 0;
216
227
 
217
228
  if (isNativeProp && (!excludedPropNames || (excludedPropNames === null || excludedPropNames === void 0 ? void 0 : excludedPropNames.indexOf(key)) === -1)) {
218
229
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/properties.ts"],"names":[],"mappings":";;;;;;;AAAA,IAAM,WAAW,GAAG,YAAA;AAAC,MAAA,KAAA,GAAA,EAAA;;OAAA,IAAA,EAAA,GAAA,C,EAAA,EAAA,GAAA,SAAA,CAAA,M,EAAA,EAAA,E,EAA+C;AAA/C,IAAA,KAAA,CAAA,EAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA;;;AACnB,MAAM,MAAM,GAA2B,EAAvC;;AAEA,OAAmB,IAAA,EAAA,GAAA,CAAA,EAAA,OAAA,GAAA,KAAnB,EAAmB,EAAA,GAAA,OAAA,CAAA,MAAnB,EAAmB,EAAA,EAAnB,EAA0B;AAArB,QAAM,IAAI,GAAA,OAAA,CAAA,EAAA,CAAV;AACH,QAAM,IAAI,GAAG,KAAK,CAAC,OAAN,CAAc,IAAd,IAAsB,IAAtB,GAA6B,MAAM,CAAC,IAAP,CAAY,IAAZ,CAA1C;;AAEA,SAAkB,IAAA,EAAA,GAAA,CAAA,EAAA,MAAA,GAAA,IAAlB,EAAkB,EAAA,GAAA,MAAA,CAAA,MAAlB,EAAkB,EAAA,EAAlB,EAAwB;AAAnB,UAAM,GAAG,GAAA,MAAA,CAAA,EAAA,CAAT;AACH,MAAA,MAAM,CAAC,GAAD,CAAN,GAAc,CAAd;AACD;AACF;;AAED,SAAO,MAAP;AACD,CAZD;AAcA;;;;AAIG;;;AACU,OAAA,CAAA,iBAAA,gBAAoB,WAAW,CAAC,CAC3C,YAD2C,EAE3C,QAF2C,EAG3C,OAH2C,EAI3C,SAJ2C,EAK3C,kBAL2C,EAM3C,oBAN2C,EAO3C,qBAP2C,EAQ3C,SAR2C,EAS3C,gBAT2C,EAU3C,QAV2C,EAW3C,eAX2C,EAY3C,UAZ2C,EAa3C,SAb2C,EAc3C,UAd2C,EAe3C,QAf2C,EAgB3C,SAhB2C,EAiB3C,WAjB2C,EAkB3C,kBAlB2C,EAmB3C,YAnB2C,EAoB3C,SApB2C,EAqB3C,SArB2C,EAsB3C,WAtB2C,EAuB3C,kBAvB2C,EAwB3C,kBAxB2C,EAyB3C,WAzB2C,EA0B3C,aA1B2C,EA2B3C,SA3B2C,EA4B3C,cA5B2C,EA6B3C,kBA7B2C,EA8B3C,aA9B2C,EA+B3C,SA/B2C,EAgC3C,QAhC2C,EAiC3C,WAjC2C,EAkC3C,YAlC2C,EAmC3C,cAnC2C,EAoC3C,UApC2C,EAqC3C,WArC2C,EAsC3C,WAtC2C,EAuC3C,WAvC2C,EAwC3C,cAxC2C,EAyC3C,gBAzC2C,EA0C3C,WA1C2C,EA2C3C,SA3C2C,EA4C3C,gBA5C2C,EA6C3C,eA7C2C,EA8C3C,eA9C2C,EA+C3C,QA/C2C,EAgD3C,WAhD2C,EAiD3C,aAjD2C,EAkD3C,YAlD2C,EAmD3C,aAnD2C,EAoD3C,YApD2C,EAqD3C,aArD2C,EAsD3C,QAtD2C,EAuD3C,aAvD2C,EAwD3C,oBAxD2C,EAyD3C,cAzD2C,EA0D3C,cA1D2C,EA2D3C,aA3D2C,EA4D3C,YA5D2C,EA6D3C,aA7D2C,EA8D3C,WA9D2C,EA+D3C,kBA/D2C,EAgE3C,UAhE2C,EAiE3C,eAjE2C,EAkE3C,YAlE2C,EAmE3C,aAnE2C,EAoE3C,cApE2C,EAqE3C,UArE2C,EAsE3C,SAtE2C,EAuE3C,iBAvE2C,EAwE3C,eAxE2C,EAyE3C,gBAzE2C,EA0E3C,gBA1E2C,EA2E3C,eA3E2C,EA4E3C,cA5E2C,EA6E3C,eA7E2C,EA8E3C,aA9E2C,EA+E3C,qBA/E2C,EAgF3C,sBAhF2C,CAAD,CAA/B;AAmFb;;;;AAIG;;AACU,OAAA,CAAA,qBAAA,gBAAwB,WAAW,CAAC,CAC/C,WAD+C,EAE/C,UAF+C,EAG/C,WAH+C,EAI/C,iBAJ+C,EAK/C,KAL+C,EAM/C,WAN+C,EAO/C,QAP+C,EAQ/C,SAR+C,EAS/C,IAT+C,EAU/C,MAV+C,EAW/C,KAX+C,EAY/C,MAZ+C,EAa/C,OAb+C,EAc/C,UAd+C,EAe/C,OAf+C,EAgB/C,WAhB+C,EAiB/C,YAjB+C,EAkB/C,MAlB+C,CAAD,CAAnC;AAqBb;;;;AAIG;;AACU,OAAA,CAAA,qBAAA,gBAAwB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,OAAA,CAAA,iBAAxB,CAAnC;AAEb;;;;AAIG;;AACU,OAAA,CAAA,eAAA,gBAAkB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CAChE,MADgE,CAAxB,CAA7B;AAIb;;;;AAIG;;AACU,OAAA,CAAA,eAAA,gBAAkB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CAChE,QADgE,EAEhE,MAFgE,EAGhE,OAHgE,EAIhE,SAJgE,EAKhE,KALgE,EAMhE,OANgE,CAAxB,CAA7B;AASb;;;;AAIG;;AACU,OAAA,CAAA,eAAA,gBAAkB,WAAW,CAAC,OAAA,CAAA,eAAD,EAAkB,CAC1D,QAD0D,CAAlB,CAA7B;AAIb;;;;AAIG;;AACU,OAAA,CAAA,YAAA,gBAAe,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CAC7D,OAD6D,CAAxB,CAA1B;AAIb;;;;AAIG;;AACU,OAAA,CAAA,YAAA,gBAAe,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CAC7D,OAD6D,CAAxB,CAA1B;AAIb;;;;AAIG;;AACU,OAAA,CAAA,gBAAA,gBAAmB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CACjE,UADiE,EAEjE,MAFiE,EAGjE,UAHiE,EAIjE,OAJiE,EAKjE,KALiE,EAMjE,QANiE,EAOjE,MAPiE,CAAxB,CAA9B;AAUb;;;;AAIG;;AACU,OAAA,CAAA,gBAAA,gBAAmB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CACjE,WADiE,EAEjE,UAFiE,EAGjE,MAHiE,EAIjE,YAJiE,EAKjE,aALiE,EAMjE,YANiE,EAOjE,gBAPiE,EAQjE,YARiE,EASjE,MATiE,EAUjE,OAViE,CAAxB,CAA9B;AAab;;;;AAIG;;AACU,OAAA,CAAA,eAAA,gBAAkB,WAAW,CAAC,OAAA,CAAA,gBAAD,EAAmB,CAC3D,QAD2D,EAE3D,KAF2D,EAG3D,gBAH2D,EAI3D,cAJ2D,EAK3D,SAL2D,EAM3D,SAN2D,EAO3D,MAP2D,EAQ3D,QAR2D,EAS3D,WAT2D,EAU3D,MAV2D,EAW3D,KAX2D,EAY3D,WAZ2D,EAa3D,KAb2D,EAc3D,UAd2D,EAe3D,SAf2D,EAgB3D,aAhB2D,EAiB3D,UAjB2D,EAkB3D,UAlB2D,EAmB3D,KAnB2D,EAoB3D,MApB2D,EAqB3D,MArB2D,EAsB3D,MAtB2D,EAuB3D,OAvB2D,EAwB3D,OAxB2D,CAAnB,CAA7B;AA2Bb;;;;AAIG;;AACU,OAAA,CAAA,kBAAA,gBAAqB,WAAW,CAAC,OAAA,CAAA,gBAAD,EAAmB,CAC9D,gBAD8D,EAE9D,MAF8D,EAG9D,SAH8D,EAI9D,MAJ8D,EAK9D,WAL8D,EAM9D,aAN8D,EAO9D,UAP8D,EAQ9D,UAR8D,EAS9D,MAT8D,EAU9D,MAV8D,CAAnB,CAAhC;AAab;;;;AAIG;;AACU,OAAA,CAAA,gBAAA,gBAAmB,WAAW,CAAC,OAAA,CAAA,gBAAD,EAAmB,CAC5D,MAD4D,EAE5D,UAF4D,EAG5D,UAH4D,CAAnB,CAA9B;AAMA,OAAA,CAAA,gBAAA,gBAAmB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CACjE,UADiE,EAEjE,OAFiE,CAAxB,CAA9B;AAKb;;;;AAIG;;AACU,OAAA,CAAA,eAAA,gBAAkB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CAChE,aADgE,EAEhE,aAFgE,CAAxB,CAA7B;AAKb;;;;AAIG;;AACU,OAAA,CAAA,YAAA,GAAe,OAAA,CAAA,qBAAf;AAEb;;;;AAIG;;AACU,OAAA,CAAA,YAAA,gBAAe,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CAC7D,SAD6D,EAE7D,OAF6D,CAAxB,CAA1B;AAKb;;;;AAIG;;AACU,OAAA,CAAA,YAAA,gBAAe,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CAC7D,SAD6D,EAE7D,SAF6D,EAG7D,SAH6D,EAI7D,OAJ6D,CAAxB,CAA1B;AAOA,OAAA,CAAA,kBAAA,gBAAqB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CACnE,MADmE,CAAxB,CAAhC;AAIA,OAAA,CAAA,aAAA,gBAAgB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CAC9D,MAD8D,CAAxB,CAA3B;AAIb;;;;AAIG;;AACU,OAAA,CAAA,cAAA,gBAAiB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CAC/D,eAD+D,EAE/D,QAF+D,EAG/D,SAH+D,EAI/D,SAJ+D,EAK/D,QAL+D,EAM/D,YAN+D,EAO/D,QAP+D,CAAxB,CAA5B;AAUb;;;;AAIG;;AACU,OAAA,CAAA,gBAAA,gBAAmB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CACjE,OADiE,EAEjE,iBAFiE,EAGjE,qBAHiE,EAIjE,mBAJiE,EAKjE,KALiE,EAMjE,QANiE,EAOjE,YAPiE,EAQjE,gBARiE,EASjE,SATiE,EAUjE,KAViE,EAWjE,QAXiE,EAYjE,OAZiE,CAAxB,CAA9B;AAeb;;;;AAIG;;AACU,OAAA,CAAA,aAAA,gBAAgB,WAAW,CAAC,OAAA,CAAA,qBAAD,EAAwB,CAC9D,KAD8D,EAE9D,aAF8D,EAG9D,QAH8D,EAI9D,KAJ8D,EAK9D,QAL8D,EAM9D,QAN8D,EAO9D,OAP8D,CAAxB,CAA3B;AAUb;;AAEG;;AACU,OAAA,CAAA,eAAA,GAAkB,OAAA,CAAA,aAAlB;AAEb;;;;AAIG;;AACU,OAAA,CAAA,aAAA,GAAgB,OAAA,CAAA,qBAAhB;AAEb;;;;;;;;;;;;;AAaG;AACH;;AACA,SAAgB,cAAhB,EACE;AACA,KAFF,EAGE,gBAHF,EAIE,iBAJF,EAI8B;AAE5B;AACA;AACA;AACA;AACA;AAEA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAN,CAAc,gBAAd,CAAhB,CAR4B,CAS5B;;AACA,MAAM,MAAM,GAAwB,EAApC;AACA,MAAM,IAAI,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,CAAb;;AAEA,OAAkB,IAAA,EAAA,GAAA,CAAA,EAAA,MAAA,GAAA,IAAlB,EAAkB,EAAA,GAAA,MAAA,CAAA,MAAlB,EAAkB,EAAA,EAAlB,EAAwB;AAAnB,QAAM,GAAG,GAAA,MAAA,CAAA,EAAA,CAAT;AACH,QAAM,YAAY,GACf,CAAC,OAAD,IAAa,gBAA2C,CAAC,GAAD,CAAzD,IACC,OAAO,IAAK,gBAA6B,CAAC,OAA9B,CAAsC,GAAtC,KAA8C,CAD3D,IAEA,GAAG,CAAC,OAAJ,CAAY,OAAZ,MAAyB,CAFzB,IAGA,GAAG,CAAC,OAAJ,CAAY,OAAZ,MAAyB,CAJ3B;;AAMA,QAAI,YAAY,KAAK,CAAC,iBAAD,IAAsB,CAAA,iBAAiB,KAAA,IAAjB,IAAA,iBAAiB,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAA,iBAAiB,CAAE,OAAnB,CAA2B,GAA3B,CAAA,MAAoC,CAAC,CAAhE,CAAhB,EAAoF;AAClF;AACA,MAAA,MAAM,CAAC,GAAD,CAAN,GAAc,KAAM,CAAC,GAAD,CAApB;AACD;AACF;;AAED,SAAO,MAAP;AACD;;AA/BD,OAAA,CAAA,cAAA,GAAA,cAAA","sourceRoot":""}
1
+ {"version":3,"sources":["utils/properties.ts"],"names":[],"mappings":"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","sourcesContent":["const toObjectMap = (...items: (string[] | Record<string, number>)[]) => {\n const result: Record<string, number> = {};\n\n for (const item of items) {\n const keys = Array.isArray(item) ? item : Object.keys(item);\n\n for (const key of keys) {\n result[key] = 1;\n }\n }\n\n return result;\n};\n\n/**\n * An array of events that are allowed on every html element type.\n *\n * @public\n */\nexport const baseElementEvents = toObjectMap([\n 'onAuxClick',\n 'onCopy',\n 'onCut',\n 'onPaste',\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n 'onFocus',\n 'onFocusCapture',\n 'onBlur',\n 'onBlurCapture',\n 'onChange',\n 'onInput',\n 'onSubmit',\n 'onLoad',\n 'onError',\n 'onKeyDown',\n 'onKeyDownCapture',\n 'onKeyPress',\n 'onKeyUp',\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n 'onClick',\n 'onClickCapture',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseDownCapture',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onMouseUpCapture',\n 'onSelect',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n 'onScroll',\n 'onWheel',\n 'onPointerCancel',\n 'onPointerDown',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerOut',\n 'onPointerOver',\n 'onPointerUp',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n]);\n\n/**\n * An array of element attributes which are allowed on every html element type.\n *\n * @public\n */\nexport const baseElementProperties = toObjectMap([\n 'accessKey', // global\n 'children', // global\n 'className', // global\n 'contentEditable', // global\n 'dir', // global\n 'draggable', // global\n 'hidden', // global\n 'htmlFor', // global\n 'id', // global\n 'lang', // global\n 'ref', // global\n 'role', // global\n 'style', // global\n 'tabIndex', // global\n 'title', // global\n 'translate', // global\n 'spellCheck', // global\n 'name', // global\n]);\n\n/**\n * An array of HTML element properties and events.\n *\n * @public\n */\nexport const htmlElementProperties = toObjectMap(baseElementProperties, baseElementEvents);\n\n/**\n * An array of LABEL tag properties and events.\n *\n * @public\n */\nexport const labelProperties = toObjectMap(htmlElementProperties, [\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n]);\n\n/**\n * An array of AUDIO tag properties and events.\n\n * @public\n */\nexport const audioProperties = toObjectMap(htmlElementProperties, [\n 'height', // canvas, embed, iframe, img, input, object, video\n 'loop', // audio, video\n 'muted', // audio, video\n 'preload', // audio, video\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * An array of VIDEO tag properties and events.\n *\n * @public\n */\nexport const videoProperties = toObjectMap(audioProperties, [\n 'poster', // video\n]);\n\n/**\n * An array of OL tag properties and events.\n *\n * @public\n */\nexport const olProperties = toObjectMap(htmlElementProperties, [\n 'start', // ol\n]);\n\n/**\n * An array of LI tag properties and events.\n *\n * @public\n */\nexport const liProperties = toObjectMap(htmlElementProperties, [\n 'value', // button, input, li, option, meter, progress, param\n]);\n\n/**\n * An array of A tag properties and events.\n *\n * @public\n */\nexport const anchorProperties = toObjectMap(htmlElementProperties, [\n 'download', // a, area\n 'href', // a, area, base, link\n 'hrefLang', // a, area, link\n 'media', // a, area, link, source, style\n 'rel', // a, area, link\n 'target', // a, area, base, form\n 'type', // a, button, input, link, menu, object, script, source, style\n]);\n\n/**\n * An array of BUTTON tag properties and events.\n *\n * @public\n */\nexport const buttonProperties = toObjectMap(htmlElementProperties, [\n 'autoFocus', // button, input, select, textarea\n 'disabled', // button, fieldset, input, optgroup, option, select, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'formAction', // input, button\n 'formEncType', // input, button\n 'formMethod', // input, button\n 'formNoValidate', // input, button\n 'formTarget', // input, button\n 'type', // a, button, input, link, menu, object, script, source, style\n 'value', // button, input, li, option, meter, progress, param,\n]);\n\n/**\n * An array of INPUT tag properties and events.\n *\n * @public\n */\nexport const inputProperties = toObjectMap(buttonProperties, [\n 'accept', // input\n 'alt', // area, img, input\n 'autoCapitalize', // input, textarea\n 'autoComplete', // form, input\n 'checked', // input\n 'dirname', // input, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'height', // canvas, embed, iframe, img, input, object, video\n 'inputMode', // input\n 'list', // input\n 'max', // input, meter\n 'maxLength', // input, textarea\n 'min', // input, meter\n 'multiple', // input, select\n 'pattern', // input\n 'placeholder', // input, textarea\n 'readOnly', // input, textarea\n 'required', // input, select, textarea\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'step', // input\n 'size', // input\n 'type', // a, button, input, link, menu, object, script, source, style\n 'value', // button, input, li, option, meter, progress, param\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * An array of TEXTAREA tag properties and events.\n *\n * @public\n */\nexport const textAreaProperties = toObjectMap(buttonProperties, [\n 'autoCapitalize', // input, textarea\n 'cols', // textarea\n 'dirname', // input, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'maxLength', // input, textarea\n 'placeholder', // input, textarea\n 'readOnly', // input, textarea\n 'required', // input, select, textarea\n 'rows', // textarea\n 'wrap', // textarea\n]);\n\n/**\n * An array of SELECT tag properties and events.\n *\n * @public\n */\nexport const selectProperties = toObjectMap(buttonProperties, [\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'multiple', // input, select\n 'required', // input, select, textarea\n]);\n\nexport const optionProperties = toObjectMap(htmlElementProperties, [\n 'selected', // option\n 'value', // button, input, li, option, meter, progress, param\n]);\n\n/**\n * An array of TABLE tag properties and events.\n *\n * @public\n */\nexport const tableProperties = toObjectMap(htmlElementProperties, [\n 'cellPadding', // table\n 'cellSpacing', // table\n]);\n\n/**\n * An array of TR tag properties and events.\n *\n * @public\n */\nexport const trProperties = htmlElementProperties;\n\n/**\n * An array of TH tag properties and events.\n *\n * @public\n */\nexport const thProperties = toObjectMap(htmlElementProperties, [\n 'rowSpan', // td, th\n 'scope', // th\n]);\n\n/**\n * An array of TD tag properties and events.\n *\n * @public\n */\nexport const tdProperties = toObjectMap(htmlElementProperties, [\n 'colSpan', // td\n 'headers', // td\n 'rowSpan', // td, th\n 'scope', // th\n]);\n\nexport const colGroupProperties = toObjectMap(htmlElementProperties, [\n 'span', // col, colgroup\n]);\n\nexport const colProperties = toObjectMap(htmlElementProperties, [\n 'span', // col, colgroup\n]);\n\n/**\n * An array of FORM tag properties and events.\n *\n * @public\n */\nexport const formProperties = toObjectMap(htmlElementProperties, [\n 'acceptCharset', // form\n 'action', // form\n 'encType', // form\n 'encType', // form\n 'method', // form\n 'noValidate', // form\n 'target', // form\n]);\n\n/**\n * An array of IFRAME tag properties and events.\n *\n * @public\n */\nexport const iframeProperties = toObjectMap(htmlElementProperties, [\n 'allow', // iframe\n 'allowFullScreen', // iframe\n 'allowPaymentRequest', // iframe\n 'allowTransparency', // iframe\n 'csp', // iframe\n 'height', // canvas, embed, iframe, img, input, object, video\n 'importance', // iframe\n 'referrerPolicy', // iframe\n 'sandbox', // iframe\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'srcDoc', // iframe\n 'width', // canvas, embed, iframe, img, input, object, video,\n]);\n\n/**\n * An array of IMAGE tag properties and events.\n *\n * @public\n */\nexport const imgProperties = toObjectMap(htmlElementProperties, [\n 'alt', // area, img, input\n 'crossOrigin', // img\n 'height', // canvas, embed, iframe, img, input, object, video\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'srcSet', // img, source\n 'useMap', // img, object,\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * @deprecated Use imgProperties for img elements.\n */\nexport const imageProperties = imgProperties;\n\n/**\n * An array of DIV tag properties and events.\n *\n * @public\n */\nexport const divProperties = htmlElementProperties;\n\n/**\n * Gets native supported props for an html element provided the allowance set. Use one of the property\n * sets defined (divProperties, buttonPropertes, etc) to filter out supported properties from a given\n * props set. Note that all data- and aria- prefixed attributes will be allowed.\n * NOTE: getNativeProps should always be applied first when adding props to a react component. The\n * non-native props should be applied second. This will prevent getNativeProps from overriding your custom props.\n * For example, if props passed to getNativeProps has an onClick function and getNativeProps is added to\n * the component after an onClick function is added, then the getNativeProps onClick will override it.\n *\n * @public\n * @param props - The unfiltered input props\n * @param allowedPropsNames - The array or record of allowed prop names.\n * @returns The filtered props\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeProps<T extends Record<string, any>>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: Record<string, any>,\n allowedPropNames: string[] | Record<string, number>,\n excludedPropNames?: string[],\n): T {\n // It'd be great to properly type this while allowing 'aria-` and 'data-' attributes like TypeScript does for\n // JSX attributes, but that ability is hardcoded into the TS compiler with no analog in TypeScript typings.\n // Then we'd be able to enforce props extends native props (including aria- and data- attributes), and then\n // return native props.\n // We should be able to do this once this PR is merged: https://github.com/microsoft/TypeScript/pull/26797\n\n const isArray = Array.isArray(allowedPropNames);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result: Record<string, any> = {};\n const keys = Object.keys(props);\n\n for (const key of keys) {\n const isNativeProp =\n (!isArray && (allowedPropNames as Record<string, number>)[key]) ||\n (isArray && (allowedPropNames as string[]).indexOf(key) >= 0) ||\n key.indexOf('data-') === 0 ||\n key.indexOf('aria-') === 0;\n\n if (isNativeProp && (!excludedPropNames || excludedPropNames?.indexOf(key) === -1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result[key] = props![key] as any;\n }\n }\n\n return result as T;\n}\n"],"sourceRoot":"../src/"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.shouldPreventDefaultOnKeyDown = void 0;
7
7
 
8
- var keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
8
+ const keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
9
9
  /**
10
10
  * Checks if the keyboard event should preventDefault() for Enter and Spacebar keys
11
11
  *
@@ -14,15 +14,15 @@ var keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
14
14
 
15
15
 
16
16
  function shouldPreventDefaultOnKeyDown(e) {
17
- var key = e.key;
18
- var target = e.target;
19
- var matchesByKey = key === keyboard_keys_1.Space || key === keyboard_keys_1.Enter;
17
+ const key = e.key;
18
+ const target = e.target;
19
+ const matchesByKey = key === keyboard_keys_1.Space || key === keyboard_keys_1.Enter;
20
20
 
21
21
  if ((target === null || target === void 0 ? void 0 : target.tagName) === 'A') {
22
22
  return key === keyboard_keys_1.Space;
23
23
  }
24
24
 
25
- var ignoredByTag = (target === null || target === void 0 ? void 0 : target.tagName) === 'INPUT' || (target === null || target === void 0 ? void 0 : target.tagName) === 'TEXTAREA' || (target === null || target === void 0 ? void 0 : target.isContentEditable) === true;
25
+ const ignoredByTag = (target === null || target === void 0 ? void 0 : target.tagName) === 'INPUT' || (target === null || target === void 0 ? void 0 : target.tagName) === 'TEXTAREA' || (target === null || target === void 0 ? void 0 : target.isContentEditable) === true;
26
26
  return matchesByKey && !ignoredByTag;
27
27
  }
28
28
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/shouldPreventDefaultOnKeyDown.ts"],"names":[],"mappings":";;;;;;;AAAA,IAAA,eAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;AAGA;;;;AAIG;;;AACH,SAAgB,6BAAhB,CAA8C,CAA9C,EAAoF;AAClF,MAAM,GAAG,GAAG,CAAC,CAAC,GAAd;AACA,MAAM,MAAM,GAA4B,CAAC,CAAC,MAA1C;AAEA,MAAM,YAAY,GAAG,GAAG,KAAK,eAAA,CAAA,KAAR,IAAiB,GAAG,KAAK,eAAA,CAAA,KAA9C;;AAEA,MAAI,CAAA,MAAM,KAAA,IAAN,IAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAA,MAAM,CAAE,OAAR,MAAoB,GAAxB,EAA6B;AAC3B,WAAO,GAAG,KAAK,eAAA,CAAA,KAAf;AACD;;AAED,MAAM,YAAY,GAChB,CAAA,MAAM,KAAA,IAAN,IAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAA,MAAM,CAAE,OAAR,MAAoB,OAApB,IAA+B,CAAA,MAAM,KAAA,IAAN,IAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAA,MAAM,CAAE,OAAR,MAAoB,UAAnD,IAAiE,CAAA,MAAM,KAAA,IAAN,IAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAA,MAAM,CAAE,iBAAR,MAA8B,IADjG;AAGA,SAAO,YAAY,IAAI,CAAC,YAAxB;AACD;;AAdD,OAAA,CAAA,6BAAA,GAAA,6BAAA","sourceRoot":""}
1
+ {"version":3,"sources":["utils/shouldPreventDefaultOnKeyDown.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,eAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;AAGA;;;;AAIG;;;AACH,SAAgB,6BAAhB,CAA8C,CAA9C,EAAoF;AAClF,QAAM,GAAG,GAAG,CAAC,CAAC,GAAd;AACA,QAAM,MAAM,GAA4B,CAAC,CAAC,MAA1C;AAEA,QAAM,YAAY,GAAG,GAAG,KAAK,eAAA,CAAA,KAAR,IAAiB,GAAG,KAAK,eAAA,CAAA,KAA9C;;AAEA,MAAI,CAAA,MAAM,KAAA,IAAN,IAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAA,MAAM,CAAE,OAAR,MAAoB,GAAxB,EAA6B;AAC3B,WAAO,GAAG,KAAK,eAAA,CAAA,KAAf;AACD;;AAED,QAAM,YAAY,GAChB,CAAA,MAAM,KAAA,IAAN,IAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAA,MAAM,CAAE,OAAR,MAAoB,OAApB,IAA+B,CAAA,MAAM,KAAA,IAAN,IAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAA,MAAM,CAAE,OAAR,MAAoB,UAAnD,IAAiE,CAAA,MAAM,KAAA,IAAN,IAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAA,MAAM,CAAE,iBAAR,MAA8B,IADjG;AAGA,SAAO,YAAY,IAAI,CAAC,YAAxB;AACD;;AAdD,OAAA,CAAA,6BAAA,GAAA,6BAAA","sourcesContent":["import { Space, Enter } from '@fluentui/keyboard-keys';\nimport * as React from 'react';\n\n/**\n * Checks if the keyboard event should preventDefault() for Enter and Spacebar keys\n *\n * Useful for situations where a keydown needs to be transformed to a click event\n */\nexport function shouldPreventDefaultOnKeyDown(e: KeyboardEvent | React.KeyboardEvent) {\n const key = e.key;\n const target: HTMLElement | undefined = e.target as HTMLElement;\n\n const matchesByKey = key === Space || key === Enter;\n\n if (target?.tagName === 'A') {\n return key === Space;\n }\n\n const ignoredByTag =\n target?.tagName === 'INPUT' || target?.tagName === 'TEXTAREA' || target?.isContentEditable === true;\n\n return matchesByKey && !ignoredByTag;\n}\n"],"sourceRoot":"../src/"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-utilities",
3
- "version": "9.0.0-nightly.b5b7401007.0",
3
+ "version": "9.0.0-rc.3",
4
4
  "description": "A set of general React-specific utilities.",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -18,26 +18,22 @@
18
18
  "code-style": "just-scripts code-style",
19
19
  "just": "just-scripts",
20
20
  "lint": "just-scripts lint",
21
- "test": "jest",
21
+ "test": "jest --passWithNoTests",
22
22
  "docs": "api-extractor run --config=config/api-extractor.local.json --local",
23
- "build:local": "tsc -p . --module esnext --emitDeclarationOnly && node ../../scripts/typescript/normalize-import --output dist/react-utilities/src && yarn docs",
24
- "storybook": "start-storybook",
25
- "start": "yarn storybook"
23
+ "build:local": "tsc -p ./tsconfig.lib.json --module esnext --emitDeclarationOnly && node ../../scripts/typescript/normalize-import --output ./dist/packages/react-utilities/src && yarn docs",
24
+ "start": "yarn storybook",
25
+ "type-check": "tsc -b tsconfig.json"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@fluentui/eslint-plugin": "*",
29
29
  "@fluentui/scripts": "^1.0.0",
30
- "@types/enzyme": "3.10.3",
31
- "@types/enzyme-adapter-react-16": "1.0.3",
32
30
  "@types/react": "16.9.42",
33
31
  "@types/react-test-renderer": "^16.0.0",
34
- "enzyme": "~3.10.0",
35
- "enzyme-adapter-react-16": "^1.15.0",
36
32
  "react": "16.8.6",
37
33
  "react-test-renderer": "^16.3.0"
38
34
  },
39
35
  "dependencies": {
40
- "@fluentui/keyboard-keys": "9.0.0-nightly.b5b7401007.0",
36
+ "@fluentui/keyboard-keys": "9.0.0-rc.3",
41
37
  "tslib": "^2.1.0"
42
38
  },
43
39
  "peerDependencies": {
@@ -45,7 +41,6 @@
45
41
  "react": ">=16.8.0 <18.0.0"
46
42
  },
47
43
  "beachball": {
48
- "tag": "beta",
49
44
  "disallowedChangeTypes": [
50
45
  "major",
51
46
  "minor",
@@ -1,4 +0,0 @@
1
- /**
2
- * Simple constant function for returning null, used to render empty templates in JSX.
3
- */
4
- export declare const nullRender: () => null;
@@ -1,7 +0,0 @@
1
- /**
2
- * Simple constant function for returning null, used to render empty templates in JSX.
3
- */
4
- export var nullRender = function () {
5
- return null;
6
- };
7
- //# sourceMappingURL=nullRender.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/compose/nullRender.tsx"],"names":[],"mappings":"AAAA;;AAEG;AACH,OAAO,IAAM,UAAU,GAAG,YAAA;AAAM,SAAA,IAAA;AAAI,CAA7B","sourceRoot":""}
@@ -1,20 +0,0 @@
1
- import * as React from 'react';
2
- export declare type ChangeCallback<TElement extends HTMLElement, TValue, TEvent extends React.SyntheticEvent<TElement> | undefined> = (ev: TEvent, newValue: TValue | undefined) => void;
3
- /**
4
- * Default value can be a value or an initializer
5
- */
6
- declare type DefaultValue<TValue> = TValue | (() => TValue);
7
- /**
8
- * Hook to manage a value that could be either controlled or uncontrolled, such as a checked state or
9
- * text box string.
10
- * @param controlledValue - The controlled value passed in the props. This value will always be used if provided,
11
- * and the internal state will be updated to reflect it.
12
- * @param defaultUncontrolledValue - Initial value for the internal state in the uncontrolled case.
13
- * @returns An array of the current value and an updater callback. Like `React.useState`, the updater
14
- * callback always has the same identity, and it can take either a new value, or a function which
15
- * is passed the previous value and returns the new value.
16
- * @see https://reactjs.org/docs/uncontrolled-components.html
17
- */
18
- export declare function useControllableValue<TValue, TElement extends HTMLElement>(controlledValue: TValue, defaultUncontrolledValue: DefaultValue<TValue>): Readonly<[TValue, (update: React.SetStateAction<TValue>) => void]>;
19
- export declare function useControllableValue<TValue, TElement extends HTMLElement, TEvent extends React.SyntheticEvent<TElement> | undefined>(controlledValue: TValue, defaultUncontrolledValue: DefaultValue<TValue>, onChange: ChangeCallback<TElement, TValue, TEvent>): Readonly<[TValue, (update: React.SetStateAction<TValue>, ev?: React.FormEvent<TElement>) => void]>;
20
- export {};
@@ -1,62 +0,0 @@
1
- import * as React from 'react';
2
- import { useConst } from './useConst';
3
- export function useControllableValue(controlledValue, defaultUncontrolledValue, onChange) {
4
- var _a = React.useState(defaultUncontrolledValue),
5
- value = _a[0],
6
- setValue = _a[1];
7
-
8
- var isControlled = useIsControlled(controlledValue);
9
- var currentValue = isControlled ? controlledValue : value; // Duplicate the current value and onChange in refs so they're accessible from
10
- // setValueOrCallOnChange without creating a new callback every time
11
-
12
- var valueRef = React.useRef(currentValue);
13
- var onChangeRef = React.useRef(onChange);
14
- React.useEffect(function () {
15
- valueRef.current = currentValue;
16
- onChangeRef.current = onChange;
17
- }); // To match the behavior of the setter returned by React.useState, this callback's identity
18
- // should never change. This means it MUST NOT directly reference variables that can change.
19
-
20
- var setValueOrCallOnChange = useConst(function () {
21
- return function (update, ev) {
22
- // Assuming here that TValue is not a function, because a controllable value will typically
23
- // be something a user can enter as input
24
- var newValue = typeof update === 'function' ? update(valueRef.current) : update;
25
-
26
- if (onChangeRef.current) {
27
- onChangeRef.current(ev, newValue);
28
- }
29
-
30
- if (!isControlled) {
31
- setValue(newValue);
32
- }
33
- };
34
- });
35
- return [currentValue, setValueOrCallOnChange];
36
- }
37
- /**
38
- * Helper hook to handle previous comparison of controlled/uncontrolled
39
- * Prints an error when isControlled value switches between subsequent renders
40
- */
41
-
42
- var useIsControlled = function (controlledValue) {
43
- var isControlled = useConst(controlledValue !== undefined);
44
-
45
- if (process.env.NODE_ENV !== 'production') {
46
- // We don't want these warnings in production even though it is against native behaviour
47
- // eslint-disable-next-line react-hooks/rules-of-hooks
48
- React.useEffect(function () {
49
- if (isControlled !== (controlledValue !== undefined)) {
50
- var error = new Error();
51
- var controlWarning = isControlled ? 'a controlled value to be uncontrolled' : 'an uncontrolled value to be controlled';
52
- var undefinedWarning = isControlled ? 'defined to an undefined' : 'undefined to a defined'; // eslint-disable-next-line no-console
53
-
54
- console.error([// Default react error
55
- 'A component is changing ' + controlWarning + '. This is likely caused by the value', 'changing from ' + undefinedWarning + ' value, which should not happen.', 'Decide between using a controlled or uncontrolled input element for the lifetime of the component.', 'More info: https://reactjs.org/link/controlled-components', error.stack].join(' '));
56
- }
57
- }, [isControlled, controlledValue]);
58
- }
59
-
60
- return isControlled;
61
- };
62
- //# sourceMappingURL=useControllableValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/hooks/useControllableValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,YAAzB;AAqCA,OAAM,SAAU,oBAAV,CAKJ,eALI,EAMJ,wBANI,EAOJ,QAPI,EAO+C;AAE7C,MAAA,EAAA,GAAoB,KAAK,CAAC,QAAN,CAAmC,wBAAnC,CAApB;AAAA,MAAC,KAAK,GAAA,EAAA,CAAA,CAAA,CAAN;AAAA,MAAQ,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAhB;;AACN,MAAM,YAAY,GAAG,eAAe,CAAC,eAAD,CAApC;AACA,MAAM,YAAY,GAAG,YAAY,GAAG,eAAH,GAAqB,KAAtD,CAJmD,CAMnD;AACA;;AACA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAN,CAAa,YAAb,CAAjB;AACA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAN,CAAa,QAAb,CAApB;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,YAAA;AACd,IAAA,QAAQ,CAAC,OAAT,GAAmB,YAAnB;AACA,IAAA,WAAW,CAAC,OAAZ,GAAsB,QAAtB;AACD,GAHD,EAVmD,CAenD;AACA;;AACA,MAAM,sBAAsB,GAAG,QAAQ,CAAC,YAAA;AAAM,WAAA,UAAC,MAAD,EAAmD,EAAnD,EAA8D;AAC1G;AACA;AACA,UAAM,QAAQ,GAAG,OAAO,MAAP,KAAkB,UAAlB,GAAgC,MAAmB,CAAC,QAAQ,CAAC,OAAV,CAAnD,GAAwE,MAAzF;;AAEA,UAAI,WAAW,CAAC,OAAhB,EAAyB;AACvB,QAAA,WAAW,CAAC,OAAZ,CAAoB,EAApB,EAAyB,QAAzB;AACD;;AAED,UAAI,CAAC,YAAL,EAAmB;AACjB,QAAA,QAAQ,CAAC,QAAD,CAAR;AACD;AAX2C,KAAA;AAY7C,GAZsC,CAAvC;AAcA,SAAO,CAAC,YAAD,EAAe,sBAAf,CAAP;AACD;AAED;;;AAGG;;AACH,IAAM,eAAe,GAAG,UAAS,eAAT,EAAgC;AACtD,MAAM,YAAY,GAAG,QAAQ,CAAU,eAAe,KAAK,SAA9B,CAA7B;;AAEA,MAAI,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAA7B,EAA2C;AACzC;AACA;AACA,IAAA,KAAK,CAAC,SAAN,CAAgB,YAAA;AACd,UAAI,YAAY,MAAM,eAAe,KAAK,SAA1B,CAAhB,EAAsD;AACpD,YAAM,KAAK,GAAG,IAAI,KAAJ,EAAd;AAEA,YAAM,cAAc,GAAG,YAAY,GAC/B,uCAD+B,GAE/B,wCAFJ;AAIA,YAAM,gBAAgB,GAAG,YAAY,GAAG,yBAAH,GAA+B,wBAApE,CAPoD,CASpD;;AACA,QAAA,OAAO,CAAC,KAAR,CACE,CACE;AACA,qCAA6B,cAA7B,GAA8C,sCAFhD,EAGE,mBAAmB,gBAAnB,GAAsC,kCAHxC,EAIE,oGAJF,EAKE,2DALF,EAME,KAAK,CAAC,KANR,EAOE,IAPF,CAOO,GAPP,CADF;AAUD;AACF,KAtBD,EAsBG,CAAC,YAAD,EAAe,eAAf,CAtBH;AAuBD;;AAED,SAAO,YAAP;AACD,CAhCD","sourceRoot":""}
@@ -1,5 +0,0 @@
1
- import * as React from 'react';
2
- /**
3
- * Similar to React.Children.only, but drills into fragments rather than treating them as a single child
4
- */
5
- export declare const onlyChild: <P>(child: string | number | boolean | {} | React.ReactNodeArray | React.ReactPortal | React.ReactElement<P, 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>)> | null | undefined) => React.ReactElement<P, 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>)>;
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
- /**
3
- * Similar to React.Children.only, but drills into fragments rather than treating them as a single child
4
- */
5
-
6
- export var onlyChild = function (child) {
7
- if (! /*#__PURE__*/React.isValidElement(child)) {
8
- throw new Error("Component's child must be a single element");
9
- }
10
-
11
- return child.type === React.Fragment ? onlyChild(child.props.children) : child;
12
- };
13
- //# sourceMappingURL=onlyChild.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/onlyChild.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA;;AAEG;;AACH,OAAO,IAAM,SAAS,GAAG,UACvB,KADuB,EAC8F;AAErH,MAAI,eAAC,KAAK,CAAC,cAAN,CAAqB,KAArB,CAAL,EAAkC;AAChC,UAAM,IAAI,KAAJ,CAAU,4CAAV,CAAN;AACD;;AAED,SAAO,KAAK,CAAC,IAAN,KAAe,KAAK,CAAC,QAArB,GAAgC,SAAS,CAAC,KAAK,CAAC,KAAN,CAAY,QAAb,CAAzC,GAAkE,KAAzE;AACD,CARM","sourceRoot":""}
@@ -1,4 +0,0 @@
1
- /**
2
- * Simple constant function for returning null, used to render empty templates in JSX.
3
- */
4
- export declare const nullRender: () => null;
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.nullRender = void 0;
7
- /**
8
- * Simple constant function for returning null, used to render empty templates in JSX.
9
- */
10
-
11
- var nullRender = function () {
12
- return null;
13
- };
14
-
15
- exports.nullRender = nullRender;
16
- //# sourceMappingURL=nullRender.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/compose/nullRender.tsx"],"names":[],"mappings":";;;;;;AAAA;;AAEG;;AACI,IAAM,UAAU,GAAG,YAAA;AAAM,SAAA,IAAA;AAAI,CAA7B;;AAAM,OAAA,CAAA,UAAA,GAAU,UAAV","sourceRoot":""}
@@ -1,20 +0,0 @@
1
- import * as React from 'react';
2
- export declare type ChangeCallback<TElement extends HTMLElement, TValue, TEvent extends React.SyntheticEvent<TElement> | undefined> = (ev: TEvent, newValue: TValue | undefined) => void;
3
- /**
4
- * Default value can be a value or an initializer
5
- */
6
- declare type DefaultValue<TValue> = TValue | (() => TValue);
7
- /**
8
- * Hook to manage a value that could be either controlled or uncontrolled, such as a checked state or
9
- * text box string.
10
- * @param controlledValue - The controlled value passed in the props. This value will always be used if provided,
11
- * and the internal state will be updated to reflect it.
12
- * @param defaultUncontrolledValue - Initial value for the internal state in the uncontrolled case.
13
- * @returns An array of the current value and an updater callback. Like `React.useState`, the updater
14
- * callback always has the same identity, and it can take either a new value, or a function which
15
- * is passed the previous value and returns the new value.
16
- * @see https://reactjs.org/docs/uncontrolled-components.html
17
- */
18
- export declare function useControllableValue<TValue, TElement extends HTMLElement>(controlledValue: TValue, defaultUncontrolledValue: DefaultValue<TValue>): Readonly<[TValue, (update: React.SetStateAction<TValue>) => void]>;
19
- export declare function useControllableValue<TValue, TElement extends HTMLElement, TEvent extends React.SyntheticEvent<TElement> | undefined>(controlledValue: TValue, defaultUncontrolledValue: DefaultValue<TValue>, onChange: ChangeCallback<TElement, TValue, TEvent>): Readonly<[TValue, (update: React.SetStateAction<TValue>, ev?: React.FormEvent<TElement>) => void]>;
20
- export {};
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useControllableValue = void 0;
7
-
8
- var React = /*#__PURE__*/require("react");
9
-
10
- var useConst_1 = /*#__PURE__*/require("./useConst");
11
-
12
- function useControllableValue(controlledValue, defaultUncontrolledValue, onChange) {
13
- var _a = React.useState(defaultUncontrolledValue),
14
- value = _a[0],
15
- setValue = _a[1];
16
-
17
- var isControlled = useIsControlled(controlledValue);
18
- var currentValue = isControlled ? controlledValue : value; // Duplicate the current value and onChange in refs so they're accessible from
19
- // setValueOrCallOnChange without creating a new callback every time
20
-
21
- var valueRef = React.useRef(currentValue);
22
- var onChangeRef = React.useRef(onChange);
23
- React.useEffect(function () {
24
- valueRef.current = currentValue;
25
- onChangeRef.current = onChange;
26
- }); // To match the behavior of the setter returned by React.useState, this callback's identity
27
- // should never change. This means it MUST NOT directly reference variables that can change.
28
-
29
- var setValueOrCallOnChange = useConst_1.useConst(function () {
30
- return function (update, ev) {
31
- // Assuming here that TValue is not a function, because a controllable value will typically
32
- // be something a user can enter as input
33
- var newValue = typeof update === 'function' ? update(valueRef.current) : update;
34
-
35
- if (onChangeRef.current) {
36
- onChangeRef.current(ev, newValue);
37
- }
38
-
39
- if (!isControlled) {
40
- setValue(newValue);
41
- }
42
- };
43
- });
44
- return [currentValue, setValueOrCallOnChange];
45
- }
46
-
47
- exports.useControllableValue = useControllableValue;
48
- /**
49
- * Helper hook to handle previous comparison of controlled/uncontrolled
50
- * Prints an error when isControlled value switches between subsequent renders
51
- */
52
-
53
- var useIsControlled = function (controlledValue) {
54
- var isControlled = useConst_1.useConst(controlledValue !== undefined);
55
-
56
- if (process.env.NODE_ENV !== 'production') {
57
- // We don't want these warnings in production even though it is against native behaviour
58
- // eslint-disable-next-line react-hooks/rules-of-hooks
59
- React.useEffect(function () {
60
- if (isControlled !== (controlledValue !== undefined)) {
61
- var error = new Error();
62
- var controlWarning = isControlled ? 'a controlled value to be uncontrolled' : 'an uncontrolled value to be controlled';
63
- var undefinedWarning = isControlled ? 'defined to an undefined' : 'undefined to a defined'; // eslint-disable-next-line no-console
64
-
65
- console.error([// Default react error
66
- 'A component is changing ' + controlWarning + '. This is likely caused by the value', 'changing from ' + undefinedWarning + ' value, which should not happen.', 'Decide between using a controlled or uncontrolled input element for the lifetime of the component.', 'More info: https://reactjs.org/link/controlled-components', error.stack].join(' '));
67
- }
68
- }, [isControlled, controlledValue]);
69
- }
70
-
71
- return isControlled;
72
- };
73
- //# sourceMappingURL=useControllableValue.js.map