You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
17 KiB
1 line
17 KiB
{"ast":null,"code":"const _excluded = [\"enabled\", \"placement\", \"strategy\", \"modifiers\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { dequal } from 'dequal';\nimport useSafeState from '@restart/hooks/useSafeState';\nimport { createPopper } from './popper';\nconst disabledApplyStylesModifier = {\n name: 'applyStyles',\n enabled: false,\n phase: 'afterWrite',\n fn: () => undefined\n}; // until docjs supports type exports...\n\nconst ariaDescribedByModifier = {\n name: 'ariaDescribedBy',\n enabled: true,\n phase: 'afterWrite',\n effect: _ref2 => {\n let {\n state\n } = _ref2;\n return () => {\n const {\n reference,\n popper\n } = state.elements;\n if ('removeAttribute' in reference) {\n const ids = (reference.getAttribute('aria-describedby') || '').split(',').filter(id => id.trim() !== popper.id);\n if (!ids.length) reference.removeAttribute('aria-describedby');else reference.setAttribute('aria-describedby', ids.join(','));\n }\n };\n },\n fn: _ref3 => {\n let {\n state\n } = _ref3;\n var _popper$getAttribute;\n const {\n popper,\n reference\n } = state.elements;\n const role = (_popper$getAttribute = popper.getAttribute('role')) == null ? void 0 : _popper$getAttribute.toLowerCase();\n if (popper.id && role === 'tooltip' && 'setAttribute' in reference) {\n const ids = reference.getAttribute('aria-describedby');\n if (ids && ids.split(',').indexOf(popper.id) !== -1) {\n return;\n }\n reference.setAttribute('aria-describedby', ids ? `${ids},${popper.id}` : popper.id);\n }\n }\n};\nconst EMPTY_MODIFIERS = [];\n/**\n * Position an element relative some reference element using Popper.js\n *\n * @param referenceElement\n * @param popperElement\n * @param {object} options\n * @param {object=} options.modifiers Popper.js modifiers\n * @param {boolean=} options.enabled toggle the popper functionality on/off\n * @param {string=} options.placement The popper element placement relative to the reference element\n * @param {string=} options.strategy the positioning strategy\n * @param {function=} options.onCreate called when the popper is created\n * @param {function=} options.onUpdate called when the popper is updated\n *\n * @returns {UsePopperState} The popper state\n */\n\nfunction usePopper(referenceElement, popperElement) {\n let _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let {\n enabled = true,\n placement = 'bottom',\n strategy = 'absolute',\n modifiers = EMPTY_MODIFIERS\n } = _ref,\n config = _objectWithoutPropertiesLoose(_ref, _excluded);\n const prevModifiers = useRef(modifiers);\n const popperInstanceRef = useRef();\n const update = useCallback(() => {\n var _popperInstanceRef$cu;\n (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.update();\n }, []);\n const forceUpdate = useCallback(() => {\n var _popperInstanceRef$cu2;\n (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.forceUpdate();\n }, []);\n const [popperState, setState] = useSafeState(useState({\n placement,\n update,\n forceUpdate,\n attributes: {},\n styles: {\n popper: {},\n arrow: {}\n }\n }));\n const updateModifier = useMemo(() => ({\n name: 'updateStateModifier',\n enabled: true,\n phase: 'write',\n requires: ['computeStyles'],\n fn: _ref4 => {\n let {\n state\n } = _ref4;\n const styles = {};\n const attributes = {};\n Object.keys(state.elements).forEach(element => {\n styles[element] = state.styles[element];\n attributes[element] = state.attributes[element];\n });\n setState({\n state,\n styles,\n attributes,\n update,\n forceUpdate,\n placement: state.placement\n });\n }\n }), [update, forceUpdate, setState]);\n const nextModifiers = useMemo(() => {\n if (!dequal(prevModifiers.current, modifiers)) {\n prevModifiers.current = modifiers;\n }\n return prevModifiers.current;\n }, [modifiers]);\n useEffect(() => {\n if (!popperInstanceRef.current || !enabled) return;\n popperInstanceRef.current.setOptions({\n placement,\n strategy,\n modifiers: [...nextModifiers, updateModifier, disabledApplyStylesModifier]\n });\n }, [strategy, placement, updateModifier, enabled, nextModifiers]);\n useEffect(() => {\n if (!enabled || referenceElement == null || popperElement == null) {\n return undefined;\n }\n popperInstanceRef.current = createPopper(referenceElement, popperElement, Object.assign({}, config, {\n placement,\n strategy,\n modifiers: [...nextModifiers, ariaDescribedByModifier, updateModifier]\n }));\n return () => {\n if (popperInstanceRef.current != null) {\n popperInstanceRef.current.destroy();\n popperInstanceRef.current = undefined;\n setState(s => Object.assign({}, s, {\n attributes: {},\n styles: {\n popper: {}\n }\n }));\n }\n }; // This is only run once to _create_ the popper\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, referenceElement, popperElement]);\n return popperState;\n}\nexport default usePopper;","map":{"version":3,"names":["_excluded","_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","Object","keys","key","i","length","indexOf","useCallback","useEffect","useMemo","useRef","useState","dequal","useSafeState","createPopper","disabledApplyStylesModifier","name","enabled","phase","fn","undefined","ariaDescribedByModifier","effect","state","reference","popper","elements","ids","getAttribute","split","filter","id","trim","removeAttribute","setAttribute","join","_popper$getAttribute","role","toLowerCase","EMPTY_MODIFIERS","usePopper","referenceElement","popperElement","_ref","placement","strategy","modifiers","config","prevModifiers","popperInstanceRef","update","_popperInstanceRef$cu","current","forceUpdate","_popperInstanceRef$cu2","popperState","setState","attributes","styles","arrow","updateModifier","requires","forEach","element","nextModifiers","setOptions","assign","destroy","s"],"sources":["C:/Cours/SAE/SAE-3.01/Scripted/Scripted/website/node_modules/@restart/ui/esm/usePopper.js"],"sourcesContent":["const _excluded = [\"enabled\", \"placement\", \"strategy\", \"modifiers\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { dequal } from 'dequal';\nimport useSafeState from '@restart/hooks/useSafeState';\nimport { createPopper } from './popper';\nconst disabledApplyStylesModifier = {\n name: 'applyStyles',\n enabled: false,\n phase: 'afterWrite',\n fn: () => undefined\n}; // until docjs supports type exports...\n\nconst ariaDescribedByModifier = {\n name: 'ariaDescribedBy',\n enabled: true,\n phase: 'afterWrite',\n effect: ({\n state\n }) => () => {\n const {\n reference,\n popper\n } = state.elements;\n\n if ('removeAttribute' in reference) {\n const ids = (reference.getAttribute('aria-describedby') || '').split(',').filter(id => id.trim() !== popper.id);\n if (!ids.length) reference.removeAttribute('aria-describedby');else reference.setAttribute('aria-describedby', ids.join(','));\n }\n },\n fn: ({\n state\n }) => {\n var _popper$getAttribute;\n\n const {\n popper,\n reference\n } = state.elements;\n const role = (_popper$getAttribute = popper.getAttribute('role')) == null ? void 0 : _popper$getAttribute.toLowerCase();\n\n if (popper.id && role === 'tooltip' && 'setAttribute' in reference) {\n const ids = reference.getAttribute('aria-describedby');\n\n if (ids && ids.split(',').indexOf(popper.id) !== -1) {\n return;\n }\n\n reference.setAttribute('aria-describedby', ids ? `${ids},${popper.id}` : popper.id);\n }\n }\n};\nconst EMPTY_MODIFIERS = [];\n/**\n * Position an element relative some reference element using Popper.js\n *\n * @param referenceElement\n * @param popperElement\n * @param {object} options\n * @param {object=} options.modifiers Popper.js modifiers\n * @param {boolean=} options.enabled toggle the popper functionality on/off\n * @param {string=} options.placement The popper element placement relative to the reference element\n * @param {string=} options.strategy the positioning strategy\n * @param {function=} options.onCreate called when the popper is created\n * @param {function=} options.onUpdate called when the popper is updated\n *\n * @returns {UsePopperState} The popper state\n */\n\nfunction usePopper(referenceElement, popperElement, _ref = {}) {\n let {\n enabled = true,\n placement = 'bottom',\n strategy = 'absolute',\n modifiers = EMPTY_MODIFIERS\n } = _ref,\n config = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const prevModifiers = useRef(modifiers);\n const popperInstanceRef = useRef();\n const update = useCallback(() => {\n var _popperInstanceRef$cu;\n\n (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.update();\n }, []);\n const forceUpdate = useCallback(() => {\n var _popperInstanceRef$cu2;\n\n (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.forceUpdate();\n }, []);\n const [popperState, setState] = useSafeState(useState({\n placement,\n update,\n forceUpdate,\n attributes: {},\n styles: {\n popper: {},\n arrow: {}\n }\n }));\n const updateModifier = useMemo(() => ({\n name: 'updateStateModifier',\n enabled: true,\n phase: 'write',\n requires: ['computeStyles'],\n fn: ({\n state\n }) => {\n const styles = {};\n const attributes = {};\n Object.keys(state.elements).forEach(element => {\n styles[element] = state.styles[element];\n attributes[element] = state.attributes[element];\n });\n setState({\n state,\n styles,\n attributes,\n update,\n forceUpdate,\n placement: state.placement\n });\n }\n }), [update, forceUpdate, setState]);\n const nextModifiers = useMemo(() => {\n if (!dequal(prevModifiers.current, modifiers)) {\n prevModifiers.current = modifiers;\n }\n\n return prevModifiers.current;\n }, [modifiers]);\n useEffect(() => {\n if (!popperInstanceRef.current || !enabled) return;\n popperInstanceRef.current.setOptions({\n placement,\n strategy,\n modifiers: [...nextModifiers, updateModifier, disabledApplyStylesModifier]\n });\n }, [strategy, placement, updateModifier, enabled, nextModifiers]);\n useEffect(() => {\n if (!enabled || referenceElement == null || popperElement == null) {\n return undefined;\n }\n\n popperInstanceRef.current = createPopper(referenceElement, popperElement, Object.assign({}, config, {\n placement,\n strategy,\n modifiers: [...nextModifiers, ariaDescribedByModifier, updateModifier]\n }));\n return () => {\n if (popperInstanceRef.current != null) {\n popperInstanceRef.current.destroy();\n popperInstanceRef.current = undefined;\n setState(s => Object.assign({}, s, {\n attributes: {},\n styles: {\n popper: {}\n }\n }));\n }\n }; // This is only run once to _create_ the popper\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, referenceElement, popperElement]);\n return popperState;\n}\n\nexport default usePopper;"],"mappings":"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"},"metadata":{},"sourceType":"module"} |