@uva-glass/component-library 1.43.0 → 1.44.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 (41) hide show
  1. package/dist/{MultiSelect-DFMb82q4.js → MultiSelect-B9JaIPXs.js} +17 -12
  2. package/dist/{MultiSelect-DFMb82q4.js.map → MultiSelect-B9JaIPXs.js.map} +1 -1
  3. package/dist/assets/MenuLink.css +1 -1
  4. package/dist/assets/MenuLink2.css +1 -1
  5. package/dist/assets/Spinner.css +1 -1
  6. package/dist/components/Drawer/Drawer.js +39 -37
  7. package/dist/components/Drawer/Drawer.js.map +1 -1
  8. package/dist/components/Drawer/Drawer.stories.js +18 -18
  9. package/dist/components/InputField/InputField.stories.js +24 -19
  10. package/dist/components/InputField/InputField.stories.js.map +1 -1
  11. package/dist/components/MenuButton/MenuButton.d.ts +2 -3
  12. package/dist/components/MenuButton/MenuButton.js +11 -605
  13. package/dist/components/MenuButton/MenuButton.js.map +1 -1
  14. package/dist/components/MenuLink/MenuLink.js +14 -4
  15. package/dist/components/MenuLink/MenuLink.js.map +1 -1
  16. package/dist/components/MenuLink/MenuLink.stories.js +5 -4
  17. package/dist/components/MenuLink/MenuLink.stories.js.map +1 -1
  18. package/dist/components/MenuLink/index.js +1 -1
  19. package/dist/components/ModalDialog/ModalDialog.js +62 -60
  20. package/dist/components/ModalDialog/ModalDialog.js.map +1 -1
  21. package/dist/components/ModalDialog/ModalDialog.stories.js +12 -12
  22. package/dist/components/MultiSelect/MultiSelect.js +1 -1
  23. package/dist/components/MultiSelect/MultiSelect.stories.js +1 -1
  24. package/dist/components/MultiSelect/components/MultiSelectHeader.js +7 -2
  25. package/dist/components/MultiSelect/components/MultiSelectHeader.js.map +1 -1
  26. package/dist/components/MultiSelect/index.js +1 -1
  27. package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +28 -23
  28. package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
  29. package/dist/components/Spinner/Spinner.js +13 -12
  30. package/dist/components/Spinner/Spinner.js.map +1 -1
  31. package/dist/components/index.js +6 -6
  32. package/dist/index.js +6 -6
  33. package/package.json +10 -12
  34. package/dist/MenuLink-yPEEfABB.js +0 -859
  35. package/dist/MenuLink-yPEEfABB.js.map +0 -1
  36. package/dist/focusSafely-b94Glb9J.js +0 -402
  37. package/dist/focusSafely-b94Glb9J.js.map +0 -1
  38. package/dist/index-HuvfQN5H.js +0 -19071
  39. package/dist/index-HuvfQN5H.js.map +0 -1
  40. package/dist/useDialog-DZhIlo2a.js +0 -785
  41. package/dist/useDialog-DZhIlo2a.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButton.js","sources":["../../../node_modules/@react-aria/utils/dist/mergeProps.mjs","../../../node_modules/@react-aria/utils/dist/openLink.mjs","../../../node_modules/@react-aria/utils/dist/useGlobalListeners.mjs","../../../node_modules/@react-aria/utils/dist/useSyncRef.mjs","../../../node_modules/@react-aria/interactions/dist/textSelection.mjs","../../../node_modules/@react-aria/interactions/dist/context.mjs","../../../node_modules/@swc/helpers/esm/_class_apply_descriptor_get.js","../../../node_modules/@swc/helpers/esm/_class_extract_field_descriptor.js","../../../node_modules/@swc/helpers/esm/_class_private_field_get.js","../../../node_modules/@swc/helpers/esm/_check_private_redeclaration.js","../../../node_modules/@swc/helpers/esm/_class_private_field_init.js","../../../node_modules/@swc/helpers/esm/_class_apply_descriptor_set.js","../../../node_modules/@swc/helpers/esm/_class_private_field_set.js","../../../node_modules/@react-aria/interactions/dist/usePress.mjs","../../../node_modules/@react-aria/interactions/dist/useFocus.mjs","../../../node_modules/@react-aria/interactions/dist/createEventHandler.mjs","../../../node_modules/@react-aria/interactions/dist/useKeyboard.mjs","../../../node_modules/@react-aria/focus/dist/useFocusable.mjs","../../../node_modules/@react-aria/button/dist/useButton.mjs","../../../src/components/MenuButton/MenuButton.tsx"],"sourcesContent":["import {chain as $ff5963eb1fccf552$export$e08e3b67e392101e} from \"./chain.mjs\";\nimport {mergeIds as $bdb11010cef70236$export$cd8c9cb68f842629} from \"./useId.mjs\";\nimport $7jXr9$clsx from \"clsx\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $3ef42575df84b30b$export$9d1611c77c2fe928(...args) {\n // Start with a base clone of the first argument. This is a lot faster than starting\n // with an empty object and adding properties as we go.\n let result = {\n ...args[0]\n };\n for(let i = 1; i < args.length; i++){\n let props = args[i];\n for(let key in props){\n let a = result[key];\n let b = props[key];\n // Chain events\n if (typeof a === 'function' && typeof b === 'function' && // This is a lot faster than a regex.\n key[0] === 'o' && key[1] === 'n' && key.charCodeAt(2) >= /* 'A' */ 65 && key.charCodeAt(2) <= /* 'Z' */ 90) result[key] = (0, $ff5963eb1fccf552$export$e08e3b67e392101e)(a, b);\n else if ((key === 'className' || key === 'UNSAFE_className') && typeof a === 'string' && typeof b === 'string') result[key] = (0, $7jXr9$clsx)(a, b);\n else if (key === 'id' && a && b) result.id = (0, $bdb11010cef70236$export$cd8c9cb68f842629)(a, b);\n else result[key] = b !== undefined ? b : a;\n }\n }\n return result;\n}\n\n\nexport {$3ef42575df84b30b$export$9d1611c77c2fe928 as mergeProps};\n//# sourceMappingURL=mergeProps.module.js.map\n","import {focusWithoutScrolling as $7215afc6de606d6b$export$de79e2c695e052f3} from \"./focusWithoutScrolling.mjs\";\nimport {isMac as $c87311424ea30a05$export$9ac100e40613ea10, isWebKit as $c87311424ea30a05$export$78551043582a6a98, isFirefox as $c87311424ea30a05$export$b7d78993b74f766d, isIPad as $c87311424ea30a05$export$7bef049ce92e4224} from \"./platform.mjs\";\nimport $g3jFn$react, {createContext as $g3jFn$createContext, useMemo as $g3jFn$useMemo, useContext as $g3jFn$useContext} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $ea8dcbcb9ea1b556$var$RouterContext = /*#__PURE__*/ (0, $g3jFn$createContext)({\n isNative: true,\n open: $ea8dcbcb9ea1b556$var$openSyntheticLink,\n useHref: (href)=>href\n});\nfunction $ea8dcbcb9ea1b556$export$323e4fc2fa4753fb(props) {\n let { children: children, navigate: navigate, useHref: useHref } = props;\n let ctx = (0, $g3jFn$useMemo)(()=>({\n isNative: false,\n open: (target, modifiers, href, routerOptions)=>{\n $ea8dcbcb9ea1b556$var$getSyntheticLink(target, (link)=>{\n if ($ea8dcbcb9ea1b556$export$efa8c9099e530235(link, modifiers)) navigate(href, routerOptions);\n else $ea8dcbcb9ea1b556$export$95185d699e05d4d7(link, modifiers);\n });\n },\n useHref: useHref || ((href)=>href)\n }), [\n navigate,\n useHref\n ]);\n return /*#__PURE__*/ (0, $g3jFn$react).createElement($ea8dcbcb9ea1b556$var$RouterContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $ea8dcbcb9ea1b556$export$9a302a45f65d0572() {\n return (0, $g3jFn$useContext)($ea8dcbcb9ea1b556$var$RouterContext);\n}\nfunction $ea8dcbcb9ea1b556$export$efa8c9099e530235(link, modifiers) {\n // Use getAttribute here instead of link.target. Firefox will default link.target to \"_parent\" when inside an iframe.\n let target = link.getAttribute('target');\n return (!target || target === '_self') && link.origin === location.origin && !link.hasAttribute('download') && !modifiers.metaKey && // open in new tab (mac)\n !modifiers.ctrlKey && // open in new tab (windows)\n !modifiers.altKey && // download\n !modifiers.shiftKey;\n}\nfunction $ea8dcbcb9ea1b556$export$95185d699e05d4d7(target, modifiers, setOpening = true) {\n var _window_event_type, _window_event;\n let { metaKey: metaKey, ctrlKey: ctrlKey, altKey: altKey, shiftKey: shiftKey } = modifiers;\n // Firefox does not recognize keyboard events as a user action by default, and the popup blocker\n // will prevent links with target=\"_blank\" from opening. However, it does allow the event if the\n // Command/Control key is held, which opens the link in a background tab. This seems like the best we can do.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=257870 and https://bugzilla.mozilla.org/show_bug.cgi?id=746640.\n if ((0, $c87311424ea30a05$export$b7d78993b74f766d)() && ((_window_event = window.event) === null || _window_event === void 0 ? void 0 : (_window_event_type = _window_event.type) === null || _window_event_type === void 0 ? void 0 : _window_event_type.startsWith('key')) && target.target === '_blank') {\n if ((0, $c87311424ea30a05$export$9ac100e40613ea10)()) metaKey = true;\n else ctrlKey = true;\n }\n // WebKit does not support firing click events with modifier keys, but does support keyboard events.\n // https://github.com/WebKit/WebKit/blob/c03d0ac6e6db178f90923a0a63080b5ca210d25f/Source/WebCore/html/HTMLAnchorElement.cpp#L184\n let event = (0, $c87311424ea30a05$export$78551043582a6a98)() && (0, $c87311424ea30a05$export$9ac100e40613ea10)() && !(0, $c87311424ea30a05$export$7bef049ce92e4224)() && true ? new KeyboardEvent('keydown', {\n keyIdentifier: 'Enter',\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey\n }) : new MouseEvent('click', {\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey,\n bubbles: true,\n cancelable: true\n });\n $ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = setOpening;\n (0, $7215afc6de606d6b$export$de79e2c695e052f3)(target);\n target.dispatchEvent(event);\n $ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = false;\n}\n// https://github.com/parcel-bundler/parcel/issues/8724\n$ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = false;\nfunction $ea8dcbcb9ea1b556$var$getSyntheticLink(target, open) {\n if (target instanceof HTMLAnchorElement) open(target);\n else if (target.hasAttribute('data-href')) {\n let link = document.createElement('a');\n link.href = target.getAttribute('data-href');\n if (target.hasAttribute('data-target')) link.target = target.getAttribute('data-target');\n if (target.hasAttribute('data-rel')) link.rel = target.getAttribute('data-rel');\n if (target.hasAttribute('data-download')) link.download = target.getAttribute('data-download');\n if (target.hasAttribute('data-ping')) link.ping = target.getAttribute('data-ping');\n if (target.hasAttribute('data-referrer-policy')) link.referrerPolicy = target.getAttribute('data-referrer-policy');\n target.appendChild(link);\n open(link);\n target.removeChild(link);\n }\n}\nfunction $ea8dcbcb9ea1b556$var$openSyntheticLink(target, modifiers) {\n $ea8dcbcb9ea1b556$var$getSyntheticLink(target, (link)=>$ea8dcbcb9ea1b556$export$95185d699e05d4d7(link, modifiers));\n}\nfunction $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6(props) {\n let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();\n return {\n 'data-href': props.href ? router.useHref(props.href) : undefined,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $ea8dcbcb9ea1b556$export$51437d503373d223(props) {\n return {\n 'data-href': props.href,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $ea8dcbcb9ea1b556$export$7e924b3091a3bd18(props) {\n let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();\n return {\n href: (props === null || props === void 0 ? void 0 : props.href) ? router.useHref(props === null || props === void 0 ? void 0 : props.href) : undefined,\n target: props === null || props === void 0 ? void 0 : props.target,\n rel: props === null || props === void 0 ? void 0 : props.rel,\n download: props === null || props === void 0 ? void 0 : props.download,\n ping: props === null || props === void 0 ? void 0 : props.ping,\n referrerPolicy: props === null || props === void 0 ? void 0 : props.referrerPolicy\n };\n}\n\n\nexport {$ea8dcbcb9ea1b556$export$323e4fc2fa4753fb as RouterProvider, $ea8dcbcb9ea1b556$export$efa8c9099e530235 as shouldClientNavigate, $ea8dcbcb9ea1b556$export$95185d699e05d4d7 as openLink, $ea8dcbcb9ea1b556$export$9a302a45f65d0572 as useRouter, $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6 as useSyntheticLinkProps, $ea8dcbcb9ea1b556$export$51437d503373d223 as getSyntheticLinkProps, $ea8dcbcb9ea1b556$export$7e924b3091a3bd18 as useLinkProps};\n//# sourceMappingURL=openLink.module.js.map\n","import {useRef as $lPAwt$useRef, useCallback as $lPAwt$useCallback, useEffect as $lPAwt$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $03deb23ff14920c4$export$4eaf04e54aa8eed6() {\n let globalListeners = (0, $lPAwt$useRef)(new Map());\n let addGlobalListener = (0, $lPAwt$useCallback)((eventTarget, type, listener, options)=>{\n // Make sure we remove the listener after it is called with the `once` option.\n let fn = (options === null || options === void 0 ? void 0 : options.once) ? (...args)=>{\n globalListeners.current.delete(listener);\n listener(...args);\n } : listener;\n globalListeners.current.set(listener, {\n type: type,\n eventTarget: eventTarget,\n fn: fn,\n options: options\n });\n eventTarget.addEventListener(type, listener, options);\n }, []);\n let removeGlobalListener = (0, $lPAwt$useCallback)((eventTarget, type, listener, options)=>{\n var _globalListeners_current_get;\n let fn = ((_globalListeners_current_get = globalListeners.current.get(listener)) === null || _globalListeners_current_get === void 0 ? void 0 : _globalListeners_current_get.fn) || listener;\n eventTarget.removeEventListener(type, fn, options);\n globalListeners.current.delete(listener);\n }, []);\n let removeAllGlobalListeners = (0, $lPAwt$useCallback)(()=>{\n globalListeners.current.forEach((value, key)=>{\n removeGlobalListener(value.eventTarget, value.type, key, value.options);\n });\n }, [\n removeGlobalListener\n ]);\n // eslint-disable-next-line arrow-body-style\n (0, $lPAwt$useEffect)(()=>{\n return removeAllGlobalListeners;\n }, [\n removeAllGlobalListeners\n ]);\n return {\n addGlobalListener: addGlobalListener,\n removeGlobalListener: removeGlobalListener,\n removeAllGlobalListeners: removeAllGlobalListeners\n };\n}\n\n\nexport {$03deb23ff14920c4$export$4eaf04e54aa8eed6 as useGlobalListeners};\n//# sourceMappingURL=useGlobalListeners.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, ref) {\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (context && context.ref && ref) {\n context.ref.current = ref.current;\n return ()=>{\n if (context.ref) context.ref.current = null;\n };\n }\n });\n}\n\n\nexport {$e7801be82b4b2a53$export$4debdb1a3f0fa79e as useSyncRef};\n//# sourceMappingURL=useSyncRef.module.js.map\n","import {isIOS as $7R18e$isIOS, getOwnerDocument as $7R18e$getOwnerDocument, runAfterTransition as $7R18e$runAfterTransition} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n// Note that state only matters here for iOS. Non-iOS gets user-select: none applied to the target element\n// rather than at the document level so we just need to apply/remove user-select: none for each pressed element individually\nlet $14c0b72509d70225$var$state = 'default';\nlet $14c0b72509d70225$var$savedUserSelect = '';\nlet $14c0b72509d70225$var$modifiedElementMap = new WeakMap();\nfunction $14c0b72509d70225$export$16a4697467175487(target) {\n if ((0, $7R18e$isIOS)()) {\n if ($14c0b72509d70225$var$state === 'default') {\n // eslint-disable-next-line no-restricted-globals\n const documentObject = (0, $7R18e$getOwnerDocument)(target);\n $14c0b72509d70225$var$savedUserSelect = documentObject.documentElement.style.webkitUserSelect;\n documentObject.documentElement.style.webkitUserSelect = 'none';\n }\n $14c0b72509d70225$var$state = 'disabled';\n } else if (target instanceof HTMLElement || target instanceof SVGElement) {\n // If not iOS, store the target's original user-select and change to user-select: none\n // Ignore state since it doesn't apply for non iOS\n $14c0b72509d70225$var$modifiedElementMap.set(target, target.style.userSelect);\n target.style.userSelect = 'none';\n }\n}\nfunction $14c0b72509d70225$export$b0d6fa1ab32e3295(target) {\n if ((0, $7R18e$isIOS)()) {\n // If the state is already default, there's nothing to do.\n // If it is restoring, then there's no need to queue a second restore.\n if ($14c0b72509d70225$var$state !== 'disabled') return;\n $14c0b72509d70225$var$state = 'restoring';\n // There appears to be a delay on iOS where selection still might occur\n // after pointer up, so wait a bit before removing user-select.\n setTimeout(()=>{\n // Wait for any CSS transitions to complete so we don't recompute style\n // for the whole page in the middle of the animation and cause jank.\n (0, $7R18e$runAfterTransition)(()=>{\n // Avoid race conditions\n if ($14c0b72509d70225$var$state === 'restoring') {\n // eslint-disable-next-line no-restricted-globals\n const documentObject = (0, $7R18e$getOwnerDocument)(target);\n if (documentObject.documentElement.style.webkitUserSelect === 'none') documentObject.documentElement.style.webkitUserSelect = $14c0b72509d70225$var$savedUserSelect || '';\n $14c0b72509d70225$var$savedUserSelect = '';\n $14c0b72509d70225$var$state = 'default';\n }\n });\n }, 300);\n } else if (target instanceof HTMLElement || target instanceof SVGElement) // If not iOS, restore the target's original user-select if any\n // Ignore state since it doesn't apply for non iOS\n {\n if (target && $14c0b72509d70225$var$modifiedElementMap.has(target)) {\n let targetOldUserSelect = $14c0b72509d70225$var$modifiedElementMap.get(target);\n if (target.style.userSelect === 'none') target.style.userSelect = targetOldUserSelect;\n if (target.getAttribute('style') === '') target.removeAttribute('style');\n $14c0b72509d70225$var$modifiedElementMap.delete(target);\n }\n }\n}\n\n\nexport {$14c0b72509d70225$export$16a4697467175487 as disableTextSelection, $14c0b72509d70225$export$b0d6fa1ab32e3295 as restoreTextSelection};\n//# sourceMappingURL=textSelection.module.js.map\n","import $3aeG1$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $ae1eeba8b9eafd08$export$5165eccb35aaadb5 = (0, $3aeG1$react).createContext({\n register: ()=>{}\n});\n$ae1eeba8b9eafd08$export$5165eccb35aaadb5.displayName = 'PressResponderContext';\n\n\nexport {$ae1eeba8b9eafd08$export$5165eccb35aaadb5 as PressResponderContext};\n//# sourceMappingURL=context.module.js.map\n","function _class_apply_descriptor_get(receiver, descriptor) {\n if (descriptor.get) return descriptor.get.call(receiver);\n\n return descriptor.value;\n}\nexport { _class_apply_descriptor_get as _ };\n","function _class_extract_field_descriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n\n return privateMap.get(receiver);\n}\nexport { _class_extract_field_descriptor as _ };\n","import { _ as _class_apply_descriptor_get } from \"./_class_apply_descriptor_get.js\";\nimport { _ as _class_extract_field_descriptor } from \"./_class_extract_field_descriptor.js\";\n\nfunction _class_private_field_get(receiver, privateMap) {\n var descriptor = _class_extract_field_descriptor(receiver, privateMap, \"get\");\n return _class_apply_descriptor_get(receiver, descriptor);\n}\nexport { _class_private_field_get as _ };\n","function _check_private_redeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}\nexport { _check_private_redeclaration as _ };\n","import { _ as _check_private_redeclaration } from \"./_check_private_redeclaration.js\";\n\nfunction _class_private_field_init(obj, privateMap, value) {\n _check_private_redeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}\nexport { _class_private_field_init as _ };\n","function _class_apply_descriptor_set(receiver, descriptor, value) {\n if (descriptor.set) descriptor.set.call(receiver, value);\n else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}\nexport { _class_apply_descriptor_set as _ };\n","import { _ as _class_apply_descriptor_set } from \"./_class_apply_descriptor_set.js\";\nimport { _ as _class_extract_field_descriptor } from \"./_class_extract_field_descriptor.js\";\n\nfunction _class_private_field_set(receiver, privateMap, value) {\n var descriptor = _class_extract_field_descriptor(receiver, privateMap, \"set\");\n _class_apply_descriptor_set(receiver, descriptor, value);\n return value;\n}\nexport { _class_private_field_set as _ };\n","import {disableTextSelection as $14c0b72509d70225$export$16a4697467175487, restoreTextSelection as $14c0b72509d70225$export$b0d6fa1ab32e3295} from \"./textSelection.mjs\";\nimport {PressResponderContext as $ae1eeba8b9eafd08$export$5165eccb35aaadb5} from \"./context.mjs\";\nimport {_ as $7mdmh$_} from \"@swc/helpers/_/_class_private_field_get\";\nimport {_ as $7mdmh$_1} from \"@swc/helpers/_/_class_private_field_init\";\nimport {_ as $7mdmh$_2} from \"@swc/helpers/_/_class_private_field_set\";\nimport {mergeProps as $7mdmh$mergeProps, useSyncRef as $7mdmh$useSyncRef, useGlobalListeners as $7mdmh$useGlobalListeners, useEffectEvent as $7mdmh$useEffectEvent, getOwnerDocument as $7mdmh$getOwnerDocument, chain as $7mdmh$chain, isMac as $7mdmh$isMac, openLink as $7mdmh$openLink, isVirtualClick as $7mdmh$isVirtualClick, focusWithoutScrolling as $7mdmh$focusWithoutScrolling, isVirtualPointerEvent as $7mdmh$isVirtualPointerEvent, getOwnerWindow as $7mdmh$getOwnerWindow} from \"@react-aria/utils\";\nimport {useContext as $7mdmh$useContext, useState as $7mdmh$useState, useRef as $7mdmh$useRef, useMemo as $7mdmh$useMemo, useEffect as $7mdmh$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\n\n\n\nfunction $f6c31cce2adf654f$var$usePressResponderContext(props) {\n // Consume context from <PressResponder> and merge with props.\n let context = (0, $7mdmh$useContext)((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5));\n if (context) {\n let { register: register, ...contextProps } = context;\n props = (0, $7mdmh$mergeProps)(contextProps, props);\n register();\n }\n (0, $7mdmh$useSyncRef)(context, props.ref);\n return props;\n}\nvar $f6c31cce2adf654f$var$_shouldStopPropagation = /*#__PURE__*/ new WeakMap();\nclass $f6c31cce2adf654f$var$PressEvent {\n continuePropagation() {\n (0, $7mdmh$_2)(this, $f6c31cce2adf654f$var$_shouldStopPropagation, false);\n }\n get shouldStopPropagation() {\n return (0, $7mdmh$_)(this, $f6c31cce2adf654f$var$_shouldStopPropagation);\n }\n constructor(type, pointerType, originalEvent, state){\n (0, $7mdmh$_1)(this, $f6c31cce2adf654f$var$_shouldStopPropagation, {\n writable: true,\n value: void 0\n });\n (0, $7mdmh$_2)(this, $f6c31cce2adf654f$var$_shouldStopPropagation, true);\n var _state_target;\n let currentTarget = (_state_target = state === null || state === void 0 ? void 0 : state.target) !== null && _state_target !== void 0 ? _state_target : originalEvent.currentTarget;\n const rect = currentTarget === null || currentTarget === void 0 ? void 0 : currentTarget.getBoundingClientRect();\n let x, y = 0;\n let clientX, clientY = null;\n if (originalEvent.clientX != null && originalEvent.clientY != null) {\n clientX = originalEvent.clientX;\n clientY = originalEvent.clientY;\n }\n if (rect) {\n if (clientX != null && clientY != null) {\n x = clientX - rect.left;\n y = clientY - rect.top;\n } else {\n x = rect.width / 2;\n y = rect.height / 2;\n }\n }\n this.type = type;\n this.pointerType = pointerType;\n this.target = originalEvent.currentTarget;\n this.shiftKey = originalEvent.shiftKey;\n this.metaKey = originalEvent.metaKey;\n this.ctrlKey = originalEvent.ctrlKey;\n this.altKey = originalEvent.altKey;\n this.x = x;\n this.y = y;\n }\n}\nconst $f6c31cce2adf654f$var$LINK_CLICKED = Symbol('linkClicked');\nfunction $f6c31cce2adf654f$export$45712eceda6fad21(props) {\n let { onPress: onPress, onPressChange: onPressChange, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, isDisabled: isDisabled, isPressed: isPressedProp, preventFocusOnPress: preventFocusOnPress, shouldCancelOnPointerExit: shouldCancelOnPointerExit, allowTextSelectionOnPress: allowTextSelectionOnPress, // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ref: _, ...domProps } = $f6c31cce2adf654f$var$usePressResponderContext(props);\n let [isPressed, setPressed] = (0, $7mdmh$useState)(false);\n let ref = (0, $7mdmh$useRef)({\n isPressed: false,\n ignoreEmulatedMouseEvents: false,\n ignoreClickAfterPress: false,\n didFirePressStart: false,\n isTriggeringEvent: false,\n activePointerId: null,\n target: null,\n isOverTarget: false,\n pointerType: null\n });\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, $7mdmh$useGlobalListeners)();\n let triggerPressStart = (0, $7mdmh$useEffectEvent)((originalEvent, pointerType)=>{\n let state = ref.current;\n if (isDisabled || state.didFirePressStart) return false;\n let shouldStopPropagation = true;\n state.isTriggeringEvent = true;\n if (onPressStart) {\n let event = new $f6c31cce2adf654f$var$PressEvent('pressstart', pointerType, originalEvent);\n onPressStart(event);\n shouldStopPropagation = event.shouldStopPropagation;\n }\n if (onPressChange) onPressChange(true);\n state.isTriggeringEvent = false;\n state.didFirePressStart = true;\n setPressed(true);\n return shouldStopPropagation;\n });\n let triggerPressEnd = (0, $7mdmh$useEffectEvent)((originalEvent, pointerType, wasPressed = true)=>{\n let state = ref.current;\n if (!state.didFirePressStart) return false;\n state.ignoreClickAfterPress = true;\n state.didFirePressStart = false;\n state.isTriggeringEvent = true;\n let shouldStopPropagation = true;\n if (onPressEnd) {\n let event = new $f6c31cce2adf654f$var$PressEvent('pressend', pointerType, originalEvent);\n onPressEnd(event);\n shouldStopPropagation = event.shouldStopPropagation;\n }\n if (onPressChange) onPressChange(false);\n setPressed(false);\n if (onPress && wasPressed && !isDisabled) {\n let event = new $f6c31cce2adf654f$var$PressEvent('press', pointerType, originalEvent);\n onPress(event);\n shouldStopPropagation && (shouldStopPropagation = event.shouldStopPropagation);\n }\n state.isTriggeringEvent = false;\n return shouldStopPropagation;\n });\n let triggerPressUp = (0, $7mdmh$useEffectEvent)((originalEvent, pointerType)=>{\n let state = ref.current;\n if (isDisabled) return false;\n if (onPressUp) {\n state.isTriggeringEvent = true;\n let event = new $f6c31cce2adf654f$var$PressEvent('pressup', pointerType, originalEvent);\n onPressUp(event);\n state.isTriggeringEvent = false;\n return event.shouldStopPropagation;\n }\n return true;\n });\n let cancel = (0, $7mdmh$useEffectEvent)((e)=>{\n let state = ref.current;\n if (state.isPressed && state.target) {\n if (state.isOverTarget && state.pointerType != null) triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);\n state.isPressed = false;\n state.isOverTarget = false;\n state.activePointerId = null;\n state.pointerType = null;\n removeAllGlobalListeners();\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)(state.target);\n }\n });\n let cancelOnPointerExit = (0, $7mdmh$useEffectEvent)((e)=>{\n if (shouldCancelOnPointerExit) cancel(e);\n });\n let pressProps = (0, $7mdmh$useMemo)(()=>{\n let state = ref.current;\n let pressProps = {\n onKeyDown (e) {\n if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && e.currentTarget.contains(e.target)) {\n var _state_metaKeyEvents;\n if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(e.target, e.key)) e.preventDefault();\n // If the event is repeating, it may have started on a different element\n // after which focus moved to the current element. Ignore these events and\n // only handle the first key down event.\n let shouldStopPropagation = true;\n if (!state.isPressed && !e.repeat) {\n state.target = e.currentTarget;\n state.isPressed = true;\n shouldStopPropagation = triggerPressStart(e, 'keyboard');\n // Focus may move before the key up event, so register the event on the document\n // instead of the same element where the key down event occurred. Make it capturing so that it will trigger\n // before stopPropagation from useKeyboard on a child element may happen and thus we can still call triggerPress for the parent element.\n let originalTarget = e.currentTarget;\n let pressUp = (e)=>{\n if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e, originalTarget) && !e.repeat && originalTarget.contains(e.target) && state.target) triggerPressUp($f6c31cce2adf654f$var$createEvent(state.target, e), 'keyboard');\n };\n addGlobalListener((0, $7mdmh$getOwnerDocument)(e.currentTarget), 'keyup', (0, $7mdmh$chain)(pressUp, onKeyUp), true);\n }\n if (shouldStopPropagation) e.stopPropagation();\n // Keep track of the keydown events that occur while the Meta (e.g. Command) key is held.\n // macOS has a bug where keyup events are not fired while the Meta key is down.\n // When the Meta key itself is released we will get an event for that, and we'll act as if\n // all of these other keys were released as well.\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1393524\n // https://bugs.webkit.org/show_bug.cgi?id=55291\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1299553\n if (e.metaKey && (0, $7mdmh$isMac)()) (_state_metaKeyEvents = state.metaKeyEvents) === null || _state_metaKeyEvents === void 0 ? void 0 : _state_metaKeyEvents.set(e.key, e.nativeEvent);\n } else if (e.key === 'Meta') state.metaKeyEvents = new Map();\n },\n onClick (e) {\n if (e && !e.currentTarget.contains(e.target)) return;\n if (e && e.button === 0 && !state.isTriggeringEvent && !(0, $7mdmh$openLink).isOpening) {\n let shouldStopPropagation = true;\n if (isDisabled) e.preventDefault();\n // If triggered from a screen reader or by using element.click(),\n // trigger as if it were a keyboard click.\n if (!state.ignoreClickAfterPress && !state.ignoreEmulatedMouseEvents && !state.isPressed && (state.pointerType === 'virtual' || (0, $7mdmh$isVirtualClick)(e.nativeEvent))) {\n // Ensure the element receives focus (VoiceOver on iOS does not do this)\n if (!isDisabled && !preventFocusOnPress) (0, $7mdmh$focusWithoutScrolling)(e.currentTarget);\n let stopPressStart = triggerPressStart(e, 'virtual');\n let stopPressUp = triggerPressUp(e, 'virtual');\n let stopPressEnd = triggerPressEnd(e, 'virtual');\n shouldStopPropagation = stopPressStart && stopPressUp && stopPressEnd;\n }\n state.ignoreEmulatedMouseEvents = false;\n state.ignoreClickAfterPress = false;\n if (shouldStopPropagation) e.stopPropagation();\n }\n }\n };\n let onKeyUp = (e)=>{\n var _state_metaKeyEvents;\n if (state.isPressed && state.target && $f6c31cce2adf654f$var$isValidKeyboardEvent(e, state.target)) {\n var _state_metaKeyEvents1;\n if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(e.target, e.key)) e.preventDefault();\n let target = e.target;\n triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), 'keyboard', state.target.contains(target));\n removeAllGlobalListeners();\n // If a link was triggered with a key other than Enter, open the URL ourselves.\n // This means the link has a role override, and the default browser behavior\n // only applies when using the Enter key.\n if (e.key !== 'Enter' && $f6c31cce2adf654f$var$isHTMLAnchorLink(state.target) && state.target.contains(target) && !e[$f6c31cce2adf654f$var$LINK_CLICKED]) {\n // Store a hidden property on the event so we only trigger link click once,\n // even if there are multiple usePress instances attached to the element.\n e[$f6c31cce2adf654f$var$LINK_CLICKED] = true;\n (0, $7mdmh$openLink)(state.target, e, false);\n }\n state.isPressed = false;\n (_state_metaKeyEvents1 = state.metaKeyEvents) === null || _state_metaKeyEvents1 === void 0 ? void 0 : _state_metaKeyEvents1.delete(e.key);\n } else if (e.key === 'Meta' && ((_state_metaKeyEvents = state.metaKeyEvents) === null || _state_metaKeyEvents === void 0 ? void 0 : _state_metaKeyEvents.size)) {\n var _state_target;\n // If we recorded keydown events that occurred while the Meta key was pressed,\n // and those haven't received keyup events already, fire keyup events ourselves.\n // See comment above for more info about the macOS bug causing this.\n let events = state.metaKeyEvents;\n state.metaKeyEvents = undefined;\n for (let event of events.values())(_state_target = state.target) === null || _state_target === void 0 ? void 0 : _state_target.dispatchEvent(new KeyboardEvent('keyup', event));\n }\n };\n if (typeof PointerEvent !== 'undefined') {\n pressProps.onPointerDown = (e)=>{\n // Only handle left clicks, and ignore events that bubbled through portals.\n if (e.button !== 0 || !e.currentTarget.contains(e.target)) return;\n // iOS safari fires pointer events from VoiceOver with incorrect coordinates/target.\n // Ignore and let the onClick handler take care of it instead.\n // https://bugs.webkit.org/show_bug.cgi?id=222627\n // https://bugs.webkit.org/show_bug.cgi?id=223202\n if ((0, $7mdmh$isVirtualPointerEvent)(e.nativeEvent)) {\n state.pointerType = 'virtual';\n return;\n }\n // Due to browser inconsistencies, especially on mobile browsers, we prevent\n // default on pointer down and handle focusing the pressable element ourselves.\n if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();\n state.pointerType = e.pointerType;\n let shouldStopPropagation = true;\n if (!state.isPressed) {\n state.isPressed = true;\n state.isOverTarget = true;\n state.activePointerId = e.pointerId;\n state.target = e.currentTarget;\n if (!isDisabled && !preventFocusOnPress) (0, $7mdmh$focusWithoutScrolling)(e.currentTarget);\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$16a4697467175487)(state.target);\n shouldStopPropagation = triggerPressStart(e, state.pointerType);\n addGlobalListener((0, $7mdmh$getOwnerDocument)(e.currentTarget), 'pointermove', onPointerMove, false);\n addGlobalListener((0, $7mdmh$getOwnerDocument)(e.currentTarget), 'pointerup', onPointerUp, false);\n addGlobalListener((0, $7mdmh$getOwnerDocument)(e.currentTarget), 'pointercancel', onPointerCancel, false);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseDown = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n if (e.button === 0) {\n // Chrome and Firefox on touch Windows devices require mouse down events\n // to be canceled in addition to pointer events, or an extra asynchronous\n // focus event will be fired.\n if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();\n e.stopPropagation();\n }\n };\n pressProps.onPointerUp = (e)=>{\n // iOS fires pointerup with zero width and height, so check the pointerType recorded during pointerdown.\n if (!e.currentTarget.contains(e.target) || state.pointerType === 'virtual') return;\n // Only handle left clicks\n // Safari on iOS sometimes fires pointerup events, even\n // when the touch isn't over the target, so double check.\n if (e.button === 0 && $f6c31cce2adf654f$var$isOverTarget(e, e.currentTarget)) triggerPressUp(e, state.pointerType || e.pointerType);\n };\n // Safari on iOS < 13.2 does not implement pointerenter/pointerleave events correctly.\n // Use pointer move events instead to implement our own hit testing.\n // See https://bugs.webkit.org/show_bug.cgi?id=199803\n let onPointerMove = (e)=>{\n if (e.pointerId !== state.activePointerId) return;\n if (state.target && $f6c31cce2adf654f$var$isOverTarget(e, state.target)) {\n if (!state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = true;\n triggerPressStart($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType);\n }\n } else if (state.target && state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = false;\n triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);\n cancelOnPointerExit(e);\n }\n };\n let onPointerUp = (e)=>{\n if (e.pointerId === state.activePointerId && state.isPressed && e.button === 0 && state.target) {\n if ($f6c31cce2adf654f$var$isOverTarget(e, state.target) && state.pointerType != null) triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType);\n else if (state.isOverTarget && state.pointerType != null) triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);\n state.isPressed = false;\n state.isOverTarget = false;\n state.activePointerId = null;\n state.pointerType = null;\n removeAllGlobalListeners();\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)(state.target);\n }\n };\n let onPointerCancel = (e)=>{\n cancel(e);\n };\n pressProps.onDragStart = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n // Safari does not call onPointerCancel when a drag starts, whereas Chrome and Firefox do.\n cancel(e);\n };\n } else {\n pressProps.onMouseDown = (e)=>{\n // Only handle left clicks\n if (e.button !== 0 || !e.currentTarget.contains(e.target)) return;\n // Due to browser inconsistencies, especially on mobile browsers, we prevent\n // default on mouse down and handle focusing the pressable element ourselves.\n if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();\n if (state.ignoreEmulatedMouseEvents) {\n e.stopPropagation();\n return;\n }\n state.isPressed = true;\n state.isOverTarget = true;\n state.target = e.currentTarget;\n state.pointerType = (0, $7mdmh$isVirtualClick)(e.nativeEvent) ? 'virtual' : 'mouse';\n if (!isDisabled && !preventFocusOnPress) (0, $7mdmh$focusWithoutScrolling)(e.currentTarget);\n let shouldStopPropagation = triggerPressStart(e, state.pointerType);\n if (shouldStopPropagation) e.stopPropagation();\n addGlobalListener((0, $7mdmh$getOwnerDocument)(e.currentTarget), 'mouseup', onMouseUp, false);\n };\n pressProps.onMouseEnter = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n let shouldStopPropagation = true;\n if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {\n state.isOverTarget = true;\n shouldStopPropagation = triggerPressStart(e, state.pointerType);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseLeave = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n let shouldStopPropagation = true;\n if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {\n state.isOverTarget = false;\n shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);\n cancelOnPointerExit(e);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseUp = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n if (!state.ignoreEmulatedMouseEvents && e.button === 0) triggerPressUp(e, state.pointerType || 'mouse');\n };\n let onMouseUp = (e)=>{\n // Only handle left clicks\n if (e.button !== 0) return;\n state.isPressed = false;\n removeAllGlobalListeners();\n if (state.ignoreEmulatedMouseEvents) {\n state.ignoreEmulatedMouseEvents = false;\n return;\n }\n if (state.target && $f6c31cce2adf654f$var$isOverTarget(e, state.target) && state.pointerType != null) triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType);\n else if (state.target && state.isOverTarget && state.pointerType != null) triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);\n state.isOverTarget = false;\n };\n pressProps.onTouchStart = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n let touch = $f6c31cce2adf654f$var$getTouchFromEvent(e.nativeEvent);\n if (!touch) return;\n state.activePointerId = touch.identifier;\n state.ignoreEmulatedMouseEvents = true;\n state.isOverTarget = true;\n state.isPressed = true;\n state.target = e.currentTarget;\n state.pointerType = 'touch';\n // Due to browser inconsistencies, especially on mobile browsers, we prevent default\n // on the emulated mouse event and handle focusing the pressable element ourselves.\n if (!isDisabled && !preventFocusOnPress) (0, $7mdmh$focusWithoutScrolling)(e.currentTarget);\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$16a4697467175487)(state.target);\n let shouldStopPropagation = triggerPressStart($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);\n if (shouldStopPropagation) e.stopPropagation();\n addGlobalListener((0, $7mdmh$getOwnerWindow)(e.currentTarget), 'scroll', onScroll, true);\n };\n pressProps.onTouchMove = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n if (!state.isPressed) {\n e.stopPropagation();\n return;\n }\n let touch = $f6c31cce2adf654f$var$getTouchById(e.nativeEvent, state.activePointerId);\n let shouldStopPropagation = true;\n if (touch && $f6c31cce2adf654f$var$isOverTarget(touch, e.currentTarget)) {\n if (!state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = true;\n shouldStopPropagation = triggerPressStart($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);\n }\n } else if (state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = false;\n shouldStopPropagation = triggerPressEnd($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType, false);\n cancelOnPointerExit($f6c31cce2adf654f$var$createTouchEvent(state.target, e));\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onTouchEnd = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n if (!state.isPressed) {\n e.stopPropagation();\n return;\n }\n let touch = $f6c31cce2adf654f$var$getTouchById(e.nativeEvent, state.activePointerId);\n let shouldStopPropagation = true;\n if (touch && $f6c31cce2adf654f$var$isOverTarget(touch, e.currentTarget) && state.pointerType != null) {\n triggerPressUp($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);\n shouldStopPropagation = triggerPressEnd($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);\n } else if (state.isOverTarget && state.pointerType != null) shouldStopPropagation = triggerPressEnd($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType, false);\n if (shouldStopPropagation) e.stopPropagation();\n state.isPressed = false;\n state.activePointerId = null;\n state.isOverTarget = false;\n state.ignoreEmulatedMouseEvents = true;\n if (state.target && !allowTextSelectionOnPress) (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)(state.target);\n removeAllGlobalListeners();\n };\n pressProps.onTouchCancel = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n e.stopPropagation();\n if (state.isPressed) cancel($f6c31cce2adf654f$var$createTouchEvent(state.target, e));\n };\n let onScroll = (e)=>{\n if (state.isPressed && e.target.contains(state.target)) cancel({\n currentTarget: state.target,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false,\n altKey: false\n });\n };\n pressProps.onDragStart = (e)=>{\n if (!e.currentTarget.contains(e.target)) return;\n cancel(e);\n };\n }\n return pressProps;\n }, [\n addGlobalListener,\n isDisabled,\n preventFocusOnPress,\n removeAllGlobalListeners,\n allowTextSelectionOnPress,\n cancel,\n cancelOnPointerExit,\n triggerPressEnd,\n triggerPressStart,\n triggerPressUp\n ]);\n // Remove user-select: none in case component unmounts immediately after pressStart\n // eslint-disable-next-line arrow-body-style\n (0, $7mdmh$useEffect)(()=>{\n return ()=>{\n var _ref_current_target;\n if (!allowTextSelectionOnPress) // eslint-disable-next-line react-hooks/exhaustive-deps\n (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)((_ref_current_target = ref.current.target) !== null && _ref_current_target !== void 0 ? _ref_current_target : undefined);\n };\n }, [\n allowTextSelectionOnPress\n ]);\n return {\n isPressed: isPressedProp || isPressed,\n pressProps: (0, $7mdmh$mergeProps)(domProps, pressProps)\n };\n}\nfunction $f6c31cce2adf654f$var$isHTMLAnchorLink(target) {\n return target.tagName === 'A' && target.hasAttribute('href');\n}\nfunction $f6c31cce2adf654f$var$isValidKeyboardEvent(event, currentTarget) {\n const { key: key, code: code } = event;\n const element = currentTarget;\n const role = element.getAttribute('role');\n // Accessibility for keyboards. Space and Enter only.\n // \"Spacebar\" is for IE 11\n return (key === 'Enter' || key === ' ' || key === 'Spacebar' || code === 'Space') && !(element instanceof (0, $7mdmh$getOwnerWindow)(element).HTMLInputElement && !$f6c31cce2adf654f$var$isValidInputKey(element, key) || element instanceof (0, $7mdmh$getOwnerWindow)(element).HTMLTextAreaElement || element.isContentEditable) && // Links should only trigger with Enter key\n !((role === 'link' || !role && $f6c31cce2adf654f$var$isHTMLAnchorLink(element)) && key !== 'Enter');\n}\nfunction $f6c31cce2adf654f$var$getTouchFromEvent(event) {\n const { targetTouches: targetTouches } = event;\n if (targetTouches.length > 0) return targetTouches[0];\n return null;\n}\nfunction $f6c31cce2adf654f$var$getTouchById(event, pointerId) {\n const changedTouches = event.changedTouches;\n for(let i = 0; i < changedTouches.length; i++){\n const touch = changedTouches[i];\n if (touch.identifier === pointerId) return touch;\n }\n return null;\n}\nfunction $f6c31cce2adf654f$var$createTouchEvent(target, e) {\n let clientX = 0;\n let clientY = 0;\n if (e.targetTouches && e.targetTouches.length === 1) {\n clientX = e.targetTouches[0].clientX;\n clientY = e.targetTouches[0].clientY;\n }\n return {\n currentTarget: target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey,\n clientX: clientX,\n clientY: clientY\n };\n}\nfunction $f6c31cce2adf654f$var$createEvent(target, e) {\n let clientX = e.clientX;\n let clientY = e.clientY;\n return {\n currentTarget: target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey,\n clientX: clientX,\n clientY: clientY\n };\n}\nfunction $f6c31cce2adf654f$var$getPointClientRect(point) {\n let offsetX = 0;\n let offsetY = 0;\n if (point.width !== undefined) offsetX = point.width / 2;\n else if (point.radiusX !== undefined) offsetX = point.radiusX;\n if (point.height !== undefined) offsetY = point.height / 2;\n else if (point.radiusY !== undefined) offsetY = point.radiusY;\n return {\n top: point.clientY - offsetY,\n right: point.clientX + offsetX,\n bottom: point.clientY + offsetY,\n left: point.clientX - offsetX\n };\n}\nfunction $f6c31cce2adf654f$var$areRectanglesOverlapping(a, b) {\n // check if they cannot overlap on x axis\n if (a.left > b.right || b.left > a.right) return false;\n // check if they cannot overlap on y axis\n if (a.top > b.bottom || b.top > a.bottom) return false;\n return true;\n}\nfunction $f6c31cce2adf654f$var$isOverTarget(point, target) {\n let rect = target.getBoundingClientRect();\n let pointRect = $f6c31cce2adf654f$var$getPointClientRect(point);\n return $f6c31cce2adf654f$var$areRectanglesOverlapping(rect, pointRect);\n}\nfunction $f6c31cce2adf654f$var$shouldPreventDefault(target) {\n // We cannot prevent default if the target is a draggable element.\n return !(target instanceof HTMLElement) || !target.hasAttribute('draggable');\n}\nfunction $f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(target, key) {\n if (target instanceof HTMLInputElement) return !$f6c31cce2adf654f$var$isValidInputKey(target, key);\n if (target instanceof HTMLButtonElement) return target.type !== 'submit' && target.type !== 'reset';\n if ($f6c31cce2adf654f$var$isHTMLAnchorLink(target)) return false;\n return true;\n}\nconst $f6c31cce2adf654f$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\nfunction $f6c31cce2adf654f$var$isValidInputKey(target, key) {\n // Only space should toggle checkboxes and radios, not enter.\n return target.type === 'checkbox' || target.type === 'radio' ? key === ' ' : $f6c31cce2adf654f$var$nonTextInputTypes.has(target.type);\n}\n\n\nexport {$f6c31cce2adf654f$export$45712eceda6fad21 as usePress};\n//# sourceMappingURL=usePress.module.js.map\n","import {useSyntheticBlurEvent as $8a9cb279dc87e130$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {useCallback as $hf0lj$useCallback} from \"react\";\nimport {getOwnerDocument as $hf0lj$getOwnerDocument} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nfunction $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {\n let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;\n const onBlur = (0, $hf0lj$useCallback)((e)=>{\n if (e.target === e.currentTarget) {\n if (onBlurProp) onBlurProp(e);\n if (onFocusChange) onFocusChange(false);\n return true;\n }\n }, [\n onBlurProp,\n onFocusChange\n ]);\n const onSyntheticFocus = (0, $8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);\n const onFocus = (0, $hf0lj$useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n const ownerDocument = (0, $hf0lj$getOwnerDocument)(e.target);\n if (e.target === e.currentTarget && ownerDocument.activeElement === e.target) {\n if (onFocusProp) onFocusProp(e);\n if (onFocusChange) onFocusChange(true);\n onSyntheticFocus(e);\n }\n }, [\n onFocusChange,\n onFocusProp,\n onSyntheticFocus\n ]);\n return {\n focusProps: {\n onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined\n }\n };\n}\n\n\nexport {$a1ea59d68270f0dd$export$f8168d8dd8fd66e6 as useFocus};\n//# sourceMappingURL=useFocus.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $93925083ecbb358c$export$48d1ea6320830260(handler) {\n if (!handler) return undefined;\n let shouldStopPropagation = true;\n return (e)=>{\n let event = {\n ...e,\n preventDefault () {\n e.preventDefault();\n },\n isDefaultPrevented () {\n return e.isDefaultPrevented();\n },\n stopPropagation () {\n console.error('stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.');\n },\n continuePropagation () {\n shouldStopPropagation = false;\n }\n };\n handler(event);\n if (shouldStopPropagation) e.stopPropagation();\n };\n}\n\n\nexport {$93925083ecbb358c$export$48d1ea6320830260 as createEventHandler};\n//# sourceMappingURL=createEventHandler.module.js.map\n","import {createEventHandler as $93925083ecbb358c$export$48d1ea6320830260} from \"./createEventHandler.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $46d819fcbaf35654$export$8f71654801c2f7cd(props) {\n return {\n keyboardProps: props.isDisabled ? {} : {\n onKeyDown: (0, $93925083ecbb358c$export$48d1ea6320830260)(props.onKeyDown),\n onKeyUp: (0, $93925083ecbb358c$export$48d1ea6320830260)(props.onKeyUp)\n }\n };\n}\n\n\nexport {$46d819fcbaf35654$export$8f71654801c2f7cd as useKeyboard};\n//# sourceMappingURL=useKeyboard.module.js.map\n","import {focusSafely as $6a99195332edec8b$export$80f3e147d781571c} from \"./focusSafely.mjs\";\nimport {useSyncRef as $h8xso$useSyncRef, useObjectRef as $h8xso$useObjectRef, mergeProps as $h8xso$mergeProps} from \"@react-aria/utils\";\nimport $h8xso$react, {useContext as $h8xso$useContext, useRef as $h8xso$useRef, useEffect as $h8xso$useEffect} from \"react\";\nimport {useFocus as $h8xso$useFocus, useKeyboard as $h8xso$useKeyboard} from \"@react-aria/interactions\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nlet $e6afbd83fe6ebbd2$var$FocusableContext = /*#__PURE__*/ (0, $h8xso$react).createContext(null);\nfunction $e6afbd83fe6ebbd2$var$useFocusableContext(ref) {\n let context = (0, $h8xso$useContext)($e6afbd83fe6ebbd2$var$FocusableContext) || {};\n (0, $h8xso$useSyncRef)(context, ref);\n // eslint-disable-next-line\n let { ref: _, ...otherProps } = context;\n return otherProps;\n}\n/**\n * Provides DOM props to the nearest focusable child.\n */ function $e6afbd83fe6ebbd2$var$FocusableProvider(props, ref) {\n let { children: children, ...otherProps } = props;\n let objRef = (0, $h8xso$useObjectRef)(ref);\n let context = {\n ...otherProps,\n ref: objRef\n };\n return /*#__PURE__*/ (0, $h8xso$react).createElement($e6afbd83fe6ebbd2$var$FocusableContext.Provider, {\n value: context\n }, children);\n}\nlet $e6afbd83fe6ebbd2$export$13f3202a3e5ddd5 = /*#__PURE__*/ (0, $h8xso$react).forwardRef($e6afbd83fe6ebbd2$var$FocusableProvider);\nfunction $e6afbd83fe6ebbd2$export$4c014de7c8940b4c(props, domRef) {\n let { focusProps: focusProps } = (0, $h8xso$useFocus)(props);\n let { keyboardProps: keyboardProps } = (0, $h8xso$useKeyboard)(props);\n let interactions = (0, $h8xso$mergeProps)(focusProps, keyboardProps);\n let domProps = $e6afbd83fe6ebbd2$var$useFocusableContext(domRef);\n let interactionProps = props.isDisabled ? {} : domProps;\n let autoFocusRef = (0, $h8xso$useRef)(props.autoFocus);\n (0, $h8xso$useEffect)(()=>{\n if (autoFocusRef.current && domRef.current) (0, $6a99195332edec8b$export$80f3e147d781571c)(domRef.current);\n autoFocusRef.current = false;\n }, [\n domRef\n ]);\n return {\n focusableProps: (0, $h8xso$mergeProps)({\n ...interactions,\n tabIndex: props.excludeFromTabOrder && !props.isDisabled ? -1 : undefined\n }, interactionProps)\n };\n}\n\n\nexport {$e6afbd83fe6ebbd2$export$13f3202a3e5ddd5 as FocusableProvider, $e6afbd83fe6ebbd2$export$4c014de7c8940b4c as useFocusable};\n//# sourceMappingURL=useFocusable.module.js.map\n","import {mergeProps as $bwqiF$mergeProps, filterDOMProps as $bwqiF$filterDOMProps} from \"@react-aria/utils\";\nimport {useFocusable as $bwqiF$useFocusable} from \"@react-aria/focus\";\nimport {usePress as $bwqiF$usePress} from \"@react-aria/interactions\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $701a24aa0da5b062$export$ea18c227d4417cc3(props, ref) {\n let { elementType: elementType = 'button', isDisabled: isDisabled, onPress: onPress, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, onPressChange: onPressChange, preventFocusOnPress: // @ts-ignore - undocumented\n preventFocusOnPress, allowFocusWhenDisabled: // @ts-ignore - undocumented\n allowFocusWhenDisabled, // @ts-ignore\n onClick: deprecatedOnClick, href: href, target: target, rel: rel, type: type = 'button' } = props;\n let additionalProps;\n if (elementType === 'button') additionalProps = {\n type: type,\n disabled: isDisabled\n };\n else additionalProps = {\n role: 'button',\n tabIndex: isDisabled ? undefined : 0,\n href: elementType === 'a' && isDisabled ? undefined : href,\n target: elementType === 'a' ? target : undefined,\n type: elementType === 'input' ? type : undefined,\n disabled: elementType === 'input' ? isDisabled : undefined,\n 'aria-disabled': !isDisabled || elementType === 'input' ? undefined : isDisabled,\n rel: elementType === 'a' ? rel : undefined\n };\n let { pressProps: pressProps, isPressed: isPressed } = (0, $bwqiF$usePress)({\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onPressChange: onPressChange,\n onPress: onPress,\n onPressUp: onPressUp,\n isDisabled: isDisabled,\n preventFocusOnPress: preventFocusOnPress,\n ref: ref\n });\n let { focusableProps: focusableProps } = (0, $bwqiF$useFocusable)(props, ref);\n if (allowFocusWhenDisabled) focusableProps.tabIndex = isDisabled ? -1 : focusableProps.tabIndex;\n let buttonProps = (0, $bwqiF$mergeProps)(focusableProps, pressProps, (0, $bwqiF$filterDOMProps)(props, {\n labelable: true\n }));\n return {\n isPressed: isPressed,\n buttonProps: (0, $bwqiF$mergeProps)(additionalProps, buttonProps, {\n 'aria-haspopup': props['aria-haspopup'],\n 'aria-expanded': props['aria-expanded'],\n 'aria-controls': props['aria-controls'],\n 'aria-pressed': props['aria-pressed'],\n onClick: (e)=>{\n if (deprecatedOnClick) {\n deprecatedOnClick(e);\n console.warn('onClick is deprecated, please use onPress');\n }\n }\n })\n };\n}\n\n\nexport {$701a24aa0da5b062$export$ea18c227d4417cc3 as useButton};\n//# sourceMappingURL=useButton.module.js.map\n","import { useButton } from '@react-aria/button';\nimport { clsx } from 'clsx';\n\nimport type { PressEvent } from 'react-aria';\nimport type { AriaButtonProps } from '@react-aria/button';\nimport type { IconProps } from 'components/Icon';\nimport type { RefObject } from 'react';\nimport type { UIButtonVariant } from 'types/UserInterface';\n\nimport styles from 'components/Button/Button.module.css';\nimport { Icon } from 'components/Icon';\n\nexport interface MenuButtonProps extends AriaButtonProps<'button'> {\n buttonRef: RefObject<HTMLButtonElement>;\n variant: UIButtonVariant;\n iconName?: IconProps['name'];\n onClick?: (event: PressEvent) => void;\n}\n\nexport function MenuButton({ buttonRef, variant, iconName, children, ...restProps }: MenuButtonProps) {\n const { buttonProps } = useButton(restProps, buttonRef);\n\n return (\n <button {...buttonProps} ref={buttonRef} className={clsx(styles['button'], styles[`button--${variant}`])}>\n {children}\n {iconName && <Icon name={iconName} />}\n </button>\n );\n}\n"],"names":["$3ef42575df84b30b$export$9d1611c77c2fe928","args","result","i","props","key","a","b","$ff5963eb1fccf552$export$e08e3b67e392101e","$7jXr9$clsx","$bdb11010cef70236$export$cd8c9cb68f842629","$ea8dcbcb9ea1b556$export$95185d699e05d4d7","target","modifiers","setOpening","_window_event_type","_window_event","metaKey","ctrlKey","altKey","shiftKey","$c87311424ea30a05$export$b7d78993b74f766d","$c87311424ea30a05$export$9ac100e40613ea10","event","$c87311424ea30a05$export$78551043582a6a98","$c87311424ea30a05$export$7bef049ce92e4224","$7215afc6de606d6b$export$de79e2c695e052f3","$03deb23ff14920c4$export$4eaf04e54aa8eed6","globalListeners","$lPAwt$useRef","addGlobalListener","$lPAwt$useCallback","eventTarget","type","listener","options","fn","removeGlobalListener","_globalListeners_current_get","removeAllGlobalListeners","value","$lPAwt$useEffect","$e7801be82b4b2a53$export$4debdb1a3f0fa79e","context","ref","$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c","$14c0b72509d70225$var$state","$14c0b72509d70225$var$savedUserSelect","$14c0b72509d70225$var$modifiedElementMap","$14c0b72509d70225$export$16a4697467175487","$7R18e$isIOS","documentObject","$7R18e$getOwnerDocument","$14c0b72509d70225$export$b0d6fa1ab32e3295","$7R18e$runAfterTransition","targetOldUserSelect","$ae1eeba8b9eafd08$export$5165eccb35aaadb5","$3aeG1$react","_class_apply_descriptor_get","receiver","descriptor","_class_extract_field_descriptor","privateMap","action","_class_private_field_get","_check_private_redeclaration","obj","privateCollection","_class_private_field_init","_class_apply_descriptor_set","_class_private_field_set","$f6c31cce2adf654f$var$usePressResponderContext","$7mdmh$useContext","register","contextProps","$7mdmh$mergeProps","$7mdmh$useSyncRef","$f6c31cce2adf654f$var$_shouldStopPropagation","$f6c31cce2adf654f$var$PressEvent","$7mdmh$_2","$7mdmh$_","pointerType","originalEvent","state","$7mdmh$_1","_state_target","currentTarget","rect","x","clientX","clientY","$f6c31cce2adf654f$var$LINK_CLICKED","$f6c31cce2adf654f$export$45712eceda6fad21","onPress","onPressChange","onPressStart","onPressEnd","onPressUp","isDisabled","isPressedProp","preventFocusOnPress","shouldCancelOnPointerExit","allowTextSelectionOnPress","_","domProps","isPressed","setPressed","$7mdmh$useState","$7mdmh$useRef","$7mdmh$useGlobalListeners","triggerPressStart","$7mdmh$useEffectEvent","shouldStopPropagation","triggerPressEnd","wasPressed","triggerPressUp","cancel","$f6c31cce2adf654f$var$createEvent","cancelOnPointerExit","pressProps","$7mdmh$useMemo","e","$f6c31cce2adf654f$var$isValidKeyboardEvent","_state_metaKeyEvents","$f6c31cce2adf654f$var$shouldPreventDefaultKeyboard","originalTarget","pressUp","$7mdmh$getOwnerDocument","$7mdmh$chain","onKeyUp","$7mdmh$isMac","$7mdmh$openLink","$7mdmh$isVirtualClick","$7mdmh$focusWithoutScrolling","stopPressStart","stopPressUp","stopPressEnd","_state_metaKeyEvents1","$f6c31cce2adf654f$var$isHTMLAnchorLink","events","$7mdmh$isVirtualPointerEvent","$f6c31cce2adf654f$var$shouldPreventDefault","onPointerMove","onPointerUp","onPointerCancel","$f6c31cce2adf654f$var$isOverTarget","onMouseUp","touch","$f6c31cce2adf654f$var$getTouchFromEvent","$f6c31cce2adf654f$var$createTouchEvent","$7mdmh$getOwnerWindow","onScroll","$f6c31cce2adf654f$var$getTouchById","$7mdmh$useEffect","_ref_current_target","code","element","role","$f6c31cce2adf654f$var$isValidInputKey","targetTouches","pointerId","changedTouches","$f6c31cce2adf654f$var$getPointClientRect","point","offsetX","offsetY","$f6c31cce2adf654f$var$areRectanglesOverlapping","pointRect","$f6c31cce2adf654f$var$nonTextInputTypes","$a1ea59d68270f0dd$export$f8168d8dd8fd66e6","onFocusProp","onBlurProp","onFocusChange","onBlur","$hf0lj$useCallback","onSyntheticFocus","$8a9cb279dc87e130$export$715c682d09d639cc","onFocus","ownerDocument","$hf0lj$getOwnerDocument","$93925083ecbb358c$export$48d1ea6320830260","handler","$46d819fcbaf35654$export$8f71654801c2f7cd","$e6afbd83fe6ebbd2$var$FocusableContext","$h8xso$react","$e6afbd83fe6ebbd2$var$useFocusableContext","$h8xso$useContext","$h8xso$useSyncRef","otherProps","$e6afbd83fe6ebbd2$export$4c014de7c8940b4c","domRef","focusProps","$h8xso$useFocus","keyboardProps","$h8xso$useKeyboard","interactions","$h8xso$mergeProps","interactionProps","autoFocusRef","$h8xso$useRef","$h8xso$useEffect","$6a99195332edec8b$export$80f3e147d781571c","$701a24aa0da5b062$export$ea18c227d4417cc3","elementType","allowFocusWhenDisabled","deprecatedOnClick","href","rel","additionalProps","$bwqiF$usePress","focusableProps","$bwqiF$useFocusable","buttonProps","$bwqiF$mergeProps","$bwqiF$filterDOMProps","MenuButton","buttonRef","variant","iconName","children","restProps","useButton","clsx","styles","jsx","Icon"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]}
