{"version":3,"file":"js/868-0d7a03e94b916e1e88f6.js","mappings":"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","sources":["webpack://booqable/./node_modules/chain-function/index.js","webpack://booqable/./node_modules/invariant/browser.js","webpack://booqable/./node_modules/lodash/_baseOrderBy.js","webpack://booqable/./node_modules/lodash/_baseSortBy.js","webpack://booqable/./node_modules/lodash/_compareAscending.js","webpack://booqable/./node_modules/lodash/_compareMultiple.js","webpack://booqable/./node_modules/lodash/isNaN.js","webpack://booqable/./node_modules/lodash/isNumber.js","webpack://booqable/./node_modules/lodash/sortBy.js","webpack://booqable/./node_modules/lodash/uniqBy.js","webpack://booqable/./node_modules/normalizr/lib/EntitySchema.js","webpack://booqable/./node_modules/normalizr/lib/IterableSchema.js","webpack://booqable/./node_modules/normalizr/lib/UnionSchema.js","webpack://booqable/./node_modules/normalizr/lib/index.js","webpack://booqable/./node_modules/react-addons-css-transition-group/index.js","webpack://booqable/./node_modules/react-addons-css-transition-group/node_modules/dom-helpers/class/addClass.js","webpack://booqable/./node_modules/react-addons-css-transition-group/node_modules/dom-helpers/class/hasClass.js","webpack://booqable/./node_modules/react-addons-css-transition-group/node_modules/dom-helpers/class/removeClass.js","webpack://booqable/./node_modules/react-addons-css-transition-group/node_modules/dom-helpers/transition/properties.js","webpack://booqable/./node_modules/react-addons-css-transition-group/node_modules/dom-helpers/util/inDOM.js","webpack://booqable/./node_modules/react-addons-css-transition-group/node_modules/dom-helpers/util/requestAnimationFrame.js","webpack://booqable/./node_modules/react-addons-css-transition-group/node_modules/react-transition-group/CSSTransitionGroup.js","webpack://booqable/./node_modules/react-addons-css-transition-group/node_modules/react-transition-group/CSSTransitionGroupChild.js","webpack://booqable/./node_modules/react-addons-css-transition-group/node_modules/react-transition-group/TransitionGroup.js","webpack://booqable/./node_modules/react-addons-css-transition-group/node_modules/react-transition-group/utils/ChildMapping.js","webpack://booqable/./node_modules/react-addons-css-transition-group/node_modules/react-transition-group/utils/PropTypes.js","webpack://booqable/./node_modules/react-transition-group/esm/Transition.js","webpack://booqable/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://booqable/./node_modules/react-transition-group/esm/config.js","webpack://booqable/./node_modules/react-transition-group/esm/utils/reflow.js","webpack://booqable/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://booqable/./node_modules/react/jsx-runtime.js","webpack://booqable/./node_modules/warning/browser.js","webpack://booqable/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://booqable/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://booqable/./node_modules/clsx/dist/clsx.mjs","webpack://booqable/./node_modules/d3-interpolate/src/number.js","webpack://booqable/./node_modules/tslib/tslib.es6.mjs","webpack://booqable/./node_modules/@radix-ui/primitive/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-context/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-id/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-focus-scope/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-portal/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://booqable/./node_modules/@radix-ui/react-focus-guards/dist/index.mjs","webpack://booqable/./node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack://booqable/./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://booqable/./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://booqable/./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://booqable/./node_modules/use-sidecar/dist/es2015/medium.js","webpack://booqable/./node_modules/react-remove-scroll/dist/es2015/medium.js","webpack://booqable/./node_modules/react-remove-scroll/dist/es2015/UI.js","webpack://booqable/./node_modules/use-sidecar/dist/es2015/exports.js","webpack://booqable/./node_modules/get-nonce/dist/es2015/index.js","webpack://booqable/./node_modules/react-style-singleton/dist/es2015/singleton.js","webpack://booqable/./node_modules/react-style-singleton/dist/es2015/component.js","webpack://booqable/./node_modules/react-style-singleton/dist/es2015/hook.js","webpack://booqable/./node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack://booqable/./node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack://booqable/./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack://booqable/./node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack://booqable/./node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack://booqable/./node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack://booqable/./node_modules/react-remove-scroll/dist/es2015/Combination.js","webpack://booqable/./node_modules/aria-hidden/dist/es2015/index.js","webpack://booqable/./node_modules/@radix-ui/react-dialog/dist/index.mjs","webpack://booqable/./node_modules/vaul/dist/index.mjs"],"sourcesContent":["\nmodule.exports = function chain(){\n var len = arguments.length\n var args = [];\n\n for (var i = 0; i < len; i++)\n args[i] = arguments[i]\n\n args = args.filter(function(fn){ return fn != null })\n\n if (args.length === 0) return undefined\n if (args.length === 1) return args[0]\n\n return args.reduce(function(current, next){\n return function chainedFunction() {\n current.apply(this, arguments);\n next.apply(this, arguments);\n };\n })\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar EntitySchema = function () {\n function EntitySchema(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, EntitySchema);\n\n if (!key || typeof key !== 'string') {\n throw new Error('A string non-empty key is required');\n }\n\n this._key = key;\n this._assignEntity = options.assignEntity;\n\n var idAttribute = options.idAttribute || 'id';\n this._getId = typeof idAttribute === 'function' ? idAttribute : function (x) {\n return x[idAttribute];\n };\n this._idAttribute = idAttribute;\n this._meta = options.meta;\n this._defaults = options.defaults;\n }\n\n _createClass(EntitySchema, [{\n key: 'getAssignEntity',\n value: function getAssignEntity() {\n return this._assignEntity;\n }\n }, {\n key: 'getKey',\n value: function getKey() {\n return this._key;\n }\n }, {\n key: 'getId',\n value: function getId(entity, key) {\n return this._getId(entity, key);\n }\n }, {\n key: 'getIdAttribute',\n value: function getIdAttribute() {\n return this._idAttribute;\n }\n }, {\n key: 'getMeta',\n value: function getMeta(prop) {\n if (!prop || typeof prop !== 'string') {\n throw new Error('A string non-empty property name is required');\n }\n return this._meta && this._meta[prop];\n }\n }, {\n key: 'getDefaults',\n value: function getDefaults() {\n return this._defaults;\n }\n }, {\n key: 'define',\n value: function define(nestedSchema) {\n for (var key in nestedSchema) {\n if (nestedSchema.hasOwnProperty(key)) {\n this[key] = nestedSchema[key];\n }\n }\n }\n }]);\n\n return EntitySchema;\n}();\n\nexports.default = EntitySchema;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _isObject = require('lodash/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nvar _UnionSchema = require('./UnionSchema');\n\nvar _UnionSchema2 = _interopRequireDefault(_UnionSchema);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ArraySchema = function () {\n function ArraySchema(itemSchema) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ArraySchema);\n\n if (!(0, _isObject2.default)(itemSchema)) {\n throw new Error('ArraySchema requires item schema to be an object.');\n }\n\n if (options.schemaAttribute) {\n var schemaAttribute = options.schemaAttribute;\n this._itemSchema = new _UnionSchema2.default(itemSchema, { schemaAttribute: schemaAttribute });\n } else {\n this._itemSchema = itemSchema;\n }\n }\n\n _createClass(ArraySchema, [{\n key: 'getItemSchema',\n value: function getItemSchema() {\n return this._itemSchema;\n }\n }]);\n\n return ArraySchema;\n}();\n\nexports.default = ArraySchema;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _isObject = require('lodash/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar UnionSchema = function () {\n function UnionSchema(itemSchema, options) {\n _classCallCheck(this, UnionSchema);\n\n if (!(0, _isObject2.default)(itemSchema)) {\n throw new Error('UnionSchema requires item schema to be an object.');\n }\n\n if (!options || !options.schemaAttribute) {\n throw new Error('UnionSchema requires schemaAttribute option.');\n }\n\n this._itemSchema = itemSchema;\n\n var schemaAttribute = options.schemaAttribute;\n this._getSchema = typeof schemaAttribute === 'function' ? schemaAttribute : function (x) {\n return x[schemaAttribute];\n };\n }\n\n _createClass(UnionSchema, [{\n key: 'getItemSchema',\n value: function getItemSchema() {\n return this._itemSchema;\n }\n }, {\n key: 'getSchemaKey',\n value: function getSchemaKey(item) {\n return this._getSchema(item);\n }\n }]);\n\n return UnionSchema;\n}();\n\nexports.default = UnionSchema;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Schema = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.arrayOf = arrayOf;\nexports.valuesOf = valuesOf;\nexports.unionOf = unionOf;\nexports.normalize = normalize;\n\nvar _EntitySchema = require('./EntitySchema');\n\nvar _EntitySchema2 = _interopRequireDefault(_EntitySchema);\n\nvar _IterableSchema = require('./IterableSchema');\n\nvar _IterableSchema2 = _interopRequireDefault(_IterableSchema);\n\nvar _UnionSchema = require('./UnionSchema');\n\nvar _UnionSchema2 = _interopRequireDefault(_UnionSchema);\n\nvar _isEqual = require('lodash/isEqual');\n\nvar _isEqual2 = _interopRequireDefault(_isEqual);\n\nvar _isObject = require('lodash/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction defaultAssignEntity(normalized, key, entity) {\n normalized[key] = entity;\n}\n\nfunction visitObject(obj, schema, bag, options, collectionKey) {\n var _options$assignEntity = options.assignEntity,\n assignEntity = _options$assignEntity === undefined ? defaultAssignEntity : _options$assignEntity;\n\n\n var defaults = schema && schema.getDefaults && schema.getDefaults();\n var schemaAssignEntity = schema && schema.getAssignEntity && schema.getAssignEntity();\n var normalized = (0, _isObject2.default)(defaults) ? _extends({}, defaults) : {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n var resolvedSchema = typeof schema[key] === 'function' ? schema[key].call(null, obj) : schema[key];\n var entity = visit(obj[key], resolvedSchema, bag, options, collectionKey);\n assignEntity.call(null, normalized, key, entity, obj, schema);\n if (schemaAssignEntity) {\n schemaAssignEntity.call(null, normalized, key, entity, obj, schema);\n }\n }\n }\n return normalized;\n}\n\nfunction defaultMapper(iterableSchema, itemSchema, bag, options) {\n return function (obj, key) {\n return visit(obj, itemSchema, bag, options, key);\n };\n}\n\nfunction polymorphicMapper(iterableSchema, itemSchema, bag, options) {\n return function (obj, key) {\n var schemaKey = iterableSchema.getSchemaKey(obj);\n var result = visit(obj, itemSchema[schemaKey], bag, options, key);\n return { id: result, schema: schemaKey };\n };\n}\n\nfunction visitIterable(obj, iterableSchema, bag, options) {\n var itemSchema = iterableSchema.getItemSchema();\n var curriedItemMapper = defaultMapper(iterableSchema, itemSchema, bag, options);\n\n if (Array.isArray(obj)) {\n return obj.map(curriedItemMapper);\n } else {\n return Object.keys(obj).reduce(function (objMap, key) {\n objMap[key] = curriedItemMapper(obj[key], key);\n return objMap;\n }, {});\n }\n}\n\nfunction visitUnion(obj, unionSchema, bag, options) {\n var itemSchema = unionSchema.getItemSchema();\n return polymorphicMapper(unionSchema, itemSchema, bag, options)(obj);\n}\n\nfunction defaultMergeIntoEntity(entityA, entityB, entityKey) {\n for (var key in entityB) {\n if (!entityB.hasOwnProperty(key)) {\n continue;\n }\n\n if (!entityA.hasOwnProperty(key) || (0, _isEqual2.default)(entityA[key], entityB[key])) {\n entityA[key] = entityB[key];\n continue;\n }\n\n console.warn('When merging two ' + entityKey + ', found unequal data in their \"' + key + '\" values. Using the earlier value.', entityA[key], entityB[key]);\n }\n}\n\nfunction visitEntity(entity, entitySchema, bag, options, collectionKey) {\n var _options$mergeIntoEnt = options.mergeIntoEntity,\n mergeIntoEntity = _options$mergeIntoEnt === undefined ? defaultMergeIntoEntity : _options$mergeIntoEnt;\n\n\n var entityKey = entitySchema.getKey();\n var id = entitySchema.getId(entity, collectionKey);\n\n if (!bag.hasOwnProperty(entityKey)) {\n bag[entityKey] = {};\n }\n\n if (!bag[entityKey].hasOwnProperty(id)) {\n bag[entityKey][id] = {};\n }\n\n var stored = bag[entityKey][id];\n var normalized = visitObject(entity, entitySchema, bag, options, collectionKey);\n mergeIntoEntity(stored, normalized, entityKey);\n\n return id;\n}\n\nfunction visit(obj, schema, bag, options, collectionKey) {\n if (!(0, _isObject2.default)(obj) || !(0, _isObject2.default)(schema)) {\n return obj;\n }\n\n if (schema instanceof _EntitySchema2.default) {\n return visitEntity(obj, schema, bag, options, collectionKey);\n } else if (schema instanceof _IterableSchema2.default) {\n return visitIterable(obj, schema, bag, options);\n } else if (schema instanceof _UnionSchema2.default) {\n return visitUnion(obj, schema, bag, options);\n } else {\n return visitObject(obj, schema, bag, options, collectionKey);\n }\n}\n\nfunction normalizeResult(result) {\n if ((0, _isObject2.default)(result) && (0, _isEqual2.default)(Object.keys(result), Object.keys(result).map(function (key) {\n return result[key];\n }))) {\n return Object.keys(result);\n }\n return result;\n}\n\nfunction arrayOf(schema, options) {\n return new _IterableSchema2.default(schema, options);\n}\n\nfunction valuesOf(schema, options) {\n return new _IterableSchema2.default(schema, options);\n}\n\nfunction unionOf(schema, options) {\n return new _UnionSchema2.default(schema, options);\n}\n\nexports.Schema = _EntitySchema2.default;\nfunction normalize(obj, schema) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!(0, _isObject2.default)(obj)) {\n throw new Error('Normalize accepts an object or an array as its input.');\n }\n\n if (!(0, _isObject2.default)(schema) || Array.isArray(schema)) {\n throw new Error('Normalize accepts an object for schema.');\n }\n\n var bag = {};\n var result = visit(obj, schema, bag, options);\n\n return {\n entities: bag,\n result: normalizeResult(result)\n };\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nmodule.exports = require('react-transition-group/CSSTransitionGroup');\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar transform = 'transform';\nexports.transform = transform;\nvar prefix, transitionEnd, animationEnd;\nexports.animationEnd = animationEnd;\nexports.transitionEnd = transitionEnd;\nvar transitionProperty, transitionDuration, transitionTiming, transitionDelay;\nexports.transitionDelay = transitionDelay;\nexports.transitionTiming = transitionTiming;\nexports.transitionDuration = transitionDuration;\nexports.transitionProperty = transitionProperty;\nvar animationName, animationDuration, animationTiming, animationDelay;\nexports.animationDelay = animationDelay;\nexports.animationTiming = animationTiming;\nexports.animationDuration = animationDuration;\nexports.animationName = animationName;\n\nif (_inDOM.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n exports.transform = transform = prefix + \"-\" + transform;\n exports.transitionProperty = transitionProperty = prefix + \"-transition-property\";\n exports.transitionDuration = transitionDuration = prefix + \"-transition-duration\";\n exports.transitionDelay = transitionDelay = prefix + \"-transition-delay\";\n exports.transitionTiming = transitionTiming = prefix + \"-transition-timing-function\";\n exports.animationName = animationName = prefix + \"-animation-name\";\n exports.animationDuration = animationDuration = prefix + \"-animation-duration\";\n exports.animationTiming = animationTiming = prefix + \"-animation-delay\";\n exports.animationDelay = animationDelay = prefix + \"-animation-timing-function\";\n}\n\nvar _default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\nexports.default = _default;\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n var vendorMap = {\n O: function O(e) {\n return \"o\" + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return \"webkit\" + e;\n },\n ms: function ms(e) {\n return \"MS\" + e;\n }\n };\n var vendors = Object.keys(vendorMap);\n var transitionEnd, animationEnd;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + \"TransitionProperty\" in style) {\n prefix = \"-\" + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n style = null;\n return {\n animationEnd: animationEnd,\n transitionEnd: transitionEnd,\n prefix: prefix\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"./inDOM\"));\n\nvar vendors = ['', 'webkit', 'moz', 'o', 'ms'];\nvar cancel = 'clearTimeout';\nvar raf = fallback;\nvar compatRaf;\n\nvar getKey = function getKey(vendor, k) {\n return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n};\n\nif (_inDOM.default) {\n vendors.some(function (vendor) {\n var rafKey = getKey(vendor, 'request');\n\n if (rafKey in window) {\n cancel = getKey(vendor, 'cancel');\n return raf = function raf(cb) {\n return window[rafKey](cb);\n };\n }\n });\n}\n/* https://github.com/component/raf */\n\n\nvar prev = new Date().getTime();\n\nfunction fallback(fn) {\n var curr = new Date().getTime(),\n ms = Math.max(0, 16 - (curr - prev)),\n req = setTimeout(fn, ms);\n prev = curr;\n return req;\n}\n\ncompatRaf = function compatRaf(cb) {\n return raf(cb);\n};\n\ncompatRaf.cancel = function (id) {\n window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);\n};\n\nvar _default = compatRaf;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _TransitionGroup = require('./TransitionGroup');\n\nvar _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);\n\nvar _CSSTransitionGroupChild = require('./CSSTransitionGroupChild');\n\nvar _CSSTransitionGroupChild2 = _interopRequireDefault(_CSSTransitionGroupChild);\n\nvar _PropTypes = require('./utils/PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n transitionName: _PropTypes.nameShape.isRequired,\n\n transitionAppear: _propTypes2.default.bool,\n transitionEnter: _propTypes2.default.bool,\n transitionLeave: _propTypes2.default.bool,\n transitionAppearTimeout: (0, _PropTypes.transitionTimeout)('Appear'),\n transitionEnterTimeout: (0, _PropTypes.transitionTimeout)('Enter'),\n transitionLeaveTimeout: (0, _PropTypes.transitionTimeout)('Leave')\n};\n\nvar defaultProps = {\n transitionAppear: false,\n transitionEnter: true,\n transitionLeave: true\n};\n\nvar CSSTransitionGroup = function (_React$Component) {\n _inherits(CSSTransitionGroup, _React$Component);\n\n function CSSTransitionGroup() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CSSTransitionGroup);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this._wrapChild = function (child) {\n return _react2.default.createElement(_CSSTransitionGroupChild2.default, {\n name: _this.props.transitionName,\n appear: _this.props.transitionAppear,\n enter: _this.props.transitionEnter,\n leave: _this.props.transitionLeave,\n appearTimeout: _this.props.transitionAppearTimeout,\n enterTimeout: _this.props.transitionEnterTimeout,\n leaveTimeout: _this.props.transitionLeaveTimeout\n }, child);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n // We need to provide this childFactory so that\n // ReactCSSTransitionGroupChild can receive updates to name, enter, and\n // leave while it is leaving.\n\n\n CSSTransitionGroup.prototype.render = function render() {\n return _react2.default.createElement(_TransitionGroup2.default, _extends({}, this.props, { childFactory: this._wrapChild }));\n };\n\n return CSSTransitionGroup;\n}(_react2.default.Component);\n\nCSSTransitionGroup.displayName = 'CSSTransitionGroup';\n\n\nCSSTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nCSSTransitionGroup.defaultProps = defaultProps;\n\nexports.default = CSSTransitionGroup;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _addClass = require('dom-helpers/class/addClass');\n\nvar _addClass2 = _interopRequireDefault(_addClass);\n\nvar _removeClass = require('dom-helpers/class/removeClass');\n\nvar _removeClass2 = _interopRequireDefault(_removeClass);\n\nvar _requestAnimationFrame = require('dom-helpers/util/requestAnimationFrame');\n\nvar _requestAnimationFrame2 = _interopRequireDefault(_requestAnimationFrame);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _PropTypes = require('./utils/PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar events = [];\nif (_properties.transitionEnd) events.push(_properties.transitionEnd);\nif (_properties.animationEnd) events.push(_properties.animationEnd);\n\nfunction addEndListener(node, listener) {\n if (events.length) {\n events.forEach(function (e) {\n return node.addEventListener(e, listener, false);\n });\n } else {\n setTimeout(listener, 0);\n }\n\n return function () {\n if (!events.length) return;\n events.forEach(function (e) {\n return node.removeEventListener(e, listener, false);\n });\n };\n}\n\nvar propTypes = {\n children: _propTypes2.default.node,\n name: _PropTypes.nameShape.isRequired,\n\n // Once we require timeouts to be specified, we can remove the\n // boolean flags (appear etc.) and just accept a number\n // or a bool for the timeout flags (appearTimeout etc.)\n appear: _propTypes2.default.bool,\n enter: _propTypes2.default.bool,\n leave: _propTypes2.default.bool,\n appearTimeout: _propTypes2.default.number,\n enterTimeout: _propTypes2.default.number,\n leaveTimeout: _propTypes2.default.number\n};\n\nvar CSSTransitionGroupChild = function (_React$Component) {\n _inherits(CSSTransitionGroupChild, _React$Component);\n\n function CSSTransitionGroupChild() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CSSTransitionGroupChild);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.componentWillAppear = function (done) {\n if (_this.props.appear) {\n _this.transition('appear', done, _this.props.appearTimeout);\n } else {\n done();\n }\n }, _this.componentWillEnter = function (done) {\n if (_this.props.enter) {\n _this.transition('enter', done, _this.props.enterTimeout);\n } else {\n done();\n }\n }, _this.componentWillLeave = function (done) {\n if (_this.props.leave) {\n _this.transition('leave', done, _this.props.leaveTimeout);\n } else {\n done();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n CSSTransitionGroupChild.prototype.componentWillMount = function componentWillMount() {\n this.classNameAndNodeQueue = [];\n this.transitionTimeouts = [];\n };\n\n CSSTransitionGroupChild.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounted = true;\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.transitionTimeouts.forEach(function (timeout) {\n clearTimeout(timeout);\n });\n\n this.classNameAndNodeQueue.length = 0;\n };\n\n CSSTransitionGroupChild.prototype.transition = function transition(animationType, finishCallback, timeout) {\n var node = (0, _reactDom.findDOMNode)(this);\n\n if (!node) {\n if (finishCallback) {\n finishCallback();\n }\n return;\n }\n\n var className = this.props.name[animationType] || this.props.name + '-' + animationType;\n var activeClassName = this.props.name[animationType + 'Active'] || className + '-active';\n var timer = null;\n var removeListeners = void 0;\n\n (0, _addClass2.default)(node, className);\n\n // Need to do this to actually trigger a transition.\n this.queueClassAndNode(activeClassName, node);\n\n // Clean-up the animation after the specified delay\n var finish = function finish(e) {\n if (e && e.target !== node) {\n return;\n }\n\n clearTimeout(timer);\n if (removeListeners) removeListeners();\n\n (0, _removeClass2.default)(node, className);\n (0, _removeClass2.default)(node, activeClassName);\n\n if (removeListeners) removeListeners();\n\n // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (finishCallback) {\n finishCallback();\n }\n };\n\n if (timeout) {\n timer = setTimeout(finish, timeout);\n this.transitionTimeouts.push(timer);\n } else if (_properties.transitionEnd) {\n removeListeners = addEndListener(node, finish);\n }\n };\n\n CSSTransitionGroupChild.prototype.queueClassAndNode = function queueClassAndNode(className, node) {\n var _this2 = this;\n\n this.classNameAndNodeQueue.push({\n className: className,\n node: node\n });\n\n if (!this.rafHandle) {\n this.rafHandle = (0, _requestAnimationFrame2.default)(function () {\n return _this2.flushClassNameAndNodeQueue();\n });\n }\n };\n\n CSSTransitionGroupChild.prototype.flushClassNameAndNodeQueue = function flushClassNameAndNodeQueue() {\n if (!this.unmounted) {\n this.classNameAndNodeQueue.forEach(function (obj) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n /* eslint-disable no-unused-expressions */\n obj.node.scrollTop;\n /* eslint-enable no-unused-expressions */\n (0, _addClass2.default)(obj.node, obj.className);\n });\n }\n this.classNameAndNodeQueue.length = 0;\n this.rafHandle = null;\n };\n\n CSSTransitionGroupChild.prototype.render = function render() {\n var props = _extends({}, this.props);\n delete props.name;\n delete props.appear;\n delete props.enter;\n delete props.leave;\n delete props.appearTimeout;\n delete props.enterTimeout;\n delete props.leaveTimeout;\n delete props.children;\n return _react2.default.cloneElement(_react2.default.Children.only(this.props.children), props);\n };\n\n return CSSTransitionGroupChild;\n}(_react2.default.Component);\n\nCSSTransitionGroupChild.displayName = 'CSSTransitionGroupChild';\n\n\nCSSTransitionGroupChild.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\n\nexports.default = CSSTransitionGroupChild;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _chainFunction = require('chain-function');\n\nvar _chainFunction2 = _interopRequireDefault(_chainFunction);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _ChildMapping = require('./utils/ChildMapping');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n component: _propTypes2.default.any,\n childFactory: _propTypes2.default.func,\n children: _propTypes2.default.node\n};\n\nvar defaultProps = {\n component: 'span',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n\nvar TransitionGroup = function (_React$Component) {\n _inherits(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n _classCallCheck(this, TransitionGroup);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.performAppear = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillAppear) {\n component.componentWillAppear(_this._handleDoneAppearing.bind(_this, key, component));\n } else {\n _this._handleDoneAppearing(key, component);\n }\n };\n\n _this._handleDoneAppearing = function (key, component) {\n if (component.componentDidAppear) {\n component.componentDidAppear();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully appeared. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performEnter = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillEnter) {\n component.componentWillEnter(_this._handleDoneEntering.bind(_this, key, component));\n } else {\n _this._handleDoneEntering(key, component);\n }\n };\n\n _this._handleDoneEntering = function (key, component) {\n if (component.componentDidEnter) {\n component.componentDidEnter();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully entered. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performLeave = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillLeave) {\n component.componentWillLeave(_this._handleDoneLeaving.bind(_this, key, component));\n } else {\n // Note that this is somewhat dangerous b/c it calls setState()\n // again, effectively mutating the component before all the work\n // is done.\n _this._handleDoneLeaving(key, component);\n }\n };\n\n _this._handleDoneLeaving = function (key, component) {\n if (component.componentDidLeave) {\n component.componentDidLeave();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (currentChildMapping && currentChildMapping.hasOwnProperty(key)) {\n // This entered again before it fully left. Add it again.\n _this.keysToEnter.push(key);\n } else {\n _this.setState(function (state) {\n var newChildren = _extends({}, state.children);\n delete newChildren[key];\n return { children: newChildren };\n });\n }\n };\n\n _this.childRefs = Object.create(null);\n\n _this.state = {\n children: (0, _ChildMapping.getChildMapping)(props.children)\n };\n return _this;\n }\n\n TransitionGroup.prototype.componentWillMount = function componentWillMount() {\n this.currentlyTransitioningKeys = {};\n this.keysToEnter = [];\n this.keysToLeave = [];\n };\n\n TransitionGroup.prototype.componentDidMount = function componentDidMount() {\n var initialChildMapping = this.state.children;\n for (var key in initialChildMapping) {\n if (initialChildMapping[key]) {\n this.performAppear(key, this.childRefs[key]);\n }\n }\n };\n\n TransitionGroup.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var nextChildMapping = (0, _ChildMapping.getChildMapping)(nextProps.children);\n var prevChildMapping = this.state.children;\n\n this.setState({\n children: (0, _ChildMapping.mergeChildMappings)(prevChildMapping, nextChildMapping)\n });\n\n for (var key in nextChildMapping) {\n var hasPrev = prevChildMapping && prevChildMapping.hasOwnProperty(key);\n if (nextChildMapping[key] && !hasPrev && !this.currentlyTransitioningKeys[key]) {\n this.keysToEnter.push(key);\n }\n }\n\n for (var _key in prevChildMapping) {\n var hasNext = nextChildMapping && nextChildMapping.hasOwnProperty(_key);\n if (prevChildMapping[_key] && !hasNext && !this.currentlyTransitioningKeys[_key]) {\n this.keysToLeave.push(_key);\n }\n }\n\n // If we want to someday check for reordering, we could do it here.\n };\n\n TransitionGroup.prototype.componentDidUpdate = function componentDidUpdate() {\n var _this2 = this;\n\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(function (key) {\n return _this2.performEnter(key, _this2.childRefs[key]);\n });\n\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(function (key) {\n return _this2.performLeave(key, _this2.childRefs[key]);\n });\n };\n\n TransitionGroup.prototype.render = function render() {\n var _this3 = this;\n\n // TODO: we could get rid of the need for the wrapper node\n // by cloning a single child\n var childrenToRender = [];\n\n var _loop = function _loop(key) {\n var child = _this3.state.children[key];\n if (child) {\n var isCallbackRef = typeof child.ref !== 'string';\n var factoryChild = _this3.props.childFactory(child);\n var ref = function ref(r) {\n _this3.childRefs[key] = r;\n };\n\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(isCallbackRef, 'string refs are not supported on children of TransitionGroup and will be ignored. ' + 'Please use a callback ref instead: https://facebook.github.io/react/docs/refs-and-the-dom.html#the-ref-callback-attribute') : void 0;\n\n // Always chaining the refs leads to problems when the childFactory\n // wraps the child. The child ref callback gets called twice with the\n // wrapper and the child. So we only need to chain the ref if the\n // factoryChild is not different from child.\n if (factoryChild === child && isCallbackRef) {\n ref = (0, _chainFunction2.default)(child.ref, ref);\n }\n\n // You may need to apply reactive updates to a child as it is leaving.\n // The normal React way to do it won't work since the child will have\n // already been removed. In case you need this behavior you can provide\n // a childFactory function to wrap every child, even the ones that are\n // leaving.\n childrenToRender.push(_react2.default.cloneElement(factoryChild, {\n key: key,\n ref: ref\n }));\n }\n };\n\n for (var key in this.state.children) {\n _loop(key);\n }\n\n // Do not forward TransitionGroup props to primitive DOM nodes\n var props = _extends({}, this.props);\n delete props.transitionLeave;\n delete props.transitionName;\n delete props.transitionAppear;\n delete props.transitionEnter;\n delete props.childFactory;\n delete props.transitionLeaveTimeout;\n delete props.transitionEnterTimeout;\n delete props.transitionAppearTimeout;\n delete props.component;\n\n return _react2.default.createElement(this.props.component, props, childrenToRender);\n };\n\n return TransitionGroup;\n}(_react2.default.Component);\n\nTransitionGroup.displayName = 'TransitionGroup';\n\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nTransitionGroup.defaultProps = defaultProps;\n\nexports.default = TransitionGroup;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\n\nvar _react = require('react');\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children) {\n if (!children) {\n return children;\n }\n var result = {};\n _react.Children.map(children, function (child) {\n return child;\n }).forEach(function (child) {\n result[child.key] = child;\n });\n return result;\n}\n\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n if (next.hasOwnProperty(key)) {\n return next[key];\n }\n\n return prev[key];\n }\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextKeysPending = {};\n\n var pendingKeys = [];\n for (var prevKey in prev) {\n if (next.hasOwnProperty(prevKey)) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i = void 0;\n var childMapping = {};\n for (var nextKey in next) {\n if (nextKeysPending.hasOwnProperty(nextKey)) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n childMapping[nextKey] = getValueForKey(nextKey);\n }\n\n // Finally, add the keys which didn't appear before any key in `next`\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}","'use strict';\n\nexports.__esModule = true;\nexports.nameShape = undefined;\nexports.transitionTimeout = transitionTimeout;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction transitionTimeout(transitionType) {\n var timeoutPropName = 'transition' + transitionType + 'Timeout';\n var enabledPropName = 'transition' + transitionType;\n\n return function (props) {\n // If the transition is enabled\n if (props[enabledPropName]) {\n // If no timeout duration is provided\n if (props[timeoutPropName] == null) {\n return new Error(timeoutPropName + ' wasn\\'t supplied to CSSTransitionGroup: ' + 'this can cause unreliable animations and won\\'t be supported in ' + 'a future version of React. See ' + 'https://fb.me/react-animation-transition-group-timeout for more ' + 'information.');\n\n // If the duration isn't a number\n } else if (typeof props[timeoutPropName] !== 'number') {\n return new Error(timeoutPropName + ' must be a number (in milliseconds)');\n }\n }\n\n return null;\n };\n}\n\nvar nameShape = exports.nameShape = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n active: _propTypes2.default.string\n}), _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n enterActive: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n leaveActive: _propTypes2.default.string,\n appear: _propTypes2.default.string,\n appearActive: _propTypes2.default.string\n})]);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import React from 'react';\nexport default React.createContext(null);","export default {\n disabled: false\n};","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => refs.forEach((ref) => setRef(ref, node));\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/createContext.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n function Provider(props) {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n }\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + \"Provider\";\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n function Provider(props) {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName][index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n }\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName][index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + \"Provider\";\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/useLayoutEffect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = Boolean(globalThis?.document) ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\"useId\".toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/useCallbackRef.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-controllable-state/src/useControllableState.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/Slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nvar Slot = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n return React.cloneElement(children, {\n ...mergeProps(slotProps, children.props),\n // @ts-ignore\n ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef\n });\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/Primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/dismissable-layer/src/DismissableLayer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-escape-keydown/src/useEscapeKeydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/focus-scope/src/FocusScope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = React.forwardRef((props, forwardedRef) => {\n const {\n loop = false,\n trapped = false,\n onMountAutoFocus: onMountAutoFocusProp,\n onUnmountAutoFocus: onUnmountAutoFocusProp,\n ...scopeProps\n } = props;\n const [container, setContainer] = React.useState(null);\n const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n const lastFocusedElementRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n const focusScope = React.useRef({\n paused: false,\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n }\n }).current;\n React.useEffect(() => {\n if (trapped) {\n let handleFocusIn2 = function(event) {\n if (focusScope.paused || !container) return;\n const target = event.target;\n if (container.contains(target)) {\n lastFocusedElementRef.current = target;\n } else {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleFocusOut2 = function(event) {\n if (focusScope.paused || !container) return;\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === null) return;\n if (!container.contains(relatedTarget)) {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleMutations2 = function(mutations) {\n const focusedElement = document.activeElement;\n if (focusedElement !== document.body) return;\n for (const mutation of mutations) {\n if (mutation.removedNodes.length > 0) focus(container);\n }\n };\n var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n document.addEventListener(\"focusin\", handleFocusIn2);\n document.addEventListener(\"focusout\", handleFocusOut2);\n const mutationObserver = new MutationObserver(handleMutations2);\n if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn2);\n document.removeEventListener(\"focusout\", handleFocusOut2);\n mutationObserver.disconnect();\n };\n }\n }, [trapped, container, focusScope.paused]);\n React.useEffect(() => {\n if (container) {\n focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n if (document.activeElement === previouslyFocusedElement) {\n focus(container);\n }\n }\n }\n return () => {\n container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n setTimeout(() => {\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focus(previouslyFocusedElement ?? document.body, { select: true });\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n const handleKeyDown = React.useCallback(\n (event) => {\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container2 = event.currentTarget;\n const [first, last] = getTabbableEdges(container2);\n const hasTabbableElementsInside = first && last;\n if (!hasTabbableElementsInside) {\n if (focusedElement === container2) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last) {\n event.preventDefault();\n if (loop) focus(first, { select: true });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) focus(last, { select: true });\n }\n }\n }\n },\n [loop, trapped, focusScope.paused]\n );\n return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n}\nfunction getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last = findVisible(candidates.reverse(), container);\n return [first, last];\n}\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nfunction findVisible(elements, container) {\n for (const element of elements) {\n if (!isHidden(element, { upTo: container })) return element;\n }\n}\nfunction isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\") return true;\n while (node) {\n if (upTo !== void 0 && node === upTo) return false;\n if (getComputedStyle(node).display === \"none\") return true;\n node = node.parentElement;\n }\n return false;\n}\nfunction isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement;\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n element.select();\n }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n let stack = [];\n return {\n add(focusScope) {\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) {\n activeFocusScope?.pause();\n }\n stack = arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove(focusScope) {\n stack = arrayRemove(stack, focusScope);\n stack[0]?.resume();\n }\n };\n}\nfunction arrayRemove(array, item) {\n const updatedArray = [...array];\n const index = updatedArray.indexOf(item);\n if (index !== -1) {\n updatedArray.splice(index, 1);\n }\n return updatedArray;\n}\nfunction removeLinks(items) {\n return items.filter((item) => item.tagName !== \"A\");\n}\nvar Root = FocusScope;\nexport {\n FocusScope,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/portal/src/Portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n ReactDOM.flushSync(() => send(\"ANIMATION_END\"));\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/focus-guards/src/FocusGuards.tsx\nimport * as React from \"react\";\nvar count = 0;\nfunction FocusGuards(props) {\n useFocusGuards();\n return props.children;\n}\nfunction useFocusGuards() {\n React.useEffect(() => {\n const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n count++;\n return () => {\n if (count === 1) {\n document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n }\n count--;\n };\n }, []);\n}\nfunction createFocusGuard() {\n const element = document.createElement(\"span\");\n element.setAttribute(\"data-radix-focus-guard\", \"\");\n element.tabIndex = 0;\n element.style.cssText = \"outline: none; opacity: 0; position: fixed; pointer-events: none\";\n return element;\n}\nvar Root = FocusGuards;\nexport {\n FocusGuards,\n Root,\n useFocusGuards\n};\n//# sourceMappingURL=index.mjs.map\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return
...
\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n });\n // handle refs changes - added or removed\n useIsomorphicLayoutEffect(function () {\n var oldValue = currentValues.get(callbackRef);\n if (oldValue) {\n var prevRefs_1 = new Set(oldValue);\n var nextRefs_1 = new Set(refs);\n var current_1 = callbackRef.current;\n prevRefs_1.forEach(function (ref) {\n if (!nextRefs_1.has(ref)) {\n assignRef(ref, null);\n }\n });\n nextRefs_1.forEach(function (ref) {\n if (!prevRefs_1.has(ref)) {\n assignRef(ref, current_1);\n }\n });\n }\n currentValues.set(callbackRef, refs);\n }, [refs]);\n return callbackRef;\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return (React.createElement(React.Fragment, null,\n enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\n forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}\n","var currentNonce;\nexport var setNonce = function (nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n return undefined;\n};\n","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n // @ts-ignore\n if (tag.styleSheet) {\n // @ts-ignore\n tag.styleSheet.cssText = css;\n }\n else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if ((stylesheet = makeStyleTag())) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n },\n };\n};\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n var useStyle = styleHookSingleton();\n var Sheet = function (_a) {\n var styles = _a.styles, dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet;\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n var sheet = stylesheetSingleton();\n return function (styles, isDynamic) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};\n","export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\nexport var lockAttribute = 'data-scroll-locked';\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) { gapMode = 'margin'; }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body[\").concat(lockAttribute, \"] {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === 'margin' &&\n \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n ]\n .filter(Boolean)\n .join(''), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body[\").concat(lockAttribute, \"] {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\nvar getCurrentUseCounter = function () {\n var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);\n return isFinite(counter) ? counter : 0;\n};\nexport var useLockAttribute = function () {\n React.useEffect(function () {\n document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n return function () {\n var newCounter = getCurrentUseCounter() - 1;\n if (newCounter <= 0) {\n document.body.removeAttribute(lockAttribute);\n }\n else {\n document.body.setAttribute(lockAttribute, newCounter.toString());\n }\n };\n }, []);\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (_a) {\n var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n useLockAttribute();\n /*\n gap will be measured on every component mount\n however it will be used only by the \"first\" invocation\n due to singleton nature of d) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n if (target instanceof ShadowRoot) {\n target = target.host;\n }\n else {\n target = target.parentNode;\n }\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n // handle epsilon around 0 (non standard zoom levels)\n if (isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(styleSingleton)[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if ('touches' in event && event.touches.length === 2) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should, shadowParent: getOutermostShadowParent(target) };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (React.createElement(React.Fragment, null,\n inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n var shadowParent = null;\n while (node !== null) {\n if (node instanceof ShadowRoot) {\n shadowParent = node.host;\n node = node.host;\n }\n node = node.parentNode;\n }\n return shadowParent;\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","var getDefaultParent = function (originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n return targets\n .map(function (target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n return null;\n })\n .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n var elementsToStop = new Set(targets);\n var keep = function (el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function (parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n }\n else {\n try {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n catch (e) {\n console.error('aria-hidden: cannot operate on ', node, e);\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-inert-ed'; }\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-suppressed'; }\n return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n","\"use client\";\n\n// packages/react/dialog/src/Dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\nfunction __insertCSS(code) {\n if (!code || typeof document == 'undefined') return\n let head = document.head || document.getElementsByTagName('head')[0]\n let style = document.createElement('style')\n style.type = 'text/css'\n head.appendChild(style)\n ;style.styleSheet ? (style.styleSheet.cssText = code) : style.appendChild(document.createTextNode(code))\n}\n\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport * as React from 'react';\nimport React__default, { useLayoutEffect, useEffect, useMemo } from 'react';\n\nconst DrawerContext = React__default.createContext({\n drawerRef: {\n current: null\n },\n overlayRef: {\n current: null\n },\n onPress: ()=>{},\n onRelease: ()=>{},\n onDrag: ()=>{},\n onNestedDrag: ()=>{},\n onNestedOpenChange: ()=>{},\n onNestedRelease: ()=>{},\n openProp: undefined,\n dismissible: false,\n isOpen: false,\n isDragging: false,\n keyboardIsOpen: {\n current: false\n },\n snapPointsOffset: null,\n snapPoints: null,\n handleOnly: false,\n modal: false,\n shouldFade: false,\n activeSnapPoint: null,\n onOpenChange: ()=>{},\n setActiveSnapPoint: ()=>{},\n closeDrawer: ()=>{},\n direction: 'bottom',\n shouldAnimate: {\n current: true\n },\n shouldScaleBackground: false,\n setBackgroundColorOnScale: true,\n noBodyStyles: false,\n container: null,\n autoFocus: false\n});\nconst useDrawerContext = ()=>{\n const context = React__default.useContext(DrawerContext);\n if (!context) {\n throw new Error('useDrawerContext must be used within a Drawer.Root');\n }\n return context;\n};\n\n__insertCSS(\"[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\\n[data-state=closed]\\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}\");\n\nfunction isMobileFirefox() {\n const userAgent = navigator.userAgent;\n return typeof window !== 'undefined' && (/Firefox/.test(userAgent) && /Mobile/.test(userAgent) || // Android Firefox\n /FxiOS/.test(userAgent) // iOS Firefox\n );\n}\nfunction isMac() {\n return testPlatform(/^Mac/);\n}\nfunction isIPhone() {\n return testPlatform(/^iPhone/);\n}\nfunction isSafari() {\n return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n}\nfunction isIPad() {\n return testPlatform(/^iPad/) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n isMac() && navigator.maxTouchPoints > 1;\n}\nfunction isIOS() {\n return isIPhone() || isIPad();\n}\nfunction testPlatform(re) {\n return typeof window !== 'undefined' && window.navigator != null ? re.test(window.navigator.platform) : undefined;\n}\n\n// This code comes from https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/overlays/src/usePreventScroll.ts\nconst KEYBOARD_BUFFER = 24;\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\nfunction chain$1(...callbacks) {\n return (...args)=>{\n for (let callback of callbacks){\n if (typeof callback === 'function') {\n callback(...args);\n }\n }\n };\n}\n// @ts-ignore\nconst visualViewport = typeof document !== 'undefined' && window.visualViewport;\nfunction isScrollable(node) {\n let style = window.getComputedStyle(node);\n return /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);\n}\nfunction getScrollParent(node) {\n if (isScrollable(node)) {\n node = node.parentElement;\n }\n while(node && !isScrollable(node)){\n node = node.parentElement;\n }\n return node || document.scrollingElement || document.documentElement;\n}\n// HTML input types that do not cause the software keyboard to appear.\nconst nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n// The number of active usePreventScroll calls. Used to determine whether to revert back to the original page style/scroll position\nlet preventScrollCount = 0;\nlet restore;\n/**\n * Prevents scrolling on the document body on mount, and\n * restores it on unmount. Also ensures that content does not\n * shift due to the scrollbars disappearing.\n */ function usePreventScroll(options = {}) {\n let { isDisabled } = options;\n useIsomorphicLayoutEffect(()=>{\n if (isDisabled) {\n return;\n }\n preventScrollCount++;\n if (preventScrollCount === 1) {\n if (isIOS()) {\n restore = preventScrollMobileSafari();\n }\n }\n return ()=>{\n preventScrollCount--;\n if (preventScrollCount === 0) {\n restore == null ? void 0 : restore();\n }\n };\n }, [\n isDisabled\n ]);\n}\n// Mobile Safari is a whole different beast. Even with overflow: hidden,\n// it still scrolls the page in many situations:\n//\n// 1. When the bottom toolbar and address bar are collapsed, page scrolling is always allowed.\n// 2. When the keyboard is visible, the viewport does not resize. Instead, the keyboard covers part of\n// it, so it becomes scrollable.\n// 3. When tapping on an input, the page always scrolls so that the input is centered in the visual viewport.\n// This may cause even fixed position elements to scroll off the screen.\n// 4. When using the next/previous buttons in the keyboard to navigate between inputs, the whole page always\n// scrolls, even if the input is inside a nested scrollable element that could be scrolled instead.\n//\n// In order to work around these cases, and prevent scrolling without jankiness, we do a few things:\n//\n// 1. Prevent default on `touchmove` events that are not in a scrollable element. This prevents touch scrolling\n// on the window.\n// 2. Prevent default on `touchmove` events inside a scrollable element when the scroll position is at the\n// top or bottom. This avoids the whole page scrolling instead, but does prevent overscrolling.\n// 3. Prevent default on `touchend` events on input elements and handle focusing the element ourselves.\n// 4. When focusing an input, apply a transform to trick Safari into thinking the input is at the top\n// of the page, which prevents it from scrolling the page. After the input is focused, scroll the element\n// into view ourselves, without scrolling the whole page.\n// 5. Offset the body by the scroll position using a negative margin and scroll to the top. This should appear the\n// same visually, but makes the actual scroll position always zero. This is required to make all of the\n// above work or Safari will still try to scroll the page when focusing an input.\n// 6. As a last resort, handle window scroll events, and scroll back to the top. This can happen when attempting\n// to navigate to an input with the next/previous buttons that's outside a modal.\nfunction preventScrollMobileSafari() {\n let scrollable;\n let lastY = 0;\n let onTouchStart = (e)=>{\n // Store the nearest scrollable parent element from the element that the user touched.\n scrollable = getScrollParent(e.target);\n if (scrollable === document.documentElement && scrollable === document.body) {\n return;\n }\n lastY = e.changedTouches[0].pageY;\n };\n let onTouchMove = (e)=>{\n // Prevent scrolling the window.\n if (!scrollable || scrollable === document.documentElement || scrollable === document.body) {\n e.preventDefault();\n return;\n }\n // Prevent scrolling up when at the top and scrolling down when at the bottom\n // of a nested scrollable area, otherwise mobile Safari will start scrolling\n // the window instead. Unfortunately, this disables bounce scrolling when at\n // the top but it's the best we can do.\n let y = e.changedTouches[0].pageY;\n let scrollTop = scrollable.scrollTop;\n let bottom = scrollable.scrollHeight - scrollable.clientHeight;\n if (bottom === 0) {\n return;\n }\n if (scrollTop <= 0 && y > lastY || scrollTop >= bottom && y < lastY) {\n e.preventDefault();\n }\n lastY = y;\n };\n let onTouchEnd = (e)=>{\n let target = e.target;\n // Apply this change if we're not already focused on the target element\n if (isInput(target) && target !== document.activeElement) {\n e.preventDefault();\n // Apply a transform to trick Safari into thinking the input is at the top of the page\n // so it doesn't try to scroll it into view. When tapping on an input, this needs to\n // be done before the \"focus\" event, so we have to focus the element ourselves.\n target.style.transform = 'translateY(-2000px)';\n target.focus();\n requestAnimationFrame(()=>{\n target.style.transform = '';\n });\n }\n };\n let onFocus = (e)=>{\n let target = e.target;\n if (isInput(target)) {\n // Transform also needs to be applied in the focus event in cases where focus moves\n // other than tapping on an input directly, e.g. the next/previous buttons in the\n // software keyboard. In these cases, it seems applying the transform in the focus event\n // is good enough, whereas when tapping an input, it must be done before the focus event. 🤷‍♂️\n target.style.transform = 'translateY(-2000px)';\n requestAnimationFrame(()=>{\n target.style.transform = '';\n // This will have prevented the browser from scrolling the focused element into view,\n // so we need to do this ourselves in a way that doesn't cause the whole page to scroll.\n if (visualViewport) {\n if (visualViewport.height < window.innerHeight) {\n // If the keyboard is already visible, do this after one additional frame\n // to wait for the transform to be removed.\n requestAnimationFrame(()=>{\n scrollIntoView(target);\n });\n } else {\n // Otherwise, wait for the visual viewport to resize before scrolling so we can\n // measure the correct position to scroll to.\n visualViewport.addEventListener('resize', ()=>scrollIntoView(target), {\n once: true\n });\n }\n }\n });\n }\n };\n let onWindowScroll = ()=>{\n // Last resort. If the window scrolled, scroll it back to the top.\n // It should always be at the top because the body will have a negative margin (see below).\n window.scrollTo(0, 0);\n };\n // Record the original scroll position so we can restore it.\n // Then apply a negative margin to the body to offset it by the scroll position. This will\n // enable us to scroll the window to the top, which is required for the rest of this to work.\n let scrollX = window.pageXOffset;\n let scrollY = window.pageYOffset;\n let restoreStyles = chain$1(setStyle(document.documentElement, 'paddingRight', `${window.innerWidth - document.documentElement.clientWidth}px`));\n // Scroll to the top. The negative margin on the body will make this appear the same.\n window.scrollTo(0, 0);\n let removeEvents = chain$1(addEvent(document, 'touchstart', onTouchStart, {\n passive: false,\n capture: true\n }), addEvent(document, 'touchmove', onTouchMove, {\n passive: false,\n capture: true\n }), addEvent(document, 'touchend', onTouchEnd, {\n passive: false,\n capture: true\n }), addEvent(document, 'focus', onFocus, true), addEvent(window, 'scroll', onWindowScroll));\n return ()=>{\n // Restore styles and scroll the page back to where it was.\n restoreStyles();\n removeEvents();\n window.scrollTo(scrollX, scrollY);\n };\n}\n// Sets a CSS property on an element, and returns a function to revert it to the previous value.\nfunction setStyle(element, style, value) {\n // https://github.com/microsoft/TypeScript/issues/17827#issuecomment-391663310\n // @ts-ignore\n let cur = element.style[style];\n // @ts-ignore\n element.style[style] = value;\n return ()=>{\n // @ts-ignore\n element.style[style] = cur;\n };\n}\n// Adds an event listener to an element, and returns a function to remove it.\nfunction addEvent(target, event, handler, options) {\n // @ts-ignore\n target.addEventListener(event, handler, options);\n return ()=>{\n // @ts-ignore\n target.removeEventListener(event, handler, options);\n };\n}\nfunction scrollIntoView(target) {\n let root = document.scrollingElement || document.documentElement;\n while(target && target !== root){\n // Find the parent scrollable element and adjust the scroll position if the target is not already in view.\n let scrollable = getScrollParent(target);\n if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== target) {\n let scrollableTop = scrollable.getBoundingClientRect().top;\n let targetTop = target.getBoundingClientRect().top;\n let targetBottom = target.getBoundingClientRect().bottom;\n // Buffer is needed for some edge cases\n const keyboardHeight = scrollable.getBoundingClientRect().bottom + KEYBOARD_BUFFER;\n if (targetBottom > keyboardHeight) {\n scrollable.scrollTop += targetTop - scrollableTop;\n }\n }\n // @ts-ignore\n target = scrollable.parentElement;\n }\n}\nfunction isInput(target) {\n return target instanceof HTMLInputElement && !nonTextInputTypes.has(target.type) || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;\n}\n\n// This code comes from https://github.com/radix-ui/primitives/tree/main/packages/react/compose-refs\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */ function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */ function composeRefs(...refs) {\n return (node)=>refs.forEach((ref)=>setRef(ref, node));\n}\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */ function useComposedRefs(...refs) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return React.useCallback(composeRefs(...refs), refs);\n}\n\nconst cache = new WeakMap();\nfunction set(el, styles, ignoreCache = false) {\n if (!el || !(el instanceof HTMLElement)) return;\n let originalStyles = {};\n Object.entries(styles).forEach(([key, value])=>{\n if (key.startsWith('--')) {\n el.style.setProperty(key, value);\n return;\n }\n originalStyles[key] = el.style[key];\n el.style[key] = value;\n });\n if (ignoreCache) return;\n cache.set(el, originalStyles);\n}\nfunction reset(el, prop) {\n if (!el || !(el instanceof HTMLElement)) return;\n let originalStyles = cache.get(el);\n if (!originalStyles) {\n return;\n }\n {\n el.style[prop] = originalStyles[prop];\n }\n}\nconst isVertical = (direction)=>{\n switch(direction){\n case 'top':\n case 'bottom':\n return true;\n case 'left':\n case 'right':\n return false;\n default:\n return direction;\n }\n};\nfunction getTranslate(element, direction) {\n if (!element) {\n return null;\n }\n const style = window.getComputedStyle(element);\n const transform = // @ts-ignore\n style.transform || style.webkitTransform || style.mozTransform;\n let mat = transform.match(/^matrix3d\\((.+)\\)$/);\n if (mat) {\n // https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix3d\n return parseFloat(mat[1].split(', ')[isVertical(direction) ? 13 : 12]);\n }\n // https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix\n mat = transform.match(/^matrix\\((.+)\\)$/);\n return mat ? parseFloat(mat[1].split(', ')[isVertical(direction) ? 5 : 4]) : null;\n}\nfunction dampenValue(v) {\n return 8 * (Math.log(v + 1) - 2);\n}\nfunction assignStyle(element, style) {\n if (!element) return ()=>{};\n const prevStyle = element.style.cssText;\n Object.assign(element.style, style);\n return ()=>{\n element.style.cssText = prevStyle;\n };\n}\n/**\n * Receives functions as arguments and returns a new function that calls all.\n */ function chain(...fns) {\n return (...args)=>{\n for (const fn of fns){\n if (typeof fn === 'function') {\n // @ts-ignore\n fn(...args);\n }\n }\n };\n}\n\nconst TRANSITIONS = {\n DURATION: 0.5,\n EASE: [\n 0.32,\n 0.72,\n 0,\n 1\n ]\n};\nconst VELOCITY_THRESHOLD = 0.4;\nconst CLOSE_THRESHOLD = 0.25;\nconst SCROLL_LOCK_TIMEOUT = 100;\nconst BORDER_RADIUS = 8;\nconst NESTED_DISPLACEMENT = 16;\nconst WINDOW_TOP_OFFSET = 26;\nconst DRAG_CLASS = 'vaul-dragging';\n\n// This code comes from https://github.com/radix-ui/primitives/blob/main/packages/react/use-controllable-state/src/useControllableState.tsx\nfunction useCallbackRef(callback) {\n const callbackRef = React__default.useRef(callback);\n React__default.useEffect(()=>{\n callbackRef.current = callback;\n });\n // https://github.com/facebook/react/issues/19240\n return React__default.useMemo(()=>(...args)=>callbackRef.current == null ? void 0 : callbackRef.current.call(callbackRef, ...args), []);\n}\nfunction useUncontrolledState({ defaultProp, onChange }) {\n const uncontrolledState = React__default.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React__default.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React__default.useEffect(()=>{\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [\n value,\n prevValueRef,\n handleChange\n ]);\n return uncontrolledState;\n}\nfunction useControllableState({ prop, defaultProp, onChange = ()=>{} }) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== undefined;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React__default.useCallback((nextValue)=>{\n if (isControlled) {\n const setter = nextValue;\n const value = typeof nextValue === 'function' ? setter(prop) : nextValue;\n if (value !== prop) handleChange(value);\n } else {\n setUncontrolledProp(nextValue);\n }\n }, [\n isControlled,\n prop,\n setUncontrolledProp,\n handleChange\n ]);\n return [\n value,\n setValue\n ];\n}\n\nfunction useSnapPoints({ activeSnapPointProp, setActiveSnapPointProp, snapPoints, drawerRef, overlayRef, fadeFromIndex, onSnapPointChange, direction = 'bottom', container, snapToSequentialPoint }) {\n const [activeSnapPoint, setActiveSnapPoint] = useControllableState({\n prop: activeSnapPointProp,\n defaultProp: snapPoints == null ? void 0 : snapPoints[0],\n onChange: setActiveSnapPointProp\n });\n const [windowDimensions, setWindowDimensions] = React__default.useState(typeof window !== 'undefined' ? {\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight\n } : undefined);\n React__default.useEffect(()=>{\n function onResize() {\n setWindowDimensions({\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight\n });\n }\n window.addEventListener('resize', onResize);\n return ()=>window.removeEventListener('resize', onResize);\n }, []);\n const isLastSnapPoint = React__default.useMemo(()=>activeSnapPoint === (snapPoints == null ? void 0 : snapPoints[snapPoints.length - 1]) || null, [\n snapPoints,\n activeSnapPoint\n ]);\n const activeSnapPointIndex = React__default.useMemo(()=>{\n var _snapPoints_findIndex;\n return (_snapPoints_findIndex = snapPoints == null ? void 0 : snapPoints.findIndex((snapPoint)=>snapPoint === activeSnapPoint)) != null ? _snapPoints_findIndex : null;\n }, [\n snapPoints,\n activeSnapPoint\n ]);\n const shouldFade = snapPoints && snapPoints.length > 0 && (fadeFromIndex || fadeFromIndex === 0) && !Number.isNaN(fadeFromIndex) && snapPoints[fadeFromIndex] === activeSnapPoint || !snapPoints;\n const snapPointsOffset = React__default.useMemo(()=>{\n const containerSize = container ? {\n width: container.getBoundingClientRect().width,\n height: container.getBoundingClientRect().height\n } : typeof window !== 'undefined' ? {\n width: window.innerWidth,\n height: window.innerHeight\n } : {\n width: 0,\n height: 0\n };\n var _snapPoints_map;\n return (_snapPoints_map = snapPoints == null ? void 0 : snapPoints.map((snapPoint)=>{\n const isPx = typeof snapPoint === 'string';\n let snapPointAsNumber = 0;\n if (isPx) {\n snapPointAsNumber = parseInt(snapPoint, 10);\n }\n if (isVertical(direction)) {\n const height = isPx ? snapPointAsNumber : windowDimensions ? snapPoint * containerSize.height : 0;\n if (windowDimensions) {\n return direction === 'bottom' ? containerSize.height - height : -containerSize.height + height;\n }\n return height;\n }\n const width = isPx ? snapPointAsNumber : windowDimensions ? snapPoint * containerSize.width : 0;\n if (windowDimensions) {\n return direction === 'right' ? containerSize.width - width : -containerSize.width + width;\n }\n return width;\n })) != null ? _snapPoints_map : [];\n }, [\n snapPoints,\n windowDimensions,\n container\n ]);\n const activeSnapPointOffset = React__default.useMemo(()=>activeSnapPointIndex !== null ? snapPointsOffset == null ? void 0 : snapPointsOffset[activeSnapPointIndex] : null, [\n snapPointsOffset,\n activeSnapPointIndex\n ]);\n const snapToPoint = React__default.useCallback((dimension)=>{\n var _snapPointsOffset_findIndex;\n const newSnapPointIndex = (_snapPointsOffset_findIndex = snapPointsOffset == null ? void 0 : snapPointsOffset.findIndex((snapPointDim)=>snapPointDim === dimension)) != null ? _snapPointsOffset_findIndex : null;\n onSnapPointChange(newSnapPointIndex);\n set(drawerRef.current, {\n transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(',')})`,\n transform: isVertical(direction) ? `translate3d(0, ${dimension}px, 0)` : `translate3d(${dimension}px, 0, 0)`\n });\n if (snapPointsOffset && newSnapPointIndex !== snapPointsOffset.length - 1 && fadeFromIndex !== undefined && newSnapPointIndex !== fadeFromIndex && newSnapPointIndex < fadeFromIndex) {\n set(overlayRef.current, {\n transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(',')})`,\n opacity: '0'\n });\n } else {\n set(overlayRef.current, {\n transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(',')})`,\n opacity: '1'\n });\n }\n setActiveSnapPoint(snapPoints == null ? void 0 : snapPoints[Math.max(newSnapPointIndex, 0)]);\n }, [\n drawerRef.current,\n snapPoints,\n snapPointsOffset,\n fadeFromIndex,\n overlayRef,\n setActiveSnapPoint\n ]);\n React__default.useEffect(()=>{\n if (activeSnapPoint || activeSnapPointProp) {\n var _snapPoints_findIndex;\n const newIndex = (_snapPoints_findIndex = snapPoints == null ? void 0 : snapPoints.findIndex((snapPoint)=>snapPoint === activeSnapPointProp || snapPoint === activeSnapPoint)) != null ? _snapPoints_findIndex : -1;\n if (snapPointsOffset && newIndex !== -1 && typeof snapPointsOffset[newIndex] === 'number') {\n snapToPoint(snapPointsOffset[newIndex]);\n }\n }\n }, [\n activeSnapPoint,\n activeSnapPointProp,\n snapPoints,\n snapPointsOffset,\n snapToPoint\n ]);\n function onRelease({ draggedDistance, closeDrawer, velocity, dismissible }) {\n if (fadeFromIndex === undefined) return;\n const currentPosition = direction === 'bottom' || direction === 'right' ? (activeSnapPointOffset != null ? activeSnapPointOffset : 0) - draggedDistance : (activeSnapPointOffset != null ? activeSnapPointOffset : 0) + draggedDistance;\n const isOverlaySnapPoint = activeSnapPointIndex === fadeFromIndex - 1;\n const isFirst = activeSnapPointIndex === 0;\n const hasDraggedUp = draggedDistance > 0;\n if (isOverlaySnapPoint) {\n set(overlayRef.current, {\n transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(',')})`\n });\n }\n if (!snapToSequentialPoint && velocity > 2 && !hasDraggedUp) {\n if (dismissible) closeDrawer();\n else snapToPoint(snapPointsOffset[0]); // snap to initial point\n return;\n }\n if (!snapToSequentialPoint && velocity > 2 && hasDraggedUp && snapPointsOffset && snapPoints) {\n snapToPoint(snapPointsOffset[snapPoints.length - 1]);\n return;\n }\n // Find the closest snap point to the current position\n const closestSnapPoint = snapPointsOffset == null ? void 0 : snapPointsOffset.reduce((prev, curr)=>{\n if (typeof prev !== 'number' || typeof curr !== 'number') return prev;\n return Math.abs(curr - currentPosition) < Math.abs(prev - currentPosition) ? curr : prev;\n });\n const dim = isVertical(direction) ? window.innerHeight : window.innerWidth;\n if (velocity > VELOCITY_THRESHOLD && Math.abs(draggedDistance) < dim * 0.4) {\n const dragDirection = hasDraggedUp ? 1 : -1; // 1 = up, -1 = down\n // Don't do anything if we swipe upwards while being on the last snap point\n if (dragDirection > 0 && isLastSnapPoint && snapPoints) {\n snapToPoint(snapPointsOffset[snapPoints.length - 1]);\n return;\n }\n if (isFirst && dragDirection < 0 && dismissible) {\n closeDrawer();\n }\n if (activeSnapPointIndex === null) return;\n snapToPoint(snapPointsOffset[activeSnapPointIndex + dragDirection]);\n return;\n }\n snapToPoint(closestSnapPoint);\n }\n function onDrag({ draggedDistance }) {\n if (activeSnapPointOffset === null) return;\n const newValue = direction === 'bottom' || direction === 'right' ? activeSnapPointOffset - draggedDistance : activeSnapPointOffset + draggedDistance;\n // Don't do anything if we exceed the last(biggest) snap point\n if ((direction === 'bottom' || direction === 'right') && newValue < snapPointsOffset[snapPointsOffset.length - 1]) {\n return;\n }\n if ((direction === 'top' || direction === 'left') && newValue > snapPointsOffset[snapPointsOffset.length - 1]) {\n return;\n }\n set(drawerRef.current, {\n transform: isVertical(direction) ? `translate3d(0, ${newValue}px, 0)` : `translate3d(${newValue}px, 0, 0)`\n });\n }\n function getPercentageDragged(absDraggedDistance, isDraggingDown) {\n if (!snapPoints || typeof activeSnapPointIndex !== 'number' || !snapPointsOffset || fadeFromIndex === undefined) return null;\n // If this is true we are dragging to a snap point that is supposed to have an overlay\n const isOverlaySnapPoint = activeSnapPointIndex === fadeFromIndex - 1;\n const isOverlaySnapPointOrHigher = activeSnapPointIndex >= fadeFromIndex;\n if (isOverlaySnapPointOrHigher && isDraggingDown) {\n return 0;\n }\n // Don't animate, but still use this one if we are dragging away from the overlaySnapPoint\n if (isOverlaySnapPoint && !isDraggingDown) return 1;\n if (!shouldFade && !isOverlaySnapPoint) return null;\n // Either fadeFrom index or the one before\n const targetSnapPointIndex = isOverlaySnapPoint ? activeSnapPointIndex + 1 : activeSnapPointIndex - 1;\n // Get the distance from overlaySnapPoint to the one before or vice-versa to calculate the opacity percentage accordingly\n const snapPointDistance = isOverlaySnapPoint ? snapPointsOffset[targetSnapPointIndex] - snapPointsOffset[targetSnapPointIndex - 1] : snapPointsOffset[targetSnapPointIndex + 1] - snapPointsOffset[targetSnapPointIndex];\n const percentageDragged = absDraggedDistance / Math.abs(snapPointDistance);\n if (isOverlaySnapPoint) {\n return 1 - percentageDragged;\n } else {\n return percentageDragged;\n }\n }\n return {\n isLastSnapPoint,\n activeSnapPoint,\n shouldFade,\n getPercentageDragged,\n setActiveSnapPoint,\n activeSnapPointIndex,\n onRelease,\n onDrag,\n snapPointsOffset\n };\n}\n\nconst noop = ()=>()=>{};\nfunction useScaleBackground() {\n const { direction, isOpen, shouldScaleBackground, setBackgroundColorOnScale, noBodyStyles } = useDrawerContext();\n const timeoutIdRef = React__default.useRef(null);\n const initialBackgroundColor = useMemo(()=>document.body.style.backgroundColor, []);\n function getScale() {\n return (window.innerWidth - WINDOW_TOP_OFFSET) / window.innerWidth;\n }\n React__default.useEffect(()=>{\n if (isOpen && shouldScaleBackground) {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n const wrapper = document.querySelector('[data-vaul-drawer-wrapper]') || document.querySelector('[vaul-drawer-wrapper]');\n if (!wrapper) return;\n chain(setBackgroundColorOnScale && !noBodyStyles ? assignStyle(document.body, {\n background: 'black'\n }) : noop, assignStyle(wrapper, {\n transformOrigin: isVertical(direction) ? 'top' : 'left',\n transitionProperty: 'transform, border-radius',\n transitionDuration: `${TRANSITIONS.DURATION}s`,\n transitionTimingFunction: `cubic-bezier(${TRANSITIONS.EASE.join(',')})`\n }));\n const wrapperStylesCleanup = assignStyle(wrapper, {\n borderRadius: `${BORDER_RADIUS}px`,\n overflow: 'hidden',\n ...isVertical(direction) ? {\n transform: `scale(${getScale()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`\n } : {\n transform: `scale(${getScale()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`\n }\n });\n return ()=>{\n wrapperStylesCleanup();\n timeoutIdRef.current = window.setTimeout(()=>{\n if (initialBackgroundColor) {\n document.body.style.background = initialBackgroundColor;\n } else {\n document.body.style.removeProperty('background');\n }\n }, TRANSITIONS.DURATION * 1000);\n };\n }\n }, [\n isOpen,\n shouldScaleBackground,\n initialBackgroundColor\n ]);\n}\n\nlet previousBodyPosition = null;\n/**\n * This hook is necessary to prevent buggy behavior on iOS devices (need to test on Android).\n * I won't get into too much detail about what bugs it solves, but so far I've found that setting the body to `position: fixed` is the most reliable way to prevent those bugs.\n * Issues that this hook solves:\n * https://github.com/emilkowalski/vaul/issues/435\n * https://github.com/emilkowalski/vaul/issues/433\n * And more that I discovered, but were just not reported.\n */ function usePositionFixed({ isOpen, modal, nested, hasBeenOpened, preventScrollRestoration, noBodyStyles }) {\n const [activeUrl, setActiveUrl] = React__default.useState(()=>typeof window !== 'undefined' ? window.location.href : '');\n const scrollPos = React__default.useRef(0);\n const setPositionFixed = React__default.useCallback(()=>{\n // All browsers on iOS will return true here.\n if (!isSafari()) return;\n // If previousBodyPosition is already set, don't set it again.\n if (previousBodyPosition === null && isOpen && !noBodyStyles) {\n previousBodyPosition = {\n position: document.body.style.position,\n top: document.body.style.top,\n left: document.body.style.left,\n height: document.body.style.height,\n right: 'unset'\n };\n // Update the dom inside an animation frame\n const { scrollX, innerHeight } = window;\n document.body.style.setProperty('position', 'fixed', 'important');\n Object.assign(document.body.style, {\n top: `${-scrollPos.current}px`,\n left: `${-scrollX}px`,\n right: '0px',\n height: 'auto'\n });\n window.setTimeout(()=>window.requestAnimationFrame(()=>{\n // Attempt to check if the bottom bar appeared due to the position change\n const bottomBarHeight = innerHeight - window.innerHeight;\n if (bottomBarHeight && scrollPos.current >= innerHeight) {\n // Move the content further up so that the bottom bar doesn't hide it\n document.body.style.top = `${-(scrollPos.current + bottomBarHeight)}px`;\n }\n }), 300);\n }\n }, [\n isOpen\n ]);\n const restorePositionSetting = React__default.useCallback(()=>{\n // All browsers on iOS will return true here.\n if (!isSafari()) return;\n if (previousBodyPosition !== null && !noBodyStyles) {\n // Convert the position from \"px\" to Int\n const y = -parseInt(document.body.style.top, 10);\n const x = -parseInt(document.body.style.left, 10);\n // Restore styles\n Object.assign(document.body.style, previousBodyPosition);\n window.requestAnimationFrame(()=>{\n if (preventScrollRestoration && activeUrl !== window.location.href) {\n setActiveUrl(window.location.href);\n return;\n }\n window.scrollTo(x, y);\n });\n previousBodyPosition = null;\n }\n }, [\n activeUrl\n ]);\n React__default.useEffect(()=>{\n function onScroll() {\n scrollPos.current = window.scrollY;\n }\n onScroll();\n window.addEventListener('scroll', onScroll);\n return ()=>{\n window.removeEventListener('scroll', onScroll);\n };\n }, []);\n React__default.useEffect(()=>{\n if (!modal) return;\n return ()=>{\n if (typeof document === 'undefined') return;\n // Another drawer is opened, safe to ignore the execution\n const hasDrawerOpened = !!document.querySelector('[data-vaul-drawer]');\n if (hasDrawerOpened) return;\n restorePositionSetting();\n };\n }, [\n modal,\n restorePositionSetting\n ]);\n React__default.useEffect(()=>{\n if (nested || !hasBeenOpened) return;\n // This is needed to force Safari toolbar to show **before** the drawer starts animating to prevent a gnarly shift from happening\n if (isOpen) {\n // avoid for standalone mode (PWA)\n const isStandalone = window.matchMedia('(display-mode: standalone)').matches;\n !isStandalone && setPositionFixed();\n if (!modal) {\n window.setTimeout(()=>{\n restorePositionSetting();\n }, 500);\n }\n } else {\n restorePositionSetting();\n }\n }, [\n isOpen,\n hasBeenOpened,\n activeUrl,\n modal,\n nested,\n setPositionFixed,\n restorePositionSetting\n ]);\n return {\n restorePositionSetting\n };\n}\n\nfunction Root({ open: openProp, onOpenChange, children, onDrag: onDragProp, onRelease: onReleaseProp, snapPoints, shouldScaleBackground = false, setBackgroundColorOnScale = true, closeThreshold = CLOSE_THRESHOLD, scrollLockTimeout = SCROLL_LOCK_TIMEOUT, dismissible = true, handleOnly = false, fadeFromIndex = snapPoints && snapPoints.length - 1, activeSnapPoint: activeSnapPointProp, setActiveSnapPoint: setActiveSnapPointProp, fixed, modal = true, onClose, nested, noBodyStyles = false, direction = 'bottom', defaultOpen = false, disablePreventScroll = true, snapToSequentialPoint = false, preventScrollRestoration = false, repositionInputs = true, onAnimationEnd, container, autoFocus = false }) {\n var _drawerRef_current, _drawerRef_current1;\n const [isOpen = false, setIsOpen] = useControllableState({\n defaultProp: defaultOpen,\n prop: openProp,\n onChange: (o)=>{\n onOpenChange == null ? void 0 : onOpenChange(o);\n if (!o && !nested) {\n restorePositionSetting();\n }\n setTimeout(()=>{\n onAnimationEnd == null ? void 0 : onAnimationEnd(o);\n }, TRANSITIONS.DURATION * 1000);\n if (o && !modal) {\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(()=>{\n document.body.style.pointerEvents = 'auto';\n });\n }\n }\n if (!o) {\n // This will be removed when the exit animation ends (`500ms`)\n document.body.style.pointerEvents = 'auto';\n }\n }\n });\n const [hasBeenOpened, setHasBeenOpened] = React__default.useState(false);\n const [isDragging, setIsDragging] = React__default.useState(false);\n const [justReleased, setJustReleased] = React__default.useState(false);\n const overlayRef = React__default.useRef(null);\n const openTime = React__default.useRef(null);\n const dragStartTime = React__default.useRef(null);\n const dragEndTime = React__default.useRef(null);\n const lastTimeDragPrevented = React__default.useRef(null);\n const isAllowedToDrag = React__default.useRef(false);\n const nestedOpenChangeTimer = React__default.useRef(null);\n const pointerStart = React__default.useRef(0);\n const keyboardIsOpen = React__default.useRef(false);\n const shouldAnimate = React__default.useRef(!defaultOpen);\n const previousDiffFromInitial = React__default.useRef(0);\n const drawerRef = React__default.useRef(null);\n const drawerHeightRef = React__default.useRef(((_drawerRef_current = drawerRef.current) == null ? void 0 : _drawerRef_current.getBoundingClientRect().height) || 0);\n const drawerWidthRef = React__default.useRef(((_drawerRef_current1 = drawerRef.current) == null ? void 0 : _drawerRef_current1.getBoundingClientRect().width) || 0);\n const initialDrawerHeight = React__default.useRef(0);\n const onSnapPointChange = React__default.useCallback((activeSnapPointIndex)=>{\n // Change openTime ref when we reach the last snap point to prevent dragging for 500ms incase it's scrollable.\n if (snapPoints && activeSnapPointIndex === snapPointsOffset.length - 1) openTime.current = new Date();\n }, []);\n const { activeSnapPoint, activeSnapPointIndex, setActiveSnapPoint, onRelease: onReleaseSnapPoints, snapPointsOffset, onDrag: onDragSnapPoints, shouldFade, getPercentageDragged: getSnapPointsPercentageDragged } = useSnapPoints({\n snapPoints,\n activeSnapPointProp,\n setActiveSnapPointProp,\n drawerRef,\n fadeFromIndex,\n overlayRef,\n onSnapPointChange,\n direction,\n container,\n snapToSequentialPoint\n });\n usePreventScroll({\n isDisabled: !isOpen || isDragging || !modal || justReleased || !hasBeenOpened || !repositionInputs || !disablePreventScroll\n });\n const { restorePositionSetting } = usePositionFixed({\n isOpen,\n modal,\n nested: nested != null ? nested : false,\n hasBeenOpened,\n preventScrollRestoration,\n noBodyStyles\n });\n function getScale() {\n return (window.innerWidth - WINDOW_TOP_OFFSET) / window.innerWidth;\n }\n function onPress(event) {\n var _drawerRef_current, _drawerRef_current1;\n if (!dismissible && !snapPoints) return;\n if (drawerRef.current && !drawerRef.current.contains(event.target)) return;\n drawerHeightRef.current = ((_drawerRef_current = drawerRef.current) == null ? void 0 : _drawerRef_current.getBoundingClientRect().height) || 0;\n drawerWidthRef.current = ((_drawerRef_current1 = drawerRef.current) == null ? void 0 : _drawerRef_current1.getBoundingClientRect().width) || 0;\n setIsDragging(true);\n dragStartTime.current = new Date();\n // iOS doesn't trigger mouseUp after scrolling so we need to listen to touched in order to disallow dragging\n if (isIOS()) {\n window.addEventListener('touchend', ()=>isAllowedToDrag.current = false, {\n once: true\n });\n }\n // Ensure we maintain correct pointer capture even when going outside of the drawer\n event.target.setPointerCapture(event.pointerId);\n pointerStart.current = isVertical(direction) ? event.pageY : event.pageX;\n }\n function shouldDrag(el, isDraggingInDirection) {\n var _window_getSelection;\n let element = el;\n const highlightedText = (_window_getSelection = window.getSelection()) == null ? void 0 : _window_getSelection.toString();\n const swipeAmount = drawerRef.current ? getTranslate(drawerRef.current, direction) : null;\n const date = new Date();\n // Fixes https://github.com/emilkowalski/vaul/issues/483\n if (element.tagName === 'SELECT') {\n return false;\n }\n if (element.hasAttribute('data-vaul-no-drag') || element.closest('[data-vaul-no-drag]')) {\n return false;\n }\n if (direction === 'right' || direction === 'left') {\n return true;\n }\n // Allow scrolling when animating\n if (openTime.current && date.getTime() - openTime.current.getTime() < 500) {\n return false;\n }\n if (swipeAmount !== null) {\n if (direction === 'bottom' ? swipeAmount > 0 : swipeAmount < 0) {\n return true;\n }\n }\n // Don't drag if there's highlighted text\n if (highlightedText && highlightedText.length > 0) {\n return false;\n }\n // Disallow dragging if drawer was scrolled within `scrollLockTimeout`\n if (lastTimeDragPrevented.current && date.getTime() - lastTimeDragPrevented.current.getTime() < scrollLockTimeout && swipeAmount === 0) {\n lastTimeDragPrevented.current = date;\n return false;\n }\n if (isDraggingInDirection) {\n lastTimeDragPrevented.current = date;\n // We are dragging down so we should allow scrolling\n return false;\n }\n // Keep climbing up the DOM tree as long as there's a parent\n while(element){\n // Check if the element is scrollable\n if (element.scrollHeight > element.clientHeight) {\n if (element.scrollTop !== 0) {\n lastTimeDragPrevented.current = new Date();\n // The element is scrollable and not scrolled to the top, so don't drag\n return false;\n }\n if (element.getAttribute('role') === 'dialog') {\n return true;\n }\n }\n // Move up to the parent element\n element = element.parentNode;\n }\n // No scrollable parents not scrolled to the top found, so drag\n return true;\n }\n function onDrag(event) {\n if (!drawerRef.current) {\n return;\n }\n // We need to know how much of the drawer has been dragged in percentages so that we can transform background accordingly\n if (isDragging) {\n const directionMultiplier = direction === 'bottom' || direction === 'right' ? 1 : -1;\n const draggedDistance = (pointerStart.current - (isVertical(direction) ? event.pageY : event.pageX)) * directionMultiplier;\n const isDraggingInDirection = draggedDistance > 0;\n // Pre condition for disallowing dragging in the close direction.\n const noCloseSnapPointsPreCondition = snapPoints && !dismissible && !isDraggingInDirection;\n // Disallow dragging down to close when first snap point is the active one and dismissible prop is set to false.\n if (noCloseSnapPointsPreCondition && activeSnapPointIndex === 0) return;\n // We need to capture last time when drag with scroll was triggered and have a timeout between\n const absDraggedDistance = Math.abs(draggedDistance);\n const wrapper = document.querySelector('[data-vaul-drawer-wrapper]');\n const drawerDimension = direction === 'bottom' || direction === 'top' ? drawerHeightRef.current : drawerWidthRef.current;\n // Calculate the percentage dragged, where 1 is the closed position\n let percentageDragged = absDraggedDistance / drawerDimension;\n const snapPointPercentageDragged = getSnapPointsPercentageDragged(absDraggedDistance, isDraggingInDirection);\n if (snapPointPercentageDragged !== null) {\n percentageDragged = snapPointPercentageDragged;\n }\n // Disallow close dragging beyond the smallest snap point.\n if (noCloseSnapPointsPreCondition && percentageDragged >= 1) {\n return;\n }\n if (!isAllowedToDrag.current && !shouldDrag(event.target, isDraggingInDirection)) return;\n drawerRef.current.classList.add(DRAG_CLASS);\n // If shouldDrag gave true once after pressing down on the drawer, we set isAllowedToDrag to true and it will remain true until we let go, there's no reason to disable dragging mid way, ever, and that's the solution to it\n isAllowedToDrag.current = true;\n set(drawerRef.current, {\n transition: 'none'\n });\n set(overlayRef.current, {\n transition: 'none'\n });\n if (snapPoints) {\n onDragSnapPoints({\n draggedDistance\n });\n }\n // Run this only if snapPoints are not defined or if we are at the last snap point (highest one)\n if (isDraggingInDirection && !snapPoints) {\n const dampenedDraggedDistance = dampenValue(draggedDistance);\n const translateValue = Math.min(dampenedDraggedDistance * -1, 0) * directionMultiplier;\n set(drawerRef.current, {\n transform: isVertical(direction) ? `translate3d(0, ${translateValue}px, 0)` : `translate3d(${translateValue}px, 0, 0)`\n });\n return;\n }\n const opacityValue = 1 - percentageDragged;\n if (shouldFade || fadeFromIndex && activeSnapPointIndex === fadeFromIndex - 1) {\n onDragProp == null ? void 0 : onDragProp(event, percentageDragged);\n set(overlayRef.current, {\n opacity: `${opacityValue}`,\n transition: 'none'\n }, true);\n }\n if (wrapper && overlayRef.current && shouldScaleBackground) {\n // Calculate percentageDragged as a fraction (0 to 1)\n const scaleValue = Math.min(getScale() + percentageDragged * (1 - getScale()), 1);\n const borderRadiusValue = 8 - percentageDragged * 8;\n const translateValue = Math.max(0, 14 - percentageDragged * 14);\n set(wrapper, {\n borderRadius: `${borderRadiusValue}px`,\n transform: isVertical(direction) ? `scale(${scaleValue}) translate3d(0, ${translateValue}px, 0)` : `scale(${scaleValue}) translate3d(${translateValue}px, 0, 0)`,\n transition: 'none'\n }, true);\n }\n if (!snapPoints) {\n const translateValue = absDraggedDistance * directionMultiplier;\n set(drawerRef.current, {\n transform: isVertical(direction) ? `translate3d(0, ${translateValue}px, 0)` : `translate3d(${translateValue}px, 0, 0)`\n });\n }\n }\n }\n React__default.useEffect(()=>{\n window.requestAnimationFrame(()=>{\n shouldAnimate.current = true;\n });\n }, []);\n React__default.useEffect(()=>{\n var _window_visualViewport;\n function onVisualViewportChange() {\n if (!drawerRef.current || !repositionInputs) return;\n const focusedElement = document.activeElement;\n if (isInput(focusedElement) || keyboardIsOpen.current) {\n var _window_visualViewport;\n const visualViewportHeight = ((_window_visualViewport = window.visualViewport) == null ? void 0 : _window_visualViewport.height) || 0;\n const totalHeight = window.innerHeight;\n // This is the height of the keyboard\n let diffFromInitial = totalHeight - visualViewportHeight;\n const drawerHeight = drawerRef.current.getBoundingClientRect().height || 0;\n // Adjust drawer height only if it's tall enough\n const isTallEnough = drawerHeight > totalHeight * 0.8;\n if (!initialDrawerHeight.current) {\n initialDrawerHeight.current = drawerHeight;\n }\n const offsetFromTop = drawerRef.current.getBoundingClientRect().top;\n // visualViewport height may change due to somq e subtle changes to the keyboard. Checking if the height changed by 60 or more will make sure that they keyboard really changed its open state.\n if (Math.abs(previousDiffFromInitial.current - diffFromInitial) > 60) {\n keyboardIsOpen.current = !keyboardIsOpen.current;\n }\n if (snapPoints && snapPoints.length > 0 && snapPointsOffset && activeSnapPointIndex) {\n const activeSnapPointHeight = snapPointsOffset[activeSnapPointIndex] || 0;\n diffFromInitial += activeSnapPointHeight;\n }\n previousDiffFromInitial.current = diffFromInitial;\n // We don't have to change the height if the input is in view, when we are here we are in the opened keyboard state so we can correctly check if the input is in view\n if (drawerHeight > visualViewportHeight || keyboardIsOpen.current) {\n const height = drawerRef.current.getBoundingClientRect().height;\n let newDrawerHeight = height;\n if (height > visualViewportHeight) {\n newDrawerHeight = visualViewportHeight - (isTallEnough ? offsetFromTop : WINDOW_TOP_OFFSET);\n }\n // When fixed, don't move the drawer upwards if there's space, but rather only change it's height so it's fully scrollable when the keyboard is open\n if (fixed) {\n drawerRef.current.style.height = `${height - Math.max(diffFromInitial, 0)}px`;\n } else {\n drawerRef.current.style.height = `${Math.max(newDrawerHeight, visualViewportHeight - offsetFromTop)}px`;\n }\n } else if (!isMobileFirefox()) {\n drawerRef.current.style.height = `${initialDrawerHeight.current}px`;\n }\n if (snapPoints && snapPoints.length > 0 && !keyboardIsOpen.current) {\n drawerRef.current.style.bottom = `0px`;\n } else {\n // Negative bottom value would never make sense\n drawerRef.current.style.bottom = `${Math.max(diffFromInitial, 0)}px`;\n }\n }\n }\n (_window_visualViewport = window.visualViewport) == null ? void 0 : _window_visualViewport.addEventListener('resize', onVisualViewportChange);\n return ()=>{\n var _window_visualViewport;\n return (_window_visualViewport = window.visualViewport) == null ? void 0 : _window_visualViewport.removeEventListener('resize', onVisualViewportChange);\n };\n }, [\n activeSnapPointIndex,\n snapPoints,\n snapPointsOffset\n ]);\n function closeDrawer(fromWithin) {\n cancelDrag();\n onClose == null ? void 0 : onClose();\n if (!fromWithin) {\n setIsOpen(false);\n }\n setTimeout(()=>{\n if (snapPoints) {\n setActiveSnapPoint(snapPoints[0]);\n }\n }, TRANSITIONS.DURATION * 1000); // seconds to ms\n }\n function resetDrawer() {\n if (!drawerRef.current) return;\n const wrapper = document.querySelector('[data-vaul-drawer-wrapper]');\n const currentSwipeAmount = getTranslate(drawerRef.current, direction);\n set(drawerRef.current, {\n transform: 'translate3d(0, 0, 0)',\n transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(',')})`\n });\n set(overlayRef.current, {\n transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(',')})`,\n opacity: '1'\n });\n // Don't reset background if swiped upwards\n if (shouldScaleBackground && currentSwipeAmount && currentSwipeAmount > 0 && isOpen) {\n set(wrapper, {\n borderRadius: `${BORDER_RADIUS}px`,\n overflow: 'hidden',\n ...isVertical(direction) ? {\n transform: `scale(${getScale()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,\n transformOrigin: 'top'\n } : {\n transform: `scale(${getScale()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,\n transformOrigin: 'left'\n },\n transitionProperty: 'transform, border-radius',\n transitionDuration: `${TRANSITIONS.DURATION}s`,\n transitionTimingFunction: `cubic-bezier(${TRANSITIONS.EASE.join(',')})`\n }, true);\n }\n }\n function cancelDrag() {\n if (!isDragging || !drawerRef.current) return;\n drawerRef.current.classList.remove(DRAG_CLASS);\n isAllowedToDrag.current = false;\n setIsDragging(false);\n dragEndTime.current = new Date();\n }\n function onRelease(event) {\n if (!isDragging || !drawerRef.current) return;\n drawerRef.current.classList.remove(DRAG_CLASS);\n isAllowedToDrag.current = false;\n setIsDragging(false);\n dragEndTime.current = new Date();\n const swipeAmount = getTranslate(drawerRef.current, direction);\n if (!event || !shouldDrag(event.target, false) || !swipeAmount || Number.isNaN(swipeAmount)) return;\n if (dragStartTime.current === null) return;\n const timeTaken = dragEndTime.current.getTime() - dragStartTime.current.getTime();\n const distMoved = pointerStart.current - (isVertical(direction) ? event.pageY : event.pageX);\n const velocity = Math.abs(distMoved) / timeTaken;\n if (velocity > 0.05) {\n // `justReleased` is needed to prevent the drawer from focusing on an input when the drag ends, as it's not the intent most of the time.\n setJustReleased(true);\n setTimeout(()=>{\n setJustReleased(false);\n }, 200);\n }\n if (snapPoints) {\n const directionMultiplier = direction === 'bottom' || direction === 'right' ? 1 : -1;\n onReleaseSnapPoints({\n draggedDistance: distMoved * directionMultiplier,\n closeDrawer,\n velocity,\n dismissible\n });\n onReleaseProp == null ? void 0 : onReleaseProp(event, true);\n return;\n }\n // Moved upwards, don't do anything\n if (direction === 'bottom' || direction === 'right' ? distMoved > 0 : distMoved < 0) {\n resetDrawer();\n onReleaseProp == null ? void 0 : onReleaseProp(event, true);\n return;\n }\n if (velocity > VELOCITY_THRESHOLD) {\n closeDrawer();\n onReleaseProp == null ? void 0 : onReleaseProp(event, false);\n return;\n }\n var _drawerRef_current_getBoundingClientRect_height;\n const visibleDrawerHeight = Math.min((_drawerRef_current_getBoundingClientRect_height = drawerRef.current.getBoundingClientRect().height) != null ? _drawerRef_current_getBoundingClientRect_height : 0, window.innerHeight);\n var _drawerRef_current_getBoundingClientRect_width;\n const visibleDrawerWidth = Math.min((_drawerRef_current_getBoundingClientRect_width = drawerRef.current.getBoundingClientRect().width) != null ? _drawerRef_current_getBoundingClientRect_width : 0, window.innerWidth);\n const isHorizontalSwipe = direction === 'left' || direction === 'right';\n if (Math.abs(swipeAmount) >= (isHorizontalSwipe ? visibleDrawerWidth : visibleDrawerHeight) * closeThreshold) {\n closeDrawer();\n onReleaseProp == null ? void 0 : onReleaseProp(event, false);\n return;\n }\n onReleaseProp == null ? void 0 : onReleaseProp(event, true);\n resetDrawer();\n }\n React__default.useEffect(()=>{\n // Trigger enter animation without using CSS animation\n if (isOpen) {\n set(document.documentElement, {\n scrollBehavior: 'auto'\n });\n openTime.current = new Date();\n }\n return ()=>{\n reset(document.documentElement, 'scrollBehavior');\n };\n }, [\n isOpen\n ]);\n function onNestedOpenChange(o) {\n const scale = o ? (window.innerWidth - NESTED_DISPLACEMENT) / window.innerWidth : 1;\n const initialTranslate = o ? -NESTED_DISPLACEMENT : 0;\n if (nestedOpenChangeTimer.current) {\n window.clearTimeout(nestedOpenChangeTimer.current);\n }\n set(drawerRef.current, {\n transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(',')})`,\n transform: isVertical(direction) ? `scale(${scale}) translate3d(0, ${initialTranslate}px, 0)` : `scale(${scale}) translate3d(${initialTranslate}px, 0, 0)`\n });\n if (!o && drawerRef.current) {\n nestedOpenChangeTimer.current = setTimeout(()=>{\n const translateValue = getTranslate(drawerRef.current, direction);\n set(drawerRef.current, {\n transition: 'none',\n transform: isVertical(direction) ? `translate3d(0, ${translateValue}px, 0)` : `translate3d(${translateValue}px, 0, 0)`\n });\n }, 500);\n }\n }\n function onNestedDrag(_event, percentageDragged) {\n if (percentageDragged < 0) return;\n const initialScale = (window.innerWidth - NESTED_DISPLACEMENT) / window.innerWidth;\n const newScale = initialScale + percentageDragged * (1 - initialScale);\n const newTranslate = -NESTED_DISPLACEMENT + percentageDragged * NESTED_DISPLACEMENT;\n set(drawerRef.current, {\n transform: isVertical(direction) ? `scale(${newScale}) translate3d(0, ${newTranslate}px, 0)` : `scale(${newScale}) translate3d(${newTranslate}px, 0, 0)`,\n transition: 'none'\n });\n }\n function onNestedRelease(_event, o) {\n const dim = isVertical(direction) ? window.innerHeight : window.innerWidth;\n const scale = o ? (dim - NESTED_DISPLACEMENT) / dim : 1;\n const translate = o ? -NESTED_DISPLACEMENT : 0;\n if (o) {\n set(drawerRef.current, {\n transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(',')})`,\n transform: isVertical(direction) ? `scale(${scale}) translate3d(0, ${translate}px, 0)` : `scale(${scale}) translate3d(${translate}px, 0, 0)`\n });\n }\n }\n React__default.useEffect(()=>{\n if (!modal) {\n // Need to do this manually unfortunately\n window.requestAnimationFrame(()=>{\n document.body.style.pointerEvents = 'auto';\n });\n }\n }, [\n modal\n ]);\n return /*#__PURE__*/ React__default.createElement(DialogPrimitive.Root, {\n defaultOpen: defaultOpen,\n onOpenChange: (open)=>{\n if (!dismissible && !open) return;\n if (open) {\n setHasBeenOpened(true);\n } else {\n closeDrawer(true);\n }\n setIsOpen(open);\n },\n open: isOpen\n }, /*#__PURE__*/ React__default.createElement(DrawerContext.Provider, {\n value: {\n activeSnapPoint,\n snapPoints,\n setActiveSnapPoint,\n drawerRef,\n overlayRef,\n onOpenChange,\n onPress,\n onRelease,\n onDrag,\n dismissible,\n shouldAnimate,\n handleOnly,\n isOpen,\n isDragging,\n shouldFade,\n closeDrawer,\n onNestedDrag,\n onNestedOpenChange,\n onNestedRelease,\n keyboardIsOpen,\n modal,\n snapPointsOffset,\n activeSnapPointIndex,\n direction,\n shouldScaleBackground,\n setBackgroundColorOnScale,\n noBodyStyles,\n container,\n autoFocus\n }\n }, children));\n}\nconst Overlay = /*#__PURE__*/ React__default.forwardRef(function({ ...rest }, ref) {\n const { overlayRef, snapPoints, onRelease, shouldFade, isOpen, modal, shouldAnimate } = useDrawerContext();\n const composedRef = useComposedRefs(ref, overlayRef);\n const hasSnapPoints = snapPoints && snapPoints.length > 0;\n // Overlay is the component that is locking scroll, removing it will unlock the scroll without having to dig into Radix's Dialog library\n if (!modal) {\n return null;\n }\n const onMouseUp = React__default.useCallback((event)=>onRelease(event), [\n onRelease\n ]);\n return /*#__PURE__*/ React__default.createElement(DialogPrimitive.Overlay, {\n onMouseUp: onMouseUp,\n ref: composedRef,\n \"data-vaul-overlay\": \"\",\n \"data-vaul-snap-points\": isOpen && hasSnapPoints ? 'true' : 'false',\n \"data-vaul-snap-points-overlay\": isOpen && shouldFade ? 'true' : 'false',\n \"data-vaul-animate\": (shouldAnimate == null ? void 0 : shouldAnimate.current) ? 'true' : 'false',\n ...rest\n });\n});\nOverlay.displayName = 'Drawer.Overlay';\nconst Content = /*#__PURE__*/ React__default.forwardRef(function({ onPointerDownOutside, style, onOpenAutoFocus, ...rest }, ref) {\n const { drawerRef, onPress, onRelease, onDrag, keyboardIsOpen, snapPointsOffset, activeSnapPointIndex, modal, isOpen, direction, snapPoints, container, handleOnly, shouldAnimate, autoFocus } = useDrawerContext();\n // Needed to use transition instead of animations\n const [delayedSnapPoints, setDelayedSnapPoints] = React__default.useState(false);\n const composedRef = useComposedRefs(ref, drawerRef);\n const pointerStartRef = React__default.useRef(null);\n const lastKnownPointerEventRef = React__default.useRef(null);\n const wasBeyondThePointRef = React__default.useRef(false);\n const hasSnapPoints = snapPoints && snapPoints.length > 0;\n useScaleBackground();\n const isDeltaInDirection = (delta, direction, threshold = 0)=>{\n if (wasBeyondThePointRef.current) return true;\n const deltaY = Math.abs(delta.y);\n const deltaX = Math.abs(delta.x);\n const isDeltaX = deltaX > deltaY;\n const dFactor = [\n 'bottom',\n 'right'\n ].includes(direction) ? 1 : -1;\n if (direction === 'left' || direction === 'right') {\n const isReverseDirection = delta.x * dFactor < 0;\n if (!isReverseDirection && deltaX >= 0 && deltaX <= threshold) {\n return isDeltaX;\n }\n } else {\n const isReverseDirection = delta.y * dFactor < 0;\n if (!isReverseDirection && deltaY >= 0 && deltaY <= threshold) {\n return !isDeltaX;\n }\n }\n wasBeyondThePointRef.current = true;\n return true;\n };\n React__default.useEffect(()=>{\n if (hasSnapPoints) {\n window.requestAnimationFrame(()=>{\n setDelayedSnapPoints(true);\n });\n }\n }, []);\n function handleOnPointerUp(event) {\n pointerStartRef.current = null;\n wasBeyondThePointRef.current = false;\n onRelease(event);\n }\n return /*#__PURE__*/ React__default.createElement(DialogPrimitive.Content, {\n \"data-vaul-drawer-direction\": direction,\n \"data-vaul-drawer\": \"\",\n \"data-vaul-delayed-snap-points\": delayedSnapPoints ? 'true' : 'false',\n \"data-vaul-snap-points\": isOpen && hasSnapPoints ? 'true' : 'false',\n \"data-vaul-custom-container\": container ? 'true' : 'false',\n \"data-vaul-animate\": (shouldAnimate == null ? void 0 : shouldAnimate.current) ? 'true' : 'false',\n ...rest,\n ref: composedRef,\n style: snapPointsOffset && snapPointsOffset.length > 0 ? {\n '--snap-point-height': `${snapPointsOffset[activeSnapPointIndex != null ? activeSnapPointIndex : 0]}px`,\n ...style\n } : style,\n onPointerDown: (event)=>{\n if (handleOnly) return;\n rest.onPointerDown == null ? void 0 : rest.onPointerDown.call(rest, event);\n pointerStartRef.current = {\n x: event.pageX,\n y: event.pageY\n };\n onPress(event);\n },\n onOpenAutoFocus: (e)=>{\n onOpenAutoFocus == null ? void 0 : onOpenAutoFocus(e);\n if (!autoFocus) {\n e.preventDefault();\n }\n },\n onPointerDownOutside: (e)=>{\n onPointerDownOutside == null ? void 0 : onPointerDownOutside(e);\n if (!modal || e.defaultPrevented) {\n e.preventDefault();\n return;\n }\n if (keyboardIsOpen.current) {\n keyboardIsOpen.current = false;\n }\n },\n onFocusOutside: (e)=>{\n if (!modal) {\n e.preventDefault();\n return;\n }\n },\n onPointerMove: (event)=>{\n lastKnownPointerEventRef.current = event;\n if (handleOnly) return;\n rest.onPointerMove == null ? void 0 : rest.onPointerMove.call(rest, event);\n if (!pointerStartRef.current) return;\n const yPosition = event.pageY - pointerStartRef.current.y;\n const xPosition = event.pageX - pointerStartRef.current.x;\n const swipeStartThreshold = event.pointerType === 'touch' ? 10 : 2;\n const delta = {\n x: xPosition,\n y: yPosition\n };\n const isAllowedToSwipe = isDeltaInDirection(delta, direction, swipeStartThreshold);\n if (isAllowedToSwipe) onDrag(event);\n else if (Math.abs(xPosition) > swipeStartThreshold || Math.abs(yPosition) > swipeStartThreshold) {\n pointerStartRef.current = null;\n }\n },\n onPointerUp: (event)=>{\n rest.onPointerUp == null ? void 0 : rest.onPointerUp.call(rest, event);\n pointerStartRef.current = null;\n wasBeyondThePointRef.current = false;\n onRelease(event);\n },\n onPointerOut: (event)=>{\n rest.onPointerOut == null ? void 0 : rest.onPointerOut.call(rest, event);\n handleOnPointerUp(lastKnownPointerEventRef.current);\n },\n onContextMenu: (event)=>{\n rest.onContextMenu == null ? void 0 : rest.onContextMenu.call(rest, event);\n if (lastKnownPointerEventRef.current) {\n handleOnPointerUp(lastKnownPointerEventRef.current);\n }\n }\n });\n});\nContent.displayName = 'Drawer.Content';\nconst LONG_HANDLE_PRESS_TIMEOUT = 250;\nconst DOUBLE_TAP_TIMEOUT = 120;\nconst Handle = /*#__PURE__*/ React__default.forwardRef(function({ preventCycle = false, children, ...rest }, ref) {\n const { closeDrawer, isDragging, snapPoints, activeSnapPoint, setActiveSnapPoint, dismissible, handleOnly, isOpen, onPress, onDrag } = useDrawerContext();\n const closeTimeoutIdRef = React__default.useRef(null);\n const shouldCancelInteractionRef = React__default.useRef(false);\n function handleStartCycle() {\n // Stop if this is the second click of a double click\n if (shouldCancelInteractionRef.current) {\n handleCancelInteraction();\n return;\n }\n window.setTimeout(()=>{\n handleCycleSnapPoints();\n }, DOUBLE_TAP_TIMEOUT);\n }\n function handleCycleSnapPoints() {\n // Prevent accidental taps while resizing drawer\n if (isDragging || preventCycle || shouldCancelInteractionRef.current) {\n handleCancelInteraction();\n return;\n }\n // Make sure to clear the timeout id if the user releases the handle before the cancel timeout\n handleCancelInteraction();\n if (!snapPoints || snapPoints.length === 0) {\n if (!dismissible) {\n closeDrawer();\n }\n return;\n }\n const isLastSnapPoint = activeSnapPoint === snapPoints[snapPoints.length - 1];\n if (isLastSnapPoint && dismissible) {\n closeDrawer();\n return;\n }\n const currentSnapIndex = snapPoints.findIndex((point)=>point === activeSnapPoint);\n if (currentSnapIndex === -1) return; // activeSnapPoint not found in snapPoints\n const nextSnapPoint = snapPoints[currentSnapIndex + 1];\n setActiveSnapPoint(nextSnapPoint);\n }\n function handleStartInteraction() {\n closeTimeoutIdRef.current = window.setTimeout(()=>{\n // Cancel click interaction on a long press\n shouldCancelInteractionRef.current = true;\n }, LONG_HANDLE_PRESS_TIMEOUT);\n }\n function handleCancelInteraction() {\n if (closeTimeoutIdRef.current) {\n window.clearTimeout(closeTimeoutIdRef.current);\n }\n shouldCancelInteractionRef.current = false;\n }\n return /*#__PURE__*/ React__default.createElement(\"div\", {\n onClick: handleStartCycle,\n onPointerCancel: handleCancelInteraction,\n onPointerDown: (e)=>{\n if (handleOnly) onPress(e);\n handleStartInteraction();\n },\n onPointerMove: (e)=>{\n if (handleOnly) onDrag(e);\n },\n // onPointerUp is already handled by the content component\n ref: ref,\n \"data-vaul-drawer-visible\": isOpen ? 'true' : 'false',\n \"data-vaul-handle\": \"\",\n \"aria-hidden\": \"true\",\n ...rest\n }, /*#__PURE__*/ React__default.createElement(\"span\", {\n \"data-vaul-handle-hitarea\": \"\",\n \"aria-hidden\": \"true\"\n }, children));\n});\nHandle.displayName = 'Drawer.Handle';\nfunction NestedRoot({ onDrag, onOpenChange, open: nestedIsOpen, ...rest }) {\n const { onNestedDrag, onNestedOpenChange, onNestedRelease } = useDrawerContext();\n if (!onNestedDrag) {\n throw new Error('Drawer.NestedRoot must be placed in another drawer');\n }\n return /*#__PURE__*/ React__default.createElement(Root, {\n nested: true,\n open: nestedIsOpen,\n onClose: ()=>{\n onNestedOpenChange(false);\n },\n onDrag: (e, p)=>{\n onNestedDrag(e, p);\n onDrag == null ? void 0 : onDrag(e, p);\n },\n onOpenChange: (o)=>{\n if (o) {\n onNestedOpenChange(o);\n }\n onOpenChange == null ? void 0 : onOpenChange(o);\n },\n onRelease: onNestedRelease,\n ...rest\n });\n}\nfunction Portal(props) {\n const context = useDrawerContext();\n const { container = context.container, ...portalProps } = props;\n return /*#__PURE__*/ React__default.createElement(DialogPrimitive.Portal, {\n container: container,\n ...portalProps\n });\n}\nconst Drawer = {\n Root,\n NestedRoot,\n Content,\n Overlay,\n Trigger: DialogPrimitive.Trigger,\n Portal,\n Handle,\n Close: DialogPrimitive.Close,\n Title: DialogPrimitive.Title,\n Description: DialogPrimitive.Description\n};\n\nexport { Content, Drawer, Handle, NestedRoot, Overlay, Portal, Root };\n"],"names":["module","exports","len","arguments","length","args","i","filter","fn","reduce","current","next","apply","this","condition","format","a","b","c","d","e","f","error","undefined","Error","argIndex","replace","name","framesToPop","arrayMap","baseGet","baseIteratee","baseMap","baseSortBy","baseUnary","compareMultiple","identity","isArray","collection","iteratees","orders","iteratee","value","index","result","key","object","other","array","comparer","sort","isSymbol","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","compareAscending","objCriteria","criteria","othCriteria","ordersLength","isNumber","baseGetTag","isObjectLike","baseFlatten","baseOrderBy","baseRest","isIterateeCall","sortBy","baseUniq","Object","defineProperty","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","prototype","EntitySchema","options","instance","TypeError","_classCallCheck","_key","_assignEntity","assignEntity","idAttribute","_getId","x","_idAttribute","_meta","meta","_defaults","defaults","entity","prop","nestedSchema","hasOwnProperty","_isObject2","_interopRequireDefault","_UnionSchema2","obj","__esModule","default","ArraySchema","itemSchema","schemaAttribute","_itemSchema","_isObject","UnionSchema","_getSchema","item","_extends","assign","source","call","schema","_IterableSchema2","Array","bag","visit","entities","normalizeResult","_EntitySchema2","_isEqual2","defaultAssignEntity","normalized","visitObject","collectionKey","_options$assignEntity","getDefaults","schemaAssignEntity","getAssignEntity","resolvedSchema","visitIterable","iterableSchema","curriedItemMapper","defaultMapper","getItemSchema","map","keys","objMap","visitUnion","unionSchema","schemaKey","getSchemaKey","id","polymorphicMapper","defaultMergeIntoEntity","entityA","entityB","entityKey","console","warn","entitySchema","_options$mergeIntoEnt","mergeIntoEntity","getKey","getId","visitEntity","element","className","classList","add","_hasClass","setAttribute","baseVal","contains","indexOf","replaceClassName","origClass","classToRemove","RegExp","remove","animationEnd","animationDelay","animationTiming","animationDuration","animationName","transitionEnd","transitionDuration","transitionDelay","transitionTiming","transitionProperty","transform","prefix","_inDOM","_getTransitionPropert","style","document","createElement","vendorMap","O","toLowerCase","Moz","Webkit","ms","vendors","vendor","getTransitionProperties","_default","end","property","timing","delay","duration","window","compatRaf","cancel","raf","curr","Date","getTime","Math","max","prev","req","setTimeout","k","toUpperCase","substr","some","rafKey","cb","_react2","_propTypes2","_TransitionGroup2","_CSSTransitionGroupChild2","_PropTypes","_possibleConstructorReturn","self","ReferenceError","nameShape","isRequired","bool","transitionTimeout","CSSTransitionGroup","_React$Component","_temp","_this","_len","concat","_wrapChild","child","transitionName","appear","transitionAppear","enter","transitionEnter","leave","transitionLeave","appearTimeout","transitionAppearTimeout","enterTimeout","transitionEnterTimeout","leaveTimeout","transitionLeaveTimeout","subClass","superClass","create","constructor","setPrototypeOf","__proto__","_inherits","render","childFactory","Component","displayName","propTypes","defaultProps","_addClass2","_removeClass2","_requestAnimationFrame2","_properties","_reactDom","events","push","node","number","CSSTransitionGroupChild","componentWillAppear","done","transition","componentWillEnter","componentWillLeave","componentWillMount","classNameAndNodeQueue","transitionTimeouts","componentWillUnmount","unmounted","timeout","clearTimeout","forEach","animationType","finishCallback","findDOMNode","activeClassName","timer","removeListeners","queueClassAndNode","finish","listener","addEventListener","removeEventListener","addEndListener","_this2","rafHandle","flushClassNameAndNodeQueue","scrollTop","children","cloneElement","Children","only","_chainFunction2","_ChildMapping","any","func","TransitionGroup","context","performAppear","component","currentlyTransitioningKeys","_handleDoneAppearing","bind","componentDidAppear","currentChildMapping","getChildMapping","performLeave","performEnter","_handleDoneEntering","componentDidEnter","_handleDoneLeaving","componentDidLeave","keysToEnter","setState","state","newChildren","childRefs","keysToLeave","componentDidMount","initialChildMapping","componentWillReceiveProps","nextProps","nextChildMapping","prevChildMapping","mergeChildMappings","hasPrev","hasNext","componentDidUpdate","_this3","childrenToRender","_loop","isCallbackRef","ref","factoryChild","r","_react","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","transitionType","timeoutPropName","enabledPropName","oneOfType","string","shape","active","enterActive","leaveActive","appearActive","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","initialStatus","isMounting","appearStatus","in","unmountOnExit","mountOnEnter","status","nextCallback","getDerivedStateFromProps","_ref","prevState","_proto","updateStatus","prevProps","nextStatus","cancelNextCallback","getTimeouts","exit","mounting","nodeRef","performExit","appearing","_ref2","maybeNode","maybeAppearing","timeouts","disabled","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","onExit","onExiting","onExited","nextState","callback","setNextCallback","_this4","event","handler","doesNotHaveTimeoutOrListener","_ref3","maybeNextCallback","_this$props","childProps","Provider","noop","contextType","forceReflow","Symbol","for","l","m","n","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","p","__self","__source","q","g","h","$$typeof","type","_owner","Fragment","jsx","jsxs","_inheritsLoose","t","o","clsx","extendStatics","__extends","String","__","__assign","s","__rest","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","then","__generator","body","y","_","label","sent","trys","ops","Iterator","verb","iterator","v","op","pop","__values","__read","ar","__spreadArray","to","from","pack","slice","SuppressedError","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","defaultPrevented","composeRefs","refs","setRef","useComposedRefs","composeContextScopes","scopes","baseScope","createScope","scopeHooks","createScope2","useScope","scopeName","overrideScopes","nextScopes","nextScopes2","useLayoutEffect2","Boolean","globalThis","useReactId","toString","count","useId","deterministicId","setId","reactId","useCallbackRef","callbackRef","useControllableState","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","uncontrolledState","prevValueRef","handleChange","useUncontrolledState","isControlled","nextValue","value2","Slot","forwardedRef","slotProps","childrenArray","toArray","slottable","find","isSlottable","newElement","SlotClone","childrenRef","getter","getOwnPropertyDescriptor","get","mayWarn","isReactWarning","getElementRef","mergeProps","Slottable","overrideProps","propName","slotPropValue","childPropValue","test","join","Primitive","primitive","Node","asChild","primitiveProps","Comp","originalBodyPointerEvents","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","DismissableLayerContext","layers","Set","layersWithOutsidePointerEventsDisabled","branches","DismissableLayer","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","setNode","ownerDocument","force","composedRefs","node2","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","size","isPointerEventsEnabled","pointerDownOutside","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","discrete","originalEvent","pointerType","once","timerId","onPointerDownCapture","usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","onFocusCapture","onBlurCapture","useFocusOutside","onEscapeKeyDownProp","handleKeyDown","capture","useEscapeKeydown","preventDefault","pointerEvents","dispatchUpdate","delete","handleUpdate","div","DismissableLayerBranch","CustomEvent","dispatchEvent","detail","bubbles","cancelable","dispatchDiscreteCustomEvent","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","FocusScope","loop","trapped","onMountAutoFocus","onMountAutoFocusProp","onUnmountAutoFocus","onUnmountAutoFocusProp","scopeProps","container","setContainer","lastFocusedElementRef","focusScope","paused","pause","resume","handleFocusIn2","select","handleFocusOut2","relatedTarget","handleMutations2","mutations","activeElement","mutation","removedNodes","mutationObserver","MutationObserver","observe","childList","subtree","disconnect","focusScopesStack","previouslyFocusedElement","mountEvent","candidates","candidate","focusFirst","items","getTabbableCandidates","tagName","unmountEvent","isTabKey","altKey","ctrlKey","metaKey","focusedElement","container2","currentTarget","first","last","findVisible","reverse","getTabbableEdges","shiftKey","tabIndex","onKeyDown","nodes","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","isHiddenInput","hidden","FILTER_SKIP","FILTER_ACCEPT","nextNode","currentNode","elements","isHidden","upTo","getComputedStyle","visibility","display","parentElement","focus","preventScroll","HTMLInputElement","isSelectableInput","stack","activeFocusScope","arrayRemove","unshift","createFocusScopesStack","updatedArray","splice","Portal","containerProp","portalProps","mounted","setMounted","Presence","present","presence","stylesRef","prevPresentRef","prevAnimationNameRef","initialState","send","machine","useStateMachine","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","currentAnimationName","getAnimationName","styles","wasPresent","prevAnimationName","handleAnimationEnd","isCurrentAnimation","includes","handleAnimationStart","isPresent","usePresence","useFocusGuards","edgeGuards","querySelectorAll","insertAdjacentElement","createFocusGuard","cssText","zeroRightClassName","fullWidthClassName","assignRef","useIsomorphicLayoutEffect","currentValues","WeakMap","useMergeRefs","defaultValue","initialValue","newValue","useState","facade","oldValue","prevRefs_1","nextRefs_1","current_1","has","set","ItoI","innerCreateMedium","middleware","buffer","assigned","read","useMedium","data","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","effectCar","medium","async","ssr","createSidecarMedium","nothing","RemoveScroll","parentRef","_a","onScrollCapture","onWheelCapture","onTouchMoveCapture","callbacks","setCallbacks","forwardProps","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","_b","as","Container","gapMode","rest","SideCar","containerRef","containerProps","lockRef","classNames","fullWidth","zeroRight","currentNonce","Target","isSideCarExport","makeStyleTag","tag","nonce","stylesheetSingleton","counter","stylesheet","css","styleSheet","appendChild","createTextNode","head","getElementsByTagName","insertStyleTag","parentNode","removeChild","styleSingleton","sheet","useStyle","isDynamic","dynamic","zeroGap","left","top","right","gap","parse","parseInt","getGapWidth","offsets","cs","getOffset","documentWidth","documentElement","clientWidth","windowWidth","innerWidth","Style","lockAttribute","getStyles","allowRelative","important","getCurrentUseCounter","getAttribute","isFinite","RemoveScrollBar","noRelative","noImportant","newCounter","removeAttribute","passiveSupported","err","nonPassive","passive","elementCanBeScrolled","overflow","overflowY","overflowX","alwaysContainsScroll","locationCouldBeScrolled","axis","ShadowRoot","host","elementCouldBeScrolled","getScrollVariables","elementCouldBeVScrolled","elementCouldBeHScrolled","scrollHeight","clientHeight","scrollLeft","scrollWidth","getHScrollVariables","getTouchXY","changedTouches","clientX","clientY","getDeltaXY","deltaX","deltaY","extractRef","generateStyle","idCounter","lockStack","getOutermostShadowParent","shadowParent","exported","shouldPreventQueue","touchStartRef","activeAxis","lastProps","allow_1","el","shouldCancelEvent","parent","touches","currentAxis","touch","touchStart","moveDirection","abs","canBeScrolledInMainDirection","cancelingAxis","endTarget","sourceDelta","noOverscroll","directionFactor","direction","getDirectionFactor","delta","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","position","elementScroll","handleScroll","shouldPrevent","_event","sourceEvent","should","shardNodes","shouldCancel","scrollTouchStart","scrollWheel","scrollTouchMove","inst","ReactRemoveScroll","getDefaultParent","originalTarget","counterMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","applyAttributeToOthers","markerName","controlAttribute","targets","correctedTarget","correctTargets","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","deep","attr","alreadyHidden","counterValue","markerValue","clear","hideOthers","activeParentNode","DIALOG_NAME","createDialogContext","createDialogScope","createContextScopeDeps","defaultContexts","scopeContexts","defaultContext","scope","contexts","rootComponentName","BaseContext","Context","values","consumerName","createContextScope","DialogProvider","useDialogContext","Dialog","__scopeDialog","open","openProp","defaultOpen","onOpenChange","modal","triggerRef","contentRef","setOpen","contentId","titleId","descriptionId","onOpenToggle","prevOpen","TRIGGER_NAME","DialogTrigger","triggerProps","composedTriggerRef","button","getState","onClick","PortalProvider","usePortalContext","forceMount","DialogPortal","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","content","DialogContentImpl","trapFocus","onCloseAutoFocus","ctrlLeftClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","targetIsTrigger","onOpenAutoFocus","role","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","h2","DESCRIPTION_NAME","DialogDescription","descriptionProps","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","contentName","titleName","docsSlug","titleWarningContext","MESSAGE","getElementById","describedById","Trigger","Overlay","Content","Title","Description","Close","DrawerContext","drawerRef","overlayRef","onPress","onRelease","onDrag","onNestedDrag","onNestedOpenChange","onNestedRelease","dismissible","isOpen","isDragging","keyboardIsOpen","snapPointsOffset","snapPoints","handleOnly","shouldFade","activeSnapPoint","setActiveSnapPoint","closeDrawer","shouldAnimate","shouldScaleBackground","setBackgroundColorOnScale","noBodyStyles","autoFocus","useDrawerContext","isSafari","navigator","userAgent","isIPad","testPlatform","maxTouchPoints","isIOS","re","platform","code","__insertCSS","useLayoutEffect","useEffect","chain$1","visualViewport","isScrollable","getScrollParent","scrollingElement","nonTextInputTypes","restore","preventScrollCount","usePreventScroll","isDisabled","scrollable","lastY","onTouchStart","pageY","onTouchMove","bottom","onTouchEnd","isInput","requestAnimationFrame","onFocus","height","innerHeight","scrollIntoView","onWindowScroll","scrollTo","scrollX","pageXOffset","scrollY","pageYOffset","restoreStyles","cur","setStyle","removeEvents","addEvent","preventScrollMobileSafari","root","scrollableTop","getBoundingClientRect","targetTop","HTMLTextAreaElement","HTMLElement","isContentEditable","cache","ignoreCache","originalStyles","entries","startsWith","setProperty","isVertical","getTranslate","webkitTransform","mozTransform","mat","match","parseFloat","split","assignStyle","prevStyle","TRANSITIONS","DURATION","EASE","NESTED_DISPLACEMENT","DRAG_CLASS","setValue","previousBodyPosition","onDragProp","onReleaseProp","closeThreshold","scrollLockTimeout","fadeFromIndex","activeSnapPointProp","setActiveSnapPointProp","fixed","onClose","nested","disablePreventScroll","snapToSequentialPoint","preventScrollRestoration","repositionInputs","onAnimationEnd","_drawerRef_current","_drawerRef_current1","setIsOpen","restorePositionSetting","hasBeenOpened","setHasBeenOpened","setIsDragging","justReleased","setJustReleased","openTime","dragStartTime","dragEndTime","lastTimeDragPrevented","isAllowedToDrag","nestedOpenChangeTimer","pointerStart","previousDiffFromInitial","drawerHeightRef","drawerWidthRef","width","initialDrawerHeight","onSnapPointChange","activeSnapPointIndex","onReleaseSnapPoints","onDragSnapPoints","getPercentageDragged","getSnapPointsPercentageDragged","windowDimensions","setWindowDimensions","onResize","isLastSnapPoint","_snapPoints_findIndex","findIndex","snapPoint","Number","isNaN","containerSize","_snapPoints_map","isPx","snapPointAsNumber","activeSnapPointOffset","snapToPoint","dimension","_snapPointsOffset_findIndex","newSnapPointIndex","snapPointDim","opacity","newIndex","absDraggedDistance","isDraggingDown","isOverlaySnapPoint","targetSnapPointIndex","snapPointDistance","percentageDragged","draggedDistance","velocity","currentPosition","isFirst","hasDraggedUp","closestSnapPoint","dim","dragDirection","useSnapPoints","activeUrl","setActiveUrl","location","href","scrollPos","setPositionFixed","bottomBarHeight","onScroll","querySelector","matchMedia","matches","usePositionFixed","getScale","shouldDrag","isDraggingInDirection","_window_getSelection","highlightedText","getSelection","swipeAmount","date","hasAttribute","closest","fromWithin","cancelDrag","resetDrawer","wrapper","currentSwipeAmount","borderRadius","transformOrigin","transitionTimingFunction","_window_visualViewport","onVisualViewportChange","visualViewportHeight","totalHeight","diffFromInitial","drawerHeight","isTallEnough","offsetFromTop","newDrawerHeight","isMobileFirefox","scrollBehavior","setPointerCapture","pointerId","pageX","timeTaken","distMoved","_drawerRef_current_getBoundingClientRect_height","visibleDrawerHeight","min","_drawerRef_current_getBoundingClientRect_width","visibleDrawerWidth","isHorizontalSwipe","directionMultiplier","noCloseSnapPointsPreCondition","snapPointPercentageDragged","dampenedDraggedDistance","log","translateValue","opacityValue","scaleValue","borderRadiusValue","initialScale","newScale","newTranslate","scale","initialTranslate","translate","composedRef","hasSnapPoints","onMouseUp","delayedSnapPoints","setDelayedSnapPoints","pointerStartRef","lastKnownPointerEventRef","wasBeyondThePointRef","timeoutIdRef","initialBackgroundColor","useMemo","backgroundColor","background","wrapperStylesCleanup","removeProperty","useScaleBackground","handleOnPointerUp","onPointerDown","onPointerMove","yPosition","xPosition","swipeStartThreshold","isAllowedToSwipe","threshold","isDeltaX","dFactor","isDeltaInDirection","onPointerUp","onPointerOut","onContextMenu","Handle","preventCycle","closeTimeoutIdRef","shouldCancelInteractionRef","handleCancelInteraction","currentSnapIndex","point","nextSnapPoint","handleCycleSnapPoints","onPointerCancel","Drawer","Root","NestedRoot","nestedIsOpen"],"sourceRoot":""}