@fluentui/react-utilities 9.0.0-nightly.46b9ea7036.0 → 9.0.0-rc.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 (180) hide show
  1. package/CHANGELOG.json +163 -10
  2. package/CHANGELOG.md +44 -7
  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/ssr/SSRContext.js +9 -15
  53. package/lib/ssr/SSRContext.js.map +1 -1
  54. package/lib/utils/applyTriggerPropsToChildren.d.ts +1 -1
  55. package/lib/utils/applyTriggerPropsToChildren.js +24 -4
  56. package/lib/utils/applyTriggerPropsToChildren.js.map +1 -1
  57. package/lib/utils/clamp.js +1 -3
  58. package/lib/utils/clamp.js.map +1 -1
  59. package/lib/utils/getNativeElementProps.d.ts +22 -0
  60. package/lib/utils/getNativeElementProps.js +24 -2
  61. package/lib/utils/getNativeElementProps.js.map +1 -1
  62. package/lib/utils/getRTLSafeKey.js +1 -1
  63. package/lib/utils/getRTLSafeKey.js.map +1 -1
  64. package/lib/utils/getReactCallbackName.d.ts +25 -0
  65. package/lib/utils/getReactCallbackName.js +26 -0
  66. package/lib/utils/getReactCallbackName.js.map +1 -0
  67. package/lib/utils/getTriggerChild.d.ts +22 -0
  68. package/lib/utils/getTriggerChild.js +26 -0
  69. package/lib/utils/getTriggerChild.js.map +1 -0
  70. package/lib/utils/index.d.ts +2 -1
  71. package/lib/utils/index.js +2 -1
  72. package/lib/utils/index.js.map +1 -1
  73. package/lib/utils/isFluentTrigger.d.ts +22 -0
  74. package/lib/utils/isFluentTrigger.js +8 -0
  75. package/lib/utils/isFluentTrigger.js.map +1 -0
  76. package/lib/utils/omit.js +2 -2
  77. package/lib/utils/omit.js.map +1 -1
  78. package/lib/utils/properties.js +55 -44
  79. package/lib/utils/properties.js.map +1 -1
  80. package/lib/utils/shouldPreventDefaultOnKeyDown.js +4 -4
  81. package/lib/utils/shouldPreventDefaultOnKeyDown.js.map +1 -1
  82. package/lib-commonjs/compose/getSlots.d.ts +11 -10
  83. package/lib-commonjs/compose/getSlots.js +23 -34
  84. package/lib-commonjs/compose/getSlots.js.map +1 -1
  85. package/lib-commonjs/compose/index.d.ts +0 -1
  86. package/lib-commonjs/compose/index.js +1 -3
  87. package/lib-commonjs/compose/index.js.map +1 -1
  88. package/lib-commonjs/compose/resolveShorthand.d.ts +10 -6
  89. package/lib-commonjs/compose/resolveShorthand.js +14 -14
  90. package/lib-commonjs/compose/resolveShorthand.js.map +1 -1
  91. package/lib-commonjs/compose/types.d.ts +86 -35
  92. package/lib-commonjs/compose/types.js.map +1 -1
  93. package/lib-commonjs/hooks/index.d.ts +1 -1
  94. package/lib-commonjs/hooks/index.js +3 -3
  95. package/lib-commonjs/hooks/index.js.map +1 -1
  96. package/lib-commonjs/hooks/useBoolean.js +12 -23
  97. package/lib-commonjs/hooks/useBoolean.js.map +1 -1
  98. package/lib-commonjs/hooks/useConst.js +2 -2
  99. package/lib-commonjs/hooks/useConst.js.map +1 -1
  100. package/lib-commonjs/hooks/useControllableState.d.ts +16 -6
  101. package/lib-commonjs/hooks/useControllableState.js +28 -27
  102. package/lib-commonjs/hooks/useControllableState.js.map +1 -1
  103. package/lib-commonjs/hooks/useEventCallback.js +8 -14
  104. package/lib-commonjs/hooks/useEventCallback.js.map +1 -1
  105. package/lib-commonjs/hooks/useFirstMount.js +2 -2
  106. package/lib-commonjs/hooks/useFirstMount.js.map +1 -1
  107. package/lib-commonjs/hooks/useForceUpdate.js +2 -4
  108. package/lib-commonjs/hooks/useForceUpdate.js.map +1 -1
  109. package/lib-commonjs/hooks/useId.js +4 -6
  110. package/lib-commonjs/hooks/useId.js.map +1 -1
  111. package/lib-commonjs/hooks/useIsomorphicLayoutEffect.js +2 -2
  112. package/lib-commonjs/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  113. package/lib-commonjs/hooks/useMergedEventCallbacks.d.ts +18 -0
  114. package/lib-commonjs/hooks/useMergedEventCallbacks.js +36 -0
  115. package/lib-commonjs/hooks/useMergedEventCallbacks.js.map +1 -0
  116. package/lib-commonjs/hooks/useMergedRefs.js +6 -15
  117. package/lib-commonjs/hooks/useMergedRefs.js.map +1 -1
  118. package/lib-commonjs/hooks/useMount.js +4 -4
  119. package/lib-commonjs/hooks/useMount.js.map +1 -1
  120. package/lib-commonjs/hooks/useOnClickOutside.js +32 -38
  121. package/lib-commonjs/hooks/useOnClickOutside.js.map +1 -1
  122. package/lib-commonjs/hooks/useOnScrollOutside.js +15 -17
  123. package/lib-commonjs/hooks/useOnScrollOutside.js.map +1 -1
  124. package/lib-commonjs/hooks/usePrevious.js +4 -4
  125. package/lib-commonjs/hooks/usePrevious.js.map +1 -1
  126. package/lib-commonjs/hooks/useTimeout.js +15 -19
  127. package/lib-commonjs/hooks/useTimeout.js.map +1 -1
  128. package/lib-commonjs/hooks/useUnmount.js +6 -8
  129. package/lib-commonjs/hooks/useUnmount.js.map +1 -1
  130. package/lib-commonjs/index.js +1 -1
  131. package/lib-commonjs/ssr/SSRContext.js +9 -15
  132. package/lib-commonjs/ssr/SSRContext.js.map +1 -1
  133. package/lib-commonjs/ssr/index.js +1 -1
  134. package/lib-commonjs/utils/applyTriggerPropsToChildren.d.ts +1 -1
  135. package/lib-commonjs/utils/applyTriggerPropsToChildren.js +26 -6
  136. package/lib-commonjs/utils/applyTriggerPropsToChildren.js.map +1 -1
  137. package/lib-commonjs/utils/clamp.js +1 -3
  138. package/lib-commonjs/utils/clamp.js.map +1 -1
  139. package/lib-commonjs/utils/getNativeElementProps.d.ts +22 -0
  140. package/lib-commonjs/utils/getNativeElementProps.js +28 -4
  141. package/lib-commonjs/utils/getNativeElementProps.js.map +1 -1
  142. package/lib-commonjs/utils/getRTLSafeKey.js +1 -1
  143. package/lib-commonjs/utils/getRTLSafeKey.js.map +1 -1
  144. package/lib-commonjs/utils/getReactCallbackName.d.ts +25 -0
  145. package/lib-commonjs/utils/getReactCallbackName.js +35 -0
  146. package/lib-commonjs/utils/getReactCallbackName.js.map +1 -0
  147. package/lib-commonjs/utils/getTriggerChild.d.ts +22 -0
  148. package/lib-commonjs/utils/getTriggerChild.js +37 -0
  149. package/lib-commonjs/utils/getTriggerChild.js.map +1 -0
  150. package/lib-commonjs/utils/index.d.ts +2 -1
  151. package/lib-commonjs/utils/index.js +5 -3
  152. package/lib-commonjs/utils/index.js.map +1 -1
  153. package/lib-commonjs/utils/isFluentTrigger.d.ts +22 -0
  154. package/lib-commonjs/utils/isFluentTrigger.js +17 -0
  155. package/lib-commonjs/utils/isFluentTrigger.js.map +1 -0
  156. package/lib-commonjs/utils/omit.js +2 -2
  157. package/lib-commonjs/utils/omit.js.map +1 -1
  158. package/lib-commonjs/utils/properties.js +51 -40
  159. package/lib-commonjs/utils/properties.js.map +1 -1
  160. package/lib-commonjs/utils/shouldPreventDefaultOnKeyDown.js +5 -5
  161. package/lib-commonjs/utils/shouldPreventDefaultOnKeyDown.js.map +1 -1
  162. package/package.json +6 -11
  163. package/lib/compose/nullRender.d.ts +0 -4
  164. package/lib/compose/nullRender.js +0 -7
  165. package/lib/compose/nullRender.js.map +0 -1
  166. package/lib/hooks/useControllableValue.d.ts +0 -20
  167. package/lib/hooks/useControllableValue.js +0 -62
  168. package/lib/hooks/useControllableValue.js.map +0 -1
  169. package/lib/utils/onlyChild.d.ts +0 -5
  170. package/lib/utils/onlyChild.js +0 -13
  171. package/lib/utils/onlyChild.js.map +0 -1
  172. package/lib-commonjs/compose/nullRender.d.ts +0 -4
  173. package/lib-commonjs/compose/nullRender.js +0 -16
  174. package/lib-commonjs/compose/nullRender.js.map +0 -1
  175. package/lib-commonjs/hooks/useControllableValue.d.ts +0 -20
  176. package/lib-commonjs/hooks/useControllableValue.js +0 -73
  177. package/lib-commonjs/hooks/useControllableValue.js.map +0 -1
  178. package/lib-commonjs/utils/onlyChild.d.ts +0 -5
  179. package/lib-commonjs/utils/onlyChild.js +0 -23
  180. package/lib-commonjs/utils/onlyChild.js.map +0 -1