1
+ {"version":3,"file":"MenuButton.js","sources":["../../../src/components/MenuButton/MenuButton.tsx"],"sourcesContent":["import { useButton } from '@react-aria/button';\nimport { clsx } from 'clsx';\n\nimport type { AriaButtonProps } from '@react-aria/button';\nimport type { IconProps } from 'components/Icon';\nimport type { MouseEvent, RefObject } from 'react';\nimport type { UIButtonVariant } from 'types/UserInterface';\n\nimport styles from 'components/Button/Button.module.css';\nimport { Icon } from 'components/Icon';\n\nexport interface MenuButtonProps extends AriaButtonProps<'button'> {\n buttonRef: RefObject<HTMLButtonElement>;\n variant: UIButtonVariant;\n iconName?: IconProps['name'];\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport function MenuButton({ buttonRef, variant, iconName, children, ...restProps }: MenuButtonProps) {\n const { buttonProps } = useButton(restProps, buttonRef);\n\n return (\n <button {...buttonProps} ref={buttonRef} className={clsx(styles['button'], styles[`button--${variant}`])}>\n {children}\n {iconName && <Icon name={iconName} />}\n </button>\n );\n}\n"],"names":["MenuButton","buttonRef","variant","iconName","children","restProps","buttonProps","useButton","clsx","styles","jsx","Icon"],"mappings":";;;;;AAkBgB,SAAAA,EAAW,EAAE,WAAAC,GAAW,SAAAC,GAAS,UAAAC,GAAU,UAAAC,GAAU,GAAGC,KAA8B;AACpG,QAAM,EAAE,aAAAC,EAAgB,IAAAC,EAAUF,GAAWJ,CAAS;AAEtD,2BACG,UAAQ,EAAA,GAAGK,GAAa,KAAKL,GAAW,WAAWO,EAAKC,EAAO,QAAWA,EAAO,WAAWP,CAAO,EAAE,CAAC,GACpG,UAAA;AAAA,IAAAE;AAAA,IACAD,KAAY,gBAAAO,EAACC,GAAK,EAAA,MAAMR,EAAU,CAAA;AAAA,EACrC,EAAA,CAAA;AAEJ;"}
@@ -1,7 +1,17 @@
1
- import "react/jsx-runtime";
2
- import "../../clsx-OuTLNxxd.js";
3
- import { M as p } from "../../MenuLink-yPEEfABB.js";
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import { c as t } from "../../clsx-OuTLNxxd.js";
3
+ import { NavLink as l } from "react-router-dom";
4
+ import '../../assets/MenuLink.css';const n = {
5
+ "menu-link": "_menu-link_8gjhh_1",
6
+ "menu-link--active": "_menu-link--active_8gjhh_8"
7
+ }, k = (i) => /* @__PURE__ */ m(
8
+ l,
9
+ {
10
+ ...i,
11
+ className: ({ isActive: e }) => t(n["menu-link"], { [n["menu-link--active"]]: e })
12
+ }
13
+ );
4
14
  export {
5
- p as MenuLink
15
+ k as MenuLink
6
16
  };
