@jobber/components 6.90.4 → 6.91.0

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 (211) hide show
  1. package/dist/AtlantisThemeContext-es.js +1 -1
  2. package/dist/Autocomplete/index.cjs +12 -15
  3. package/dist/Autocomplete/index.mjs +13 -16
  4. package/dist/Banner/index.cjs +1 -6
  5. package/dist/Banner/index.mjs +1 -6
  6. package/dist/Banner-cjs.js +2 -2
  7. package/dist/Banner-es.js +2 -2
  8. package/dist/Card/index.cjs +1 -4
  9. package/dist/Card/index.mjs +1 -4
  10. package/dist/Chip/index.cjs +1 -3
  11. package/dist/Chip/index.mjs +1 -3
  12. package/dist/Chip-cjs.js +3 -3
  13. package/dist/Chip-es.js +3 -3
  14. package/dist/Chips/InternalChipDismissible/hooks/index.cjs +1 -0
  15. package/dist/Chips/InternalChipDismissible/hooks/index.mjs +1 -0
  16. package/dist/Chips/InternalChipDismissible/index.cjs +1 -3
  17. package/dist/Chips/InternalChipDismissible/index.mjs +1 -3
  18. package/dist/Chips/index.cjs +1 -3
  19. package/dist/Chips/index.mjs +1 -3
  20. package/dist/Combobox/components/ComboboxActivator/index.cjs +1 -3
  21. package/dist/Combobox/components/ComboboxActivator/index.mjs +1 -3
  22. package/dist/Combobox/components/ComboboxContent/ComboboxContentList/index.cjs +1 -1
  23. package/dist/Combobox/components/ComboboxContent/ComboboxContentList/index.mjs +1 -1
  24. package/dist/Combobox/components/ComboboxContent/ComboboxLoadMore/index.cjs +1 -1
  25. package/dist/Combobox/components/ComboboxContent/ComboboxLoadMore/index.mjs +1 -1
  26. package/dist/Combobox/components/ComboboxContent/index.cjs +1 -3
  27. package/dist/Combobox/components/ComboboxContent/index.mjs +1 -3
  28. package/dist/Combobox/components/ComboboxTrigger/index.cjs +1 -3
  29. package/dist/Combobox/components/ComboboxTrigger/index.mjs +1 -3
  30. package/dist/Combobox/index.cjs +1 -6
  31. package/dist/Combobox/index.mjs +1 -6
  32. package/dist/Combobox-cjs.js +2 -2
  33. package/dist/Combobox-es.js +2 -2
  34. package/dist/ComboboxContent-cjs.js +3 -4
  35. package/dist/ComboboxContent-es.js +4 -5
  36. package/dist/ComboboxLoadMore-cjs.js +2 -2
  37. package/dist/ComboboxLoadMore-es.js +2 -2
  38. package/dist/ConfirmationModal/index.cjs +1 -3
  39. package/dist/ConfirmationModal/index.mjs +1 -3
  40. package/dist/ConfirmationModal-cjs.js +2 -2
  41. package/dist/ConfirmationModal-es.js +2 -2
  42. package/dist/ContentBlock/index.cjs +1 -6
  43. package/dist/ContentBlock/index.mjs +1 -6
  44. package/dist/ContentBlock-cjs.js +2 -2
  45. package/dist/ContentBlock-es.js +2 -2
  46. package/dist/DataDump/index.cjs +1 -4
  47. package/dist/DataDump/index.mjs +1 -4
  48. package/dist/DataList/components/DataListActions/index.cjs +1 -5
  49. package/dist/DataList/components/DataListActions/index.mjs +1 -5
  50. package/dist/DataList/components/DataListActionsMenu/index.cjs +1 -5
  51. package/dist/DataList/components/DataListActionsMenu/index.mjs +1 -5
  52. package/dist/DataList/components/DataListBulkActions/index.cjs +1 -5
  53. package/dist/DataList/components/DataListBulkActions/index.mjs +1 -5
  54. package/dist/DataList/components/DataListFilters/components/DataListSort/index.cjs +1 -6
  55. package/dist/DataList/components/DataListFilters/components/DataListSort/index.mjs +1 -6
  56. package/dist/DataList/components/DataListFilters/index.cjs +1 -7
  57. package/dist/DataList/components/DataListFilters/index.mjs +1 -7
  58. package/dist/DataList/components/DataListHeader/index.cjs +1 -5
  59. package/dist/DataList/components/DataListHeader/index.mjs +1 -5
  60. package/dist/DataList/components/DataListHeaderTile/components/index.cjs +1 -2
  61. package/dist/DataList/components/DataListHeaderTile/components/index.mjs +1 -2
  62. package/dist/DataList/components/DataListHeaderTile/index.cjs +1 -3
  63. package/dist/DataList/components/DataListHeaderTile/index.mjs +1 -3
  64. package/dist/DataList/components/DataListItem/index.cjs +1 -5
  65. package/dist/DataList/components/DataListItem/index.mjs +1 -5
  66. package/dist/DataList/components/DataListItemActions/index.cjs +1 -5
  67. package/dist/DataList/components/DataListItemActions/index.mjs +1 -5
  68. package/dist/DataList/components/DataListItemActionsOverflow/index.cjs +1 -5
  69. package/dist/DataList/components/DataListItemActionsOverflow/index.mjs +1 -5
  70. package/dist/DataList/components/DataListItems/index.cjs +1 -5
  71. package/dist/DataList/components/DataListItems/index.mjs +1 -5
  72. package/dist/DataList/components/DataListLayout/index.cjs +1 -5
  73. package/dist/DataList/components/DataListLayout/index.mjs +1 -5
  74. package/dist/DataList/components/DataListLayoutActions/index.cjs +1 -5
  75. package/dist/DataList/components/DataListLayoutActions/index.mjs +1 -5
  76. package/dist/DataList/components/DataListLoadMore/index.cjs +1 -1
  77. package/dist/DataList/components/DataListLoadMore/index.mjs +1 -1
  78. package/dist/DataList/components/DataListOverflowFade/index.cjs +1 -1
  79. package/dist/DataList/components/DataListOverflowFade/index.mjs +1 -1
  80. package/dist/DataList/components/DataListSearch/index.cjs +1 -2
  81. package/dist/DataList/components/DataListSearch/index.mjs +1 -2
  82. package/dist/DataList/components/DataListStatusBar/index.cjs +1 -3
  83. package/dist/DataList/components/DataListStatusBar/index.mjs +1 -3
  84. package/dist/DataList/index.cjs +1 -7
  85. package/dist/DataList/index.mjs +1 -7
  86. package/dist/DataListActionsMenu-cjs.js +5 -8
  87. package/dist/DataListActionsMenu-es.js +5 -8
  88. package/dist/DataListHeaderTile-cjs.js +2 -2
  89. package/dist/DataListHeaderTile-es.js +2 -2
  90. package/dist/DataListLoadMore-cjs.js +2 -2
  91. package/dist/DataListLoadMore-es.js +2 -2
  92. package/dist/DataListOverflowFade-cjs.js +3 -3
  93. package/dist/DataListOverflowFade-es.js +3 -3
  94. package/dist/DataListSearch-cjs.js +2 -2
  95. package/dist/DataListSearch-es.js +2 -2
  96. package/dist/DataListSortingOptions-cjs.js +3 -4
  97. package/dist/DataListSortingOptions-es.js +3 -4
  98. package/dist/DataTable/index.cjs +4 -6
  99. package/dist/DataTable/index.mjs +4 -6
  100. package/dist/DataTable/test-utilities/index.cjs +1 -7
  101. package/dist/DataTable/test-utilities/index.mjs +1 -7
  102. package/dist/DataTable-cjs.js +4 -4
  103. package/dist/DataTable-es.js +4 -4
  104. package/dist/DatePicker/index.cjs +1 -1
  105. package/dist/DatePicker/index.mjs +1 -1
  106. package/dist/DatePicker-cjs.js +2 -2
  107. package/dist/DatePicker-es.js +3 -3
  108. package/dist/Disclosure/index.cjs +1 -6
  109. package/dist/Disclosure/index.mjs +1 -6
  110. package/dist/Disclosure-cjs.js +3 -3
  111. package/dist/Disclosure-es.js +3 -3
  112. package/dist/FormField/FormFieldWrapper.d.ts +1 -1
  113. package/dist/FormField/index.cjs +1 -0
  114. package/dist/FormField/index.mjs +1 -0
  115. package/dist/FormField-cjs.js +2 -21
  116. package/dist/FormField-es.js +2 -21
  117. package/dist/FormatFile/index.cjs +1 -3
  118. package/dist/FormatFile/index.mjs +1 -3
  119. package/dist/Gallery/index.cjs +1 -6
  120. package/dist/Gallery/index.mjs +1 -6
  121. package/dist/InputDate/index.cjs +1 -2
  122. package/dist/InputDate/index.mjs +1 -2
  123. package/dist/InputEmail/index.cjs +1 -0
  124. package/dist/InputEmail/index.mjs +1 -0
  125. package/dist/InputNumber/index.cjs +1 -0
  126. package/dist/InputNumber/index.mjs +1 -0
  127. package/dist/InputPassword/index.cjs +1 -0
  128. package/dist/InputPassword/index.mjs +1 -0
  129. package/dist/InputPassword-cjs.js +1 -0
  130. package/dist/InputPassword-es.js +1 -0
  131. package/dist/InputPhoneNumber/InputPhoneNumber.types.d.ts +1 -1
  132. package/dist/InputPhoneNumber/index.cjs +1 -0
  133. package/dist/InputPhoneNumber/index.mjs +1 -0
  134. package/dist/InputText/InputText.d.ts +2 -2
  135. package/dist/InputText/index.cjs +3 -3
  136. package/dist/InputText/index.mjs +3 -3
  137. package/dist/InputTime/index.cjs +1 -0
  138. package/dist/InputTime/index.mjs +2 -1
  139. package/dist/InternalChipDismissible-cjs.js +1 -0
  140. package/dist/InternalChipDismissible-es.js +1 -0
  141. package/dist/LightBox/index.cjs +1 -6
  142. package/dist/LightBox/index.mjs +1 -6
  143. package/dist/LightBox-cjs.js +12 -74
  144. package/dist/LightBox-es.js +12 -74
  145. package/dist/Menu/index.cjs +1 -4
  146. package/dist/Menu/index.mjs +1 -4
  147. package/dist/Menu-cjs.js +5 -37
  148. package/dist/Menu-es.js +6 -38
  149. package/dist/Modal/index.cjs +4 -6
  150. package/dist/Modal/index.mjs +5 -7
  151. package/dist/Page/index.cjs +2 -10
  152. package/dist/Page/index.mjs +2 -10
  153. package/dist/Page-cjs.js +5 -5
  154. package/dist/Page-es.js +5 -5
  155. package/dist/Popover/index.cjs +1 -1
  156. package/dist/Popover/index.mjs +1 -1
  157. package/dist/Popover-cjs.js +2 -2
  158. package/dist/Popover-es.js +3 -3
  159. package/dist/RecurringSelect/index.cjs +1 -0
  160. package/dist/RecurringSelect/index.mjs +1 -0
  161. package/dist/Select/index.cjs +1 -0
  162. package/dist/Select/index.mjs +1 -0
  163. package/dist/SideDrawer/index.cjs +1 -5
  164. package/dist/SideDrawer/index.mjs +1 -5
  165. package/dist/SideDrawer-cjs.js +7 -10
  166. package/dist/SideDrawer-es.js +7 -10
  167. package/dist/Tabs/index.cjs +0 -1
  168. package/dist/Tabs/index.mjs +0 -1
  169. package/dist/Tabs-cjs.js +76 -2
  170. package/dist/Tabs-es.js +76 -2
  171. package/dist/Tooltip/index.cjs +1 -2
  172. package/dist/Tooltip/index.mjs +1 -2
  173. package/dist/Tooltip-cjs.js +3 -4
  174. package/dist/Tooltip-es.js +4 -5
  175. package/dist/_baseEach-es.js +1 -1
  176. package/dist/_commonjsHelpers-cjs.js +0 -26
  177. package/dist/_commonjsHelpers-es.js +1 -26
  178. package/dist/_isIterateeCall-es.js +1 -1
  179. package/dist/debounce-es.js +2 -2
  180. package/dist/floating-ui.react-es.js +1 -1
  181. package/dist/helpers-cjs.js +21 -2
  182. package/dist/helpers-es.js +1 -1
  183. package/dist/index.cjs +1 -9
  184. package/dist/index.mjs +1 -9
  185. package/dist/isObjectLike-es.js +1 -1
  186. package/dist/isSymbol-es.js +1 -1
  187. package/dist/isTypedArray-es.js +1 -1
  188. package/dist/keysIn-es.js +1 -1
  189. package/dist/omit-es.js +1 -1
  190. package/dist/useScrollToActive-cjs.js +3 -45
  191. package/dist/useScrollToActive-es.js +5 -47
  192. package/package.json +3 -3
  193. package/rollup.config.mjs +0 -15
  194. package/dist/throttle-cjs.js +0 -80
  195. package/dist/throttle-es.js +0 -77
  196. package/dist/useDebounce-cjs.js +0 -4416
  197. package/dist/useDebounce-es.js +0 -4413
  198. package/dist/useFocusTrap-cjs.js +0 -75
  199. package/dist/useFocusTrap-es.js +0 -73
  200. package/dist/useInView-cjs.js +0 -26
  201. package/dist/useInView-es.js +0 -24
  202. package/dist/useIsMounted-cjs.js +0 -51
  203. package/dist/useIsMounted-es.js +0 -49
  204. package/dist/useOnKeyDown-cjs.js +0 -41
  205. package/dist/useOnKeyDown-es.js +0 -39
  206. package/dist/useRefocusOnActivator-cjs.js +0 -33
  207. package/dist/useRefocusOnActivator-es.js +0 -31
  208. package/dist/useResizeObserver-cjs.js +0 -1131
  209. package/dist/useResizeObserver-es.js +0 -1128
  210. package/dist/useSafeLayoutEffect-cjs.js +0 -14
  211. package/dist/useSafeLayoutEffect-es.js +0 -12