@@ -0,0 +1,26 @@
1
+ import { useEventCallback } from './useEventCallback';
2
+ /**
3
+ * Combine two event callbacks into a single callback function that calls each one in order.
4
+ *
5
+ * This is useful to add an event listener to an existing element without overwriting the current listener, if any.
6
+ *
7
+ * For example:
8
+ * ```ts
9
+ * state.slot.onChange = useMergedCallbacks(state.slot.onChange, ev => {
10
+ * // Handle onChange
11
+ * });
12
+ * ```
13
+ *
14
+ * @param callback1 - The first callback to be called
15
+ * @param callback2 - The second callback to be called
16
+ *
17
+ * @returns An event callback that calls the callbacks in order, and is stable between renders
18
+ */
19
+
20
+ export function useMergedEventCallbacks(callback1, callback2) {
21
+ return useEventCallback((...args) => {
22
+ callback1 === null || callback1 === void 0 ? void 0 : callback1(...args);
23
+ callback2 === null || callback2 === void 0 ? void 0 : callback2(...args);
24
+ });
25
+ }
26
+ //# sourceMappingURL=useMergedEventCallbacks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/useMergedEventCallbacks.ts"],"names":[],"mappings":"AAAA,SAAS,gBAAT,QAAiC,oBAAjC;AAEA;;;;;;;;;;;;;;;;AAgBG;;AACH,OAAM,SAAU,uBAAV,CACJ,SADI,EAEJ,SAFI,EAE4C;AAEhD,SAAO,gBAAgB,CAAC,CAAC,GAAG,IAAJ,KAAkB;AACxC,IAAA,SAAS,KAAA,IAAT,IAAA,SAAS,KAAA,KAAA,CAAT,GAAS,KAAA,CAAT,GAAA,SAAS,CAAG,GAAG,IAAN,CAAT;AACA,IAAA,SAAS,KAAA,IAAT,IAAA,SAAS,KAAA,KAAA,CAAT,GAAS,KAAA,CAAT,GAAA,SAAS,CAAG,GAAG,IAAN,CAAT;AACD,GAHsB,CAAvB;AAID","sourceRoot":""}
@@ -1,4 +1,3 @@
1
- import { __spreadArrays } from "tslib";
2
1
  import * as React from 'react';
3
2
  /**
4
3
  * React hook to merge multiple React refs (either MutableRefObjects or ref callbacks) into a single ref callback that
@@ -7,20 +6,12 @@ import * as React from 'react';
7
6
  * @returns A function with an attached "current" prop, so that it can be treated like a RefObject.
8
7
  */
9
8
 