7
17
  //# sourceMappingURL=MenuLink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuLink.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"MenuLink.js","sources":["../../../src/components/MenuLink/MenuLink.tsx"],"sourcesContent":["import classNames from 'clsx';\nimport { NavLink } from 'react-router-dom';\n\nimport type { NavLinkProps } from 'react-router-dom';\n\nimport styles from './MenuLink.module.css';\n\n// Omit style so it cannot be accidentally used\nexport const MenuLink = (props: Omit<NavLinkProps, 'style'>) => (\n <NavLink\n {...props}\n className={({ isActive }) => classNames(styles['menu-link'], { [styles['menu-link--active']]: isActive })}\n />\n);\n"],"names":["MenuLink","props","jsx","NavLink","isActive","classNames","styles"],"mappings":";;;;;;GAQaA,IAAW,CAACC,MACvB,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACE,GAAGF;AAAA,IACJ,WAAW,CAAC,EAAE,UAAAG,EAAS,MAAMC,EAAWC,EAAO,WAAW,GAAG,EAAE,CAACA,EAAO,mBAAmB,CAAC,GAAGF,GAAU;AAAA,EAAA;AAC1G;"}
@@ -1,15 +1,16 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { M as i, a as o } from "../../MenuLink-yPEEfABB.js";
3
- import '../../assets/MenuLink.css';const l = {
2
+ import { MemoryRouter as o } from "react-router-dom";
3
+ import { MenuLink as i } from "./MenuLink.js";
4
+ import '../../assets/MenuLink2.css';const a = {
4
5
  title: "Atoms/MenuLink",
5
6
  component: i
6
7
  }, t = [
7
8
  { to: "/menu-link-1", title: "Menu Link One" },
8
9
  { to: "/menu-link-2", title: "Menu Link Two" },
9
10
  { to: "/menu-link-3", title: "Menu Link Three" }
10
- ], a = () => /* @__PURE__ */ e(o, { initialEntries: t.map((n) => n.to), initialIndex: 0, children: /* @__PURE__ */ e("nav", { className: "navbar", children: t.map((n) => /* @__PURE__ */ e(i, { to: n.to, children: n.title }, n.to)) }) }), s = a.bind({});
11
+ ], m = () => /* @__PURE__ */ e(o, { initialEntries: t.map((n) => n.to), initialIndex: 0, children: /* @__PURE__ */ e("nav", { className: "navbar", children: t.map((n) => /* @__PURE__ */ e(i, { to: n.to, children: n.title }, n.to)) }) }), s = m.bind({});
11
12
  export {
12
13
  s as MenuLinkExample,
13
- l as default
14
+ a as default
14
15
  };
