{"version":3,"file":"7554.0becaccc.js","mappings":"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","sources":["webpack://@finviz/website/../node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js","webpack://@finviz/website/../node_modules/date-fns/esm/addDays/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/addMonths/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/add/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInCalendarDays/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/endOfDay/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/endOfMonth/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/compareAsc/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInDays/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInMilliseconds/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/_lib/roundingMethods/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInMonths/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInCalendarMonths/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/isLastDayOfMonth/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInYears/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInCalendarYears/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/intervalToDuration/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInHours/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInMinutes/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInSeconds/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/startOfDay/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/subMonths/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/sub/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/subDays/index.js","webpack://@finviz/website/../node_modules/events/events.js","webpack://@finviz/website/../node_modules/lodash.debounce/index.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/3X3MDQGM.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/DMSZFK7W.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/TKSBJDO3.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/AFNONYRE.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/5SF76VVA.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/Z72LDQLY.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/combobox/combobox-provider.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/TH2YTBRW.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/ED7XMMMU.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/menu/menu-group-label.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/CWDOOAGR.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/ZO6PSJHJ.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/menu/menu-group.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/popover/popover-provider.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-item.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-label.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/PDRDZB4I.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-popover.js","webpack://@finviz/website/../node_modules/@ariakit/core/esm/select/select-store.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/SVBVYDIK.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-provider.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/UZMGSJE4.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/UPJMZO6L.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-renderer.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/HA4U57LH.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/6PC3IJNK.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select.js"],"sourcesContent":["function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n// Older browsers don't support event options, feature detect it.\n\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\nvar hasPassiveEvents = false;\nif (typeof window !== 'undefined') {\n var passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return undefined;\n }\n };\n window.addEventListener('testPassive', null, passiveTestOptions);\n window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\n\n\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0;\n\n// returns true if `el` should be allowed to receive touchmove events.\nvar allowTouchMove = function allowTouchMove(el) {\n return locks.some(function (lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n\n return false;\n });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n var e = rawEvent || window.event;\n\n // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n if (allowTouchMove(e.target)) {\n return true;\n }\n\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n if (e.touches.length > 1) return true;\n\n if (e.preventDefault) e.preventDefault();\n\n return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = scrollBarGap + 'px';\n }\n }\n\n // If previousBodyOverflowSetting is already set, don't set it again.\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n }\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n previousBodyPaddingRight = undefined;\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n\n // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n previousBodyOverflowSetting = undefined;\n }\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n\n if (allowTouchMove(event.target)) {\n return false;\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event);\n }\n\n event.stopPropagation();\n return true;\n};\n\nexport var disableBodyScroll = function disableBodyScroll(targetElement, options) {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n return;\n }\n\n // disableBodyScroll must not have been called on this targetElement before\n if (locks.some(function (lock) {\n return lock.targetElement === targetElement;\n })) {\n return;\n }\n\n var lock = {\n targetElement: targetElement,\n options: options || {}\n };\n\n locks = [].concat(_toConsumableArray(locks), [lock]);\n\n if (isIosDevice) {\n targetElement.ontouchstart = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n targetElement.ontouchmove = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement);\n }\n };\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = true;\n }\n } else {\n setOverflowHidden(options);\n }\n};\n\nexport var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n if (isIosDevice) {\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n locks.forEach(function (lock) {\n lock.targetElement.ontouchstart = null;\n lock.targetElement.ontouchmove = null;\n });\n\n if (documentListenerAdded) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n\n // Reset initial clientY.\n initialClientY = -1;\n } else {\n restoreOverflowSetting();\n }\n\n locks = [];\n};\n\nexport var enableBodyScroll = function enableBodyScroll(targetElement) {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n return;\n }\n\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (isIosDevice) {\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n } else if (!locks.length) {\n restoreOverflowSetting();\n }\n};\n\n","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n date.setDate(date.getDate() + amount);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n */\nexport default function addMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n var dayOfMonth = date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n var endOfDesiredMonth = new Date(date.getTime());\n endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0);\n var daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);\n return date;\n }\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport addDays from \"../addDays/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n *\n * | Key | Description |\n * |----------------|------------------------------------|\n * | years | Amount of years to be added |\n * | months | Amount of months to be added |\n * | weeks | Amount of weeks to be added |\n * | days | Amount of days to be added |\n * | hours | Amount of hours to be added |\n * | minutes | Amount of minutes to be added |\n * | seconds | Amount of seconds to be added |\n *\n * All values default to 0\n *\n * @returns {Date} the new date with the seconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport default function add(dirtyDate, duration) {\n requiredArgs(2, arguments);\n if (!duration || _typeof(duration) !== 'object') return new Date(NaN);\n var years = duration.years ? toInteger(duration.years) : 0;\n var months = duration.months ? toInteger(duration.months) : 0;\n var weeks = duration.weeks ? toInteger(duration.weeks) : 0;\n var days = duration.days ? toInteger(duration.days) : 0;\n var hours = duration.hours ? toInteger(duration.hours) : 0;\n var minutes = duration.minutes ? toInteger(duration.minutes) : 0;\n var seconds = duration.seconds ? toInteger(duration.seconds) : 0;\n\n // Add years and months\n var date = toDate(dirtyDate);\n var dateWithMonths = months || years ? addMonths(date, months + years * 12) : date;\n\n // Add weeks and days\n var dateWithDays = days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n // Add days, hours, minutes and seconds\n var minutesToAdd = minutes + hours * 60;\n var secondsToAdd = seconds + minutesToAdd * 60;\n var msToAdd = secondsToAdd * 1000;\n var finalDate = new Date(dateWithDays.getTime() + msToAdd);\n return finalDate;\n}","import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport default function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var startOfDayLeft = startOfDay(dirtyDateLeft);\n var startOfDayRight = startOfDay(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport default function endOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport default function endOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear(), month + 1, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\nexport default function compareAsc(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1;\n // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}","import toDate from \"../toDate/index.js\";\nimport differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\"; // Like `compareAsc` but uses local time not UTC, which is needed\n// for accurate equality comparisons of UTC timestamps that end up\n// having the same representation in local time, e.g. one hour before\n// DST ends vs. the instant that DST ends.\nfunction compareLocalAsc(dateLeft, dateRight) {\n var diff = dateLeft.getFullYear() - dateRight.getFullYear() || dateLeft.getMonth() - dateRight.getMonth() || dateLeft.getDate() - dateRight.getDate() || dateLeft.getHours() - dateRight.getHours() || dateLeft.getMinutes() - dateRight.getMinutes() || dateLeft.getSeconds() - dateRight.getSeconds() || dateLeft.getMilliseconds() - dateRight.getMilliseconds();\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1;\n // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}\n\n/**\n * @name differenceInDays\n * @category Day Helpers\n * @summary Get the number of full days between the given dates.\n *\n * @description\n * Get the number of full day periods between two dates. Fractional days are\n * truncated towards zero.\n *\n * One \"full day\" is the distance between a local time in one day to the same\n * local time on the next or previous day. A full day can sometimes be less than\n * or more than 24 hours if a daylight savings change happens between two dates.\n *\n * To ignore DST and only measure exact 24-hour periods, use this instead:\n * `Math.floor(differenceInHours(dateLeft, dateRight)/24)|0`.\n *\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full days according to the local timezone\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 365\n * // How many full days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 0\n * // How many full days are between\n * // 1 March 2020 0:00 and 1 June 2020 0:00 ?\n * // Note: because local time is used, the\n * // result will always be 92 days, even in\n * // time zones where DST starts and the\n * // period has only 92*24-1 hours.\n * const result = differenceInDays(\n * new Date(2020, 5, 1),\n * new Date(2020, 2, 1)\n * )\n//=> 92\n */\nexport default function differenceInDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var sign = compareLocalAsc(dateLeft, dateRight);\n var difference = Math.abs(differenceInCalendarDays(dateLeft, dateRight));\n dateLeft.setDate(dateLeft.getDate() - sign * difference);\n\n // Math.abs(diff in full days - diff in calendar days) === 1 if last calendar day is not full\n // If so, result must be decreased by 1 in absolute value\n var isLastDayNotFull = Number(compareLocalAsc(dateLeft, dateRight) === -sign);\n var result = sign * (difference - isLastDayNotFull);\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of milliseconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nexport default function differenceInMilliseconds(dateLeft, dateRight) {\n requiredArgs(2, arguments);\n return toDate(dateLeft).getTime() - toDate(dateRight).getTime();\n}","var roundingMap = {\n ceil: Math.ceil,\n round: Math.round,\n floor: Math.floor,\n trunc: function trunc(value) {\n return value < 0 ? Math.ceil(value) : Math.floor(value);\n } // Math.trunc is not supported by IE\n};\n\nvar defaultRoundingMethod = 'trunc';\nexport function getRoundingMethod(method) {\n return method ? roundingMap[method] : roundingMap[defaultRoundingMethod];\n}","import toDate from \"../toDate/index.js\";\nimport differenceInCalendarMonths from \"../differenceInCalendarMonths/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport isLastDayOfMonth from \"../isLastDayOfMonth/index.js\";\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates using trunc as a default rounding method.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\nexport default function differenceInMonths(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var sign = compareAsc(dateLeft, dateRight);\n var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight));\n var result;\n\n // Check for the difference of less than month\n if (difference < 1) {\n result = 0;\n } else {\n if (dateLeft.getMonth() === 1 && dateLeft.getDate() > 27) {\n // This will check if the date is end of Feb and assign a higher end of month date\n // to compare it with Jan\n dateLeft.setDate(30);\n }\n dateLeft.setMonth(dateLeft.getMonth() - sign * difference);\n\n // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n // If so, result must be decreased by 1 in absolute value\n var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign;\n\n // Check for cases of one full calendar month\n if (isLastDayOfMonth(toDate(dirtyDateLeft)) && difference === 1 && compareAsc(dirtyDateLeft, dateRight) === 1) {\n isLastMonthNotFull = false;\n }\n result = sign * (difference - Number(isLastMonthNotFull));\n }\n\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport default function differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear();\n var monthDiff = dateLeft.getMonth() - dateRight.getMonth();\n return yearDiff * 12 + monthDiff;\n}","import toDate from \"../toDate/index.js\";\nimport endOfDay from \"../endOfDay/index.js\";\nimport endOfMonth from \"../endOfMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is the last day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * const result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\nexport default function isLastDayOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n return endOfDay(date).getTime() === endOfMonth(date).getTime();\n}","import toDate from \"../toDate/index.js\";\nimport differenceInCalendarYears from \"../differenceInCalendarYears/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInYears\n * @category Year Helpers\n * @summary Get the number of full years between the given dates.\n *\n * @description\n * Get the number of full years between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full years are between 31 December 2013 and 11 February 2015?\n * const result = differenceInYears(new Date(2015, 1, 11), new Date(2013, 11, 31))\n * //=> 1\n */\nexport default function differenceInYears(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var sign = compareAsc(dateLeft, dateRight);\n var difference = Math.abs(differenceInCalendarYears(dateLeft, dateRight));\n\n // Set both dates to a valid leap year for accurate comparison when dealing\n // with leap days\n dateLeft.setFullYear(1584);\n dateRight.setFullYear(1584);\n\n // Math.abs(diff in full years - diff in calendar years) === 1 if last calendar year is not full\n // If so, result must be decreased by 1 in absolute value\n var isLastYearNotFull = compareAsc(dateLeft, dateRight) === -sign;\n var result = sign * (difference - Number(isLastYearNotFull));\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarYears\n * @category Year Helpers\n * @summary Get the number of calendar years between the given dates.\n *\n * @description\n * Get the number of calendar years between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar years are between 31 December 2013 and 11 February 2015?\n * const result = differenceInCalendarYears(\n * new Date(2015, 1, 11),\n * new Date(2013, 11, 31)\n * )\n * //=> 2\n */\nexport default function differenceInCalendarYears(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() - dateRight.getFullYear();\n}","import compareAsc from \"../compareAsc/index.js\";\nimport add from \"../add/index.js\";\nimport differenceInDays from \"../differenceInDays/index.js\";\nimport differenceInHours from \"../differenceInHours/index.js\";\nimport differenceInMinutes from \"../differenceInMinutes/index.js\";\nimport differenceInMonths from \"../differenceInMonths/index.js\";\nimport differenceInSeconds from \"../differenceInSeconds/index.js\";\nimport differenceInYears from \"../differenceInYears/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name intervalToDuration\n * @category Common Helpers\n * @summary Convert interval to duration\n *\n * @description\n * Convert a interval object to a duration object.\n *\n * @param {Interval} interval - the interval to convert to duration\n *\n * @returns {Duration} The duration Object\n * @throws {TypeError} Requires 2 arguments\n * @throws {RangeError} `start` must not be Invalid Date\n * @throws {RangeError} `end` must not be Invalid Date\n *\n * @example\n * // Get the duration between January 15, 1929 and April 4, 1968.\n * intervalToDuration({\n * start: new Date(1929, 0, 15, 12, 0, 0),\n * end: new Date(1968, 3, 4, 19, 5, 0)\n * })\n * // => { years: 39, months: 2, days: 20, hours: 7, minutes: 5, seconds: 0 }\n */\nexport default function intervalToDuration(interval) {\n requiredArgs(1, arguments);\n var start = toDate(interval.start);\n var end = toDate(interval.end);\n if (isNaN(start.getTime())) throw new RangeError('Start Date is invalid');\n if (isNaN(end.getTime())) throw new RangeError('End Date is invalid');\n var duration = {};\n duration.years = Math.abs(differenceInYears(end, start));\n var sign = compareAsc(end, start);\n var remainingMonths = add(start, {\n years: sign * duration.years\n });\n duration.months = Math.abs(differenceInMonths(end, remainingMonths));\n var remainingDays = add(remainingMonths, {\n months: sign * duration.months\n });\n duration.days = Math.abs(differenceInDays(end, remainingDays));\n var remainingHours = add(remainingDays, {\n days: sign * duration.days\n });\n duration.hours = Math.abs(differenceInHours(end, remainingHours));\n var remainingMinutes = add(remainingHours, {\n hours: sign * duration.hours\n });\n duration.minutes = Math.abs(differenceInMinutes(end, remainingMinutes));\n var remainingSeconds = add(remainingMinutes, {\n minutes: sign * duration.minutes\n });\n duration.seconds = Math.abs(differenceInSeconds(end, remainingSeconds));\n return duration;\n}","import { millisecondsInHour } from \"../constants/index.js\";\nimport differenceInMilliseconds from \"../differenceInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getRoundingMethod } from \"../_lib/roundingMethods/index.js\";\n/**\n * @name differenceInHours\n * @category Hour Helpers\n * @summary Get the number of hours between the given dates.\n *\n * @description\n * Get the number of hours between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)\n * @returns {Number} the number of hours\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many hours are between 2 July 2014 06:50:00 and 2 July 2014 19:00:00?\n * const result = differenceInHours(\n * new Date(2014, 6, 2, 19, 0),\n * new Date(2014, 6, 2, 6, 50)\n * )\n * //=> 12\n */\nexport default function differenceInHours(dateLeft, dateRight, options) {\n requiredArgs(2, arguments);\n var diff = differenceInMilliseconds(dateLeft, dateRight) / millisecondsInHour;\n return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);\n}","import { millisecondsInMinute } from \"../constants/index.js\";\nimport differenceInMilliseconds from \"../differenceInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getRoundingMethod } from \"../_lib/roundingMethods/index.js\";\n/**\n * @name differenceInMinutes\n * @category Minute Helpers\n * @summary Get the number of minutes between the given dates.\n *\n * @description\n * Get the signed number of full (rounded towards 0) minutes between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)\n * @returns {Number} the number of minutes\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many minutes are between 2 July 2014 12:07:59 and 2 July 2014 12:20:00?\n * const result = differenceInMinutes(\n * new Date(2014, 6, 2, 12, 20, 0),\n * new Date(2014, 6, 2, 12, 7, 59)\n * )\n * //=> 12\n *\n * @example\n * // How many minutes are between 10:01:59 and 10:00:00\n * const result = differenceInMinutes(\n * new Date(2000, 0, 1, 10, 0, 0),\n * new Date(2000, 0, 1, 10, 1, 59)\n * )\n * //=> -1\n */\nexport default function differenceInMinutes(dateLeft, dateRight, options) {\n requiredArgs(2, arguments);\n var diff = differenceInMilliseconds(dateLeft, dateRight) / millisecondsInMinute;\n return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);\n}","import differenceInMilliseconds from \"../differenceInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getRoundingMethod } from \"../_lib/roundingMethods/index.js\";\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)\n * @returns {Number} the number of seconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nexport default function differenceInSeconds(dateLeft, dateRight, options) {\n requiredArgs(2, arguments);\n var diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;\n return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function subMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, -amount);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport subDays from \"../subDays/index.js\";\nimport subMonths from \"../subMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name sub\n * @category Common Helpers\n * @summary Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date.\n *\n * @description\n * Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be subtracted\n *\n * | Key | Description |\n * |---------|------------------------------------|\n * | years | Amount of years to be subtracted |\n * | months | Amount of months to be subtracted |\n * | weeks | Amount of weeks to be subtracted |\n * | days | Amount of days to be subtracted |\n * | hours | Amount of hours to be subtracted |\n * | minutes | Amount of minutes to be subtracted |\n * | seconds | Amount of seconds to be subtracted |\n *\n * All values default to 0\n *\n * @returns {Date} the new date with the seconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract the following duration from 15 June 2017 15:29:20\n * const result = sub(new Date(2017, 5, 15, 15, 29, 20), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30\n * })\n * //=> Mon Sep 1 2014 10:19:50\n */\nexport default function sub(date, duration) {\n requiredArgs(2, arguments);\n if (!duration || _typeof(duration) !== 'object') return new Date(NaN);\n var years = duration.years ? toInteger(duration.years) : 0;\n var months = duration.months ? toInteger(duration.months) : 0;\n var weeks = duration.weeks ? toInteger(duration.weeks) : 0;\n var days = duration.days ? toInteger(duration.days) : 0;\n var hours = duration.hours ? toInteger(duration.hours) : 0;\n var minutes = duration.minutes ? toInteger(duration.minutes) : 0;\n var seconds = duration.seconds ? toInteger(duration.seconds) : 0;\n\n // Subtract years and months\n var dateWithoutMonths = subMonths(date, months + years * 12);\n\n // Subtract weeks and days\n var dateWithoutDays = subDays(dateWithoutMonths, days + weeks * 7);\n\n // Subtract hours, minutes and seconds\n var minutestoSub = minutes + hours * 60;\n var secondstoSub = seconds + minutestoSub * 60;\n var mstoSub = secondstoSub * 1000;\n var finalDate = new Date(dateWithoutDays.getTime() - mstoSub);\n return finalDate;\n}","import addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport default function subDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addDays(dirtyDate, -amount);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\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 an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","\"use client\";\n\n// src/group/group-label-context.ts\nimport { createContext } from \"react\";\nvar GroupLabelContext = createContext(void 0);\n\nexport {\n GroupLabelContext\n};\n","\"use client\";\nimport {\n flipItems\n} from \"./3IEDWLST.js\";\nimport {\n useCompositeContext\n} from \"./3D6OCOHF.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useEvent\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-typeahead.ts\nimport { useRef } from \"react\";\nimport { isTextField } from \"@ariakit/core/utils/dom\";\nimport { isSelfTarget } from \"@ariakit/core/utils/events\";\nimport {\n invariant,\n normalizeString,\n removeUndefinedValues\n} from \"@ariakit/core/utils/misc\";\nvar TagName = \"div\";\nvar chars = \"\";\nfunction clearChars() {\n chars = \"\";\n}\nfunction isValidTypeaheadEvent(event) {\n const target = event.target;\n if (target && isTextField(target))\n return false;\n if (event.key === \" \" && chars.length)\n return true;\n return event.key.length === 1 && !event.ctrlKey && !event.altKey && !event.metaKey && /^[\\p{Letter}\\p{Number}]$/u.test(event.key);\n}\nfunction isSelfTargetOrItem(event, items) {\n if (isSelfTarget(event))\n return true;\n const target = event.target;\n if (!target)\n return false;\n const isItem = items.some((item) => item.element === target);\n return isItem;\n}\nfunction getEnabledItems(items) {\n return items.filter((item) => !item.disabled);\n}\nfunction itemTextStartsWith(item, text) {\n var _a;\n const itemText = ((_a = item.element) == null ? void 0 : _a.textContent) || item.children;\n if (!itemText)\n return false;\n return normalizeString(itemText).trim().toLowerCase().startsWith(text.toLowerCase());\n}\nfunction getSameInitialItems(items, char, activeId) {\n if (!activeId)\n return items;\n const activeItem = items.find((item) => item.id === activeId);\n if (!activeItem)\n return items;\n if (!itemTextStartsWith(activeItem, char))\n return items;\n if (chars !== char && itemTextStartsWith(activeItem, chars))\n return items;\n chars = char;\n return flipItems(\n items.filter((item) => itemTextStartsWith(item, chars)),\n activeId\n ).filter((item) => item.id !== activeId);\n}\nvar useCompositeTypeahead = createHook(function useCompositeTypeahead2(_a) {\n var _b = _a, { store, typeahead = true } = _b, props = __objRest(_b, [\"store\", \"typeahead\"]);\n const context = useCompositeContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"CompositeTypeahead must be a Composite component\"\n );\n const onKeyDownCaptureProp = props.onKeyDownCapture;\n const cleanupTimeoutRef = useRef(0);\n const onKeyDownCapture = useEvent((event) => {\n onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n if (event.defaultPrevented)\n return;\n if (!typeahead)\n return;\n if (!store)\n return;\n const { items, activeId } = store.getState();\n if (!isValidTypeaheadEvent(event))\n return clearChars();\n let enabledItems = getEnabledItems(items);\n if (!isSelfTargetOrItem(event, enabledItems))\n return clearChars();\n event.preventDefault();\n window.clearTimeout(cleanupTimeoutRef.current);\n cleanupTimeoutRef.current = window.setTimeout(() => {\n chars = \"\";\n }, 500);\n const char = event.key.toLowerCase();\n chars += char;\n enabledItems = getSameInitialItems(enabledItems, char, activeId);\n const item = enabledItems.find((item2) => itemTextStartsWith(item2, chars));\n if (item) {\n store.move(item.id);\n } else {\n clearChars();\n }\n });\n props = __spreadProps(__spreadValues({}, props), {\n onKeyDownCapture\n });\n return removeUndefinedValues(props);\n});\nvar CompositeTypeahead = forwardRef(function CompositeTypeahead2(props) {\n const htmlProps = useCompositeTypeahead(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCompositeTypeahead,\n CompositeTypeahead\n};\n","\"use client\";\nimport {\n CompositeContextProvider,\n CompositeScopedContextProvider\n} from \"./3D6OCOHF.js\";\nimport {\n PopoverContextProvider,\n PopoverScopedContextProvider\n} from \"./TE637IA7.js\";\nimport {\n createStoreContext\n} from \"./5M6RSQEC.js\";\n\n// src/select/select-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n [PopoverContextProvider, CompositeContextProvider],\n [PopoverScopedContextProvider, CompositeScopedContextProvider]\n);\nvar useSelectContext = ctx.useContext;\nvar useSelectScopedContext = ctx.useScopedContext;\nvar useSelectProviderContext = ctx.useProviderContext;\nvar SelectContextProvider = ctx.ContextProvider;\nvar SelectScopedContextProvider = ctx.ScopedContextProvider;\nvar SelectItemCheckedContext = createContext(false);\n\nexport {\n useSelectContext,\n useSelectScopedContext,\n useSelectProviderContext,\n SelectContextProvider,\n SelectScopedContextProvider,\n SelectItemCheckedContext\n};\n","\"use client\";\nimport {\n useButton\n} from \"./JJ3MV4KB.js\";\nimport {\n useDisclosureProviderContext\n} from \"./J55AVALY.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useMergeRefs,\n useMetadataProps\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure.ts\nimport { useEffect, useRef, useState } from \"react\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nvar TagName = \"button\";\nvar symbol = Symbol(\"disclosure\");\nvar useDisclosure = createHook(\n function useDisclosure2(_a) {\n var _b = _a, { store, toggleOnClick = true } = _b, props = __objRest(_b, [\"store\", \"toggleOnClick\"]);\n const context = useDisclosureProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"Disclosure must receive a `store` prop or be wrapped in a DisclosureProvider component.\"\n );\n const ref = useRef(null);\n const [expanded, setExpanded] = useState(false);\n const disclosureElement = store.useState(\"disclosureElement\");\n const open = store.useState(\"open\");\n useEffect(() => {\n let isCurrentDisclosure = disclosureElement === ref.current;\n if (!(disclosureElement == null ? void 0 : disclosureElement.isConnected)) {\n store == null ? void 0 : store.setDisclosureElement(ref.current);\n isCurrentDisclosure = true;\n }\n setExpanded(open && isCurrentDisclosure);\n }, [disclosureElement, store, open]);\n const onClickProp = props.onClick;\n const toggleOnClickProp = useBooleanEvent(toggleOnClick);\n const [isDuplicate, metadataProps] = useMetadataProps(props, symbol, true);\n const onClick = useEvent((event) => {\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented)\n return;\n if (isDuplicate)\n return;\n if (!toggleOnClickProp(event))\n return;\n store == null ? void 0 : store.setDisclosureElement(event.currentTarget);\n store == null ? void 0 : store.toggle();\n });\n const contentElement = store.useState(\"contentElement\");\n props = __spreadProps(__spreadValues(__spreadValues({\n \"aria-expanded\": expanded,\n \"aria-controls\": contentElement == null ? void 0 : contentElement.id\n }, metadataProps), props), {\n ref: useMergeRefs(ref, props.ref),\n onClick\n });\n props = useButton(props);\n return props;\n }\n);\nvar Disclosure = forwardRef(function Disclosure2(props) {\n const htmlProps = useDisclosure(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useDisclosure,\n Disclosure\n};\n","\"use client\";\nimport {\n useDisclosure\n} from \"./AFNONYRE.js\";\nimport {\n useDialogProviderContext\n} from \"./XXVAHUAO.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/dialog/dialog-disclosure.ts\nimport { getPopupRole } from \"@ariakit/core/utils/dom\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nvar TagName = \"button\";\nvar useDialogDisclosure = createHook(\n function useDialogDisclosure2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n const context = useDialogProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"DialogDisclosure must receive a `store` prop or be wrapped in a DialogProvider component.\"\n );\n const contentElement = store.useState(\"contentElement\");\n props = __spreadValues({\n \"aria-haspopup\": getPopupRole(contentElement, \"dialog\")\n }, props);\n props = useDisclosure(__spreadValues({ store }, props));\n return props;\n }\n);\nvar DialogDisclosure = forwardRef(function DialogDisclosure2(props) {\n const htmlProps = useDialogDisclosure(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useDialogDisclosure,\n DialogDisclosure\n};\n","\"use client\";\nimport {\n useDialogDisclosure\n} from \"./5SF76VVA.js\";\nimport {\n usePopoverAnchor\n} from \"./NLT7LY5Y.js\";\nimport {\n PopoverScopedContextProvider,\n usePopoverProviderContext\n} from \"./TE637IA7.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useEvent,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-disclosure.tsx\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"button\";\nvar usePopoverDisclosure = createHook(function usePopoverDisclosure2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n const context = usePopoverProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"PopoverDisclosure must receive a `store` prop or be wrapped in a PopoverProvider component.\"\n );\n const onClickProp = props.onClick;\n const onClick = useEvent((event) => {\n store == null ? void 0 : store.setAnchorElement(event.currentTarget);\n onClickProp == null ? void 0 : onClickProp(event);\n });\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(PopoverScopedContextProvider, { value: store, children: element }),\n [store]\n );\n props = __spreadProps(__spreadValues({}, props), {\n onClick\n });\n props = usePopoverAnchor(__spreadValues({ store }, props));\n props = useDialogDisclosure(__spreadValues({ store }, props));\n return props;\n});\nvar PopoverDisclosure = forwardRef(function PopoverDisclosure2(props) {\n const htmlProps = usePopoverDisclosure(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n usePopoverDisclosure,\n PopoverDisclosure\n};\n","\"use client\";\nimport {\n useComboboxStore\n} from \"../__chunks/URCSOWGR.js\";\nimport {\n ComboboxContextProvider\n} from \"../__chunks/UNDSQXBK.js\";\nimport \"../__chunks/7GBW5FLS.js\";\nimport \"../__chunks/Y6GYTNQ2.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/XWCFCD3Q.js\";\nimport \"../__chunks/I62TROYO.js\";\nimport \"../__chunks/HZJ2XALY.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-provider.tsx\nimport { jsx } from \"react/jsx-runtime\";\nfunction ComboboxProvider(props = {}) {\n const store = useComboboxStore(props);\n return /* @__PURE__ */ jsx(ComboboxContextProvider, { value: store, children: props.children });\n}\nexport {\n ComboboxProvider\n};\n","\"use client\";\nimport {\n GroupLabelContext\n} from \"./3X3MDQGM.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useId,\n useSafeLayoutEffect\n} from \"./6O5OEQGF.js\";\nimport {\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/group/group-label.ts\nimport { useContext } from \"react\";\nimport { removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nvar TagName = \"div\";\nvar useGroupLabel = createHook(\n function useGroupLabel2(props) {\n const setLabelId = useContext(GroupLabelContext);\n const id = useId(props.id);\n useSafeLayoutEffect(() => {\n setLabelId == null ? void 0 : setLabelId(id);\n return () => setLabelId == null ? void 0 : setLabelId(void 0);\n }, [setLabelId, id]);\n props = __spreadValues({\n id,\n \"aria-hidden\": true\n }, props);\n return removeUndefinedValues(props);\n }\n);\nvar GroupLabel = forwardRef(function GroupLabel2(props) {\n const htmlProps = useGroupLabel(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useGroupLabel,\n GroupLabel\n};\n","\"use client\";\nimport {\n useGroupLabel\n} from \"./TH2YTBRW.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __objRest\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-group-label.ts\nvar TagName = \"div\";\nvar useCompositeGroupLabel = createHook(function useCompositeGroupLabel2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n props = useGroupLabel(props);\n return props;\n});\nvar CompositeGroupLabel = forwardRef(function CompositeGroupLabel2(props) {\n const htmlProps = useCompositeGroupLabel(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCompositeGroupLabel,\n CompositeGroupLabel\n};\n","\"use client\";\nimport {\n useCompositeGroupLabel\n} from \"../__chunks/ED7XMMMU.js\";\nimport \"../__chunks/TH2YTBRW.js\";\nimport \"../__chunks/3X3MDQGM.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/menu/menu-group-label.ts\nvar TagName = \"div\";\nvar useMenuGroupLabel = createHook(\n function useMenuGroupLabel2(props) {\n props = useCompositeGroupLabel(props);\n return props;\n }\n);\nvar MenuGroupLabel = forwardRef(function MenuGroupLabel2(props) {\n const htmlProps = useMenuGroupLabel(props);\n return createElement(TagName, htmlProps);\n});\nexport {\n MenuGroupLabel,\n useMenuGroupLabel\n};\n","\"use client\";\nimport {\n GroupLabelContext\n} from \"./3X3MDQGM.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/group/group.tsx\nimport { useState } from \"react\";\nimport { removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nvar useGroup = createHook(\n function useGroup2(props) {\n const [labelId, setLabelId] = useState();\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(GroupLabelContext.Provider, { value: setLabelId, children: element }),\n []\n );\n props = __spreadValues({\n role: \"group\",\n \"aria-labelledby\": labelId\n }, props);\n return removeUndefinedValues(props);\n }\n);\nvar Group = forwardRef(function Group2(props) {\n const htmlProps = useGroup(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useGroup,\n Group\n};\n","\"use client\";\nimport {\n useGroup\n} from \"./CWDOOAGR.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __objRest\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-group.ts\nvar TagName = \"div\";\nvar useCompositeGroup = createHook(\n function useCompositeGroup2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n props = useGroup(props);\n return props;\n }\n);\nvar CompositeGroup = forwardRef(function CompositeGroup2(props) {\n const htmlProps = useCompositeGroup(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCompositeGroup,\n CompositeGroup\n};\n","\"use client\";\nimport {\n useCompositeGroup\n} from \"../__chunks/ZO6PSJHJ.js\";\nimport \"../__chunks/CWDOOAGR.js\";\nimport \"../__chunks/3X3MDQGM.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/menu/menu-group.ts\nvar TagName = \"div\";\nvar useMenuGroup = createHook(\n function useMenuGroup2(props) {\n props = useCompositeGroup(props);\n return props;\n }\n);\nvar MenuGroup = forwardRef(function MenuGroup2(props) {\n const htmlProps = useMenuGroup(props);\n return createElement(TagName, htmlProps);\n});\nexport {\n MenuGroup,\n useMenuGroup\n};\n","\"use client\";\nimport {\n PopoverContextProvider\n} from \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/5M6RSQEC.js\";\nimport {\n usePopoverStore\n} from \"../__chunks/XWCFCD3Q.js\";\nimport \"../__chunks/I62TROYO.js\";\nimport \"../__chunks/HZJ2XALY.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/popover/popover-provider.tsx\nimport { jsx } from \"react/jsx-runtime\";\nfunction PopoverProvider(props = {}) {\n const store = usePopoverStore(props);\n return /* @__PURE__ */ jsx(PopoverContextProvider, { value: store, children: props.children });\n}\nexport {\n PopoverProvider\n};\n","\"use client\";\nimport {\n useCompositeHover\n} from \"../__chunks/WL6TTPTB.js\";\nimport {\n SelectItemCheckedContext,\n useSelectScopedContext\n} from \"../__chunks/TKSBJDO3.js\";\nimport {\n useCompositeItem\n} from \"../__chunks/C6OBNQ4F.js\";\nimport \"../__chunks/KSZPJCUA.js\";\nimport \"../__chunks/7YKLTEOQ.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/WAZE6NXP.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n createElement,\n createHook,\n forwardRef,\n memo\n} from \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useId,\n useWrapElement\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-item.tsx\nimport { useCallback } from \"react\";\nimport { getPopupItemRole } from \"@ariakit/core/utils/dom\";\nimport { isDownloading, isOpeningInNewTab } from \"@ariakit/core/utils/events\";\nimport { disabledFromProps, invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nfunction isSelected(storeValue, itemValue) {\n if (itemValue == null)\n return;\n if (storeValue == null)\n return false;\n if (Array.isArray(storeValue)) {\n return storeValue.includes(itemValue);\n }\n return storeValue === itemValue;\n}\nvar useSelectItem = createHook(\n function useSelectItem2(_a) {\n var _b = _a, {\n store,\n value,\n getItem: getItemProp,\n hideOnClick,\n setValueOnClick = value != null,\n preventScrollOnKeyDown = true,\n focusOnHover = true\n } = _b, props = __objRest(_b, [\n \"store\",\n \"value\",\n \"getItem\",\n \"hideOnClick\",\n \"setValueOnClick\",\n \"preventScrollOnKeyDown\",\n \"focusOnHover\"\n ]);\n var _a2;\n const context = useSelectScopedContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"SelectItem must be wrapped in a SelectList or SelectPopover component.\"\n );\n const id = useId(props.id);\n const disabled = disabledFromProps(props);\n const getItem = useCallback(\n (item) => {\n const nextItem = __spreadProps(__spreadValues({}, item), {\n value: disabled ? void 0 : value,\n children: value\n });\n if (getItemProp) {\n return getItemProp(nextItem);\n }\n return nextItem;\n },\n [disabled, value, getItemProp]\n );\n const multiSelectable = store.useState(\n (state) => Array.isArray(state.value)\n );\n hideOnClick = hideOnClick != null ? hideOnClick : value != null && !multiSelectable;\n const onClickProp = props.onClick;\n const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n const hideOnClickProp = useBooleanEvent(hideOnClick);\n const onClick = useEvent((event) => {\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented)\n return;\n if (isDownloading(event))\n return;\n if (isOpeningInNewTab(event))\n return;\n if (setValueOnClickProp(event) && value != null) {\n store == null ? void 0 : store.setValue((prevValue) => {\n if (!Array.isArray(prevValue))\n return value;\n if (prevValue.includes(value)) {\n return prevValue.filter((v) => v !== value);\n }\n return [...prevValue, value];\n });\n }\n if (hideOnClickProp(event)) {\n store == null ? void 0 : store.hide();\n }\n });\n const selected = store.useState((state) => isSelected(state.value, value));\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(SelectItemCheckedContext.Provider, { value: selected != null ? selected : false, children: element }),\n [selected]\n );\n const contentElement = store.useState(\"contentElement\");\n const autoFocus = store.useState((state) => {\n if (state.activeId !== id && (store == null ? void 0 : store.item(state.activeId)))\n return false;\n if (state.value == null)\n return false;\n if (value == null)\n return false;\n if (Array.isArray(state.value)) {\n return state.value[state.value.length - 1] === value;\n }\n return state.value === value;\n });\n props = __spreadProps(__spreadValues({\n id,\n role: getPopupItemRole(contentElement),\n \"aria-selected\": selected,\n children: value\n }, props), {\n autoFocus: (_a2 = props.autoFocus) != null ? _a2 : autoFocus,\n onClick\n });\n props = useCompositeItem(__spreadValues({\n store,\n getItem,\n preventScrollOnKeyDown\n }, props));\n const focusOnHoverProp = useBooleanEvent(focusOnHover);\n props = useCompositeHover(__spreadProps(__spreadValues({\n store\n }, props), {\n // We have to disable focusOnHover when the popup is closed, otherwise\n // the active item will change to null (the container) when the popup is\n // closed by clicking on an item.\n focusOnHover(event) {\n if (!focusOnHoverProp(event))\n return false;\n const state = store == null ? void 0 : store.getState();\n return !!(state == null ? void 0 : state.open);\n }\n }));\n return props;\n }\n);\nvar SelectItem = memo(\n forwardRef(function SelectItem2(props) {\n const htmlProps = useSelectItem(props);\n return createElement(TagName, htmlProps);\n })\n);\nexport {\n SelectItem,\n useSelectItem\n};\n","\"use client\";\nimport {\n useSelectProviderContext\n} from \"../__chunks/TKSBJDO3.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport {\n createElement,\n createHook,\n forwardRef,\n memo\n} from \"../__chunks/5M6RSQEC.js\";\nimport {\n useEvent,\n useId,\n useMergeRefs\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-label.ts\nimport { invariant, removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nvar TagName = \"div\";\nvar useSelectLabel = createHook(\n function useSelectLabel2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n const context = useSelectProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"SelectLabel must receive a `store` prop or be wrapped in a SelectProvider component.\"\n );\n const id = useId(props.id);\n const onClickProp = props.onClick;\n const onClick = useEvent((event) => {\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented)\n return;\n queueMicrotask(() => {\n const select = store == null ? void 0 : store.getState().selectElement;\n select == null ? void 0 : select.focus();\n select == null ? void 0 : select.click();\n });\n });\n props = __spreadProps(__spreadValues({\n id\n }, props), {\n ref: useMergeRefs(store.setLabelElement, props.ref),\n onClick,\n style: __spreadValues({\n cursor: \"default\"\n }, props.style)\n });\n return removeUndefinedValues(props);\n }\n);\nvar SelectLabel = memo(\n forwardRef(function SelectLabel2(props) {\n const htmlProps = useSelectLabel(props);\n return createElement(TagName, htmlProps);\n })\n);\nexport {\n SelectLabel,\n useSelectLabel\n};\n","\"use client\";\nimport {\n useCompositeTypeahead\n} from \"./DMSZFK7W.js\";\nimport {\n SelectScopedContextProvider,\n useSelectProviderContext\n} from \"./TKSBJDO3.js\";\nimport {\n useComposite\n} from \"./FTNKYK65.js\";\nimport {\n isHidden\n} from \"./RQZGFHI2.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useAttribute,\n useBooleanEvent,\n useEvent,\n useId,\n useMergeRefs,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/select/select-list.tsx\nimport { useEffect, useRef, useState } from \"react\";\nimport { isSelfTarget } from \"@ariakit/core/utils/events\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nvar useSelectList = createHook(\n function useSelectList2(_a) {\n var _b = _a, {\n store,\n resetOnEscape = true,\n hideOnEnter = true,\n focusOnMove = true,\n composite,\n alwaysVisible\n } = _b, props = __objRest(_b, [\n \"store\",\n \"resetOnEscape\",\n \"hideOnEnter\",\n \"focusOnMove\",\n \"composite\",\n \"alwaysVisible\"\n ]);\n const context = useSelectProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"SelectList must receive a `store` prop or be wrapped in a SelectProvider component.\"\n );\n const ref = useRef(null);\n const id = useId(props.id);\n const value = store.useState(\"value\");\n const multiSelectable = Array.isArray(value);\n const [defaultValue, setDefaultValue] = useState(value);\n const mounted = store.useState(\"mounted\");\n useEffect(() => {\n if (mounted)\n return;\n setDefaultValue(value);\n }, [mounted, value]);\n resetOnEscape = resetOnEscape && !multiSelectable;\n const onKeyDownProp = props.onKeyDown;\n const resetOnEscapeProp = useBooleanEvent(resetOnEscape);\n const hideOnEnterProp = useBooleanEvent(hideOnEnter);\n const onKeyDown = useEvent((event) => {\n onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n if (event.defaultPrevented)\n return;\n if (event.key === \"Escape\" && resetOnEscapeProp(event)) {\n store == null ? void 0 : store.setValue(defaultValue);\n }\n if (event.key === \" \" || event.key === \"Enter\") {\n if (isSelfTarget(event) && hideOnEnterProp(event)) {\n event.preventDefault();\n store == null ? void 0 : store.hide();\n }\n }\n });\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(SelectScopedContextProvider, { value: store, children: element }),\n [store]\n );\n const labelId = store.useState((state) => {\n var _a2;\n return (_a2 = state.labelElement) == null ? void 0 : _a2.id;\n });\n const hasCombobox = !!store.combobox;\n composite = composite != null ? composite : !hasCombobox;\n if (composite) {\n props = __spreadValues({ role: \"listbox\" }, props);\n }\n const role = useAttribute(ref, \"role\", props.role);\n const isCompositeRole = role === \"listbox\" || role === \"menu\" || role === \"tree\" || role === \"grid\";\n const ariaMultiSelectable = composite || isCompositeRole ? multiSelectable || void 0 : void 0;\n const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n const style = hidden ? __spreadProps(__spreadValues({}, props.style), { display: \"none\" }) : props.style;\n props = __spreadProps(__spreadValues({\n id,\n \"aria-labelledby\": labelId,\n \"aria-multiselectable\": ariaMultiSelectable,\n hidden\n }, props), {\n ref: useMergeRefs(id ? store.setContentElement : null, ref, props.ref),\n style,\n onKeyDown\n });\n props = useComposite(__spreadProps(__spreadValues({ store }, props), { composite }));\n props = useCompositeTypeahead(__spreadValues({ store, typeahead: !hasCombobox }, props));\n return props;\n }\n);\nvar SelectList = forwardRef(function SelectList2(props) {\n const htmlProps = useSelectList(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useSelectList,\n SelectList\n};\n","\"use client\";\nimport {\n useSelectList\n} from \"../__chunks/PDRDZB4I.js\";\nimport \"../__chunks/DMSZFK7W.js\";\nimport {\n useSelectProviderContext\n} from \"../__chunks/TKSBJDO3.js\";\nimport \"../__chunks/FTNKYK65.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport {\n usePopover\n} from \"../__chunks/BYD75WXE.js\";\nimport {\n createDialogComponent\n} from \"../__chunks/KXSO5EFT.js\";\nimport \"../__chunks/3N4FFVWW.js\";\nimport \"../__chunks/NOYDL3YS.js\";\nimport \"../__chunks/BULCTPRV.js\";\nimport \"../__chunks/6BJGLK2C.js\";\nimport \"../__chunks/CS347UVZ.js\";\nimport \"../__chunks/IUB2BTEK.js\";\nimport \"../__chunks/XHJGS6Z5.js\";\nimport \"../__chunks/TL67WVI6.js\";\nimport \"../__chunks/MKDDWKFK.js\";\nimport \"../__chunks/72E5EPFF.js\";\nimport \"../__chunks/OOBDFMJL.js\";\nimport \"../__chunks/X6WIMZJE.js\";\nimport \"../__chunks/677M2CI3.js\";\nimport \"../__chunks/6GXEOXGT.js\";\nimport \"../__chunks/WCIYB4YS.js\";\nimport \"../__chunks/UYRJLDVS.js\";\nimport \"../__chunks/CK3UW3AQ.js\";\nimport \"../__chunks/WKWX2XLD.js\";\nimport \"../__chunks/7452U3HH.js\";\nimport \"../__chunks/XPF5GU3Q.js\";\nimport \"../__chunks/CBTO7DFZ.js\";\nimport \"../__chunks/RQZGFHI2.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/WAZE6NXP.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport \"../__chunks/IFT5JEUU.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/I62TROYO.js\";\nimport \"../__chunks/HZJ2XALY.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-popover.ts\nvar TagName = \"div\";\nvar useSelectPopover = createHook(\n function useSelectPopover2(_a) {\n var _b = _a, { store, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"alwaysVisible\"]);\n const context = useSelectProviderContext();\n store = store || context;\n props = useSelectList(__spreadValues({ store, alwaysVisible }, props));\n props = usePopover(__spreadValues({ store, alwaysVisible }, props));\n return props;\n }\n);\nvar SelectPopover = createDialogComponent(\n forwardRef(function SelectPopover2(props) {\n const htmlProps = useSelectPopover(props);\n return createElement(TagName, htmlProps);\n }),\n useSelectProviderContext\n);\nexport {\n SelectPopover,\n useSelectPopover\n};\n","\"use client\";\nimport {\n createPopoverStore\n} from \"../__chunks/MFZZDIHG.js\";\nimport \"../__chunks/5RJNXXU2.js\";\nimport \"../__chunks/WCKXDMU7.js\";\nimport {\n createCompositeStore\n} from \"../__chunks/2H5K47H4.js\";\nimport \"../__chunks/URUD7X4C.js\";\nimport {\n batch,\n createStore,\n mergeStore,\n omit,\n setup,\n sync,\n throwOnConflictingProps\n} from \"../__chunks/R676XYVY.js\";\nimport {\n defaultValue\n} from \"../__chunks/22HHDS5F.js\";\nimport \"../__chunks/RRSZHCH6.js\";\nimport {\n toArray\n} from \"../__chunks/7PRQYBBV.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-store.ts\nfunction createSelectStore(_a = {}) {\n var _b = _a, {\n combobox\n } = _b, props = __objRest(_b, [\n \"combobox\"\n ]);\n const store = mergeStore(\n props.store,\n omit(combobox, [\n \"value\",\n \"items\",\n \"renderedItems\",\n \"baseElement\",\n \"arrowElement\",\n \"anchorElement\",\n \"contentElement\",\n \"popoverElement\",\n \"disclosureElement\"\n ])\n );\n throwOnConflictingProps(props, store);\n const syncState = store.getState();\n const composite = createCompositeStore(__spreadProps(__spreadValues({}, props), {\n store,\n virtualFocus: defaultValue(\n props.virtualFocus,\n syncState.virtualFocus,\n true\n ),\n includesBaseElement: defaultValue(\n props.includesBaseElement,\n syncState.includesBaseElement,\n false\n ),\n activeId: defaultValue(\n props.activeId,\n syncState.activeId,\n props.defaultActiveId,\n null\n ),\n orientation: defaultValue(\n props.orientation,\n syncState.orientation,\n \"vertical\"\n )\n }));\n const popover = createPopoverStore(__spreadProps(__spreadValues({}, props), {\n store,\n placement: defaultValue(\n props.placement,\n syncState.placement,\n \"bottom-start\"\n )\n }));\n const initialValue = new String(\"\");\n const initialState = __spreadProps(__spreadValues(__spreadValues({}, composite.getState()), popover.getState()), {\n value: defaultValue(\n props.value,\n syncState.value,\n props.defaultValue,\n initialValue\n ),\n setValueOnMove: defaultValue(\n props.setValueOnMove,\n syncState.setValueOnMove,\n false\n ),\n selectElement: defaultValue(syncState.selectElement, null),\n labelElement: defaultValue(syncState.labelElement, null)\n });\n const select = createStore(initialState, composite, popover, store);\n setup(\n select,\n () => sync(select, [\"value\", \"items\"], (state) => {\n if (state.value !== initialValue)\n return;\n if (!state.items.length)\n return;\n const item = state.items.find(\n (item2) => !item2.disabled && item2.value != null\n );\n if ((item == null ? void 0 : item.value) == null)\n return;\n select.setState(\"value\", item.value);\n })\n );\n setup(\n select,\n () => sync(select, [\"mounted\", \"items\", \"value\"], (state) => {\n if (combobox)\n return;\n if (state.mounted)\n return;\n const values = toArray(state.value);\n const lastValue = values[values.length - 1];\n if (lastValue == null)\n return;\n const item = state.items.find(\n (item2) => !item2.disabled && item2.value === lastValue\n );\n if (!item)\n return;\n select.setState(\"activeId\", item.id);\n })\n );\n setup(\n select,\n () => batch(select, [\"setValueOnMove\", \"moves\"], (state) => {\n const { mounted, value, activeId } = select.getState();\n if (!state.setValueOnMove && mounted)\n return;\n if (Array.isArray(value))\n return;\n if (!state.moves)\n return;\n if (!activeId)\n return;\n const item = composite.item(activeId);\n if (!item || item.disabled || item.value == null)\n return;\n select.setState(\"value\", item.value);\n })\n );\n return __spreadProps(__spreadValues(__spreadValues(__spreadValues({}, composite), popover), select), {\n combobox,\n setValue: (value) => select.setState(\"value\", value),\n setSelectElement: (element) => select.setState(\"selectElement\", element),\n setLabelElement: (element) => select.setState(\"labelElement\", element)\n });\n}\nexport {\n createSelectStore\n};\n","\"use client\";\nimport {\n useComboboxProviderContext\n} from \"./UNDSQXBK.js\";\nimport {\n useCompositeStoreProps\n} from \"./7GBW5FLS.js\";\nimport {\n usePopoverStoreProps\n} from \"./XWCFCD3Q.js\";\nimport {\n useStore,\n useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n useUpdateEffect\n} from \"./6O5OEQGF.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/select/select-store.ts\nimport * as Core from \"@ariakit/core/select/select-store\";\nfunction useSelectStoreProps(store, update, props) {\n useUpdateEffect(update, [props.combobox]);\n useStoreProps(store, props, \"value\", \"setValue\");\n useStoreProps(store, props, \"setValueOnMove\");\n return Object.assign(\n usePopoverStoreProps(\n useCompositeStoreProps(store, update, props),\n update,\n props\n ),\n { combobox: props.combobox }\n );\n}\nfunction useSelectStore(props = {}) {\n const combobox = useComboboxProviderContext();\n props = __spreadProps(__spreadValues({}, props), {\n combobox: props.combobox !== void 0 ? props.combobox : combobox\n });\n const [store, update] = useStore(Core.createSelectStore, props);\n return useSelectStoreProps(store, update, props);\n}\n\nexport {\n useSelectStoreProps,\n useSelectStore\n};\n","\"use client\";\nimport {\n useSelectStore\n} from \"../__chunks/SVBVYDIK.js\";\nimport \"../__chunks/UNDSQXBK.js\";\nimport {\n SelectContextProvider\n} from \"../__chunks/TKSBJDO3.js\";\nimport \"../__chunks/7GBW5FLS.js\";\nimport \"../__chunks/Y6GYTNQ2.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/XWCFCD3Q.js\";\nimport \"../__chunks/I62TROYO.js\";\nimport \"../__chunks/HZJ2XALY.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-provider.tsx\nimport { jsx } from \"react/jsx-runtime\";\nfunction SelectProvider(props = {}) {\n const store = useSelectStore(props);\n return /* @__PURE__ */ jsx(SelectContextProvider, { value: store, children: props.children });\n}\nexport {\n SelectProvider\n};\n","\"use client\";\nimport {\n useCollectionContext\n} from \"./MADQZZRL.js\";\nimport {\n createElement,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useForceUpdate,\n useId,\n useMergeRefs,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-renderer.tsx\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} from \"react\";\nimport { getScrollingElement, getWindow } from \"@ariakit/core/utils/dom\";\nimport { invariant, shallowEqual } from \"@ariakit/core/utils/misc\";\nimport { flushSync } from \"react-dom\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nvar CollectionRendererContext = createContext(null);\nfunction createTask() {\n let raf = 0;\n const run = (cb) => {\n if (raf)\n return;\n raf = requestAnimationFrame(() => {\n raf = 0;\n cb();\n });\n };\n const cancel = () => {\n cancelAnimationFrame(raf);\n raf = 0;\n };\n return { run, cancel };\n}\nfunction findNearestIndex(items, target, getValue) {\n let left = 0;\n let right = getItemsLength(items) - 1;\n while (left <= right) {\n const index = (left + right) / 2 | 0;\n const value = getValue(index);\n if (value === target)\n return index;\n else if (value < target)\n left = index + 1;\n else\n right = index - 1;\n }\n if (left > 0)\n return left - 1;\n return 0;\n}\nfunction getItemsLength(items) {\n return typeof items === \"number\" ? items : items.length;\n}\nfunction getItemObject(item) {\n if (!item || typeof item !== \"object\") {\n return { value: item };\n }\n return item;\n}\nfunction getItemId(item, index, baseId) {\n var _a;\n invariant(baseId, \"CollectionRenderer must be given an `id` prop.\");\n const defaultId = `${baseId}/${index}`;\n return (_a = getItemObject(item).id) != null ? _a : defaultId;\n}\nfunction getItem(items, index) {\n if (typeof items === \"number\") {\n if (index >= items)\n return null;\n return {};\n }\n const item = items[index];\n if (!item)\n return null;\n if (typeof item === \"object\")\n return item;\n return { value: item };\n}\nfunction getItemSize(item, horizontal, fallbackElement) {\n var _a, _b, _c, _d, _e;\n const itemObject = getItemObject(item);\n horizontal = itemObject.orientation === \"horizontal\";\n const prop = horizontal ? \"width\" : \"height\";\n const style = itemObject.style;\n if (style) {\n const size = style[prop];\n if (typeof size === \"number\")\n return size;\n }\n const items = itemObject.items;\n if (items == null ? void 0 : items.length) {\n const hasSameOrientation = !itemObject.orientation || horizontal && itemObject.orientation === \"horizontal\" || !horizontal && itemObject.orientation === \"vertical\";\n const paddingStart = (_b = (_a = itemObject.paddingStart) != null ? _a : itemObject.padding) != null ? _b : 0;\n const paddingEnd = (_d = (_c = itemObject.paddingEnd) != null ? _c : itemObject.padding) != null ? _d : 0;\n const padding = hasSameOrientation ? paddingStart + paddingEnd : 0;\n const initialSize = ((_e = itemObject.gap) != null ? _e : 0) * (items.length - 1) + padding;\n if (hasSameOrientation && itemObject.itemSize) {\n return initialSize + itemObject.itemSize * items.length;\n }\n const totalSize = items.reduce(\n (sum, item2) => sum + getItemSize(item2, horizontal),\n initialSize\n );\n if (totalSize !== initialSize)\n return totalSize;\n }\n const element = fallbackElement !== false ? itemObject.element || fallbackElement : null;\n if (element == null ? void 0 : element.isConnected) {\n return element.getBoundingClientRect()[prop];\n }\n return 0;\n}\nfunction getAverageSize(props) {\n const length = getItemsLength(props.items);\n let currentIndex = 0;\n let averageSize = props.estimatedItemSize;\n const setAverageSize = (size) => {\n const prevIndex = currentIndex;\n currentIndex = currentIndex + 1;\n averageSize = (averageSize * prevIndex + size) / currentIndex;\n };\n for (let index = 0; index < length; index += 1) {\n const item = getItem(props.items, index);\n const itemId = getItemId(item, index, props.baseId);\n const itemData = props.data.get(itemId);\n const fallbackElement = props.elements.get(itemId);\n const size = getItemSize(item, props.horizontal, fallbackElement);\n if (size) {\n setAverageSize(size);\n } else if (itemData == null ? void 0 : itemData.rendered) {\n setAverageSize(itemData.end - itemData.start);\n }\n }\n return averageSize;\n}\nfunction getScrollOffset(scroller, horizontal) {\n if (\"scrollX\" in scroller) {\n return horizontal ? scroller.scrollX : scroller.scrollY;\n }\n return horizontal ? scroller.scrollLeft : scroller.scrollTop;\n}\nfunction getViewport(scroller) {\n const { defaultView, documentElement } = scroller.ownerDocument;\n if (scroller === documentElement)\n return defaultView;\n return scroller;\n}\nfunction useScroller(rendererRef) {\n const [scroller, setScroller] = useState(null);\n useEffect(() => {\n const renderer = rendererRef == null ? void 0 : rendererRef.current;\n if (!renderer)\n return;\n const scroller2 = getScrollingElement(renderer);\n if (!scroller2)\n return;\n setScroller(scroller2);\n }, [rendererRef]);\n return scroller;\n}\nfunction getRendererOffset(renderer, scroller, horizontal) {\n const win = getWindow(renderer);\n const htmlElement = win == null ? void 0 : win.document.documentElement;\n const rendererRect = renderer.getBoundingClientRect();\n const rendererOffset = horizontal ? rendererRect.left : rendererRect.top;\n if (scroller === htmlElement) {\n const scrollOffset2 = getScrollOffset(win, horizontal);\n return scrollOffset2 + rendererOffset;\n }\n const scrollerRect = scroller.getBoundingClientRect();\n const scrollerOffset = horizontal ? scrollerRect.left : scrollerRect.top;\n const scrollOffset = getScrollOffset(scroller, horizontal);\n return rendererOffset - scrollerOffset + scrollOffset;\n}\nfunction getOffsets(renderer, scroller, horizontal) {\n const scrollOffset = getScrollOffset(scroller, horizontal);\n const rendererOffset = getRendererOffset(renderer, scroller, horizontal);\n const scrollSize = horizontal ? scroller.clientWidth : scroller.clientHeight;\n const start = scrollOffset - rendererOffset;\n const end = start + scrollSize;\n return { start, end };\n}\nfunction getItemsEnd(props) {\n const length = getItemsLength(props.items);\n const totalPadding = props.paddingStart + props.paddingEnd;\n if (!length)\n return totalPadding;\n const lastIndex = length - 1;\n const totalGap = lastIndex * props.gap;\n if (props.itemSize != null) {\n return length * props.itemSize + totalGap + totalPadding;\n }\n const defaultEnd = length * props.estimatedItemSize + totalGap + totalPadding;\n if (!props.baseId)\n return defaultEnd;\n const lastItem = getItem(props.items, lastIndex);\n const lastItemId = getItemId(lastItem, lastIndex, props.baseId);\n const lastItemData = props.data.get(lastItemId);\n if (lastItemData == null ? void 0 : lastItemData.end)\n return lastItemData.end + props.paddingEnd;\n if (!Array.isArray(props.items))\n return defaultEnd;\n const end = props.items.reduce(\n (sum, item) => sum + getItemSize(item, props.horizontal, false),\n 0\n );\n if (!end)\n return defaultEnd;\n return end + totalGap + totalPadding;\n}\nfunction getData(props) {\n var _a;\n const length = getItemsLength(props.items);\n let nextData;\n let start = props.paddingStart;\n const avgSize = getAverageSize(props);\n for (let index = 0; index < length; index += 1) {\n const item = getItem(props.items, index);\n const itemId = getItemId(item, index, props.baseId);\n const itemData = props.data.get(itemId);\n const prevRendered = (_a = itemData == null ? void 0 : itemData.rendered) != null ? _a : false;\n const setSize = (size2, rendered = prevRendered) => {\n start = start ? start + props.gap : start;\n const end = start + size2;\n const nextItemData = { index, rendered, start, end };\n if (!shallowEqual(itemData, nextItemData)) {\n if (!nextData) {\n nextData = new Map(props.data);\n }\n nextData.set(itemId, { index, rendered, start, end });\n }\n start = end;\n };\n const size = getItemSize(\n item,\n props.horizontal,\n props.elements.get(itemId)\n );\n if (size) {\n setSize(size, true);\n } else if (itemData == null ? void 0 : itemData.rendered) {\n setSize(itemData.end - itemData.start, true);\n } else {\n setSize(avgSize);\n }\n }\n return nextData;\n}\nfunction useCollectionRenderer(_a) {\n var _b = _a, {\n store,\n items: itemsProp,\n initialItems = 0,\n gap = 0,\n itemSize,\n estimatedItemSize = 40,\n overscan: overscanProp,\n orientation: orientationProp,\n padding = 0,\n paddingStart = padding,\n paddingEnd = padding,\n persistentIndices,\n renderOnScroll = true,\n renderOnResize = !!renderOnScroll,\n children: renderItem\n } = _b, props = __objRest(_b, [\n \"store\",\n \"items\",\n \"initialItems\",\n \"gap\",\n \"itemSize\",\n \"estimatedItemSize\",\n \"overscan\",\n \"orientation\",\n \"padding\",\n \"paddingStart\",\n \"paddingEnd\",\n \"persistentIndices\",\n \"renderOnScroll\",\n \"renderOnResize\",\n \"children\"\n ]);\n var _a2, _b2;\n const context = useCollectionContext();\n store = store || context;\n const items = useStoreState(\n store,\n (state) => itemsProp != null ? itemsProp : state == null ? void 0 : state.items\n );\n invariant(\n items != null,\n process.env.NODE_ENV !== \"production\" && \"CollectionRenderer must be either wrapped in a Collection component or be given an `items` prop.\"\n );\n let parent = useContext(CollectionRendererContext);\n if (store && (parent == null ? void 0 : parent.store) !== store) {\n parent = null;\n }\n const parentData = parent == null ? void 0 : parent.childrenData;\n const orientation = (_a2 = orientationProp != null ? orientationProp : parent == null ? void 0 : parent.orientation) != null ? _a2 : \"vertical\";\n const overscan = (_b2 = overscanProp != null ? overscanProp : parent == null ? void 0 : parent.overscan) != null ? _b2 : 1;\n const ref = useRef(null);\n const baseId = useId(props.id);\n const horizontal = orientation === \"horizontal\";\n const elements = useMemo(() => /* @__PURE__ */ new Map(), []);\n const [elementsUpdated, updateElements] = useForceUpdate();\n const [defaultVisibleIndices, setVisibleIndices] = useState(() => {\n if (!initialItems)\n return [];\n const length = getItemsLength(items);\n const initialLength = Math.min(length, Math.abs(initialItems));\n return Array.from({ length: initialLength }, (_, index) => {\n if (initialItems < 0)\n return length - index - 1;\n return index;\n });\n });\n const visibleIndices = useMemo(() => {\n if (!persistentIndices)\n return defaultVisibleIndices;\n const nextIndices = defaultVisibleIndices.slice();\n persistentIndices.forEach((index) => {\n if (index < 0)\n return;\n if (nextIndices.includes(index))\n return;\n nextIndices.push(index);\n });\n nextIndices.sort((a, b) => a - b);\n if (shallowEqual(defaultVisibleIndices, nextIndices)) {\n return defaultVisibleIndices;\n }\n return nextIndices;\n }, [defaultVisibleIndices, persistentIndices]);\n const [data, setData] = useState(() => {\n if (!baseId)\n return /* @__PURE__ */ new Map();\n const data2 = (parentData == null ? void 0 : parentData.get(baseId)) || /* @__PURE__ */ new Map();\n if (itemSize != null)\n return data2;\n if (!items)\n return data2;\n const nextData = getData({\n baseId,\n items,\n data: data2,\n gap,\n elements,\n horizontal,\n paddingStart,\n itemSize,\n estimatedItemSize\n });\n return nextData || data2;\n });\n const totalSize = useMemo(() => {\n return getItemsEnd({\n baseId,\n items,\n data,\n gap,\n horizontal,\n itemSize,\n estimatedItemSize,\n paddingStart,\n paddingEnd\n });\n }, [\n baseId,\n items,\n data,\n gap,\n horizontal,\n itemSize,\n estimatedItemSize,\n paddingStart,\n paddingEnd\n ]);\n useEffect(() => {\n if (!baseId)\n return;\n parentData == null ? void 0 : parentData.set(baseId, data);\n }, [baseId, parentData, data]);\n useEffect(() => {\n if (itemSize != null)\n return;\n if (!baseId)\n return;\n if (!items)\n return;\n const nextData = getData({\n baseId,\n items,\n data,\n gap,\n elements,\n horizontal,\n paddingStart,\n itemSize,\n estimatedItemSize\n });\n if (nextData) {\n setData(nextData);\n }\n }, [\n elementsUpdated,\n itemSize,\n baseId,\n items,\n data,\n gap,\n elements,\n horizontal,\n paddingStart,\n estimatedItemSize\n ]);\n const scroller = useScroller(items ? ref : null);\n const offsetsRef = useRef({ start: 0, end: 0 });\n const processVisibleIndices = useCallback(() => {\n const offsets = offsetsRef.current;\n if (!items)\n return;\n if (!baseId)\n return;\n if (!offsets.end)\n return;\n if (!data.size && !itemSize)\n return;\n const length = getItemsLength(items);\n const getItemOffset = (index, prop = \"start\") => {\n var _a3;\n if (itemSize) {\n const start2 = itemSize * index + gap * index + paddingStart;\n if (prop === \"start\")\n return start2;\n return start2 + itemSize;\n }\n const item = getItem(items, index);\n const itemId = getItemId(item, index, baseId);\n const itemData = data.get(itemId);\n return (_a3 = itemData == null ? void 0 : itemData[prop]) != null ? _a3 : 0;\n };\n const initialStart = findNearestIndex(items, offsets.start, getItemOffset);\n let initialEnd = initialStart;\n while (initialEnd < length && getItemOffset(initialEnd) < offsets.end) {\n initialEnd += 1;\n }\n const finalOverscan = initialEnd - initialStart ? overscan : 0;\n const start = Math.max(initialStart - finalOverscan, 0);\n const end = Math.min(initialEnd + finalOverscan, length);\n const indices = Array.from(\n { length: end - start },\n (_, index) => index + start\n );\n setVisibleIndices((prevIndices) => {\n if (shallowEqual(prevIndices, indices))\n return prevIndices;\n return indices;\n });\n }, [\n elementsUpdated,\n items,\n baseId,\n data,\n itemSize,\n gap,\n paddingStart,\n overscan\n ]);\n useEffect(processVisibleIndices, [processVisibleIndices]);\n const processVisibleIndicesEvent = useEvent(processVisibleIndices);\n useEffect(() => {\n const renderer = ref.current;\n if (!renderer)\n return;\n if (!scroller)\n return;\n offsetsRef.current = getOffsets(renderer, scroller, horizontal);\n processVisibleIndicesEvent();\n }, [scroller, horizontal, processVisibleIndicesEvent]);\n const mayRenderOnScroll = !!renderOnScroll;\n const renderOnScrollProp = useBooleanEvent(renderOnScroll);\n useEffect(() => {\n if (!mayRenderOnScroll)\n return;\n const renderer = ref.current;\n if (!renderer)\n return;\n if (!scroller)\n return;\n const viewport = getViewport(scroller);\n if (!viewport)\n return;\n const task = createTask();\n const onScroll = (event) => {\n task.run(() => {\n if (!renderOnScrollProp(event))\n return;\n offsetsRef.current = getOffsets(renderer, scroller, horizontal);\n processVisibleIndicesEvent();\n });\n };\n viewport.addEventListener(\"scroll\", onScroll, { passive: true });\n return () => {\n task.cancel();\n viewport.removeEventListener(\"scroll\", onScroll);\n };\n }, [\n mayRenderOnScroll,\n scroller,\n renderOnScrollProp,\n horizontal,\n processVisibleIndicesEvent\n ]);\n const mayRenderOnResize = !!renderOnResize;\n const renderOnResizeProp = useBooleanEvent(renderOnResize);\n useEffect(() => {\n if (!mayRenderOnResize)\n return;\n const renderer = ref.current;\n if (!renderer)\n return;\n if (!scroller)\n return;\n const viewport = getViewport(scroller);\n if (!viewport)\n return;\n const task = createTask();\n if (viewport === scroller) {\n if (typeof ResizeObserver !== \"function\")\n return;\n let firstRun = true;\n const observer = new ResizeObserver(() => {\n if (firstRun) {\n firstRun = false;\n return;\n }\n task.run(() => {\n if (!renderOnResizeProp(scroller))\n return;\n offsetsRef.current = getOffsets(renderer, scroller, horizontal);\n processVisibleIndicesEvent();\n });\n });\n observer.observe(scroller);\n return () => {\n task.cancel();\n observer.disconnect();\n };\n }\n const onResize = () => {\n task.run(() => {\n if (!renderOnResizeProp(scroller))\n return;\n offsetsRef.current = getOffsets(renderer, scroller, horizontal);\n processVisibleIndicesEvent();\n });\n };\n viewport.addEventListener(\"resize\", onResize, { passive: true });\n return () => {\n task.cancel();\n viewport.removeEventListener(\"resize\", onResize);\n };\n }, [\n mayRenderOnResize,\n scroller,\n renderOnResizeProp,\n horizontal,\n processVisibleIndicesEvent\n ]);\n useEffect(() => {\n if (typeof IntersectionObserver !== \"function\")\n return;\n const renderer = ref.current;\n if (!renderer)\n return;\n if (!scroller)\n return;\n const viewport = getViewport(scroller);\n if (!viewport)\n return;\n const observer = new IntersectionObserver(\n () => {\n offsetsRef.current = getOffsets(renderer, scroller, horizontal);\n processVisibleIndicesEvent();\n },\n { root: scroller === viewport ? scroller : null }\n );\n observer.observe(renderer);\n return () => {\n observer.disconnect();\n };\n }, [scroller, processVisibleIndicesEvent]);\n const elementObserver = useMemo(() => {\n if (typeof ResizeObserver !== \"function\")\n return;\n return new ResizeObserver(() => {\n flushSync(updateElements);\n });\n }, [updateElements]);\n const itemRef = useCallback(\n (element) => {\n if (!element)\n return;\n if (itemSize)\n return;\n updateElements();\n elements.set(element.id, element);\n elementObserver == null ? void 0 : elementObserver.observe(element);\n },\n [itemSize, elements, updateElements, elementObserver]\n );\n const getItemProps = useCallback(\n (item, index) => {\n var _a3, _b3;\n const itemId = getItemId(item, index, baseId);\n const offset = itemSize ? paddingStart + itemSize * index + gap * index : (_b3 = (_a3 = data.get(itemId)) == null ? void 0 : _a3.start) != null ? _b3 : 0;\n const baseItemProps = {\n id: itemId,\n ref: itemRef,\n index,\n style: {\n position: \"absolute\",\n left: horizontal ? offset : 0,\n top: horizontal ? 0 : offset\n }\n };\n if (itemSize) {\n baseItemProps.style[horizontal ? \"width\" : \"height\"] = itemSize;\n }\n if (item == null)\n return baseItemProps;\n const itemProps = getItemObject(item);\n return __spreadProps(__spreadValues(__spreadValues({}, itemProps), baseItemProps), {\n style: __spreadValues(__spreadValues({}, itemProps.style), baseItemProps.style)\n });\n },\n [baseId, data, itemSize, paddingStart, gap, horizontal, itemRef]\n );\n const itemsProps = useMemo(() => {\n return visibleIndices.map((index) => {\n if (index < 0)\n return;\n const item = getItem(items, index);\n if (!item)\n return;\n return getItemProps(item, index);\n }).filter((value) => value != null);\n }, [items, visibleIndices, getItemProps]);\n const children = itemsProps == null ? void 0 : itemsProps.map((itemProps) => {\n return renderItem == null ? void 0 : renderItem(itemProps);\n });\n const styleProp = props.style;\n const sizeProperty = horizontal ? \"width\" : \"height\";\n const style = useMemo(\n () => __spreadValues({\n flex: \"none\",\n position: \"relative\",\n [sizeProperty]: totalSize\n }, styleProp),\n [styleProp, sizeProperty, totalSize]\n );\n const childrenData = useMemo(() => /* @__PURE__ */ new Map(), []);\n const providerValue = useMemo(\n () => ({ store, orientation, overscan, childrenData }),\n [store, orientation, overscan, childrenData]\n );\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(CollectionRendererContext.Provider, { value: providerValue, children: element }),\n [providerValue]\n );\n props = __spreadProps(__spreadValues({\n id: baseId\n }, props), {\n style,\n ref: useMergeRefs(ref, props.ref)\n });\n return __spreadProps(__spreadValues({}, props), { children });\n}\nvar CollectionRenderer = forwardRef(function CollectionRenderer2(props) {\n const htmlProps = useCollectionRenderer(props);\n return createElement(TagName, htmlProps);\n});\nvar getCollectionRendererItem = getItem;\nvar getCollectionRendererItemId = getItemId;\n\nexport {\n useCollectionRenderer,\n CollectionRenderer,\n getCollectionRendererItem,\n getCollectionRendererItemId\n};\n","\"use client\";\nimport {\n getCollectionRendererItemId,\n useCollectionRenderer\n} from \"./UZMGSJE4.js\";\nimport {\n useCompositeContext\n} from \"./3D6OCOHF.js\";\nimport {\n createElement,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n useId\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-renderer.tsx\nimport { useMemo } from \"react\";\nvar TagName = \"div\";\nfunction getItemObject(item) {\n if (!item || typeof item !== \"object\") {\n return { value: item };\n }\n return item;\n}\nfunction countItems(items) {\n if (!items)\n return [0];\n if (typeof items === \"number\") {\n return Array.from({ length: items }, (_, index) => index + 1);\n }\n return items.reduce((count, item, index) => {\n var _a, _b;\n const object = getItemObject(item);\n if (!object.items) {\n }\n if (!object.items) {\n count[index] = index + 1;\n return count;\n }\n const prevCount = (_a = count[index - 1]) != null ? _a : 0;\n const itemsCount = (_b = countItems(object.items)[object.items.length - 1]) != null ? _b : 0;\n count[index] = prevCount + itemsCount;\n return count;\n }, []);\n}\nfunction findFirst(items, offset = 1) {\n for (let index = offset > 0 ? 0 : items.length - 1; index >= 0 && index < items.length; index += offset) {\n const item = items[index];\n const object = getItemObject(item);\n if (object.items && findFirst(object.items, offset) !== -1)\n return index;\n if (!object.disabled)\n return index;\n }\n return -1;\n}\nfunction findLast(items) {\n return findFirst(items, -1);\n}\nfunction findById(items, id, baseId) {\n return items.findIndex((item, index) => {\n var _a;\n const itemId = getCollectionRendererItemId(item, index, baseId);\n if (itemId === id)\n return true;\n const object = getItemObject(item);\n if ((_a = object.items) == null ? void 0 : _a.length)\n return findById(object.items, id, itemId) !== -1;\n const ids = id.split(\"/\");\n if (ids.length === 1)\n return false;\n return ids.some((id2) => itemId === id2);\n });\n}\nfunction useCompositeRenderer(_a) {\n var _b = _a, {\n store,\n orientation: orientationProp,\n persistentIndices: persistentIndicesProp,\n children: renderItem,\n \"aria-setsize\": ariaSetSize,\n \"aria-posinset\": ariaPosInSet = 1\n } = _b, props = __objRest(_b, [\n \"store\",\n \"orientation\",\n \"persistentIndices\",\n \"children\",\n \"aria-setsize\",\n \"aria-posinset\"\n ]);\n const context = useCompositeContext();\n store = store || context;\n const orientation = useStoreState(\n store,\n (state) => (orientationProp != null ? orientationProp : (state == null ? void 0 : state.orientation) === \"both\") ? \"vertical\" : state == null ? void 0 : state.orientation\n );\n const items = useStoreState(store, (state) => {\n var _a2;\n if (!state)\n return props.items;\n if (\"mounted\" in state && !state.mounted)\n return 0;\n return (_a2 = props.items) != null ? _a2 : state.items;\n });\n const id = useId(props.id);\n const itemsCount = useMemo(() => countItems(items), [items]);\n const setSize = useMemo(\n () => {\n var _a2;\n return (_a2 = ariaSetSize != null ? ariaSetSize : itemsCount[itemsCount.length - 1]) != null ? _a2 : 0;\n },\n [ariaSetSize, itemsCount]\n );\n const firstIndex = useMemo(() => {\n if (!items)\n return -1;\n if (typeof items === \"number\")\n return 0;\n if (!items.length)\n return -1;\n return findFirst(items);\n }, [items]);\n const lastIndex = useMemo(() => {\n if (!items)\n return -1;\n if (typeof items === \"number\")\n return items - 1;\n if (!items.length)\n return -1;\n return findLast(items);\n }, [items]);\n const activeId = useStoreState(store, \"activeId\");\n const activeIndex = useMemo(() => {\n if (!id)\n return -1;\n if (!items)\n return -1;\n if (activeId == null)\n return -1;\n if (typeof items === \"number\")\n return -1;\n if (!items.length)\n return -1;\n return findById(items, activeId, id);\n }, [id, items, activeId]);\n const persistentIndices = useMemo(() => {\n const indices = [firstIndex, activeIndex, lastIndex].filter(\n (index) => index >= 0\n );\n if (persistentIndicesProp) {\n return [...persistentIndicesProp, ...indices];\n }\n return indices;\n }, [firstIndex, activeIndex, lastIndex, persistentIndicesProp]);\n return useCollectionRenderer(__spreadProps(__spreadValues({\n id,\n store,\n orientation,\n persistentIndices\n }, props), {\n children: (item) => {\n var _a2;\n const nextItem = __spreadProps(__spreadValues({}, item), {\n \"aria-setsize\": setSize,\n \"aria-posinset\": ariaPosInSet + ((_a2 = itemsCount[item.index - 1]) != null ? _a2 : 0)\n });\n return renderItem == null ? void 0 : renderItem(nextItem);\n }\n }));\n}\nvar CompositeRenderer = forwardRef(function CompositeRenderer2(props) {\n const htmlProps = useCompositeRenderer(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCompositeRenderer,\n CompositeRenderer\n};\n","\"use client\";\nimport {\n useCompositeRenderer\n} from \"../__chunks/UPJMZO6L.js\";\nimport {\n getCollectionRendererItem,\n getCollectionRendererItemId\n} from \"../__chunks/UZMGSJE4.js\";\nimport {\n useSelectContext\n} from \"../__chunks/TKSBJDO3.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport {\n createElement,\n forwardRef\n} from \"../__chunks/5M6RSQEC.js\";\nimport {\n useStoreState\n} from \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-renderer.tsx\nimport { useMemo } from \"react\";\nimport { toArray } from \"@ariakit/core/utils/array\";\nvar TagName = \"div\";\nfunction getItemObject(item) {\n if (!item || typeof item !== \"object\") {\n return { value: `${item}` };\n }\n return item;\n}\nfunction findIndicesByValue(items, value) {\n var _a;\n const values = toArray(value);\n const indices = [];\n for (const [index, item] of items.entries()) {\n if (indices.length === values.length)\n break;\n const object = getItemObject(item);\n if (object.value != null && values.includes(object.value)) {\n indices.push(index);\n } else if ((_a = object.items) == null ? void 0 : _a.length) {\n const childIndices = findIndicesByValue(object.items, value);\n if (childIndices.length) {\n indices.push(index);\n }\n }\n }\n return indices;\n}\nfunction useSelectRenderer(_a) {\n var _b = _a, {\n store,\n orientation: orientationProp,\n persistentIndices: persistentIndicesProp,\n items: itemsProp,\n value: valueProp\n } = _b, props = __objRest(_b, [\n \"store\",\n \"orientation\",\n \"persistentIndices\",\n \"items\",\n \"value\"\n ]);\n const context = useSelectContext();\n store = store || context;\n const items = useStoreState(store, (state) => {\n if (!state)\n return itemsProp;\n if (!state.mounted)\n return 0;\n return itemsProp != null ? itemsProp : state.items;\n });\n const value = useStoreState(store, (state) => valueProp != null ? valueProp : state == null ? void 0 : state.value);\n const valueIndices = useMemo(() => {\n if (!items)\n return [];\n if (value == null)\n return [];\n if (typeof items === \"number\")\n return [];\n if (!items.length)\n return [];\n return findIndicesByValue(items, value);\n }, [items, value]);\n const persistentIndices = useMemo(() => {\n if (persistentIndicesProp) {\n return [...persistentIndicesProp, ...valueIndices];\n }\n return valueIndices;\n }, [valueIndices, persistentIndicesProp]);\n return useCompositeRenderer(__spreadValues({\n store,\n items,\n persistentIndices\n }, props));\n}\nvar SelectRenderer = forwardRef(function SelectRenderer2(props) {\n const htmlProps = useSelectRenderer(props);\n return createElement(TagName, htmlProps);\n});\nexport {\n SelectRenderer,\n getCollectionRendererItem as getSelectRendererItem,\n getCollectionRendererItemId as getSelectRendererItemId\n};\n","\"use client\";\nimport {\n usePopoverContext\n} from \"./TE637IA7.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-disclosure-arrow.tsx\nimport { useMemo } from \"react\";\nimport { invariant, removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"span\";\nvar pointsMap = {\n top: \"4,10 8,6 12,10\",\n right: \"6,4 10,8 6,12\",\n bottom: \"4,6 8,10 12,6\",\n left: \"10,4 6,8 10,12\"\n};\nvar usePopoverDisclosureArrow = createHook(function usePopoverDisclosureArrow2(_a) {\n var _b = _a, { store, placement } = _b, props = __objRest(_b, [\"store\", \"placement\"]);\n const context = usePopoverContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"PopoverDisclosureArrow must be wrapped in a PopoverDisclosure component.\"\n );\n const position = store.useState((state) => placement || state.placement);\n const dir = position.split(\"-\")[0];\n const points = pointsMap[dir];\n const children = useMemo(\n () => /* @__PURE__ */ jsx(\n \"svg\",\n {\n display: \"block\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"1.5pt\",\n viewBox: \"0 0 16 16\",\n height: \"1em\",\n width: \"1em\",\n children: /* @__PURE__ */ jsx(\"polyline\", { points })\n }\n ),\n [points]\n );\n props = __spreadProps(__spreadValues({\n children,\n \"aria-hidden\": true\n }, props), {\n style: __spreadValues({\n width: \"1em\",\n height: \"1em\",\n pointerEvents: \"none\"\n }, props.style)\n });\n return removeUndefinedValues(props);\n});\nvar PopoverDisclosureArrow = forwardRef(\n function PopoverDisclosureArrow2(props) {\n const htmlProps = usePopoverDisclosureArrow(props);\n return createElement(TagName, htmlProps);\n }\n);\n\nexport {\n usePopoverDisclosureArrow,\n PopoverDisclosureArrow\n};\n","\"use client\";\nimport {\n usePopoverDisclosureArrow\n} from \"./HA4U57LH.js\";\nimport {\n useSelectContext\n} from \"./TKSBJDO3.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/select/select-arrow.ts\nvar TagName = \"span\";\nvar useSelectArrow = createHook(\n function useSelectArrow2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n const context = useSelectContext();\n store = store || context;\n props = usePopoverDisclosureArrow(__spreadValues({ store }, props));\n return props;\n }\n);\nvar SelectArrow = forwardRef(function SelectArrow2(props) {\n const htmlProps = useSelectArrow(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useSelectArrow,\n SelectArrow\n};\n","\"use client\";\nimport {\n usePopoverDisclosure\n} from \"../__chunks/Z72LDQLY.js\";\nimport \"../__chunks/5SF76VVA.js\";\nimport \"../__chunks/AFNONYRE.js\";\nimport \"../__chunks/NLT7LY5Y.js\";\nimport \"../__chunks/JJ3MV4KB.js\";\nimport {\n SelectArrow\n} from \"../__chunks/6PC3IJNK.js\";\nimport \"../__chunks/HA4U57LH.js\";\nimport {\n useCompositeTypeahead\n} from \"../__chunks/DMSZFK7W.js\";\nimport {\n SelectScopedContextProvider,\n useSelectProviderContext\n} from \"../__chunks/TKSBJDO3.js\";\nimport \"../__chunks/KSZPJCUA.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/WAZE6NXP.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/5M6RSQEC.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useMergeRefs,\n useWrapElement\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select.tsx\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { toArray } from \"@ariakit/core/utils/array\";\nimport { getPopupRole } from \"@ariakit/core/utils/dom\";\nimport { queueBeforeEvent } from \"@ariakit/core/utils/events\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar TagName = \"button\";\nfunction getSelectedValues(select) {\n return Array.from(select.selectedOptions).map((option) => option.value);\n}\nfunction nextWithValue(store, next) {\n return () => {\n const nextId = next();\n if (!nextId)\n return;\n let i = 0;\n let nextItem = store.item(nextId);\n const firstItem = nextItem;\n while (nextItem && nextItem.value == null) {\n const nextId2 = next(++i);\n if (!nextId2)\n return;\n nextItem = store.item(nextId2);\n if (nextItem === firstItem)\n break;\n }\n return nextItem == null ? void 0 : nextItem.id;\n };\n}\nvar useSelect = createHook(function useSelect2(_a) {\n var _b = _a, {\n store,\n name,\n form,\n required,\n showOnKeyDown = true,\n moveOnKeyDown = true,\n toggleOnClick = false,\n toggleOnPress = !toggleOnClick\n } = _b, props = __objRest(_b, [\n \"store\",\n \"name\",\n \"form\",\n \"required\",\n \"showOnKeyDown\",\n \"moveOnKeyDown\",\n \"toggleOnClick\",\n \"toggleOnPress\"\n ]);\n const context = useSelectProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"Select must receive a `store` prop or be wrapped in a SelectProvider component.\"\n );\n toggleOnPress = toggleOnClick ? false : toggleOnPress;\n const onKeyDownProp = props.onKeyDown;\n const showOnKeyDownProp = useBooleanEvent(showOnKeyDown);\n const moveOnKeyDownProp = useBooleanEvent(moveOnKeyDown);\n const toggleOnPressProp = useBooleanEvent(toggleOnPress);\n const placement = store.useState(\"placement\");\n const dir = placement.split(\"-\")[0];\n const value = store.useState(\"value\");\n const multiSelectable = Array.isArray(value);\n const onKeyDown = useEvent((event) => {\n var _a2;\n onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n if (event.defaultPrevented)\n return;\n if (!store)\n return;\n const { orientation, items: items2, activeId } = store.getState();\n if (event.key === \" \" || event.key === \"Enter\") {\n if (toggleOnPressProp(event)) {\n event.preventDefault();\n store.toggle();\n }\n }\n const isVertical = orientation !== \"horizontal\";\n const isHorizontal = orientation !== \"vertical\";\n const isGrid = !!((_a2 = items2.find((item) => !item.disabled && item.value != null)) == null ? void 0 : _a2.rowId);\n const moveKeyMap = {\n ArrowUp: (isGrid || isVertical) && nextWithValue(store, store.up),\n ArrowRight: (isGrid || isHorizontal) && nextWithValue(store, store.next),\n ArrowDown: (isGrid || isVertical) && nextWithValue(store, store.down),\n ArrowLeft: (isGrid || isHorizontal) && nextWithValue(store, store.previous)\n };\n const getId = moveKeyMap[event.key];\n if (getId && moveOnKeyDownProp(event)) {\n event.preventDefault();\n store.move(getId());\n }\n const isTopOrBottom = dir === \"top\" || dir === \"bottom\";\n const isLeft = dir === \"left\";\n const isRight = dir === \"right\";\n const canShowKeyMap = {\n ArrowDown: isTopOrBottom,\n ArrowUp: isTopOrBottom,\n ArrowLeft: isLeft,\n ArrowRight: isRight\n };\n const canShow = canShowKeyMap[event.key];\n if (canShow && showOnKeyDownProp(event)) {\n event.preventDefault();\n store.move(activeId);\n queueBeforeEvent(event.currentTarget, \"keyup\", store.show);\n }\n });\n const onMouseDownProp = props.onMouseDown;\n const onMouseDown = useEvent((event) => {\n onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n if (event.defaultPrevented)\n return;\n if (event.button)\n return;\n if (event.ctrlKey)\n return;\n if (!toggleOnPressProp(event))\n return;\n const element = event.currentTarget;\n queueBeforeEvent(element, \"focusin\", () => {\n store == null ? void 0 : store.setDisclosureElement(element);\n store == null ? void 0 : store.toggle();\n });\n });\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(SelectScopedContextProvider, { value: store, children: element }),\n [store]\n );\n const [autofill, setAutofill] = useState(false);\n const nativeSelectChangedRef = useRef(false);\n useEffect(() => {\n const nativeSelectChanged = nativeSelectChangedRef.current;\n nativeSelectChangedRef.current = false;\n if (nativeSelectChanged)\n return;\n setAutofill(false);\n }, [value]);\n const labelId = store.useState((state) => {\n var _a2;\n return (_a2 = state.labelElement) == null ? void 0 : _a2.id;\n });\n const label = props[\"aria-label\"];\n const labelledBy = props[\"aria-labelledby\"] || labelId;\n const items = store.useState((state) => {\n if (!name)\n return;\n return state.items;\n });\n const values = useMemo(() => {\n return [...new Set(items == null ? void 0 : items.map((i) => i.value).filter((v) => v != null))];\n }, [items]);\n props = useWrapElement(\n props,\n (element) => {\n if (!name)\n return element;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsxs(\n \"select\",\n {\n style: {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\"\n },\n tabIndex: -1,\n \"aria-hidden\": true,\n \"aria-label\": label,\n \"aria-labelledby\": labelledBy,\n name,\n form,\n required,\n value,\n multiple: multiSelectable,\n onFocus: () => {\n var _a2;\n return (_a2 = store == null ? void 0 : store.getState().selectElement) == null ? void 0 : _a2.focus();\n },\n onChange: (event) => {\n nativeSelectChangedRef.current = true;\n setAutofill(true);\n store == null ? void 0 : store.setValue(\n multiSelectable ? getSelectedValues(event.target) : event.target.value\n );\n },\n children: [\n toArray(value).map((value2) => {\n if (value2 == null)\n return null;\n if (values.includes(value2))\n return null;\n return /* @__PURE__ */ jsx(\"option\", { value: value2, children: value2 }, value2);\n }),\n values.map((value2) => /* @__PURE__ */ jsx(\"option\", { value: value2, children: value2 }, value2))\n ]\n }\n ),\n element\n ] });\n },\n [\n store,\n label,\n labelledBy,\n name,\n form,\n required,\n value,\n multiSelectable,\n values\n ]\n );\n const children = /* @__PURE__ */ jsxs(Fragment, { children: [\n value,\n /* @__PURE__ */ jsx(SelectArrow, {})\n ] });\n const contentElement = store.useState(\"contentElement\");\n props = __spreadProps(__spreadValues({\n role: \"combobox\",\n \"aria-autocomplete\": \"none\",\n \"aria-labelledby\": labelId,\n \"aria-haspopup\": getPopupRole(contentElement, \"listbox\"),\n \"data-autofill\": autofill || void 0,\n \"data-name\": name,\n children\n }, props), {\n ref: useMergeRefs(store.setSelectElement, props.ref),\n onKeyDown,\n onMouseDown\n });\n props = usePopoverDisclosure(__spreadValues({ store, toggleOnClick }, props));\n props = useCompositeTypeahead(__spreadValues({ store }, props));\n return props;\n});\nvar Select = forwardRef(function Select2(props) {\n const htmlProps = useSelect(props);\n return createElement(TagName, htmlProps);\n});\nexport {\n Select,\n useSelect\n};\n"],"names":["hasPassiveEvents","window","passiveTestOptions","passive","addEventListener","removeEventListener","isIosDevice","navigator","platform","test","maxTouchPoints","locks","documentListenerAdded","initialClientY","previousBodyOverflowSetting","previousBodyPaddingRight","allowTouchMove","el","some","lock","options","preventDefault","rawEvent","e","event","target","touches","length","restoreOverflowSetting","undefined","document","body","style","paddingRight","overflow","disableBodyScroll","targetElement","concat","arr","Array","isArray","i","arr2","from","_toConsumableArray","ontouchstart","targetTouches","clientY","ontouchmove","scrollTop","scrollHeight","clientHeight","isTargetElementTotallyScrolled","stopPropagation","handleScroll","_reserveScrollBarGap","reserveScrollBarGap","scrollBarGap","innerWidth","documentElement","clientWidth","setOverflowHidden","console","error","enableBodyScroll","filter","addDays","dirtyDate","dirtyAmount","arguments","date","amount","isNaN","Date","NaN","setDate","getDate","addMonths","dayOfMonth","endOfDesiredMonth","getTime","setMonth","getMonth","setFullYear","getFullYear","add","duration","years","months","weeks","days","hours","minutes","seconds","dateWithMonths","dateWithDays","msToAdd","MILLISECONDS_IN_DAY","differenceInCalendarDays","dirtyDateLeft","dirtyDateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","Math","round","endOfDay","setHours","endOfMonth","month","compareAsc","requiredArgs","dateLeft","toDate","dateRight","diff","compareLocalAsc","getHours","getMinutes","getSeconds","getMilliseconds","differenceInMilliseconds","roundingMap","ceil","floor","trunc","value","defaultRoundingMethod","getRoundingMethod","method","differenceInMonths","result","sign","difference","abs","differenceInCalendarMonths","isLastMonthNotFull","isLastDayOfMonth","Number","differenceInYears","differenceInCalendarYears","isLastYearNotFull","intervalToDuration","interval","start","end","RangeError","remainingMonths","remainingDays","differenceInDays","remainingHours","roundingMethod","differenceInHours","remainingMinutes","differenceInMinutes","remainingSeconds","differenceInSeconds","startOfDay","subMonths","sub","toInteger","dateWithoutDays","subDays","mstoSub","ReflectOwnKeys","R","Reflect","ReflectApply","apply","receiver","args","Function","prototype","call","ownKeys","Object","getOwnPropertySymbols","getOwnPropertyNames","NumberIsNaN","EventEmitter","init","this","module","exports","once","emitter","name","Promise","resolve","reject","errorListener","err","removeListener","resolver","slice","eventTargetAgnosticAddListener","handler","flags","on","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","_getMaxListeners","that","_addListener","type","prepend","m","events","existing","warning","create","newListener","emit","unshift","push","warned","w","Error","String","count","warn","onceWrapper","fired","wrapFn","_onceWrap","state","wrapped","bind","_listeners","unwrap","evlistener","ret","unwrapListeners","arrayClone","listenerCount","n","copy","wrapListener","arg","defineProperty","enumerable","get","set","getPrototypeOf","setMaxListeners","getMaxListeners","doError","er","message","context","len","listeners","addListener","prependListener","prependOnceListener","list","position","originalListener","shift","index","pop","spliceOne","off","removeAllListeners","key","keys","rawListeners","eventNames","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","g","freeSelf","self","root","objectToString","toString","nativeMax","max","nativeMin","min","now","isObject","toNumber","isObjectLike","isSymbol","other","valueOf","replace","isBinary","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","remainingWait","debounced","isInvoking","leadingEdge","cancel","clearTimeout","flush","GroupLabelContext","createContext","chars","clearChars","itemTextStartsWith","item","text","_a","itemText","element","textContent","children","trim","toLowerCase","startsWith","useCompositeTypeahead","_b","store","typeahead","props","onKeyDownCaptureProp","onKeyDownCapture","cleanupTimeoutRef","useRef","defaultPrevented","items","activeId","getState","ctrlKey","altKey","metaKey","isValidTypeaheadEvent","enabledItems","disabled","getEnabledItems","isSelfTargetOrItem","current","char","activeItem","find","id","getSameInitialItems","item2","move","htmlProps","ctx","useSelectContext","useContext","useSelectScopedContext","useScopedContext","useSelectProviderContext","useProviderContext","SelectContextProvider","ContextProvider","SelectScopedContextProvider","ScopedContextProvider","SelectItemCheckedContext","symbol","Symbol","useDisclosure","toggleOnClick","ref","expanded","setExpanded","useState","disclosureElement","open","useEffect","isCurrentDisclosure","isConnected","setDisclosureElement","onClickProp","onClick","toggleOnClickProp","isDuplicate","metadataProps","currentTarget","toggle","contentElement","useDialogDisclosure","usePopoverDisclosure","setAnchorElement","jsx","PopoverDisclosure","ComboboxProvider","useGroupLabel","setLabelId","useCompositeGroupLabel","useMenuGroupLabel","MenuGroupLabel","useGroup","labelId","Provider","role","useCompositeGroup","useMenuGroup","MenuGroup","PopoverProvider","useSelectItem","_a2","getItem","getItemProp","hideOnClick","setValueOnClick","preventScrollOnKeyDown","focusOnHover","useCallback","nextItem","multiSelectable","setValueOnClickProp","hideOnClickProp","setValue","prevValue","includes","v","hide","selected","storeValue","itemValue","isSelected","autoFocus","focusOnHoverProp","SelectItem","useSelectLabel","queueMicrotask","select","selectElement","focus","click","setLabelElement","cursor","SelectLabel","useSelectList","resetOnEscape","hideOnEnter","focusOnMove","composite","alwaysVisible","defaultValue","setDefaultValue","mounted","onKeyDownProp","onKeyDown","resetOnEscapeProp","hideOnEnterProp","labelElement","hasCombobox","combobox","ariaMultiSelectable","hidden","display","setContentElement","useSelectPopover","SelectPopover","createSelectStore","syncState","virtualFocus","includesBaseElement","defaultActiveId","orientation","popover","placement","initialValue","initialState","setValueOnMove","setState","values","lastValue","moves","setSelectElement","useSelectStore","update","assign","useSelectStoreProps","SelectProvider","CollectionRendererContext","createTask","raf","run","cb","requestAnimationFrame","cancelAnimationFrame","getItemsLength","getItemObject","getItemId","baseId","defaultId","getItemSize","horizontal","fallbackElement","_c","_d","_e","itemObject","prop","size","hasSameOrientation","paddingStart","padding","paddingEnd","initialSize","gap","itemSize","totalSize","reduce","sum","getBoundingClientRect","getScrollOffset","scroller","scrollX","scrollY","scrollLeft","getViewport","defaultView","ownerDocument","getOffsets","renderer","scrollOffset","rendererOffset","win","htmlElement","rendererRect","left","top","scrollerRect","getRendererOffset","getData","nextData","avgSize","currentIndex","averageSize","estimatedItemSize","setAverageSize","prevIndex","itemId","itemData","data","elements","rendered","getAverageSize","prevRendered","setSize","size2","nextItemData","Map","useCollectionRenderer","_b2","itemsProp","initialItems","overscan","overscanProp","orientationProp","persistentIndices","renderOnScroll","renderOnResize","renderItem","parent","parentData","childrenData","useMemo","elementsUpdated","updateElements","defaultVisibleIndices","setVisibleIndices","initialLength","_","visibleIndices","nextIndices","forEach","sort","a","b","setData","data2","totalPadding","lastIndex","totalGap","defaultEnd","lastItemId","lastItemData","getItemsEnd","rendererRef","setScroller","scroller2","useScroller","offsetsRef","processVisibleIndices","offsets","getItemOffset","_a3","start2","initialStart","getValue","right","findNearestIndex","initialEnd","finalOverscan","indices","prevIndices","processVisibleIndicesEvent","mayRenderOnScroll","renderOnScrollProp","viewport","task","onScroll","mayRenderOnResize","renderOnResizeProp","ResizeObserver","firstRun","observer","observe","disconnect","onResize","IntersectionObserver","elementObserver","flushSync","itemRef","getItemProps","_b3","offset","baseItemProps","itemProps","itemsProps","map","styleProp","sizeProperty","flex","providerValue","getCollectionRendererItemId","countItems","object","prevCount","itemsCount","findFirst","findById","findIndex","ids","split","id2","useCompositeRenderer","persistentIndicesProp","ariaSetSize","ariaPosInSet","firstIndex","findLast","activeIndex","findIndicesByValue","entries","useSelectRenderer","valueProp","valueIndices","SelectRenderer","pointsMap","bottom","usePopoverDisclosureArrow","dir","points","fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","viewBox","height","width","pointerEvents","useSelectArrow","SelectArrow","nextWithValue","next","nextId","firstItem","nextId2","useSelect","form","required","showOnKeyDown","moveOnKeyDown","toggleOnPress","showOnKeyDownProp","moveOnKeyDownProp","toggleOnPressProp","items2","isVertical","isHorizontal","isGrid","rowId","getId","ArrowUp","up","ArrowRight","ArrowDown","down","ArrowLeft","previous","isTopOrBottom","show","onMouseDownProp","onMouseDown","button","autofill","setAutofill","nativeSelectChangedRef","nativeSelectChanged","label","labelledBy","Set","jsxs","Fragment","border","clip","margin","whiteSpace","tabIndex","multiple","onFocus","onChange","selectedOptions","option","value2","Select"],"sourceRoot":""}