@@ -7,6 +7,7 @@ var FormField = require('../FormField-cjs.js');
7
7
  var reactHookForm = require('react-hook-form');
8
8
  require('../Button-cjs.js');
9
9
  require('@jobber/design');
10
+ require('@jobber/hooks');
10
11
  require('framer-motion');
11
12
  require('../Icon-cjs.js');
12
13
  require('../Text-cjs.js');
@@ -5,6 +5,7 @@ import { j as useFormFieldWrapperStyles, b as useAtlantisFormFieldName, f as For
5
5
  import { useFormContext, useForm } from 'react-hook-form';
6
6
  import '../Button-es.js';
7
7
  import '@jobber/design';
8
+ import '@jobber/hooks';
8
9
  import 'framer-motion';
9
10
  import '../Icon-es.js';
10
11
  import '../Text-es.js';
@@ -17,7 +17,7 @@ export declare const InputText: React.ForwardRefExoticComponent<({
17
17
  readonly placeholder?: string | undefined;
18
18
  readonly size?: ("small" | "large") | undefined;
19
19
  readonly value?: (string | number | Date) | undefined;
20
- readonly clearable?: import("@jobber/hooks/dist").Clearable | undefined;
20
+ readonly clearable?: import("@jobber/hooks").Clearable | undefined;
21
21
  version?: 1 | undefined;
22
22
  onFocus?: ((event?: React.FocusEvent) => void) | undefined;
23
23
  onBlur?: ((event?: React.FocusEvent) => void) | undefined;
@@ -51,7 +51,7 @@ export declare const InputText: React.ForwardRefExoticComponent<({
51
51
  readonly placeholder?: string | undefined;
52
52
  readonly size?: ("small" | "large") | undefined;
53
53
  readonly value?: (string | number | Date) | undefined;
54
- readonly clearable?: import("@jobber/hooks/dist").Clearable | undefined;
54
+ readonly clearable?: import("@jobber/hooks").Clearable | undefined;
55
55
  version?: 1 | undefined;
56
56
  onFocus?: ((event?: React.FocusEvent) => void) | undefined;
57
57
  onBlur?: ((event?: React.FocusEvent) => void) | undefined;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var useSafeLayoutEffect = require('../useSafeLayoutEffect-cjs.js');
4
+ var jobberHooks = require('@jobber/hooks');
5
5
  var FormField = require('../FormField-cjs.js');
6
6
  require('classnames');
7
7
  var tslib_es6 = require('../tslib.es6-cjs.js');
@@ -34,7 +34,7 @@ require('../_setToString-cjs.js');
34
34
  */
35
35
  function useTextAreaResize({ rows, value, inputRef, wrapperRef, }) {
36
36
  const rowRange = getRowRange(rows);
37
- useSafeLayoutEffect.useSafeLayoutEffect_1(() => {
37
+ jobberHooks.useSafeLayoutEffect(() => {
38
38
  if (inputRef &&
39
39
  inputRef.current instanceof HTMLTextAreaElement &&
40
40
  wrapperRef &&
@@ -45,7 +45,7 @@ function useTextAreaResize({ rows, value, inputRef, wrapperRef, }) {
45
45
  // When the consumer passes a new controlled value, we need to recheck the size.
46
46
  // The timeout ensures the DOM has a enough time to render the new text before
47
47
  // we access the height.
48
- useSafeLayoutEffect.useSafeLayoutEffect_1(() => {
48
+ jobberHooks.useSafeLayoutEffect(() => {
49
49
  setTimeout(() => {
50
50
  if (inputRef &&
51
51
  inputRef.current instanceof HTMLTextAreaElement &&
@@ -1,5 +1,5 @@
1
1
  import React__default, { forwardRef, useRef, useImperativeHandle, useId } from 'react';
2
- import { u as useSafeLayoutEffect_1 } from '../useSafeLayoutEffect-es.js';
2
+ import { useSafeLayoutEffect } from '@jobber/hooks';
3
3
  import { k as FormField, s as styles, j as useFormFieldWrapperStyles, b as useAtlantisFormFieldName, f as FormFieldWrapper, l as FormFieldPostFix, m as mergeRefs } from '../FormField-es.js';
4
4
  import 'classnames';
5
5
  import { _ as __rest } from '../tslib.es6-es.js';
@@ -32,7 +32,7 @@ import '../_setToString-es.js';
32
32
  */
33
33
  function useTextAreaResize({ rows, value, inputRef, wrapperRef, }) {
34
34
  const rowRange = getRowRange(rows);
35
- useSafeLayoutEffect_1(() => {
35
+ useSafeLayoutEffect(() => {
36
36
  if (inputRef &&
37
37
  inputRef.current instanceof HTMLTextAreaElement &&
38
38
  wrapperRef &&
@@ -43,7 +43,7 @@ function useTextAreaResize({ rows, value, inputRef, wrapperRef, }) {
43
43
  // When the consumer passes a new controlled value, we need to recheck the size.
44
44
  // The timeout ensures the DOM has a enough time to render the new text before
45
45
  // we access the height.
46
- useSafeLayoutEffect_1(() => {
46
+ useSafeLayoutEffect(() => {
47
47
  setTimeout(() => {
48
48
  if (inputRef &&
49
49
  inputRef.current instanceof HTMLTextAreaElement &&
@@ -9,6 +9,7 @@ require('@jobber/design');
9
9
  require('react-hook-form');
10
10
  require('../Button-cjs.js');
11
11
  var omit = require('../omit-cjs.js');
12
+ require('@jobber/hooks');
12
13
  require('framer-motion');
13
14
  require('../_commonjsHelpers-cjs.js');
14
15
  require('../isObjectLike-cjs.js');
@@ -1,12 +1,13 @@
1
1
  import React__default, { useState, useCallback, useEffect, useRef, useId } from 'react';
2
2
  import { _ as __rest } from '../tslib.es6-es.js';
3
- import { a as debounce } from '../debounce-es.js';
3
+ import { d as debounce } from '../debounce-es.js';
4
4
  import { j as useFormFieldWrapperStyles, f as FormFieldWrapper, k as FormField } from '../FormField-es.js';
5
5
  import 'classnames';
6
6
  import '@jobber/design';
7
7
  import 'react-hook-form';
8
8
  import '../Button-es.js';
9
9
  import { o as omit } from '../omit-es.js';
10
+ import '@jobber/hooks';
10
11
  import 'framer-motion';
11
12
  import '../_commonjsHelpers-es.js';
12
13
  import '../isObjectLike-es.js';
@@ -3,6 +3,7 @@
3
3
  var React = require('react');
4
4
  var useScrollToActive = require('./useScrollToActive-cjs.js');
5
5
  require('./isObjectLike-cjs.js');
6
+ require('@jobber/hooks');
6
7
  require('@jobber/design');
7
8
  var classnames = require('classnames');
8
9
  var floatingUi_react = require('./floating-ui.react-cjs.js');
@@ -1,6 +1,7 @@
1
1
  import React__default, { useEffect } from 'react';
2
2
  import { a as useInternalChipDismissibleInput, d as useScrollToActive, b as useInView, c as useRepositionMenu, u as useInternalChipDismissible } from './useScrollToActive-es.js';
3
3
  import './isObjectLike-es.js';
4
+ import '@jobber/hooks';
4
5
  import '@jobber/design';
5
6
  import classnames from 'classnames';
6
7
  import { F as FloatingPortal } from './floating-ui.react-es.js';
@@ -4,13 +4,8 @@ var LightBox = require('../LightBox-cjs.js');
4
4
  require('react');
5
5
  require('framer-motion');
6
6
  require('react-dom');
7
- require('../useRefocusOnActivator-cjs.js');
8
- require('../useOnKeyDown-cjs.js');
9
- require('../useFocusTrap-cjs.js');
10
- require('../useIsMounted-cjs.js');
11
- require('../useSafeLayoutEffect-cjs.js');
7
+ require('@jobber/hooks');
12
8
  require('classnames');
13
- require('../useDebounce-cjs.js');
14
9
  require('../ButtonDismiss-cjs.js');
15
10
  require('../Button-cjs.js');
16
11
  require('react-router-dom');
@@ -2,13 +2,8 @@ export { L as LightBox } from '../LightBox-es.js';
2
2
  import 'react';
3
3
  import 'framer-motion';
4
4
  import 'react-dom';
5
- import '../useRefocusOnActivator-es.js';
6
- import '../useOnKeyDown-es.js';
7
- import '../useFocusTrap-es.js';
8
- import '../useIsMounted-es.js';
9
- import '../useSafeLayoutEffect-es.js';
5
+ import '@jobber/hooks';
10
6
  import 'classnames';
11
- import '../useDebounce-es.js';
12
7
  import '../ButtonDismiss-es.js';
13
8
  import '../Button-es.js';
14
9
  import 'react-router-dom';
@@ -3,76 +3,14 @@
3
3
  var React = require('react');
4
4
  var framerMotion = require('framer-motion');
5
5
  var ReactDOM = require('react-dom');
6
- var useRefocusOnActivator = require('./useRefocusOnActivator-cjs.js');
7
- var useOnKeyDown = require('./useOnKeyDown-cjs.js');
8
- var useFocusTrap = require('./useFocusTrap-cjs.js');
9
- var useIsMounted = require('./useIsMounted-cjs.js');
6
+ var jobberHooks = require('@jobber/hooks');
10
7
  var classnames = require('classnames');
11
- var useDebounce = require('./useDebounce-cjs.js');
12
8
  var ButtonDismiss = require('./ButtonDismiss-cjs.js');
13
9
  var Text = require('./Text-cjs.js');
14
10
  var Button = require('./Button-cjs.js');
15
11
  var Heading = require('./Heading-cjs.js');
16
12
  var AtlantisThemeContext = require('./AtlantisThemeContext-cjs.js');
17
13
 
18
- var useBreakpoints = {};
19
-
20
- var useMediaQuery = {};
21
-
22
- (function (exports) {
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.mediaQueryStore = void 0;
25
- exports.useMediaQuery = useMediaQuery;
26
- const react_1 = React;
27
- exports.mediaQueryStore = {
28
- subscribe(onChange, query) {
29
- const matchMedia = window.matchMedia(query);
30
- matchMedia.addEventListener("change", onChange);
31
- return () => {
32
- matchMedia.removeEventListener("change", onChange);
33
- };
34
- },
35
- getSnapshot(query) {
36
- return () => window.matchMedia(query).matches;
37
- },
38
- };
39
- function useMediaQuery(query) {
40
- const subscribeMediaQuery = (0, react_1.useCallback)((onChange) => exports.mediaQueryStore.subscribe(onChange, query), [query]);
41
- const matches = (0, react_1.useSyncExternalStore)(subscribeMediaQuery, exports.mediaQueryStore.getSnapshot(query), () => true);
42
- return matches;
43
- }
44
- } (useMediaQuery));
45
-
46
- (function (exports) {
47
- Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.BREAKPOINT_SIZES = void 0;
49
- exports.useBreakpoints = useBreakpoints;
50
- const useMediaQuery_1 = useMediaQuery;
51
- exports.BREAKPOINT_SIZES = { sm: 490, md: 768, lg: 1080, xl: 1440 };
52
- /**
53
- * Hook equivalent of CSS media queries with our
54
- * [supported breakpoints](https://atlantis.getjobber.com/design/breakpoints).
55
- */
56
- function useBreakpoints() {
57
- const { sm, md, lg, xl } = exports.BREAKPOINT_SIZES;
58
- const extraSmallOnly = (0, useMediaQuery_1.useMediaQuery)(`(max-width: ${sm - 1}px)`);
59
- const smallAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${sm}px)`);
60
- const mediumAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${md}px)`);
61
- const largeAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${lg}px)`);
62
- const extraLargeAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${xl}px)`);
63
- return {
64
- smallAndUp,
65
- mediumAndUp,
66
- largeAndUp,
67
- extraLargeAndUp,
68
- extraSmallOnly,
69
- smallOnly: smallAndUp && !mediumAndUp,
70
- mediumOnly: mediumAndUp && !largeAndUp,
71
- largeOnly: largeAndUp && !extraLargeAndUp,
72
- };
73
- }
74
- } (useBreakpoints));
75
-
76
14
  var styles = {"backgroundImage":"i9Tw1T65W-k-","next":"Q8amcRaTGf0-","prev":"W9FVb24yJrk-","buttonHidden":"nsN0TPWsBXI-","buttonVisible":"dkLYp7AD2jE-","lightboxWrapper":"_5p2iAj4JfoE-","toolbar":"rMK4cKdOxFw-","closeButton":"_0m6vb11DgiA-","slideNumber":"kCc68gGuTgg-","image":"yYFVVScosfQ-","imageArea":"UskuwLHR6fg-","captionWrapper":"OGjhge-r-U4-","title":"tZU2g-NYdIs-","blurOverlay":"GKIdLTmvcvQ-","thumbnailBar":"_3TfQLQEE3GQ-","thumbnailImage":"eBMzUOlcfQ4-","thumbnail":"eapm2zruLn8-","selected":"PeLn2u-QB0k-","spinning":"_8tDoqjgfLcw-"};
77
15
 
78
16
  const swipeConfidenceThreshold = 10000;
@@ -106,21 +44,21 @@ function LightBox({ boxSizing = "content-box", open, images, imageIndex = 0, onR
106
44
  const [currentImageIndex, setCurrentImageIndex] = React.useState(imageIndex);
107
45
  const [direction, setDirection] = React.useState(0);
108
46
  const [mouseIsStationary, setMouseIsStationary] = React.useState(true);
109
- const lightboxRef = useFocusTrap.useFocusTrap_2(open);
47
+ const lightboxRef = jobberHooks.useFocusTrap(open);
110
48
  const selectedThumbnailRef = React.useRef(null);
111
- const debouncedHandleNext = useDebounce.useDebounce_2(handleMoveNext, BUTTON_DEBOUNCE_DELAY);
112
- const debouncedHandlePrevious = useDebounce.useDebounce_2(handleMovePrevious, BUTTON_DEBOUNCE_DELAY);
113
- const mounted = useIsMounted.useIsMounted_2();
49
+ const debouncedHandleNext = jobberHooks.useDebounce(handleMoveNext, BUTTON_DEBOUNCE_DELAY);
50
+ const debouncedHandlePrevious = jobberHooks.useDebounce(handleMovePrevious, BUTTON_DEBOUNCE_DELAY);
51
+ const mounted = jobberHooks.useIsMounted();
114
52
  const prevOpen = React.useRef(open);
115
- useRefocusOnActivator.useRefocusOnActivator_2(open);
116
- const handleMouseMovement = useDebounce.useDebounce_2(() => {
53
+ jobberHooks.useRefocusOnActivator(open);
54
+ const handleMouseMovement = jobberHooks.useDebounce(() => {
117
55
  setMouseIsStationary(true);
118
56
  }, MOVEMENT_DEBOUNCE_DELAY);
119
- useOnKeyDown.useOnKeyDown_2(handleRequestClose, "Escape");
120
- useOnKeyDown.useOnKeyDown_2(debouncedHandlePrevious, {
57
+ jobberHooks.useOnKeyDown(handleRequestClose, "Escape");
58
+ jobberHooks.useOnKeyDown(debouncedHandlePrevious, {
121
59
  key: "ArrowLeft",
122
60
  });
123
- useOnKeyDown.useOnKeyDown_2(debouncedHandleNext, {
61
+ jobberHooks.useOnKeyDown(debouncedHandleNext, {
124
62
  key: "ArrowRight",
125
63
  });
126
64
  React.useEffect(() => {
@@ -208,12 +146,12 @@ function LightBox({ boxSizing = "content-box", open, images, imageIndex = 0, onR
208
146
  }
209
147
  }
210
148
  function PreviousButton({ onClick, hideButton }) {
211
- const { mediumAndUp } = useBreakpoints.useBreakpoints();
149
+ const { mediumAndUp } = jobberHooks.useBreakpoints();
212
150
  return (React.createElement("div", { className: `${styles.prev} ${hideButton ? styles.buttonHidden : styles.buttonVisible}` },
213
151
  React.createElement(Button.Button, { size: mediumAndUp ? "large" : "small", variation: "subtle", type: "secondary", icon: "arrowLeft", ariaLabel: "Previous image", onClick: onClick })));
214
152
  }
215
153
  function NextButton({ onClick, hideButton }) {
216
- const { mediumAndUp } = useBreakpoints.useBreakpoints();
154
+ const { mediumAndUp } = jobberHooks.useBreakpoints();
217
155
  return (React.createElement("div", { className: `${styles.next} ${hideButton ? styles.buttonHidden : styles.buttonVisible}` },
218
156
  React.createElement(Button.Button, { size: mediumAndUp ? "large" : "small", variation: "subtle", type: "secondary", icon: "arrowRight", ariaLabel: "Next image", onClick: onClick })));
219
157
  }
@@ -1,76 +1,14 @@
1
1
  import React__default, { useState, useRef, useEffect } from 'react';
2
2
  import { AnimatePresence, motion } from 'framer-motion';
3
3
  import ReactDOM__default from 'react-dom';
4
- import { u as useRefocusOnActivator_2 } from './useRefocusOnActivator-es.js';
5
- import { u as useOnKeyDown_2 } from './useOnKeyDown-es.js';
6
- import { u as useFocusTrap_2 } from './useFocusTrap-es.js';
7
- import { u as useIsMounted_2 } from './useIsMounted-es.js';
4
+ import { useFocusTrap, useDebounce, useIsMounted, useRefocusOnActivator, useOnKeyDown, useBreakpoints } from '@jobber/hooks';
8
5
  import classnames from 'classnames';
9
- import { u as useDebounce_2 } from './useDebounce-es.js';
10
6
  import { B as ButtonDismiss } from './ButtonDismiss-es.js';
11
7
  import { T as Text } from './Text-es.js';
12
8
  import { B as Button } from './Button-es.js';
13
9
  import { H as Heading } from './Heading-es.js';
14
10
  import { A as AtlantisThemeContextProvider } from './AtlantisThemeContext-es.js';
15
11
 
16
- var useBreakpoints = {};
17
-
18
- var useMediaQuery = {};
19
-
20
- (function (exports) {
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.mediaQueryStore = void 0;
23
- exports.useMediaQuery = useMediaQuery;
24
- const react_1 = React__default;
25
- exports.mediaQueryStore = {
26
- subscribe(onChange, query) {
27
- const matchMedia = window.matchMedia(query);
28
- matchMedia.addEventListener("change", onChange);
29
- return () => {
30
- matchMedia.removeEventListener("change", onChange);
31
- };
32
- },
33
- getSnapshot(query) {
34
- return () => window.matchMedia(query).matches;
35
- },
36
- };
37
- function useMediaQuery(query) {
38
- const subscribeMediaQuery = (0, react_1.useCallback)((onChange) => exports.mediaQueryStore.subscribe(onChange, query), [query]);
39
- const matches = (0, react_1.useSyncExternalStore)(subscribeMediaQuery, exports.mediaQueryStore.getSnapshot(query), () => true);
40
- return matches;
41
- }
42
- } (useMediaQuery));
43
-
44
- (function (exports) {
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.BREAKPOINT_SIZES = void 0;
47
- exports.useBreakpoints = useBreakpoints;
48
- const useMediaQuery_1 = useMediaQuery;
49
- exports.BREAKPOINT_SIZES = { sm: 490, md: 768, lg: 1080, xl: 1440 };
50
- /**
51
- * Hook equivalent of CSS media queries with our
52
- * [supported breakpoints](https://atlantis.getjobber.com/design/breakpoints).
53
- */
54
- function useBreakpoints() {
55
- const { sm, md, lg, xl } = exports.BREAKPOINT_SIZES;
56
- const extraSmallOnly = (0, useMediaQuery_1.useMediaQuery)(`(max-width: ${sm - 1}px)`);
57
- const smallAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${sm}px)`);
58
- const mediumAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${md}px)`);
59
- const largeAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${lg}px)`);
60
- const extraLargeAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${xl}px)`);
61
- return {
62
- smallAndUp,
63
- mediumAndUp,
64
- largeAndUp,
65
- extraLargeAndUp,
66
- extraSmallOnly,
67
- smallOnly: smallAndUp && !mediumAndUp,
68
- mediumOnly: mediumAndUp && !largeAndUp,
69
- largeOnly: largeAndUp && !extraLargeAndUp,
70
- };
71
- }
72
- } (useBreakpoints));
73
-
74
12
  var styles = {"backgroundImage":"i9Tw1T65W-k-","next":"Q8amcRaTGf0-","prev":"W9FVb24yJrk-","buttonHidden":"nsN0TPWsBXI-","buttonVisible":"dkLYp7AD2jE-","lightboxWrapper":"_5p2iAj4JfoE-","toolbar":"rMK4cKdOxFw-","closeButton":"_0m6vb11DgiA-","slideNumber":"kCc68gGuTgg-","image":"yYFVVScosfQ-","imageArea":"UskuwLHR6fg-","captionWrapper":"OGjhge-r-U4-","title":"tZU2g-NYdIs-","blurOverlay":"GKIdLTmvcvQ-","thumbnailBar":"_3TfQLQEE3GQ-","thumbnailImage":"eBMzUOlcfQ4-","thumbnail":"eapm2zruLn8-","selected":"PeLn2u-QB0k-","spinning":"_8tDoqjgfLcw-"};
75
13
 
76
14
  const swipeConfidenceThreshold = 10000;
@@ -104,21 +42,21 @@ function LightBox({ boxSizing = "content-box", open, images, imageIndex = 0, onR
104
42
  const [currentImageIndex, setCurrentImageIndex] = useState(imageIndex);
105
43
  const [direction, setDirection] = useState(0);
106
44
  const [mouseIsStationary, setMouseIsStationary] = useState(true);
107
- const lightboxRef = useFocusTrap_2(open);
45
+ const lightboxRef = useFocusTrap(open);
108
46
  const selectedThumbnailRef = useRef(null);
109
- const debouncedHandleNext = useDebounce_2(handleMoveNext, BUTTON_DEBOUNCE_DELAY);
110
- const debouncedHandlePrevious = useDebounce_2(handleMovePrevious, BUTTON_DEBOUNCE_DELAY);
111
- const mounted = useIsMounted_2();
47
+ const debouncedHandleNext = useDebounce(handleMoveNext, BUTTON_DEBOUNCE_DELAY);
48
+ const debouncedHandlePrevious = useDebounce(handleMovePrevious, BUTTON_DEBOUNCE_DELAY);
49
+ const mounted = useIsMounted();
112
50
  const prevOpen = useRef(open);
113
- useRefocusOnActivator_2(open);
114
- const handleMouseMovement = useDebounce_2(() => {
51
+ useRefocusOnActivator(open);
52
+ const handleMouseMovement = useDebounce(() => {
115
53
  setMouseIsStationary(true);
116
54
  }, MOVEMENT_DEBOUNCE_DELAY);
117
- useOnKeyDown_2(handleRequestClose, "Escape");
118
- useOnKeyDown_2(debouncedHandlePrevious, {
55
+ useOnKeyDown(handleRequestClose, "Escape");
56
+ useOnKeyDown(debouncedHandlePrevious, {
119
57
  key: "ArrowLeft",
120
58
  });
121
- useOnKeyDown_2(debouncedHandleNext, {
59
+ useOnKeyDown(debouncedHandleNext, {
122
60
  key: "ArrowRight",
123
61
  });
124
62
  useEffect(() => {
@@ -206,12 +144,12 @@ function LightBox({ boxSizing = "content-box", open, images, imageIndex = 0, onR
206
144
  }
207
145
  }
208
146
  function PreviousButton({ onClick, hideButton }) {
209
- const { mediumAndUp } = useBreakpoints.useBreakpoints();
147
+ const { mediumAndUp } = useBreakpoints();
210
148
  return (React__default.createElement("div", { className: `${styles.prev} ${hideButton ? styles.buttonHidden : styles.buttonVisible}` },
211
149
  React__default.createElement(Button, { size: mediumAndUp ? "large" : "small", variation: "subtle", type: "secondary", icon: "arrowLeft", ariaLabel: "Previous image", onClick: onClick })));
212
150
  }
213
151
  function NextButton({ onClick, hideButton }) {
214
- const { mediumAndUp } = useBreakpoints.useBreakpoints();
152
+ const { mediumAndUp } = useBreakpoints();
215
153
  return (React__default.createElement("div", { className: `${styles.next} ${hideButton ? styles.buttonHidden : styles.buttonVisible}` },
216
154
  React__default.createElement(Button, { size: mediumAndUp ? "large" : "small", variation: "subtle", type: "secondary", icon: "arrowRight", ariaLabel: "Next image", onClick: onClick })));
217
155
  }
@@ -4,12 +4,9 @@ var Menu = require('../Menu-cjs.js');
4
4
  require('react');
5
5
  require('classnames');
6
6
  require('framer-motion');
7
- require('../useRefocusOnActivator-cjs.js');
7
+ require('@jobber/hooks');
8
8
  require('../floating-ui.react-cjs.js');
9
9
  require('react-dom');
10
- require('../useFocusTrap-cjs.js');
11
- require('../useIsMounted-cjs.js');
12
- require('../useSafeLayoutEffect-cjs.js');
13
10
  require('../Button-cjs.js');
14
11
  require('react-router-dom');
15
12
  require('../tslib.es6-cjs.js');
@@ -2,12 +2,9 @@ export { M as Menu } from '../Menu-es.js';
2
2
  import 'react';
3
3
  import 'classnames';
4
4
  import 'framer-motion';
5
- import '../useRefocusOnActivator-es.js';
5
+ import '@jobber/hooks';
6
6
  import '../floating-ui.react-es.js';
7
7
  import 'react-dom';
8
- import '../useFocusTrap-es.js';
9
- import '../useIsMounted-es.js';
10
- import '../useSafeLayoutEffect-es.js';
11
8
  import '../Button-es.js';
12
9
  import 'react-router-dom';
13
10
  import '../tslib.es6-es.js';
package/dist/Menu-cjs.js CHANGED
@@ -3,46 +3,14 @@
3
3
  var React = require('react');
4
4
  var classnames = require('classnames');
5
5
  var framerMotion = require('framer-motion');
6
- var useRefocusOnActivator = require('./useRefocusOnActivator-cjs.js');
6
+ var jobberHooks = require('@jobber/hooks');
7
7
  var floatingUi_react = require('./floating-ui.react-cjs.js');
8
- var useFocusTrap = require('./useFocusTrap-cjs.js');
9
- var useIsMounted = require('./useIsMounted-cjs.js');
10
8
  var Button = require('./Button-cjs.js');
11
9
  var Typography = require('./Typography-cjs.js');
12
10
  var Icon = require('./Icon-cjs.js');
13
11
  var useFormFieldFocus = require('./useFormFieldFocus-cjs.js');
14
12
  var maxHeight = require('./maxHeight-cjs.js');
15
13
 
16
- var useWindowDimensions$1 = {};
17
-
18
- Object.defineProperty(useWindowDimensions$1, "__esModule", { value: true });
19
- var useWindowDimensions_2 = useWindowDimensions$1.useWindowDimensions = useWindowDimensions;
20
- const react_1 = React;
21
- function getWindowDimensions() {
22
- if (!(globalThis === null || globalThis === void 0 ? void 0 : globalThis.document)) {
23
- return {
24
- width: 0,
25
- height: 0,
26
- };
27
- }
28
- const { innerWidth: width, innerHeight: height } = window;
29
- return {
30
- width,
31
- height,
32
- };
33
- }
34
- function useWindowDimensions() {
35
- const [windowDimensions, setWindowDimensions] = (0, react_1.useState)(getWindowDimensions());
36
- (0, react_1.useEffect)(() => {
37
- function handleResize() {
38
- setWindowDimensions(getWindowDimensions());
39
- }
40
- window === null || window === void 0 ? void 0 : window.addEventListener("resize", handleResize);
41
- return () => window === null || window === void 0 ? void 0 : window.removeEventListener("resize", handleResize);
42
- }, []);
43
- return windowDimensions;
44
- }
45
-
46
14
  var styles = {"wrapper":"fpi0W91w2ag-","floatingContainer":"ba-Kj6mvQUw-","menu":"-DayvgvIcVo-","section":"X0W9r8kjA6Q-","sectionHeader":"Bq7pLWj3jm4-","action":"M1BgN-oCmKw-","destructive":"U9ihZZavz9w-","overlay":"_7we5hh6kYs8-","fullWidth":"_5OJ7B6mFcwk-","screenReaderOnly":"Bzvkz60bwWE-","spinning":"_0-VzuzHdi8o-"};
47
15
 
48
16
  const SMALL_SCREEN_BREAKPOINT = 490;
@@ -65,7 +33,7 @@ function Menu({ activator, items, UNSAFE_className, UNSAFE_style, }) {
65
33
  var _a;
66
34
  const [visible, setVisible] = React.useState(false);
67
35
  const [referenceElement, setReferenceElement] = React.useState(null);
68
- const { width } = useWindowDimensions_2();
36
+ const { width } = jobberHooks.useWindowDimensions();
69
37
  const buttonID = React.useId();
70
38
  const menuID = React.useId();
71
39
  const fullWidth = ((_a = activator === null || activator === void 0 ? void 0 : activator.props) === null || _a === void 0 ? void 0 : _a.fullWidth) || false;
@@ -73,8 +41,8 @@ function Menu({ activator, items, UNSAFE_className, UNSAFE_style, }) {
73
41
  [styles.fullWidth]: fullWidth,
74
42
  });
75
43
  // useRefocusOnActivator must come before useFocusTrap for them both to work
76
- useRefocusOnActivator.useRefocusOnActivator_2(visible);
77
- const menuRef = useFocusTrap.useFocusTrap_2(visible);
44
+ jobberHooks.useRefocusOnActivator(visible);
45
+ const menuRef = jobberHooks.useFocusTrap(visible);
78
46
  const { refs, floatingStyles, context } = floatingUi_react.useFloating({
79
47
  open: visible,
80
48
  onOpenChange: setVisible,
@@ -169,7 +137,7 @@ function Action({ label, sectionLabel, icon, iconColor, destructive, UNSAFE_styl
169
137
  label)));
170
138
  }
171
139
  function MenuPortal({ children }) {
172
- const mounted = useIsMounted.useIsMounted_2();
140
+ const mounted = jobberHooks.useIsMounted();
173
141
  if (!(mounted === null || mounted === void 0 ? void 0 : mounted.current)) {
174
142
  return null;
175
143
  }
package/dist/Menu-es.js CHANGED
@@ -1,46 +1,14 @@
1
1
  import React__default, { useState, useId, useRef } from 'react';
2
2
  import classnames from 'classnames';
3
3
  import { AnimatePresence, motion } from 'framer-motion';
4
- import { u as useRefocusOnActivator_2 } from './useRefocusOnActivator-es.js';
5
- import { u as useFloating, c as useDismiss, d as useInteractions, F as FloatingPortal, o as offset, f as flip, e as size, b as autoUpdate } from './floating-ui.react-es.js';
6
- import { u as useFocusTrap_2 } from './useFocusTrap-es.js';
7
- import { u as useIsMounted_2 } from './useIsMounted-es.js';
4
+ import { useWindowDimensions, useRefocusOnActivator, useFocusTrap, useIsMounted } from '@jobber/hooks';
5
+ import { u as useFloating, a as useDismiss, b as useInteractions, F as FloatingPortal, o as offset, f as flip, s as size, c as autoUpdate } from './floating-ui.react-es.js';
8
6
  import { B as Button } from './Button-es.js';
9
7
  import { T as Typography } from './Typography-es.js';
10
8
  import { I as Icon } from './Icon-es.js';
11
9
  import { f as formFieldFocusAttribute } from './useFormFieldFocus-es.js';
12
10
  import { c as calculateMaxHeight } from './maxHeight-es.js';
13
11
 
14
- var useWindowDimensions$1 = {};
15
-
16
- Object.defineProperty(useWindowDimensions$1, "__esModule", { value: true });
17
- var useWindowDimensions_2 = useWindowDimensions$1.useWindowDimensions = useWindowDimensions;
18
- const react_1 = React__default;
19
- function getWindowDimensions() {
20
- if (!(globalThis === null || globalThis === void 0 ? void 0 : globalThis.document)) {
21
- return {
22
- width: 0,
23
- height: 0,
24
- };
25
- }
26
- const { innerWidth: width, innerHeight: height } = window;
27
- return {
28
- width,
29
- height,
30
- };
31
- }
32
- function useWindowDimensions() {
33
- const [windowDimensions, setWindowDimensions] = (0, react_1.useState)(getWindowDimensions());
34
- (0, react_1.useEffect)(() => {
35
- function handleResize() {
36
- setWindowDimensions(getWindowDimensions());
37
- }
38
- window === null || window === void 0 ? void 0 : window.addEventListener("resize", handleResize);
39
- return () => window === null || window === void 0 ? void 0 : window.removeEventListener("resize", handleResize);
40
- }, []);
41
- return windowDimensions;
42
- }
43
-
44
12
  var styles = {"wrapper":"fpi0W91w2ag-","floatingContainer":"ba-Kj6mvQUw-","menu":"-DayvgvIcVo-","section":"X0W9r8kjA6Q-","sectionHeader":"Bq7pLWj3jm4-","action":"M1BgN-oCmKw-","destructive":"U9ihZZavz9w-","overlay":"_7we5hh6kYs8-","fullWidth":"_5OJ7B6mFcwk-","screenReaderOnly":"Bzvkz60bwWE-","spinning":"_0-VzuzHdi8o-"};
45
13
 
46
14
  const SMALL_SCREEN_BREAKPOINT = 490;
@@ -63,7 +31,7 @@ function Menu({ activator, items, UNSAFE_className, UNSAFE_style, }) {
63
31
  var _a;
64
32
  const [visible, setVisible] = useState(false);
65
33
  const [referenceElement, setReferenceElement] = useState(null);
66
- const { width } = useWindowDimensions_2();
34
+ const { width } = useWindowDimensions();
67
35
  const buttonID = useId();
68
36
  const menuID = useId();
69
37
  const fullWidth = ((_a = activator === null || activator === void 0 ? void 0 : activator.props) === null || _a === void 0 ? void 0 : _a.fullWidth) || false;
@@ -71,8 +39,8 @@ function Menu({ activator, items, UNSAFE_className, UNSAFE_style, }) {
71
39
  [styles.fullWidth]: fullWidth,
72
40
  });
73
41
  // useRefocusOnActivator must come before useFocusTrap for them both to work
74
- useRefocusOnActivator_2(visible);
75
- const menuRef = useFocusTrap_2(visible);
42
+ useRefocusOnActivator(visible);
43
+ const menuRef = useFocusTrap(visible);
76
44
  const { refs, floatingStyles, context } = useFloating({
77
45
  open: visible,
78
46
  onOpenChange: setVisible,
@@ -167,7 +135,7 @@ function Action({ label, sectionLabel, icon, iconColor, destructive, UNSAFE_styl
167
135
  label)));
168
136
  }
169
137
  function MenuPortal({ children }) {
170
- const mounted = useIsMounted_2();
138
+ const mounted = useIsMounted();
171
139
  if (!(mounted === null || mounted === void 0 ? void 0 : mounted.current)) {
172
140
  return null;
173
141
  }
@@ -4,9 +4,7 @@ var React = require('react');
4
4
  var ReactDOM = require('react-dom');
5
5
  var classnames = require('classnames');
6
6
  var framerMotion = require('framer-motion');
7
- var useRefocusOnActivator = require('../useRefocusOnActivator-cjs.js');
8
- var useOnKeyDown = require('../useOnKeyDown-cjs.js');
9
- var useFocusTrap = require('../useFocusTrap-cjs.js');
7
+ var jobberHooks = require('@jobber/hooks');
10
8
  var Heading = require('../Heading-cjs.js');
11
9
  var Button = require('../Button-cjs.js');
12
10
  var ButtonDismiss = require('../ButtonDismiss-cjs.js');
@@ -35,9 +33,9 @@ var sizes = {"small":"BSZvIAUzFEU-","large":"-ydIALYVvGg-","spinning":"_10FfgKIT
35
33
 
36
34
  function ModalLegacy({ open = false, title, size, dismissible = true, children, primaryAction, secondaryAction, tertiaryAction, onRequestClose, }) {
37
35
  const modalClassName = classnames(styles$1.modal, size && sizes[size]);
38
- useRefocusOnActivator.useRefocusOnActivator_2(open);
39
- const modalRef = useFocusTrap.useFocusTrap_2(open);
40
- useOnKeyDown.useOnKeyDown_2(handleRequestClose, "Escape");
36
+ jobberHooks.useRefocusOnActivator(open);
37
+ const modalRef = jobberHooks.useFocusTrap(open);
38
+ jobberHooks.useOnKeyDown(handleRequestClose, "Escape");
41
39
  const template = (React.createElement(framerMotion.AnimatePresence, null, open && (React.createElement("div", { ref: modalRef, role: "dialog", className: styles$1.container, tabIndex: 0 },
42
40
  React.createElement(framerMotion.motion.div, { key: styles$1.overlay, className: styles$1.overlay, onClick: onRequestClose, initial: { opacity: 0 }, animate: { opacity: 0.8 }, exit: { opacity: 0 }, transition: { duration: 0.2 } }),
43
41
  React.createElement(framerMotion.motion.div, { key: styles$1.modal, className: modalClassName, initial: { scale: 0.9, opacity: 0 }, animate: { scale: 1, opacity: 1 }, exit: { scale: 0.9, opacity: 0 }, transition: {