15
16
  //# sourceMappingURL=MenuLink.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuLink.stories.js","sources":["../../../src/components/MenuLink/MenuLink.stories.tsx"],"sourcesContent":["import { MemoryRouter, type NavLinkProps } from 'react-router-dom';\n\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { MenuLink } from './MenuLink';\n\nimport './MenuLink.stories.css';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/MenuLink',\n component: MenuLink,\n} as Meta<Omit<NavLinkProps, 'style'>>;\n\nconst menuLinks = [\n { to: '/menu-link-1', title: 'Menu Link One' },\n { to: '/menu-link-2', title: 'Menu Link Two' },\n { to: '/menu-link-3', title: 'Menu Link Three' },\n];\n\nconst Template: StoryFn<Omit<NavLinkProps, 'style'>> = () => {\n return (\n <MemoryRouter initialEntries={menuLinks.map((link) => link.to)} initialIndex={0}>\n <nav className=\"navbar\">\n {menuLinks.map((link) => (\n <MenuLink key={link.to} to={link.to}>\n {link.title}\n </MenuLink>\n ))}\n </nav>\n </MemoryRouter>\n );\n};\n\nexport const MenuLinkExample = Template.bind({});\n"],"names":["MenuLink_stories","MenuLink","menuLinks","Template","jsx","MemoryRouter","link","MenuLinkExample"],"mappings":";;AASA,MAAeA,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AACb,GAEMC,IAAY;AAAA,EAChB,EAAE,IAAI,gBAAgB,OAAO,gBAAgB;AAAA,EAC7C,EAAE,IAAI,gBAAgB,OAAO,gBAAgB;AAAA,EAC7C,EAAE,IAAI,gBAAgB,OAAO,kBAAkB;AACjD,GAEMC,IAAiD,MAElD,gBAAAC,EAAAC,GAAA,EAAa,gBAAgBH,EAAU,IAAI,CAACI,MAASA,EAAK,EAAE,GAAG,cAAc,GAC5E,4BAAC,OAAI,EAAA,WAAU,UACZ,UAAAJ,EAAU,IAAI,CAACI,MACd,gBAAAF,EAACH,KAAuB,IAAIK,EAAK,IAC9B,UAAAA,EAAK,SADOA,EAAK,EAEpB,CACD,GACH,EACF,CAAA,GAISC,IAAkBJ,EAAS,KAAK,CAAE,CAAA;"}
