@fluentui/react-utilities 0.0.0-nightly050f89bf0020211102.1

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 (217) hide show
  1. package/CHANGELOG.json +1637 -0
  2. package/CHANGELOG.md +677 -0
  3. package/LICENSE +15 -0
  4. package/README.md +5 -0
  5. package/dist/react-utilities.d.ts +648 -0
  6. package/lib/compose/getSlots.d.ts +29 -0
  7. package/lib/compose/getSlots.js +72 -0
  8. package/lib/compose/getSlots.js.map +1 -0
  9. package/lib/compose/index.d.ts +4 -0
  10. package/lib/compose/index.js +5 -0
  11. package/lib/compose/index.js.map +1 -0
  12. package/lib/compose/nullRender.d.ts +4 -0
  13. package/lib/compose/nullRender.js +7 -0
  14. package/lib/compose/nullRender.js.map +1 -0
  15. package/lib/compose/resolveShorthand.d.ts +12 -0
  16. package/lib/compose/resolveShorthand.js +30 -0
  17. package/lib/compose/resolveShorthand.js.map +1 -0
  18. package/lib/compose/types.d.ts +104 -0
  19. package/lib/compose/types.js +6 -0
  20. package/lib/compose/types.js.map +1 -0
  21. package/lib/hooks/index.d.ts +16 -0
  22. package/lib/hooks/index.js +17 -0
  23. package/lib/hooks/index.js.map +1 -0
  24. package/lib/hooks/useBoolean.d.ts +17 -0
  25. package/lib/hooks/useBoolean.js +39 -0
  26. package/lib/hooks/useBoolean.js.map +1 -0
  27. package/lib/hooks/useConst.d.ts +12 -0
  28. package/lib/hooks/useConst.js +30 -0
  29. package/lib/hooks/useConst.js.map +1 -0
  30. package/lib/hooks/useControllableState.d.ts +21 -0
  31. package/lib/hooks/useControllableState.js +72 -0
  32. package/lib/hooks/useControllableState.js.map +1 -0
  33. package/lib/hooks/useControllableValue.d.ts +20 -0
  34. package/lib/hooks/useControllableValue.js +62 -0
  35. package/lib/hooks/useControllableValue.js.map +1 -0
  36. package/lib/hooks/useEventCallback.d.ts +13 -0
  37. package/lib/hooks/useEventCallback.js +34 -0
  38. package/lib/hooks/useEventCallback.js.map +1 -0
  39. package/lib/hooks/useFirstMount.d.ts +11 -0
  40. package/lib/hooks/useFirstMount.js +23 -0
  41. package/lib/hooks/useFirstMount.js.map +1 -0
  42. package/lib/hooks/useForceUpdate.d.ts +4 -0
  43. package/lib/hooks/useForceUpdate.js +11 -0
  44. package/lib/hooks/useForceUpdate.js.map +1 -0
  45. package/lib/hooks/useId.d.ts +15 -0
  46. package/lib/hooks/useId.js +27 -0
  47. package/lib/hooks/useId.js.map +1 -0
  48. package/lib/hooks/useIsomorphicLayoutEffect.d.ts +11 -0
  49. package/lib/hooks/useIsomorphicLayoutEffect.js +15 -0
  50. package/lib/hooks/useIsomorphicLayoutEffect.js.map +1 -0
  51. package/lib/hooks/useMergedRefs.d.ts +13 -0
  52. package/lib/hooks/useMergedRefs.js +34 -0
  53. package/lib/hooks/useMergedRefs.js.map +1 -0
  54. package/lib/hooks/useMount.d.ts +6 -0
  55. package/lib/hooks/useMount.js +17 -0
  56. package/lib/hooks/useMount.js.map +1 -0
  57. package/lib/hooks/useOnClickOutside.d.ts +29 -0
  58. package/lib/hooks/useOnClickOutside.js +142 -0
  59. package/lib/hooks/useOnClickOutside.js.map +1 -0
  60. package/lib/hooks/useOnScrollOutside.d.ts +5 -0
  61. package/lib/hooks/useOnScrollOutside.js +38 -0
  62. package/lib/hooks/useOnScrollOutside.js.map +1 -0
  63. package/lib/hooks/usePrevious.d.ts +1 -0
  64. package/lib/hooks/usePrevious.js +9 -0
  65. package/lib/hooks/usePrevious.js.map +1 -0
  66. package/lib/hooks/useTimeout.d.ts +8 -0
  67. package/lib/hooks/useTimeout.js +33 -0
  68. package/lib/hooks/useTimeout.js.map +1 -0
  69. package/lib/hooks/useUnmount.d.ts +6 -0
  70. package/lib/hooks/useUnmount.js +19 -0
  71. package/lib/hooks/useUnmount.js.map +1 -0
  72. package/lib/index.d.ts +4 -0
  73. package/lib/index.js +5 -0
  74. package/lib/index.js.map +1 -0
  75. package/lib/ssr/SSRContext.d.ts +33 -0
  76. package/lib/ssr/SSRContext.js +71 -0
  77. package/lib/ssr/SSRContext.js.map +1 -0
  78. package/lib/ssr/canUseDOM.d.ts +4 -0
  79. package/lib/ssr/canUseDOM.js +8 -0
  80. package/lib/ssr/canUseDOM.js.map +1 -0
  81. package/lib/ssr/index.d.ts +2 -0
  82. package/lib/ssr/index.js +3 -0
  83. package/lib/ssr/index.js.map +1 -0
  84. package/lib/tsdoc-metadata.json +11 -0
  85. package/lib/utils/applyTriggerPropsToChildren.d.ts +5 -0
  86. package/lib/utils/applyTriggerPropsToChildren.js +16 -0
  87. package/lib/utils/applyTriggerPropsToChildren.js.map +1 -0
  88. package/lib/utils/clamp.d.ts +8 -0
  89. package/lib/utils/clamp.js +11 -0
  90. package/lib/utils/clamp.js.map +1 -0
  91. package/lib/utils/getNativeElementProps.d.ts +9 -0
  92. package/lib/utils/getNativeElementProps.js +38 -0
  93. package/lib/utils/getNativeElementProps.js.map +1 -0
  94. package/lib/utils/getRTLSafeKey.d.ts +4 -0
  95. package/lib/utils/getRTLSafeKey.js +21 -0
  96. package/lib/utils/getRTLSafeKey.js.map +1 -0
  97. package/lib/utils/index.d.ts +8 -0
  98. package/lib/utils/index.js +9 -0
  99. package/lib/utils/index.js.map +1 -0
  100. package/lib/utils/omit.d.ts +14 -0
  101. package/lib/utils/omit.js +27 -0
  102. package/lib/utils/omit.js.map +1 -0
  103. package/lib/utils/onlyChild.d.ts +5 -0
  104. package/lib/utils/onlyChild.js +13 -0
  105. package/lib/utils/onlyChild.js.map +1 -0
  106. package/lib/utils/properties.d.ts +148 -0
  107. package/lib/utils/properties.js +218 -0
  108. package/lib/utils/properties.js.map +1 -0
  109. package/lib/utils/shouldPreventDefaultOnKeyDown.d.ts +7 -0
  110. package/lib/utils/shouldPreventDefaultOnKeyDown.js +20 -0
  111. package/lib/utils/shouldPreventDefaultOnKeyDown.js.map +1 -0
  112. package/lib-commonjs/compose/getSlots.d.ts +29 -0
  113. package/lib-commonjs/compose/getSlots.js +85 -0
  114. package/lib-commonjs/compose/getSlots.js.map +1 -0
  115. package/lib-commonjs/compose/index.d.ts +4 -0
  116. package/lib-commonjs/compose/index.js +16 -0
  117. package/lib-commonjs/compose/index.js.map +1 -0
  118. package/lib-commonjs/compose/nullRender.d.ts +4 -0
  119. package/lib-commonjs/compose/nullRender.js +16 -0
  120. package/lib-commonjs/compose/nullRender.js.map +1 -0
  121. package/lib-commonjs/compose/resolveShorthand.d.ts +12 -0
  122. package/lib-commonjs/compose/resolveShorthand.js +41 -0
  123. package/lib-commonjs/compose/resolveShorthand.js.map +1 -0
  124. package/lib-commonjs/compose/types.d.ts +104 -0
  125. package/lib-commonjs/compose/types.js +10 -0
  126. package/lib-commonjs/compose/types.js.map +1 -0
  127. package/lib-commonjs/hooks/index.d.ts +16 -0
  128. package/lib-commonjs/hooks/index.js +40 -0
  129. package/lib-commonjs/hooks/index.js.map +1 -0
  130. package/lib-commonjs/hooks/useBoolean.d.ts +17 -0
  131. package/lib-commonjs/hooks/useBoolean.js +50 -0
  132. package/lib-commonjs/hooks/useBoolean.js.map +1 -0
  133. package/lib-commonjs/hooks/useConst.d.ts +12 -0
  134. package/lib-commonjs/hooks/useConst.js +40 -0
  135. package/lib-commonjs/hooks/useConst.js.map +1 -0
  136. package/lib-commonjs/hooks/useControllableState.d.ts +21 -0
  137. package/lib-commonjs/hooks/useControllableState.js +82 -0
  138. package/lib-commonjs/hooks/useControllableState.js.map +1 -0
  139. package/lib-commonjs/hooks/useControllableValue.d.ts +20 -0
  140. package/lib-commonjs/hooks/useControllableValue.js +73 -0
  141. package/lib-commonjs/hooks/useControllableValue.js.map +1 -0
  142. package/lib-commonjs/hooks/useEventCallback.d.ts +13 -0
  143. package/lib-commonjs/hooks/useEventCallback.js +45 -0
  144. package/lib-commonjs/hooks/useEventCallback.js.map +1 -0
  145. package/lib-commonjs/hooks/useFirstMount.d.ts +11 -0
  146. package/lib-commonjs/hooks/useFirstMount.js +33 -0
  147. package/lib-commonjs/hooks/useFirstMount.js.map +1 -0
  148. package/lib-commonjs/hooks/useForceUpdate.d.ts +4 -0
  149. package/lib-commonjs/hooks/useForceUpdate.js +21 -0
  150. package/lib-commonjs/hooks/useForceUpdate.js.map +1 -0
  151. package/lib-commonjs/hooks/useId.d.ts +15 -0
  152. package/lib-commonjs/hooks/useId.js +40 -0
  153. package/lib-commonjs/hooks/useId.js.map +1 -0
  154. package/lib-commonjs/hooks/useIsomorphicLayoutEffect.d.ts +11 -0
  155. package/lib-commonjs/hooks/useIsomorphicLayoutEffect.js +24 -0
  156. package/lib-commonjs/hooks/useIsomorphicLayoutEffect.js.map +1 -0
  157. package/lib-commonjs/hooks/useMergedRefs.d.ts +13 -0
  158. package/lib-commonjs/hooks/useMergedRefs.js +45 -0
  159. package/lib-commonjs/hooks/useMergedRefs.js.map +1 -0
  160. package/lib-commonjs/hooks/useMount.d.ts +6 -0
  161. package/lib-commonjs/hooks/useMount.js +27 -0
  162. package/lib-commonjs/hooks/useMount.js.map +1 -0
  163. package/lib-commonjs/hooks/useOnClickOutside.d.ts +29 -0
  164. package/lib-commonjs/hooks/useOnClickOutside.js +153 -0
  165. package/lib-commonjs/hooks/useOnClickOutside.js.map +1 -0
  166. package/lib-commonjs/hooks/useOnScrollOutside.d.ts +5 -0
  167. package/lib-commonjs/hooks/useOnScrollOutside.js +49 -0
  168. package/lib-commonjs/hooks/useOnScrollOutside.js.map +1 -0
  169. package/lib-commonjs/hooks/usePrevious.d.ts +1 -0
  170. package/lib-commonjs/hooks/usePrevious.js +19 -0
  171. package/lib-commonjs/hooks/usePrevious.js.map +1 -0
  172. package/lib-commonjs/hooks/useTimeout.d.ts +8 -0
  173. package/lib-commonjs/hooks/useTimeout.js +44 -0
  174. package/lib-commonjs/hooks/useTimeout.js.map +1 -0
  175. package/lib-commonjs/hooks/useUnmount.d.ts +6 -0
  176. package/lib-commonjs/hooks/useUnmount.js +29 -0
  177. package/lib-commonjs/hooks/useUnmount.js.map +1 -0
  178. package/lib-commonjs/index.d.ts +4 -0
  179. package/lib-commonjs/index.js +16 -0
  180. package/lib-commonjs/index.js.map +1 -0
  181. package/lib-commonjs/ssr/SSRContext.d.ts +33 -0
  182. package/lib-commonjs/ssr/SSRContext.js +86 -0
  183. package/lib-commonjs/ssr/SSRContext.js.map +1 -0
  184. package/lib-commonjs/ssr/canUseDOM.d.ts +4 -0
  185. package/lib-commonjs/ssr/canUseDOM.js +17 -0
  186. package/lib-commonjs/ssr/canUseDOM.js.map +1 -0
  187. package/lib-commonjs/ssr/index.d.ts +2 -0
  188. package/lib-commonjs/ssr/index.js +12 -0
  189. package/lib-commonjs/ssr/index.js.map +1 -0
  190. package/lib-commonjs/utils/applyTriggerPropsToChildren.d.ts +5 -0
  191. package/lib-commonjs/utils/applyTriggerPropsToChildren.js +27 -0
  192. package/lib-commonjs/utils/applyTriggerPropsToChildren.js.map +1 -0
  193. package/lib-commonjs/utils/clamp.d.ts +8 -0
  194. package/lib-commonjs/utils/clamp.js +20 -0
  195. package/lib-commonjs/utils/clamp.js.map +1 -0
  196. package/lib-commonjs/utils/getNativeElementProps.d.ts +9 -0
  197. package/lib-commonjs/utils/getNativeElementProps.js +48 -0
  198. package/lib-commonjs/utils/getNativeElementProps.js.map +1 -0
  199. package/lib-commonjs/utils/getRTLSafeKey.d.ts +4 -0
  200. package/lib-commonjs/utils/getRTLSafeKey.js +30 -0
  201. package/lib-commonjs/utils/getRTLSafeKey.js.map +1 -0
  202. package/lib-commonjs/utils/index.d.ts +8 -0
  203. package/lib-commonjs/utils/index.js +24 -0
  204. package/lib-commonjs/utils/index.js.map +1 -0
  205. package/lib-commonjs/utils/omit.d.ts +14 -0
  206. package/lib-commonjs/utils/omit.js +36 -0
  207. package/lib-commonjs/utils/omit.js.map +1 -0
  208. package/lib-commonjs/utils/onlyChild.d.ts +5 -0
  209. package/lib-commonjs/utils/onlyChild.js +23 -0
  210. package/lib-commonjs/utils/onlyChild.js.map +1 -0
  211. package/lib-commonjs/utils/properties.d.ts +148 -0
  212. package/lib-commonjs/utils/properties.js +227 -0
  213. package/lib-commonjs/utils/properties.js.map +1 -0
  214. package/lib-commonjs/utils/shouldPreventDefaultOnKeyDown.d.ts +7 -0
  215. package/lib-commonjs/utils/shouldPreventDefaultOnKeyDown.js +30 -0
  216. package/lib-commonjs/utils/shouldPreventDefaultOnKeyDown.js.map +1 -0
  217. package/package.json +55 -0
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
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
+
8
+ var toObjectMap = function () {
9
+ var items = [];
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);
20
+
21
+ for (var _b = 0, keys_1 = keys; _b < keys_1.length; _b++) {
22
+ var key = keys_1[_b];
23
+ result[key] = 1;
24
+ }
25
+ }
26
+
27
+ return result;
28
+ };
29
+ /**
30
+ * An array of events that are allowed on every html element type.
31
+ *
32
+ * @public
33
+ */
34
+
35
+
36
+ exports.baseElementEvents = /*#__PURE__*/toObjectMap(['onAuxClick', 'onCopy', 'onCut', 'onPaste', 'onCompositionEnd', 'onCompositionStart', 'onCompositionUpdate', 'onFocus', 'onFocusCapture', 'onBlur', 'onBlurCapture', 'onChange', 'onInput', 'onSubmit', 'onLoad', 'onError', 'onKeyDown', 'onKeyDownCapture', 'onKeyPress', 'onKeyUp', 'onAbort', 'onCanPlay', 'onCanPlayThrough', 'onDurationChange', 'onEmptied', 'onEncrypted', 'onEnded', 'onLoadedData', 'onLoadedMetadata', 'onLoadStart', 'onPause', 'onPlay', 'onPlaying', 'onProgress', 'onRateChange', 'onSeeked', 'onSeeking', 'onStalled', 'onSuspend', 'onTimeUpdate', 'onVolumeChange', 'onWaiting', 'onClick', 'onClickCapture', 'onContextMenu', 'onDoubleClick', 'onDrag', 'onDragEnd', 'onDragEnter', 'onDragExit', 'onDragLeave', 'onDragOver', 'onDragStart', 'onDrop', 'onMouseDown', 'onMouseDownCapture', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', 'onMouseUpCapture', 'onSelect', 'onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart', 'onScroll', 'onWheel', 'onPointerCancel', 'onPointerDown', 'onPointerEnter', 'onPointerLeave', 'onPointerMove', 'onPointerOut', 'onPointerOver', 'onPointerUp', 'onGotPointerCapture', 'onLostPointerCapture']);
37
+ /**
38
+ * An array of element attributes which are allowed on every html element type.
39
+ *
40
+ * @public
41
+ */
42
+
43
+ exports.baseElementProperties = /*#__PURE__*/toObjectMap(['accessKey', 'children', 'className', 'contentEditable', 'dir', 'draggable', 'hidden', 'htmlFor', 'id', 'lang', 'ref', 'role', 'style', 'tabIndex', 'title', 'translate', 'spellCheck', 'name']);
44
+ /**
45
+ * An array of HTML element properties and events.
46
+ *
47
+ * @public
48
+ */
49
+
50
+ exports.htmlElementProperties = /*#__PURE__*/toObjectMap(exports.baseElementProperties, exports.baseElementEvents);
51
+ /**
52
+ * An array of LABEL tag properties and events.
53
+ *
54
+ * @public
55
+ */
56
+
57
+ exports.labelProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['form']);
58
+ /**
59
+ * An array of AUDIO tag properties and events.
60
+
61
+ * @public
62
+ */
63
+
64
+ exports.audioProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['height', 'loop', 'muted', 'preload', 'src', 'width']);
65
+ /**
66
+ * An array of VIDEO tag properties and events.
67
+ *
68
+ * @public
69
+ */
70
+
71
+ exports.videoProperties = /*#__PURE__*/toObjectMap(exports.audioProperties, ['poster']);
72
+ /**
73
+ * An array of OL tag properties and events.
74
+ *
75
+ * @public
76
+ */
77
+
78
+ exports.olProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['start']);
79
+ /**
80
+ * An array of LI tag properties and events.
81
+ *
82
+ * @public
83
+ */
84
+
85
+ exports.liProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['value']);
86
+ /**
87
+ * An array of A tag properties and events.
88
+ *
89
+ * @public
90
+ */
91
+
92
+ exports.anchorProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['download', 'href', 'hrefLang', 'media', 'rel', 'target', 'type']);
93
+ /**
94
+ * An array of BUTTON tag properties and events.
95
+ *
96
+ * @public
97
+ */
98
+
99
+ exports.buttonProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['autoFocus', 'disabled', 'form', 'formAction', 'formEncType', 'formMethod', 'formNoValidate', 'formTarget', 'type', 'value']);
100
+ /**
101
+ * An array of INPUT tag properties and events.
102
+ *
103
+ * @public
104
+ */
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']);
107
+ /**
108
+ * An array of TEXTAREA tag properties and events.
109
+ *
110
+ * @public
111
+ */
112
+
113
+ exports.textAreaProperties = /*#__PURE__*/toObjectMap(exports.buttonProperties, ['autoCapitalize', 'cols', 'dirname', 'form', 'maxLength', 'placeholder', 'readOnly', 'required', 'rows', 'wrap']);
114
+ /**
115
+ * An array of SELECT tag properties and events.
116
+ *
117
+ * @public
118
+ */
119
+
120
+ exports.selectProperties = /*#__PURE__*/toObjectMap(exports.buttonProperties, ['form', 'multiple', 'required']);
121
+ exports.optionProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['selected', 'value']);
122
+ /**
123
+ * An array of TABLE tag properties and events.
124
+ *
125
+ * @public
126
+ */
127
+
128
+ exports.tableProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['cellPadding', 'cellSpacing']);
129
+ /**
130
+ * An array of TR tag properties and events.
131
+ *
132
+ * @public
133
+ */
134
+
135
+ exports.trProperties = exports.htmlElementProperties;
136
+ /**
137
+ * An array of TH tag properties and events.
138
+ *
139
+ * @public
140
+ */
141
+
142
+ exports.thProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['rowSpan', 'scope']);
143
+ /**
144
+ * An array of TD tag properties and events.
145
+ *
146
+ * @public
147
+ */
148
+
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']);
152
+ /**
153
+ * An array of FORM tag properties and events.
154
+ *
155
+ * @public
156
+ */
157
+
158
+ exports.formProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['acceptCharset', 'action', 'encType', 'encType', 'method', 'noValidate', 'target']);
159
+ /**
160
+ * An array of IFRAME tag properties and events.
161
+ *
162
+ * @public
163
+ */
164
+
165
+ exports.iframeProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['allow', 'allowFullScreen', 'allowPaymentRequest', 'allowTransparency', 'csp', 'height', 'importance', 'referrerPolicy', 'sandbox', 'src', 'srcDoc', 'width']);
166
+ /**
167
+ * An array of IMAGE tag properties and events.
168
+ *
169
+ * @public
170
+ */
171
+
172
+ exports.imgProperties = /*#__PURE__*/toObjectMap(exports.htmlElementProperties, ['alt', 'crossOrigin', 'height', 'src', 'srcSet', 'useMap', 'width']);
173
+ /**
174
+ * @deprecated Use imgProperties for img elements.
175
+ */
176
+
177
+ exports.imageProperties = exports.imgProperties;
178
+ /**
179
+ * An array of DIV tag properties and events.
180
+ *
181
+ * @public
182
+ */
183
+
184
+ exports.divProperties = exports.htmlElementProperties;
185
+ /**
186
+ * Gets native supported props for an html element provided the allowance set. Use one of the property
187
+ * sets defined (divProperties, buttonPropertes, etc) to filter out supported properties from a given
188
+ * props set. Note that all data- and aria- prefixed attributes will be allowed.
189
+ * NOTE: getNativeProps should always be applied first when adding props to a react component. The
190
+ * non-native props should be applied second. This will prevent getNativeProps from overriding your custom props.
191
+ * For example, if props passed to getNativeProps has an onClick function and getNativeProps is added to
192
+ * the component after an onClick function is added, then the getNativeProps onClick will override it.
193
+ *
194
+ * @public
195
+ * @param props - The unfiltered input props
196
+ * @param allowedPropsNames - The array or record of allowed prop names.
197
+ * @returns The filtered props
198
+ */
199
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
200
+
201
+ function getNativeProps( // eslint-disable-next-line @typescript-eslint/no-explicit-any
202
+ props, allowedPropNames, excludedPropNames) {
203
+ // It'd be great to properly type this while allowing 'aria-` and 'data-' attributes like TypeScript does for
204
+ // JSX attributes, but that ability is hardcoded into the TS compiler with no analog in TypeScript typings.
205
+ // Then we'd be able to enforce props extends native props (including aria- and data- attributes), and then
206
+ // return native props.
207
+ // 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
209
+
210
+ var result = {};
211
+ var keys = Object.keys(props);
212
+
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;
216
+
217
+ if (isNativeProp && (!excludedPropNames || (excludedPropNames === null || excludedPropNames === void 0 ? void 0 : excludedPropNames.indexOf(key)) === -1)) {
218
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
219
+ result[key] = props[key];
220
+ }
221
+ }
222
+
223
+ return result;
224
+ }
225
+
226
+ exports.getNativeProps = getNativeProps;
227
+ //# sourceMappingURL=properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/properties.ts"],"names":[],"mappings":"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","sourceRoot":""}
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Checks if the keyboard event should preventDefault() for Enter and Spacebar keys
4
+ *
5
+ * Useful for situations where a keydown needs to be transformed to a click event
6
+ */
7
+ export declare function shouldPreventDefaultOnKeyDown(e: KeyboardEvent | React.KeyboardEvent): boolean;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.shouldPreventDefaultOnKeyDown = void 0;
7
+
8
+ var keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
9
+ /**
10
+ * Checks if the keyboard event should preventDefault() for Enter and Spacebar keys
11
+ *
12
+ * Useful for situations where a keydown needs to be transformed to a click event
13
+ */
14
+
15
+
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;
20
+
21
+ if ((target === null || target === void 0 ? void 0 : target.tagName) === 'A') {
22
+ return key === keyboard_keys_1.Space;
23
+ }
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;
26
+ return matchesByKey && !ignoredByTag;
27
+ }
28
+
29
+ exports.shouldPreventDefaultOnKeyDown = shouldPreventDefaultOnKeyDown;
30
+ //# sourceMappingURL=shouldPreventDefaultOnKeyDown.js.map
@@ -0,0 +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":""}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@fluentui/react-utilities",
3
+ "version": "0.0.0-nightly050f89bf0020211102.1",
4
+ "description": "A set of general React-specific utilities.",
5
+ "main": "lib-commonjs/index.js",
6
+ "module": "lib/index.js",
7
+ "typings": "lib/index.d.ts",
8
+ "sideEffects": false,
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/microsoft/fluentui"
12
+ },
13
+ "license": "MIT",
14
+ "scripts": {
15
+ "build": "just-scripts build",
16
+ "bundle-size": "bundle-size measure",
17
+ "clean": "just-scripts clean",
18
+ "code-style": "just-scripts code-style",
19
+ "just": "just-scripts",
20
+ "lint": "just-scripts lint",
21
+ "test": "jest",
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"
26
+ },
27
+ "devDependencies": {
28
+ "@fluentui/eslint-plugin": "*",
29
+ "@fluentui/scripts": "^1.0.0",
30
+ "@types/enzyme": "3.10.3",
31
+ "@types/enzyme-adapter-react-16": "1.0.3",
32
+ "@types/react": "16.9.42",
33
+ "@types/react-test-renderer": "^16.0.0",
34
+ "enzyme": "~3.10.0",
35
+ "enzyme-adapter-react-16": "^1.15.0",
36
+ "react": "16.8.6",
37
+ "react-test-renderer": "^16.3.0"
38
+ },
39
+ "dependencies": {
40
+ "@fluentui/keyboard-keys": "0.0.0-nightly050f89bf0020211102.1",
41
+ "tslib": "^2.1.0"
42
+ },
43
+ "peerDependencies": {
44
+ "@types/react": ">=16.8.0 <18.0.0",
45
+ "react": ">=16.8.0 <18.0.0"
46
+ },
47
+ "beachball": {
48
+ "tag": "beta",
49
+ "disallowedChangeTypes": [
50
+ "major",
51
+ "minor",
52
+ "patch"
53
+ ]
54
+ }
55
+ }