10
- export function useMergedRefs() {
11
- var refs = [];
12
-
13
- for (var _i = 0; _i < arguments.length; _i++) {
14
- refs[_i] = arguments[_i];
15
- }
16
-
17
- var mergedCallback = React.useCallback(function (value) {
9
+ export function useMergedRefs(...refs) {
10
+ const mergedCallback = React.useCallback(value => {
18
11
  // Update the "current" prop hanging on the function.
19
12
  mergedCallback.current = value;
20
13
 
21
- for (var _i = 0, refs_1 = refs; _i < refs_1.length; _i++) {
22
- var ref = refs_1[_i];
23
-
14
+ for (const ref of refs) {
24
15
  if (typeof ref === 'function') {
25
16
  ref(value);
26
17
  } else if (ref) {
@@ -28,7 +19,8 @@ export function useMergedRefs() {
28
19
  ref.current = value;
29
20
  }
30
21
  }
31
- }, __spreadArrays(refs));
22
+ }, // eslint-disable-next-line react-hooks/exhaustive-deps -- already exhaustive
23
+ [...refs]);
32
24
  return mergedCallback;
33
25
  }
34
26
  //# sourceMappingURL=useMergedRefs.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useMergedRefs.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAQA;;;;;AAKG;;AACH,OAAM,SAAU,aAAV,GAAuB;AAAI,MAAA,IAAA,GAAA,EAAA;;OAAA,IAAA,EAAA,GAAA,C,EAAA,EAAA,GAAA,SAAA,CAAA,M,EAAA,EAAA,E,EAAqC;AAArC,IAAA,IAAA,CAAA,EAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA;;;AAC/B,MAAM,cAAc,GAA0B,KAAK,CAAC,WAAN,CAC5C,UAAC,KAAD,EAAS;AACP;AACE,IAAA,cAAwD,CAAC,OAAzD,GAAmE,KAAnE;;AAEF,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,UAAI,OAAO,GAAP,KAAe,UAAnB,EAA+B;AAC7B,QAAA,GAAG,CAAC,KAAD,CAAH;AACD,OAFD,MAEO,IAAI,GAAJ,EAAS;AACd;AACE,QAAA,GAA6C,CAAC,OAA9C,GAAwD,KAAxD;AACH;AACF;AACF,GAb2C,EAa3C,cAAA,CAEG,IAFH,CAb2C,CAA9C;AAkBA,SAAO,cAAP;AACD","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useMergedRefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAQA;;;;;AAKG;;AACH,OAAM,SAAU,aAAV,CAA2B,GAAG,IAA9B,EAAgE;AACpE,QAAM,cAAc,GAA0B,KAAK,CAAC,WAAN,CAC3C,KAAD,IAAa;AACX;AACE,IAAA,cAAwD,CAAC,OAAzD,GAAmE,KAAnE;;AAEF,SAAK,MAAM,GAAX,IAAkB,IAAlB,EAAwB;AACtB,UAAI,OAAO,GAAP,KAAe,UAAnB,EAA+B;AAC7B,QAAA,GAAG,CAAC,KAAD,CAAH;AACD,OAFD,MAEO,IAAI,GAAJ,EAAS;AACd;AACE,QAAA,GAA6C,CAAC,OAA9C,GAAwD,KAAxD;AACH;AACF;AACF,GAb2C,EAc5C;AACA,GAAC,GAAG,IAAJ,CAf4C,CAA9C;AAkBA,SAAO,cAAP;AACD","sourceRoot":""}
@@ -5,10 +5,10 @@ import * as React from 'react';
5
5
  * @param callback - Function to call before mount.
6
6
  */
7
7
 
8
- export var useMount = function (callback) {
9
- var mountRef = React.useRef(callback);
8
+ export const useMount = callback => {
9
+ const mountRef = React.useRef(callback);
10
10
  mountRef.current = callback;
11
- React.useEffect(function () {
11
+ React.useEffect(() => {
12
12
  var _a;
13
13
 
14
14
  (_a = mountRef.current) === null || _a === void 0 ? void 0 : _a.call(mountRef);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useMount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA;;;;AAIG;;AACH,OAAO,IAAM,QAAQ,GAAG,UAAC,QAAD,EAAqB;AAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAN,CAAa,QAAb,CAAjB;AACA,EAAA,QAAQ,CAAC,OAAT,GAAmB,QAAnB;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,YAAA;;;AACd,KAAA,EAAA,GAAA,QAAQ,CAAC,OAAT,MAAgB,IAAhB,IAAgB,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgB,EAAA,CAAA,IAAA,CAAhB,QAAgB,CAAhB;AACD,GAFD,EAEG,EAFH;AAGD,CANM","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useMount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA;;;;AAIG;;AACH,OAAO,MAAM,QAAQ,GAAI,QAAD,IAAyB;AAC/C,QAAM,QAAQ,GAAG,KAAK,CAAC,MAAN,CAAa,QAAb,CAAjB;AACA,EAAA,QAAQ,CAAC,OAAT,GAAmB,QAAnB;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;;;AACnB,KAAA,EAAA,GAAA,QAAQ,CAAC,OAAT,MAAgB,IAAhB,IAAgB,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgB,EAAA,CAAA,IAAA,CAAhB,QAAgB,CAAhB;AACD,GAFD,EAEG,EAFH;AAGD,CANM","sourceRoot":""}
@@ -4,34 +4,32 @@ import { useEventCallback } from './useEventCallback';
4
4
  * Utility to perform checks where a click/touch event was made outside a component
5
5
  */
6
6
 
7
- export var useOnClickOutside = function (options) {
8
- var refs = options.refs,
9
- callback = options.callback,
10
- element = options.element,
11
- disabled = options.disabled,
12
- containsProp = options.contains;
13
- var timeoutId = React.useRef(undefined);
7
+ export const useOnClickOutside = options => {
8
+ const {
9
+ refs,
10
+ callback,
11
+ element,
12
+ disabled,
13
+ contains: containsProp
14
+ } = options;
15
+ const timeoutId = React.useRef(undefined);
14
16
  useIFrameFocus(!disabled, element, callback);
15
- var listener = useEventCallback(function (ev) {
16
- var contains = containsProp || function (parent, child) {
17
- return !!(parent === null || parent === void 0 ? void 0 : parent.contains(child));
18
- };
17
+ const listener = useEventCallback(ev => {
18
+ const contains = containsProp || ((parent, child) => !!(parent === null || parent === void 0 ? void 0 : parent.contains(child)));
19
19
 
20
- var isOutside = refs.every(function (ref) {
21
- return !contains(ref.current || null, ev.target);
22
- });
20
+ const isOutside = refs.every(ref => !contains(ref.current || null, ev.target));
23
21
 
24
22
  if (isOutside && !disabled) {
25
23
  callback(ev);
26
24
  }
27
25
  });
28
- React.useEffect(function () {
26
+ React.useEffect(() => {
29
27
  // Store the current event to avoid triggering handlers immediately
30
28
  // Note this depends on a deprecated but extremely well supported quirk of the web platform
31
29
  // https://github.com/facebook/react/issues/20074
32
- var currentEvent = getWindowEvent(window);
30
+ let currentEvent = getWindowEvent(window);
33
31
 
34
- var conditionalHandler = function (event) {
32
+ const conditionalHandler = event => {
35
33
  // Skip if this event is the same as the one running when we added the handlers
36
34
  if (event === currentEvent) {
37
35
  currentEvent = undefined;
@@ -49,10 +47,10 @@ export var useOnClickOutside = function (options) {
49
47
  } // Garbage collect this event after it's no longer useful to avoid memory leaks
50
48
 
51
49
 
52
- timeoutId.current = window.setTimeout(function () {
50
+ timeoutId.current = window.setTimeout(() => {
53
51
  currentEvent = undefined;
54
52
  }, 1);
55
- return function () {
53
+ return () => {
56
54
  element === null || element === void 0 ? void 0 : element.removeEventListener('click', conditionalHandler, true);
57
55
  element === null || element === void 0 ? void 0 : element.removeEventListener('touchstart', conditionalHandler, true);
58
56
  element === null || element === void 0 ? void 0 : element.removeEventListener('contextmenu', conditionalHandler, true);
@@ -62,7 +60,7 @@ export var useOnClickOutside = function (options) {
62
60
  }, [listener, element, disabled]);
63
61
  };
64
62
 
65
- var getWindowEvent = function (target) {
63
+ const getWindowEvent = target => {
66
64
  var _a, _b, _c;
67
65
 
68
66
  if (target) {
@@ -78,7 +76,7 @@ var getWindowEvent = function (target) {
78
76
  return undefined;
79
77
  };
80
78
 
81
- var FUI_FRAME_EVENT = 'fuiframefocus';
79
+ const FUI_FRAME_EVENT = 'fuiframefocus';
82
80
  /**
83
81
  * Since click events do not propagate past iframes, we use focus to detect if a
84
82
  * click has happened inside an iframe, since the only ways of focusing inside an
@@ -94,45 +92,41 @@ var FUI_FRAME_EVENT = 'fuiframefocus';
94
92
  * @param pollDuration - in milliseconds
95
93
  */
96
94
 
97
- var useIFrameFocus = function (enableFrameFocusDispatch, targetDocument, callback, pollDuration) {
98
- if (pollDuration === void 0) {
99
- pollDuration = 1000;
100
- }
101
-
102
- var timeoutRef = React.useRef();
103
- var listener = useEventCallback(function (e) {
95
+ const useIFrameFocus = (enableFrameFocusDispatch, targetDocument, callback, pollDuration = 1000) => {
96
+ const timeoutRef = React.useRef();
97
+ const listener = useEventCallback(e => {
104
98
  if (callback) {
105
99
  callback(e);
106
100
  }
107
101
  }); // Adds listener to the custom iframe focus event
108
102
 
109
- React.useEffect(function () {
103
+ React.useEffect(() => {
110
104
  if (enableFrameFocusDispatch) {
111
105
  targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener(FUI_FRAME_EVENT, listener, true);
112
106
  }
113
107
 
114
- return function () {
108
+ return () => {
115
109
  targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener(FUI_FRAME_EVENT, listener, true);
116
110
  };
117
111
  }, [targetDocument, enableFrameFocusDispatch, listener]); // Starts polling for the active element
118
112
 
119
- React.useEffect(function () {
113
+ React.useEffect(() => {
120
114
  var _a;
121
115
 
122
116
  if (enableFrameFocusDispatch) {
123
- timeoutRef.current = (_a = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView) === null || _a === void 0 ? void 0 : _a.setInterval(function () {
124
- var activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;
117
+ timeoutRef.current = (_a = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView) === null || _a === void 0 ? void 0 : _a.setInterval(() => {
118
+ const activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;
125
119
 
126
120
  if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.tagName) === 'IFRAME') {
127
- var event_1 = new CustomEvent(FUI_FRAME_EVENT, {
121
+ const event = new CustomEvent(FUI_FRAME_EVENT, {
128
122
  bubbles: true
129
123
  });
130
- activeElement.dispatchEvent(event_1);
124
+ activeElement.dispatchEvent(event);
131
125
  }
132
126
  }, pollDuration);
133
127
  }
134
128
 
135
- return function () {
129
+ return () => {
136
130
  var _a;
137
131
 
138
132
  (_a = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView) === null || _a === void 0 ? void 0 : _a.clearTimeout(timeoutRef.current);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useOnClickOutside.ts"],"names":[],"mappings":"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","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useOnClickOutside.ts"],"names":[],"mappings":"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","sourceRoot":""}
@@ -4,32 +4,30 @@ import { useEventCallback } from './useEventCallback';
4
4
  * Utility to perform checks where a click/touch event was made outside a component
5
5
  */
6
6
 
7
- export var useOnScrollOutside = function (options) {
8
- var refs = options.refs,
9
- callback = options.callback,
10
- element = options.element,
11
- disabled = options.disabled,
12
- containsProp = options.contains;
13
- var listener = useEventCallback(function (ev) {
14
- var contains = containsProp || function (parent, child) {
15
- return !!(parent === null || parent === void 0 ? void 0 : parent.contains(child));
16
- };
7
+ export const useOnScrollOutside = options => {
8
+ const {
9
+ refs,
10
+ callback,
11
+ element,
12
+ disabled,
13
+ contains: containsProp
14
+ } = options;
15
+ const listener = useEventCallback(ev => {
16
+ const contains = containsProp || ((parent, child) => !!(parent === null || parent === void 0 ? void 0 : parent.contains(child)));
17
17
 
18
- var isOutside = refs.every(function (ref) {
19
- return !contains(ref.current || null, ev.target);
20
- });
18
+ const isOutside = refs.every(ref => !contains(ref.current || null, ev.target));
21
19
 
22
20
  if (isOutside && !disabled) {
23
21
  callback(ev);
24
22
  }
25
23
  });
26
- React.useEffect(function () {
24
+ React.useEffect(() => {
27
25
  if (!disabled) {
28
26
  element === null || element === void 0 ? void 0 : element.addEventListener('wheel', listener);
29
27
  element === null || element === void 0 ? void 0 : element.addEventListener('touchmove', listener);
30
28
  }
31
29
 
32
- return function () {
30
+ return () => {
33
31
  element === null || element === void 0 ? void 0 : element.removeEventListener('wheel', listener);
34
32
  element === null || element === void 0 ? void 0 : element.removeEventListener('touchmove', listener);
35
33
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useOnScrollOutside.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,gBAAT,QAAiC,oBAAjC;AAGA;;AAEG;;AACH,OAAO,IAAM,kBAAkB,GAAG,UAAC,OAAD,EAA0C;AAClE,MAAA,IAAI,GAA0D,OAAO,CAAjE,IAAJ;AAAA,MAAM,QAAQ,GAAgD,OAAO,CAAvD,QAAd;AAAA,MAAgB,OAAO,GAAuC,OAAO,CAA9C,OAAvB;AAAA,MAAyB,QAAQ,GAA6B,OAAO,CAApC,QAAjC;AAAA,MAA6C,YAAY,GAAK,OAAO,CAAZ,QAAzD;AAER,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAC,EAAD,EAA4B;AAC5D,QAAM,QAAQ,GACZ,YAAY,IAAK,UAAC,MAAD,EAAS,KAAT,EAAc;AAAK,aAAA,CAAC,EAAC,MAAM,KAAA,IAAN,IAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAA,MAAM,CAAE,QAAR,CAAF,KAAE,CAAD,CAAD;AAAyB,KAD/D;;AAGA,QAAM,SAAS,GAAG,IAAI,CAAC,KAAL,CAAW,UAAA,GAAA,EAAG;AAAI,aAAA,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAJ,IAAe,IAAhB,EAAsB,EAAE,CAAjC,MAAS,CAAT;AAAwD,KAA1E,CAAlB;;AACA,QAAI,SAAS,IAAI,CAAC,QAAlB,EAA4B;AAC1B,MAAA,QAAQ,CAAC,EAAD,CAAR;AACD;AACF,GARgC,CAAjC;AAUA,EAAA,KAAK,CAAC,SAAN,CAAgB,YAAA;AACd,QAAI,CAAC,QAAL,EAAe;AACb,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,gBAAT,CAA0B,OAA1B,EAAmC,QAAnC,CAAA;AACA,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,gBAAT,CAA0B,WAA1B,EAAuC,QAAvC,CAAA;AACD;;AAED,WAAO,YAAA;AACL,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,mBAAT,CAA6B,OAA7B,EAAsC,QAAtC,CAAA;AACA,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,mBAAT,CAA6B,WAA7B,EAA0C,QAA1C,CAAA;AACD,KAHD;AAID,GAVD,EAUG,CAAC,QAAD,EAAW,OAAX,EAAoB,QAApB,CAVH;AAWD,CAxBM","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useOnScrollOutside.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,gBAAT,QAAiC,oBAAjC;AAGA;;AAEG;;AACH,OAAO,MAAM,kBAAkB,GAAI,OAAD,IAA8C;AAC9E,QAAM;AAAE,IAAA,IAAF;AAAQ,IAAA,QAAR;AAAkB,IAAA,OAAlB;AAA2B,IAAA,QAA3B;AAAqC,IAAA,QAAQ,EAAE;AAA/C,MAAgE,OAAtE;AAEA,QAAM,QAAQ,GAAG,gBAAgB,CAAE,EAAD,IAAgC;AAChE,UAAM,QAAQ,GACZ,YAAY,KAAK,CAAC,MAAD,EAAS,KAAT,KAAmB,CAAC,EAAC,MAAM,KAAA,IAAN,IAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAA,MAAM,CAAE,QAAR,CAAiB,KAAjB,CAAD,CAAzB,CADd;;AAGA,UAAM,SAAS,GAAG,IAAI,CAAC,KAAL,CAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAJ,IAAe,IAAhB,EAAsB,EAAE,CAAC,MAAzB,CAA3B,CAAlB;;AACA,QAAI,SAAS,IAAI,CAAC,QAAlB,EAA4B;AAC1B,MAAA,QAAQ,CAAC,EAAD,CAAR;AACD;AACF,GARgC,CAAjC;AAUA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB,QAAI,CAAC,QAAL,EAAe;AACb,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,gBAAT,CAA0B,OAA1B,EAAmC,QAAnC,CAAA;AACA,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,gBAAT,CAA0B,WAA1B,EAAuC,QAAvC,CAAA;AACD;;AAED,WAAO,MAAK;AACV,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,mBAAT,CAA6B,OAA7B,EAAsC,QAAtC,CAAA;AACA,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,mBAAT,CAA6B,WAA7B,EAA0C,QAA1C,CAAA;AACD,KAHD;AAID,GAVD,EAUG,CAAC,QAAD,EAAW,OAAX,EAAoB,QAApB,CAVH;AAWD,CAxBM","sourceRoot":""}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- export var usePrevious = function (value) {
3
- var ref = React.useRef(null);
4
- React.useEffect(function () {
2
+ export const usePrevious = value => {
3
+ const ref = React.useRef(null);
4
+ React.useEffect(() => {
5
5
  ref.current = value;
6
6
  }, [value]);
7
7
  return ref.current;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/usePrevious.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA,OAAO,IAAM,WAAW,GAAG,UAAsB,KAAtB,EAAsC;AAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,MAAN,CAA+B,IAA/B,CAAZ;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,YAAA;AACd,IAAA,GAAG,CAAC,OAAJ,GAAc,KAAd;AACD,GAFD,EAEG,CAAC,KAAD,CAFH;AAGA,SAAO,GAAG,CAAC,OAAX;AACD,CANM","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/usePrevious.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA,OAAO,MAAM,WAAW,GAAyB,KAAtB,IAA0C;AACnE,QAAM,GAAG,GAAG,KAAK,CAAC,MAAN,CAA+B,IAA/B,CAAZ;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB,IAAA,GAAG,CAAC,OAAJ,GAAc,KAAd;AACD,GAFD,EAEG,CAAC,KAAD,CAFH;AAGA,SAAO,GAAG,CAAC,OAAX;AACD,CANM","sourceRoot":""}
@@ -9,25 +9,21 @@ import { useConst } from './useConst';
9
9
  */
10
10
 
11
11
  export function useTimeout() {
12
- var timeout = useConst(function () {
13
- return {
14
- id: undefined,
15
- set: function (fn, delay) {
16
- timeout.clear();
17
- timeout.id = setTimeout(fn, delay);
18
- },
19
- clear: function () {
20
- if (timeout.id !== undefined) {
21
- clearTimeout(timeout.id);
22
- timeout.id = undefined;
23
- }
12
+ const timeout = useConst(() => ({
13
+ id: undefined,
14
+ set: (fn, delay) => {
15
+ timeout.clear();
16
+ timeout.id = setTimeout(fn, delay);
17
+ },
18
+ clear: () => {
19
+ if (timeout.id !== undefined) {
20
+ clearTimeout(timeout.id);
21
+ timeout.id = undefined;
24
22
  }
25
- };
26
- }); // Clean up the timeout when the component is unloaded
23
+ }
24
+ })); // Clean up the timeout when the component is unloaded
27
25
 
28
- React.useEffect(function () {
29
- return timeout.clear;
30
- }, [timeout]);
26
+ React.useEffect(() => timeout.clear, [timeout]);
31
27
  return [timeout.set, timeout.clear];
32
28
  }
33
29
  //# sourceMappingURL=useTimeout.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useTimeout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,YAAzB;AAEA;;;;;;AAMG;;AACH,OAAM,SAAU,UAAV,GAAoB;AACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAA;AAAM,WAAC;AAC9B,MAAA,EAAE,EAAE,SAD0B;AAE9B,MAAA,GAAG,EAAE,UAAC,EAAD,EAAiB,KAAjB,EAA8B;AACjC,QAAA,OAAO,CAAC,KAAR;AACA,QAAA,OAAO,CAAC,EAAR,GAAa,UAAU,CAAC,EAAD,EAAK,KAAL,CAAvB;AACD,OAL6B;AAM9B,MAAA,KAAK,EAAE,YAAA;AACL,YAAI,OAAO,CAAC,EAAR,KAAe,SAAnB,EAA8B;AAC5B,UAAA,YAAY,CAAC,OAAO,CAAC,EAAT,CAAZ;AACA,UAAA,OAAO,CAAC,EAAR,GAAa,SAAb;AACD;AACF;AAX6B,KAAD;AAY7B,GAZsB,CAAxB,CADwB,CAexB;;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,YAAA;AAAM,WAAA,OAAO,CAAP,KAAA;AAAa,GAAnC,EAAqC,CAAC,OAAD,CAArC;AAEA,SAAO,CAAC,OAAO,CAAC,GAAT,EAAc,OAAO,CAAC,KAAtB,CAAP;AACD","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useTimeout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,YAAzB;AAEA;;;;;;AAMG;;AACH,OAAM,SAAU,UAAV,GAAoB;AACxB,QAAM,OAAO,GAAG,QAAQ,CAAC,OAAO;AAC9B,IAAA,EAAE,EAAE,SAD0B;AAE9B,IAAA,GAAG,EAAE,CAAC,EAAD,EAAiB,KAAjB,KAAkC;AACrC,MAAA,OAAO,CAAC,KAAR;AACA,MAAA,OAAO,CAAC,EAAR,GAAa,UAAU,CAAC,EAAD,EAAK,KAAL,CAAvB;AACD,KAL6B;AAM9B,IAAA,KAAK,EAAE,MAAK;AACV,UAAI,OAAO,CAAC,EAAR,KAAe,SAAnB,EAA8B;AAC5B,QAAA,YAAY,CAAC,OAAO,CAAC,EAAT,CAAZ;AACA,QAAA,OAAO,CAAC,EAAR,GAAa,SAAb;AACD;AACF;AAX6B,GAAP,CAAD,CAAxB,CADwB,CAexB;;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAM,OAAO,CAAC,KAA9B,EAAqC,CAAC,OAAD,CAArC;AAEA,SAAO,CAAC,OAAO,CAAC,GAAT,EAAc,OAAO,CAAC,KAAtB,CAAP;AACD","sourceRoot":""}
@@ -5,15 +5,13 @@ import * as React from 'react';
5
5
  * @param callback - Function to call during unmount.
6
6
  */
7
7
 
8
- export var useUnmount = function (callback) {
9
- var unmountRef = React.useRef(callback);
8
+ export const useUnmount = callback => {
9
+ const unmountRef = React.useRef(callback);
10
10
  unmountRef.current = callback;
11
- React.useEffect(function () {
12
- return function () {
13
- var _a;
11
+ React.useEffect(() => () => {
12
+ var _a;
14
13
 
15
- (_a = unmountRef.current) === null || _a === void 0 ? void 0 : _a.call(unmountRef);
16
- };
14
+ (_a = unmountRef.current) === null || _a === void 0 ? void 0 : _a.call(unmountRef);
17
15
  }, []);
18
16
  };
19
17
  //# sourceMappingURL=useUnmount.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useUnmount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA;;;;AAIG;;AACH,OAAO,IAAM,UAAU,GAAG,UAAC,QAAD,EAAqB;AAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAN,CAAa,QAAb,CAAnB;AACA,EAAA,UAAU,CAAC,OAAX,GAAqB,QAArB;AACA,EAAA,KAAK,CAAC,SAAN,CACE,YAAA;AAAM,WAAA,YAAA;;;AACJ,OAAA,EAAA,GAAA,UAAU,CAAC,OAAX,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkB,EAAA,CAAA,IAAA,CAAlB,UAAkB,CAAlB;AADI,KAAA;AAEL,GAHH,EAIE,EAJF;AAMD,CATM","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/hooks/useUnmount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA;;;;AAIG;;AACH,OAAO,MAAM,UAAU,GAAI,QAAD,IAAyB;AACjD,QAAM,UAAU,GAAG,KAAK,CAAC,MAAN,CAAa,QAAb,CAAnB;AACA,EAAA,UAAU,CAAC,OAAX,GAAqB,QAArB;AACA,EAAA,KAAK,CAAC,SAAN,CACE,MAAM,MAAK;;;AACT,KAAA,EAAA,GAAA,UAAU,CAAC,OAAX,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkB,EAAA,CAAA,IAAA,CAAlB,UAAkB,CAAlB;AACD,GAHH,EAIE,EAJF;AAMD,CATM","sourceRoot":""}
@@ -6,10 +6,10 @@ import { canUseDOM } from './canUseDOM';
6
6
  * @internal
7
7
  */
8
8
 
9
- export var defaultSSRContextValue = {
9
+ export const defaultSSRContextValue = {
10
10
  current: 0
11
11
  };
12
- export var SSRContext = /*#__PURE__*/React.createContext(defaultSSRContextValue);
12
+ export const SSRContext = /*#__PURE__*/React.createContext(defaultSSRContextValue);
13
13
  /**
14
14
  * @internal
15
15
  */
@@ -24,12 +24,10 @@ export function useSSRContext() {
24
24
  * @public
25
25
  */
26
26
 
27
- export var SSRProvider = function (props) {
28
- var value = React.useState(function () {
29
- return {
30
- current: 0
31
- };
32
- })[0];
27
+ export const SSRProvider = props => {
28
+ const [value] = React.useState(() => ({
29
+ current: 0
30
+ }));
33
31
  return /*#__PURE__*/React.createElement(SSRContext.Provider, {
34
32
  value: value
35
33
  }, props.children);
@@ -40,14 +38,10 @@ export var SSRProvider = function (props) {
40
38
  */
41
39
 
42
40
  export function useIsSSR() {
43
- var isInSSRContext = useSSRContext() !== defaultSSRContextValue;
44
-
45
- var _a = React.useState(isInSSRContext),
46
- isSSR = _a[0],
47
- setIsSSR = _a[1]; // If we are rendering in a non-DOM environment, and there's no SSRProvider, provide a warning to hint to the
41
+ const isInSSRContext = useSSRContext() !== defaultSSRContextValue;
42
+ const [isSSR, setIsSSR] = React.useState(isInSSRContext); // If we are rendering in a non-DOM environment, and there's no SSRProvider, provide a warning to hint to the
48
43
  // developer to add one.
49
44
 
50
-
51
45
  if (process.env.NODE_ENV !== 'production') {
52
46
  if (!isInSSRContext && !canUseDOM()) {
53
47
  // eslint-disable-next-line no-console
@@ -61,7 +55,7 @@ export function useIsSSR() {
61
55
  // This if statement technically breaks the rules of hooks, but is safe because the condition never changes after
62
56
  // mounting.
63
57
  // eslint-disable-next-line
64
- React.useLayoutEffect(function () {
58
+ React.useLayoutEffect(() => {
65
59
  setIsSSR(false);
66
60
  }, []);
67
61
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ssr/SSRContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,SAAT,QAA0B,aAA1B;AAYA;;;;AAIG;;AACH,OAAO,IAAM,sBAAsB,GAAoB;AACrD,EAAA,OAAO,EAAE;AAD4C,CAAhD;AAIP,OAAO,IAAM,UAAU,gBAAG,KAAK,CAAC,aAAN,CAAqC,sBAArC,CAAnB;AAEP;;AAEG;;AACH,OAAM,SAAU,aAAV,GAAuB;AAC3B,SAAO,KAAK,CAAC,UAAN,CAAiB,UAAjB,CAAP;AACD;AAED;;;;;AAKG;;AACH,OAAO,IAAM,WAAW,GAAa,UAAA,KAAA,EAAK;AACjC,MAAA,KAAK,GAAI,KAAK,CAAC,QAAN,CAAgC,YAAA;AAAM,WAAC;AAAE,MAAA,OAAO,EAAV;AAAC,KAAD;AAAgB,GAAtD,EAAJ,CAAI,CAAT;AAEP,sBAAO,KAAA,CAAA,aAAA,CAAC,UAAU,CAAC,QAAZ,EAAoB;AAAC,IAAA,KAAK,EAAE;AAAR,GAApB,EAAoC,KAAK,CAAC,QAA1C,CAAP;AACD,CAJM;AAMP;;;AAGG;;AACH,OAAM,SAAU,QAAV,GAAkB;AACtB,MAAM,cAAc,GAAG,aAAa,OAAO,sBAA3C;;AACM,MAAA,EAAA,GAAoB,KAAK,CAAC,QAAN,CAAe,cAAf,CAApB;AAAA,MAAC,KAAK,GAAA,EAAA,CAAA,CAAA,CAAN;AAAA,MAAQ,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAhB,CAFgB,CAItB;AACA;;;AACA,MAAI,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,QAAI,CAAC,cAAD,IAAmB,CAAC,SAAS,EAAjC,EAAqC;AACnC;AACA,MAAA,OAAO,CAAC,KAAR,CACE,4GACE,0CAFJ;AAID;AACF,GAdqB,CAgBtB;AACA;;;AACA,MAAI,SAAS,MAAM,cAAnB,EAAmC;AACjC;AACA;AACA;AACA,IAAA,KAAK,CAAC,eAAN,CAAsB,YAAA;AACpB,MAAA,QAAQ,CAAC,KAAD,CAAR;AACD,KAFD,EAEG,EAFH;AAGD;;AAED,SAAO,KAAP;AACD","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/ssr/SSRContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,SAAT,QAA0B,aAA1B;AAYA;;;;AAIG;;AACH,OAAO,MAAM,sBAAsB,GAAoB;AACrD,EAAA,OAAO,EAAE;AAD4C,CAAhD;AAIP,OAAO,MAAM,UAAU,gBAAG,KAAK,CAAC,aAAN,CAAqC,sBAArC,CAAnB;AAEP;;AAEG;;AACH,OAAM,SAAU,aAAV,GAAuB;AAC3B,SAAO,KAAK,CAAC,UAAN,CAAiB,UAAjB,CAAP;AACD;AAED;;;;;AAKG;;AACH,OAAO,MAAM,WAAW,GAAa,KAAK,IAAG;AAC3C,QAAM,CAAC,KAAD,IAAU,KAAK,CAAC,QAAN,CAAgC,OAAO;AAAE,IAAA,OAAO,EAAE;AAAX,GAAP,CAAhC,CAAhB;AAEA,sBAAO,KAAA,CAAA,aAAA,CAAC,UAAU,CAAC,QAAZ,EAAoB;AAAC,IAAA,KAAK,EAAE;AAAR,GAApB,EAAoC,KAAK,CAAC,QAA1C,CAAP;AACD,CAJM;AAMP;;;AAGG;;AACH,OAAM,SAAU,QAAV,GAAkB;AACtB,QAAM,cAAc,GAAG,aAAa,OAAO,sBAA3C;AACA,QAAM,CAAC,KAAD,EAAQ,QAAR,IAAoB,KAAK,CAAC,QAAN,CAAe,cAAf,CAA1B,CAFsB,CAItB;AACA;;AACA,MAAI,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,QAAI,CAAC,cAAD,IAAmB,CAAC,SAAS,EAAjC,EAAqC;AACnC;AACA,MAAA,OAAO,CAAC,KAAR,CACE,4GACE,0CAFJ;AAID;AACF,GAdqB,CAgBtB;AACA;;;AACA,MAAI,SAAS,MAAM,cAAnB,EAAmC;AACjC;AACA;AACA;AACA,IAAA,KAAK,CAAC,eAAN,CAAsB,MAAK;AACzB,MAAA,QAAQ,CAAC,KAAD,CAAR;AACD,KAFD,EAEG,EAFH;AAGD;;AAED,SAAO,KAAP;AACD","sourceRoot":""}
@@ -2,4 +2,4 @@ import * as React from 'react';
2
2
  /**
3
3
  * Apply the trigger props to the children, either by calling the render function, or cloning with the new props.
4
4
  */
5
- export declare const applyTriggerPropsToChildren: <TTriggerProps>(children: React.ReactElement<any, 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>)> | ((props: TTriggerProps) => React.ReactNode) | null | undefined, triggerProps: TTriggerProps) => React.ReactNode;
5
+ export declare const applyTriggerPropsToChildren: <TTriggerProps>(children: React.ReactElement<any, string | React.JSXElementConstructor<any>> | ((props: TTriggerProps) => React.ReactElement | null) | null | undefined, triggerProps: TTriggerProps) => React.ReactElement | null;
@@ -1,16 +1,36 @@
1
1
  import * as React from 'react';
2
- import { onlyChild } from './onlyChild';
2
+ import { isFluentTrigger } from './isFluentTrigger';
3
3
  /**
4
4
  * Apply the trigger props to the children, either by calling the render function, or cloning with the new props.
5
5
  */
6
6
 
7
- export var applyTriggerPropsToChildren = function (children, triggerProps) {
7
+ export const applyTriggerPropsToChildren = (children, triggerProps) => {
8
8
  if (typeof children === 'function') {
9
9
  return children(triggerProps);
10
10
  } else if (children) {
11
- return /*#__PURE__*/React.cloneElement(onlyChild(children), triggerProps);
11
+ return cloneTriggerTree(children, triggerProps);
12
+ } // Components in React should return either JSX elements or "null", otherwise React will throw:
13
+ // Nothing was returned from render.
14
+ // This usually means a return statement is missing. Or, to render nothing, return null.
15
+
16
+
17
+ return children || null;
18
+ };
19
+ /**
20
+ * Clones a React element tree, and applies the given props to the first grandchild that is not
21
+ * a FluentTriggerComponent or React Fragment (the same element returned by {@link getTriggerChild}).
22
+ */
23
+
24
+ const cloneTriggerTree = (child, triggerProps) => {
25
+ if (! /*#__PURE__*/React.isValidElement(child) || child.type === React.Fragment) {
26
+ throw new Error('A trigger element must be a single element for this component. ' + "Please ensure that you're not using React Fragments.");
12
27
  }
13
28
 
14
- return children;
29
+ if (isFluentTrigger(child)) {
30
+ const grandchild = cloneTriggerTree(child.props.children, triggerProps);
31
+ return /*#__PURE__*/React.cloneElement(child, undefined, grandchild);
32
+ } else {
33
+ return /*#__PURE__*/React.cloneElement(child, triggerProps);
34
+ }
15
35
  };
16
36
  //# sourceMappingURL=applyTriggerPropsToChildren.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/applyTriggerPropsToChildren.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,SAAT,QAA0B,aAA1B;AAEA;;AAEG;;AACH,OAAO,IAAM,2BAA2B,GAAG,UACzC,QADyC,EAEzC,YAFyC,EAEd;AAE3B,MAAI,OAAO,QAAP,KAAoB,UAAxB,EAAoC;AAClC,WAAO,QAAQ,CAAC,YAAD,CAAf;AACD,GAFD,MAEO,IAAI,QAAJ,EAAc;AACnB,wBAAO,KAAK,CAAC,YAAN,CAAmB,SAAS,CAAC,QAAD,CAA5B,EAAwC,YAAxC,CAAP;AACD;;AAED,SAAO,QAAP;AACD,CAXM","sourceRoot":""}
1
+ {"version":3,"sources":["../../src/utils/applyTriggerPropsToChildren.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,eAAT,QAAgC,mBAAhC;AAEA;;AAEG;;AACH,OAAO,MAAM,2BAA2B,GAAG,CACzC,QADyC,EAEzC,YAFyC,KAGZ;AAC7B,MAAI,OAAO,QAAP,KAAoB,UAAxB,EAAoC;AAClC,WAAO,QAAQ,CAAC,YAAD,CAAf;AACD,GAFD,MAEO,IAAI,QAAJ,EAAc;AACnB,WAAO,gBAAgB,CAAC,QAAD,EAAW,YAAX,CAAvB;AACD,GAL4B,CAO7B;AACA;AACA;;;AACA,SAAO,QAAQ,IAAI,IAAnB;AACD,CAdM;AAgBP;;;AAGG;;AACH,MAAM,gBAAgB,GAAG,CAAgB,KAAhB,EAAwC,YAAxC,KAA2F;AAClH,MAAI,eAAC,KAAK,CAAC,cAAN,CAAqB,KAArB,CAAD,IAAgC,KAAK,CAAC,IAAN,KAAe,KAAK,CAAC,QAAzD,EAAmE;AACjE,UAAM,IAAI,KAAJ,CACJ,oEACE,sDAFE,CAAN;AAID;;AAED,MAAI,eAAe,CAAC,KAAD,CAAnB,EAA4B;AAC1B,UAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAN,CAAY,QAAb,EAAuB,YAAvB,CAAnC;AACA,wBAAO,KAAK,CAAC,YAAN,CAAmB,KAAnB,EAA0B,SAA1B,EAAqC,UAArC,CAAP;AACD,GAHD,MAGO;AACL,wBAAO,KAAK,CAAC,YAAN,CAAmB,KAAnB,EAA0B,YAA1B,CAAP;AACD;AACF,CAdD","sourceRoot":""}
@@ -5,7 +5,5 @@
5
5
  * @param min - the lowest valid value
6
6
  * @param max - the highest valid value
7
7
  */
8
- export var clamp = function (value, min, max) {
9
- return Math.max(min, Math.min(max, value || 0));
10
- };
8
+ export const clamp = (value, min, max) => Math.max(min, Math.min(max, value || 0));
11
9
  //# sourceMappingURL=clamp.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/clamp.ts"],"names":[],"mappings":"AAAA;;;;;;AAMG;AACH,OAAO,IAAM,KAAK,GAAG,UAAC,KAAD,EAAgB,GAAhB,EAA6B,GAA7B,EAAwC;AAAa,SAAA,IAAI,CAAC,GAAL,CAAS,GAAT,EAAc,IAAI,CAAC,GAAL,CAAS,GAAT,EAAc,KAAK,IAAjC,CAAc,CAAd,CAAA;AAAwC,CAA3G","sourceRoot":""}
1
+ {"version":3,"file":"clamp.js","sourceRoot":"","sources":["../../src/utils/clamp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC"}
@@ -7,3 +7,25 @@ import * as React from 'react';
7
7
  * @param excludedPropNames - List of props to disallow
8
8
  */
9
9
  export declare function getNativeElementProps<TAttributes extends React.HTMLAttributes<any>>(tagName: string, props: {}, excludedPropNames?: string[]): TAttributes;
10
+ /**
11
+ * Splits the native props into ones that go to the `root` slot, and ones that go to the primary slot.
12
+ *
13
+ * This function is only for use with components that have a primary slot other than `root`.
14
+ * Most components should use {@link getNativeElementProps} for their root slot if it is the primary slot.
15
+ *
16
+ * @returns An object containing the native props for the `root` and primary slots.
17
+ */
18
+ export declare const getPartitionedNativeProps: <Props extends Pick<React.HTMLAttributes<HTMLElement>, "style" | "className">, ExcludedPropKeys extends Extract<keyof Props, string> = never>({ primarySlotTagName, props, excludedPropNames, }: {
19
+ /** The primary slot's element type (e.g. 'div') */
20
+ primarySlotTagName: keyof JSX.IntrinsicElements;
21
+ /** The component's props object */
22
+ props: Props;
23
+ /** List of native props to exclude from the returned value */
24
+ excludedPropNames?: ExcludedPropKeys[] | undefined;
25
+ }) => {
26
+ root: {
27
+ style: React.CSSProperties | undefined;
28
+ className: string | undefined;
29
+ };
30
+ primary: Omit<Props, ExcludedPropKeys>;
31
+ };
@@ -1,5 +1,5 @@
1
1
  import { labelProperties, audioProperties, videoProperties, olProperties, liProperties, anchorProperties, buttonProperties, inputProperties, textAreaProperties, selectProperties, optionProperties, tableProperties, trProperties, thProperties, tdProperties, colGroupProperties, colProperties, formProperties, iframeProperties, imgProperties, htmlElementProperties, getNativeProps } from './properties';
2
- var nativeElementMap = {
2
+ const nativeElementMap = {
3
3
  label: labelProperties,
4
4
  audio: audioProperties,
5
5
  video: videoProperties,
@@ -31,8 +31,30 @@ var nativeElementMap = {
31
31
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
32
 
33
33
  export function getNativeElementProps(tagName, props, excludedPropNames) {
34
- var allowedPropNames = tagName && nativeElementMap[tagName] || htmlElementProperties;
34
+ const allowedPropNames = tagName && nativeElementMap[tagName] || htmlElementProperties;
35
35
  allowedPropNames.as = 1;
36
36
  return getNativeProps(props, allowedPropNames, excludedPropNames);
37
37
  }
38
+ /**
39
+ * Splits the native props into ones that go to the `root` slot, and ones that go to the primary slot.
40
+ *
41
+ * This function is only for use with components that have a primary slot other than `root`.
42
+ * Most components should use {@link getNativeElementProps} for their root slot if it is the primary slot.
43
+ *
44
+ * @returns An object containing the native props for the `root` and primary slots.
45
+ */
46
+
47
+ export const getPartitionedNativeProps = ({
48
+ primarySlotTagName,
49
+ props,
50
+ excludedPropNames
51
+ }) => {
52
+ return {
53
+ root: {
54
+ style: props.style,
55
+ className: props.className
56
+ },
57
+ primary: getNativeElementProps(primarySlotTagName, props, [...(excludedPropNames || []), 'style', 'className'])
58
+ };
59
+ };
38
60
  //# sourceMappingURL=getNativeElementProps.js.map