1
+ {"version":3,"file":"MenuLink.stories.js","sources":["../../../src/components/MenuLink/MenuLink.stories.tsx"],"sourcesContent":["import { MemoryRouter, type NavLinkProps } from 'react-router-dom';\n\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { MenuLink } from './MenuLink';\n\nimport './MenuLink.stories.css';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Atoms/MenuLink',\n component: MenuLink,\n} as Meta<Omit<NavLinkProps, 'style'>>;\n\nconst menuLinks = [\n { to: '/menu-link-1', title: 'Menu Link One' },\n { to: '/menu-link-2', title: 'Menu Link Two' },\n { to: '/menu-link-3', title: 'Menu Link Three' },\n];\n\nconst Template: StoryFn<Omit<NavLinkProps, 'style'>> = () => {\n return (\n <MemoryRouter initialEntries={menuLinks.map((link) => link.to)} initialIndex={0}>\n <nav className=\"navbar\">\n {menuLinks.map((link) => (\n <MenuLink key={link.to} to={link.to}>\n {link.title}\n </MenuLink>\n ))}\n </nav>\n </MemoryRouter>\n );\n};\n\nexport const MenuLinkExample = Template.bind({});\n"],"names":["MenuLink_stories","MenuLink","menuLinks","Template","jsx","MemoryRouter","link","MenuLinkExample"],"mappings":";;;AASA,MAAeA,IAAA;AAAA,EACb,OAAO;AAAA,EACP,WAAWC;AACb,GAEMC,IAAY;AAAA,EAChB,EAAE,IAAI,gBAAgB,OAAO,gBAAgB;AAAA,EAC7C,EAAE,IAAI,gBAAgB,OAAO,gBAAgB;AAAA,EAC7C,EAAE,IAAI,gBAAgB,OAAO,kBAAkB;AACjD,GAEMC,IAAiD,MAElD,gBAAAC,EAAAC,GAAA,EAAa,gBAAgBH,EAAU,IAAI,CAACI,MAASA,EAAK,EAAE,GAAG,cAAc,GAC5E,4BAAC,OAAI,EAAA,WAAU,UACZ,UAAAJ,EAAU,IAAI,CAACI,MACd,gBAAAF,EAACH,KAAuB,IAAIK,EAAK,IAC9B,UAAAA,EAAK,SADOA,EAAK,EAEpB,CACD,GACH,EACF,CAAA,GAISC,IAAkBJ,EAAS,KAAK,CAAE,CAAA;"}
@@ -1,4 +1,4 @@
1
- import { M as o } from "../../MenuLink-yPEEfABB.js";
1
+ import { MenuLink as o } from "./MenuLink.js";
2
2
  export {
3
3
  o as MenuLink
4
4
  };
@@ -1,10 +1,12 @@
1
- import { jsx as l, Fragment as $, jsxs as c } from "react/jsx-runtime";
2
- import { d as q, b as G, c as J, e as Q, f as W, g as X } from "../../useDialog-DZhIlo2a.js";
1
+ import { jsx as a, Fragment as v, jsxs as c } from "react/jsx-runtime";
2
+ import { useDialog as G } from "@react-aria/dialog";
3
+ import { FocusScope as J } from "@react-aria/focus";
4
+ import { useModal as Q, useOverlay as W, usePreventScroll as X, OverlayContainer as Y } from "@react-aria/overlays";
3
5
  import { c as i } from "../../clsx-OuTLNxxd.js";
4
- import { useRef as x, useState as v, useEffect as Y } from "react";
5
- import { Backdrop as Z } from "../Backdrop/Backdrop.js";
6
+ import { useRef as S, useState as T, useEffect as Z } from "react";
7
+ import { Backdrop as $ } from "../Backdrop/Backdrop.js";
6
8
  import { OverlayCloseButton as oo } from "../OverlayCloseButton/OverlayCloseButton.js";
7
- import { Spinner as ao } from "../Spinner/Spinner.js";
9
+ import { Spinner as lo } from "../Spinner/Spinner.js";
8
10
  import '../../assets/ModalDialog.css';const o = {
9
11
  "modal-dialog": "_modal-dialog_1w1ar_1",
10
12
  "modal-dialog--padded": "_modal-dialog--padded_1w1ar_18",
@@ -20,78 +22,78 @@ import '../../assets/ModalDialog.css';const o = {
20
22
  "modal-dialog--wide": "_modal-dialog--wide_1w1ar_104",
21
23
  "modal-dialog--content-with-buttons": "_modal-dialog--content-with-buttons_1w1ar_118"
22
24
  };
23
- function co(S) {
25
+ function _o(y) {
24
26
  const {
25
27
  buttons: t,
26
- children: T,
27
- isDismissable: m = !0,
28
- isKeyboardDismissDisabled: B = !m,
29
- isLoading: y,
30
- spinnerAriaValueText: D = "Loading",
31
- closeButtonAriaValueText: E = "Close",
28
+ children: x,
29
+ isDismissable: _ = !0,
30
+ isKeyboardDismissDisabled: B = !_,
31
+ isLoading: D,
32
+ spinnerAriaValueText: P = "Loading",
33
+ closeButtonAriaValueText: C = "Close",
32
34
  isOpen: e,
33
- noValidate: L = !1,
34
- onClose: _,
35
- onSubmit: N,
36
- role: P = "dialog",
35
+ noValidate: E = !1,
36
+ onClose: g,
37
+ onSubmit: L,
38
+ role: N = "dialog",
37
39
  title: r,
38
- headerContent: g,
39
- variant: s = "dialog",
40
- padded: f,
41
- slim: C,
40
+ headerContent: s,
41
+ variant: n = "dialog",
42
+ padded: u,
43
+ slim: F,
42
44
  wide: H,
43
- noButtonBorder: u = !1
44
- } = S, n = x(null), p = x(null), [V, k] = v(!1), [z, A] = v(!1), { dialogProps: F, titleProps: I } = q({ role: P }, n), { modalProps: R } = G({ isDisabled: !e }), { overlayProps: j, underlayProps: K } = J(
45
- { isDismissable: m, isKeyboardDismissDisabled: B, isOpen: e, onClose: _ },
46
- n
45
+ noButtonBorder: f = !1
46
+ } = y, m = S(null), p = S(null), [O, V] = T(!1), [k, z] = T(!1), { dialogProps: A, titleProps: I } = G({ role: N }, m), { modalProps: M } = Q({ isDisabled: !e }), { overlayProps: R, underlayProps: j } = W(
47
+ { isDismissable: _, isKeyboardDismissDisabled: B, isOpen: e, onClose: g },
48
+ m
47
49
  );
48
- Q({ isDisabled: !e }), Y(() => {
49
- const a = p.current;
50
- function b() {
51
- if (a) {
52
- const h = a.scrollHeight, w = a.clientHeight, U = a.scrollTop;
53
- k(h > w), A(U + w >= h);
50
+ X({ isDisabled: !e }), Z(() => {
51
+ const l = p.current;
52
+ function h() {
53
+ if (l) {
54
+ const w = l.scrollHeight, b = l.clientHeight, q = l.scrollTop;
55
+ V(w > b), z(q + b >= w);
54
56
  }
55
57
  }
56
58
  function d() {
57
- b();
59
+ h();
58
60
  }
59
- a && (a.addEventListener("scroll", d), window.addEventListener("resize", d));
60
- const O = setTimeout(() => {
61
- b();
61
+ l && (l.addEventListener("scroll", d), window.addEventListener("resize", d));
62
+ const U = setTimeout(() => {
63
+ h();
62
64
  }, 0);
63
65
  return () => {
64
- a && a.removeEventListener("scroll", d), window.removeEventListener("resize", d), clearTimeout(O);
66
+ l && l.removeEventListener("scroll", d), window.removeEventListener("resize", d), clearTimeout(U);
65
67
  };
66
- }, [e]);
67
- function M(a) {
68
- a.stopPropagation();
68
+ }, [e, s]);
69
+ function K(l) {
70
+ l.stopPropagation();
69
71
  }
70
- return e ? /* @__PURE__ */ l(W, { children: /* @__PURE__ */ l(Z, { ...K, children: y ? /* @__PURE__ */ l(ao, { ariaValueText: D }) : /* @__PURE__ */ l($, { children: /* @__PURE__ */ l(X, { autoFocus: !0, contain: !0, restoreFocus: !0, children: /* @__PURE__ */ c(
72
+ return e ? /* @__PURE__ */ a(Y, { children: /* @__PURE__ */ a($, { ...j, children: D ? /* @__PURE__ */ a(lo, { ariaValueText: P }) : /* @__PURE__ */ a(v, { children: /* @__PURE__ */ a(J, { autoFocus: !0, contain: !0, restoreFocus: !0, children: /* @__PURE__ */ c(
71
73
  "div",
72
74
  {
73
- ...F,
75
+ ...A,
76
+ ...M,
74
77
  ...R,
75
- ...j,
76
78
  className: i(o["modal-dialog"], {
77
- [o["modal-dialog--confirm"]]: s === "confirm",
78
- [o["modal-dialog--padded"]]: f,
79
- [o["modal-dialog--slim"]]: C,
79
+ [o["modal-dialog--confirm"]]: n === "confirm",
80
+ [o["modal-dialog--padded"]]: u,
81
+ [o["modal-dialog--slim"]]: F,
80
82
  [o["modal-dialog--wide"]]: H
81
83
  }),
82
- onKeyUp: M,
84
+ onKeyUp: K,
83
85
  role: "presentation",
84
- ref: n,
86
+ ref: m,
85
87
  children: [
86
- (r || g) && s === "dialog" && /* @__PURE__ */ c($, { children: [
87
- r && /* @__PURE__ */ l("h1", { ...I, className: o["modal-dialog__title"], children: r }),
88
- g,
89
- s === "dialog" && /* @__PURE__ */ l("span", { className: o["modal-dialog__close"], children: /* @__PURE__ */ l(
88
+ (r || s) && n === "dialog" && /* @__PURE__ */ c(v, { children: [
89
+ r && /* @__PURE__ */ a("h1", { ...I, className: o["modal-dialog__title"], children: r }),
90
+ s,
91
+ n === "dialog" && /* @__PURE__ */ a("span", { className: o["modal-dialog__close"], children: /* @__PURE__ */ a(
90
92
  oo,
91
93
  {
92
- "aria-label": E,
93
- onClick: _,
94
- paddedModal: f
94
+ "aria-label": C,
95
+ onClick: g,
96
+ paddedModal: u
95
97
  }
96
98
  ) })
97
99
  ] }),
@@ -101,17 +103,17 @@ function co(S) {
101
103
  className: i(o["modal-dialog__content"], {
102
104
  [o["modal-dialog--content-with-buttons"]]: t
103
105
  }),
104
- onSubmit: N,
105
- noValidate: L,
106
+ onSubmit: L,
107
+ noValidate: E,
106
108
  ref: p,
107
109
  children: [
108
- /* @__PURE__ */ l("div", { className: i({ [o["modal-dialog__children"]]: !u }), children: T }),
109
- t && /* @__PURE__ */ l(
110
+ /* @__PURE__ */ a("div", { className: i({ [o["modal-dialog__children"]]: !f }), children: x }),
111
+ t && /* @__PURE__ */ a(
110
112
  "div",
111
113
  {
112
114
  className: i(o["modal-dialog__buttons"], {
113
- [o["modal-dialog__buttons--border"]]: !u,
114
- [o["modal-dialog__buttons--shadow"]]: V && !z
115
+ [o["modal-dialog__buttons--border"]]: !f,
116
+ [o["modal-dialog__buttons--shadow"]]: O && !k
115
117
  }),
116
118
  children: t
117
119
  }
@@ -124,6 +126,6 @@ function co(S) {
124
126
  ) }) }) }) }) : null;
125
127
  }
126
128
  export {
127
- co as ModalDialog
129
+ _o as ModalDialog
128
130
  };
129
131
  //# sourceMappingURL=ModalDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalDialog.js","sources":["../../../src/components/ModalDialog/ModalDialog.tsx"],"sourcesContent":["import { useDialog } from '@react-aria/dialog';\nimport { FocusScope } from '@react-aria/focus';\nimport { OverlayContainer, useModal, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport classNames from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport type { AriaDialogProps } from '@react-types/dialog';\nimport type { FormHTMLAttributes, KeyboardEvent, PropsWithChildren, ReactNode } from 'react';\n\nimport styles from './ModalDialog.module.css';\n\nimport { Backdrop } from 'components/Backdrop';\nimport { OverlayCloseButton } from 'components/OverlayCloseButton';\nimport { Spinner } from 'components/Spinner';\n\nexport interface ModalDialogProps {\n buttons?: ReactNode;\n isDismissable?: boolean;\n isKeyboardDismissDisabled?: boolean;\n isLoading?: boolean;\n spinnerAriaValueText?: string;\n closeButtonAriaValueText?: string;\n isOpen: boolean;\n noValidate?: boolean;\n onClose?(): void;\n onSubmit?: FormHTMLAttributes<HTMLFormElement>['onSubmit'];\n role?: AriaDialogProps['role'];\n title?: string;\n headerContent?: ReactNode;\n variant?: 'confirm' | 'dialog';\n padded?: boolean;\n slim?: boolean;\n wide?: boolean;\n noButtonBorder?: boolean;\n}\n\nexport function ModalDialog(props: PropsWithChildren<ModalDialogProps>) {\n const {\n buttons,\n children,\n isDismissable = true,\n isKeyboardDismissDisabled = !isDismissable,\n isLoading,\n spinnerAriaValueText = 'Loading',\n closeButtonAriaValueText = 'Close',\n isOpen,\n noValidate = false,\n onClose,\n onSubmit,\n role = 'dialog',\n title,\n headerContent,\n variant = 'dialog',\n padded,\n slim,\n wide,\n noButtonBorder = false,\n } = props;\n\n const ref = useRef<HTMLDivElement>(null);\n const formRef = useRef<HTMLFormElement>(null);\n const [isScrollable, setIsScrollable] = useState(false);\n const [isScrolledToBottom, setIsScrolledToBottom] = useState(false);\n\n const { dialogProps, titleProps } = useDialog({ role }, ref);\n const { modalProps } = useModal({ isDisabled: !isOpen });\n const { overlayProps, underlayProps } = useOverlay(\n { isDismissable, isKeyboardDismissDisabled, isOpen, onClose },\n ref\n );\n\n usePreventScroll({ isDisabled: !isOpen });\n\n useEffect(() => {\n const formElement = formRef.current;\n\n function checkScrollable() {\n if (formElement) {\n const scrollHeight = formElement.scrollHeight;\n const clientHeight = formElement.clientHeight;\n const scrollTop = formElement.scrollTop;\n\n setIsScrollable(scrollHeight > clientHeight);\n setIsScrolledToBottom(scrollTop + clientHeight >= scrollHeight);\n }\n }\n\n function handleScrollAndResize() {\n checkScrollable();\n }\n\n if (formElement) {\n formElement.addEventListener('scroll', handleScrollAndResize);\n window.addEventListener('resize', handleScrollAndResize);\n }\n\n const timeoutId = setTimeout(() => {\n checkScrollable();\n }, 0);\n\n return () => {\n if (formElement) {\n formElement.removeEventListener('scroll', handleScrollAndResize);\n }\n window.removeEventListener('resize', handleScrollAndResize);\n clearTimeout(timeoutId);\n };\n }, [isOpen]);\n\n function onKeyUp(event: KeyboardEvent) {\n event.stopPropagation();\n }\n\n if (!isOpen) return null;\n\n return (\n <OverlayContainer>\n <Backdrop {...underlayProps}>\n {isLoading ? (\n <Spinner ariaValueText={spinnerAriaValueText} />\n ) : (\n <>\n {/* eslint-disable-next-line jsx-a11y/no-autofocus */}\n <FocusScope autoFocus contain restoreFocus>\n <div\n {...dialogProps}\n {...modalProps}\n {...overlayProps}\n className={classNames(styles['modal-dialog'], {\n [styles['modal-dialog--confirm']]: variant === 'confirm',\n [styles['modal-dialog--padded']]: padded,\n [styles['modal-dialog--slim']]: slim,\n [styles['modal-dialog--wide']]: wide,\n })}\n onKeyUp={onKeyUp}\n role=\"presentation\"\n ref={ref}\n >\n {(title || headerContent) && variant === 'dialog' && (\n <>\n {title && (\n <h1 {...titleProps} className={styles['modal-dialog__title']}>\n {title}\n </h1>\n )}\n {headerContent}\n {variant === 'dialog' && (\n <span className={styles['modal-dialog__close']}>\n <OverlayCloseButton\n aria-label={closeButtonAriaValueText}\n onClick={onClose}\n paddedModal={padded}\n />\n </span>\n )}\n </>\n )}\n <form\n className={classNames(styles['modal-dialog__content'], {\n [styles['modal-dialog--content-with-buttons']]: buttons,\n })}\n onSubmit={onSubmit}\n noValidate={noValidate}\n ref={formRef}\n >\n <div className={classNames({ [styles['modal-dialog__children']]: !noButtonBorder })}>{children}</div>\n {buttons && (\n <div\n className={classNames(styles['modal-dialog__buttons'], {\n [styles['modal-dialog__buttons--border']]: !noButtonBorder,\n [styles['modal-dialog__buttons--shadow']]: isScrollable && !isScrolledToBottom,\n })}\n >\n {buttons}\n </div>\n )}\n </form>\n </div>\n </FocusScope>\n </>\n )}\n </Backdrop>\n </OverlayContainer>\n );\n}\n"],"names":["ModalDialog","props","buttons","children","isDismissable","isKeyboardDismissDisabled","isLoading","spinnerAriaValueText","closeButtonAriaValueText","isOpen","noValidate","onClose","onSubmit","role","title","headerContent","variant","padded","slim","wide","noButtonBorder","ref","useRef","formRef","isScrollable","setIsScrollable","useState","isScrolledToBottom","setIsScrolledToBottom","dialogProps","titleProps","useDialog","modalProps","useModal","overlayProps","underlayProps","useOverlay","usePreventScroll","useEffect","formElement","checkScrollable","scrollHeight","clientHeight","scrollTop","handleScrollAndResize","timeoutId","onKeyUp","event","jsx","OverlayContainer","Backdrop","Spinner","Fragment","FocusScope","jsxs","classNames","styles","OverlayCloseButton"],"mappings":"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"}
1
+ {"version":3,"file":"ModalDialog.js","sources":["../../../src/components/ModalDialog/ModalDialog.tsx"],"sourcesContent":["import { useDialog } from '@react-aria/dialog';\nimport { FocusScope } from '@react-aria/focus';\nimport { OverlayContainer, useModal, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport classNames from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport type { AriaDialogProps } from '@react-types/dialog';\nimport type { FormHTMLAttributes, KeyboardEvent, PropsWithChildren, ReactNode } from 'react';\n\nimport styles from './ModalDialog.module.css';\n\nimport { Backdrop } from 'components/Backdrop';\nimport { OverlayCloseButton } from 'components/OverlayCloseButton';\nimport { Spinner } from 'components/Spinner';\n\nexport interface ModalDialogProps {\n buttons?: ReactNode;\n isDismissable?: boolean;\n isKeyboardDismissDisabled?: boolean;\n isLoading?: boolean;\n spinnerAriaValueText?: string;\n closeButtonAriaValueText?: string;\n isOpen: boolean;\n noValidate?: boolean;\n onClose?(): void;\n onSubmit?: FormHTMLAttributes<HTMLFormElement>['onSubmit'];\n role?: AriaDialogProps['role'];\n title?: string;\n headerContent?: ReactNode;\n variant?: 'confirm' | 'dialog';\n padded?: boolean;\n slim?: boolean;\n wide?: boolean;\n noButtonBorder?: boolean;\n}\n\nexport function ModalDialog(props: PropsWithChildren<ModalDialogProps>) {\n const {\n buttons,\n children,\n isDismissable = true,\n isKeyboardDismissDisabled = !isDismissable,\n isLoading,\n spinnerAriaValueText = 'Loading',\n closeButtonAriaValueText = 'Close',\n isOpen,\n noValidate = false,\n onClose,\n onSubmit,\n role = 'dialog',\n title,\n headerContent,\n variant = 'dialog',\n padded,\n slim,\n wide,\n noButtonBorder = false,\n } = props;\n\n const ref = useRef<HTMLDivElement>(null);\n const formRef = useRef<HTMLFormElement>(null);\n const [isScrollable, setIsScrollable] = useState(false);\n const [isScrolledToBottom, setIsScrolledToBottom] = useState(false);\n\n const { dialogProps, titleProps } = useDialog({ role }, ref);\n const { modalProps } = useModal({ isDisabled: !isOpen });\n const { overlayProps, underlayProps } = useOverlay(\n { isDismissable, isKeyboardDismissDisabled, isOpen, onClose },\n ref\n );\n\n usePreventScroll({ isDisabled: !isOpen });\n\n useEffect(() => {\n const formElement = formRef.current;\n\n function checkScrollable() {\n if (formElement) {\n const scrollHeight = formElement.scrollHeight;\n const clientHeight = formElement.clientHeight;\n const scrollTop = formElement.scrollTop;\n\n setIsScrollable(scrollHeight > clientHeight);\n setIsScrolledToBottom(scrollTop + clientHeight >= scrollHeight);\n }\n }\n\n function handleScrollAndResize() {\n checkScrollable();\n }\n\n if (formElement) {\n formElement.addEventListener('scroll', handleScrollAndResize);\n window.addEventListener('resize', handleScrollAndResize);\n }\n\n const timeoutId = setTimeout(() => {\n checkScrollable();\n }, 0);\n\n return () => {\n if (formElement) {\n formElement.removeEventListener('scroll', handleScrollAndResize);\n }\n window.removeEventListener('resize', handleScrollAndResize);\n clearTimeout(timeoutId);\n };\n }, [isOpen, headerContent]);\n\n function onKeyUp(event: KeyboardEvent) {\n event.stopPropagation();\n }\n\n if (!isOpen) return null;\n\n return (\n <OverlayContainer>\n <Backdrop {...underlayProps}>\n {isLoading ? (\n <Spinner ariaValueText={spinnerAriaValueText} />\n ) : (\n <>\n {/* eslint-disable-next-line jsx-a11y/no-autofocus */}\n <FocusScope autoFocus contain restoreFocus>\n <div\n {...dialogProps}\n {...modalProps}\n {...overlayProps}\n className={classNames(styles['modal-dialog'], {\n [styles['modal-dialog--confirm']]: variant === 'confirm',\n [styles['modal-dialog--padded']]: padded,\n [styles['modal-dialog--slim']]: slim,\n [styles['modal-dialog--wide']]: wide,\n })}\n onKeyUp={onKeyUp}\n role=\"presentation\"\n ref={ref}\n >\n {(title || headerContent) && variant === 'dialog' && (\n <>\n {title && (\n <h1 {...titleProps} className={styles['modal-dialog__title']}>\n {title}\n </h1>\n )}\n {headerContent}\n {variant === 'dialog' && (\n <span className={styles['modal-dialog__close']}>\n <OverlayCloseButton\n aria-label={closeButtonAriaValueText}\n onClick={onClose}\n paddedModal={padded}\n />\n </span>\n )}\n </>\n )}\n <form\n className={classNames(styles['modal-dialog__content'], {\n [styles['modal-dialog--content-with-buttons']]: buttons,\n })}\n onSubmit={onSubmit}\n noValidate={noValidate}\n ref={formRef}\n >\n <div className={classNames({ [styles['modal-dialog__children']]: !noButtonBorder })}>{children}</div>\n {buttons && (\n <div\n className={classNames(styles['modal-dialog__buttons'], {\n [styles['modal-dialog__buttons--border']]: !noButtonBorder,\n [styles['modal-dialog__buttons--shadow']]: isScrollable && !isScrolledToBottom,\n })}\n >\n {buttons}\n </div>\n )}\n </form>\n </div>\n </FocusScope>\n </>\n )}\n </Backdrop>\n </OverlayContainer>\n );\n}\n"],"names":["ModalDialog","props","buttons","children","isDismissable","isKeyboardDismissDisabled","isLoading","spinnerAriaValueText","closeButtonAriaValueText","isOpen","noValidate","onClose","onSubmit","role","title","headerContent","variant","padded","slim","wide","noButtonBorder","ref","useRef","formRef","isScrollable","setIsScrollable","useState","isScrolledToBottom","setIsScrolledToBottom","dialogProps","titleProps","useDialog","modalProps","useModal","overlayProps","underlayProps","useOverlay","usePreventScroll","useEffect","formElement","checkScrollable","scrollHeight","clientHeight","scrollTop","handleScrollAndResize","timeoutId","onKeyUp","event","jsx","OverlayContainer","Backdrop","Spinner","Fragment","FocusScope","jsxs","classNames","styles","OverlayCloseButton"],"mappings":"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"}