{"version":3,"file":"6057.93e05c02.js","mappings":"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","sources":["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/subDays/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/events/events.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/7HVFURXT.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/KPEX55MY.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/P4IRICAX.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/AXB53BZF.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/QYJ6MIDR.js","webpack://@finviz/website/../node_modules/@ariakit/core/esm/select/select-store.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/S5WQ44SQ.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/T7VMP3TM.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/YF2ICFG4.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/combobox/combobox-provider.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/YUOJWFSO.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/SWSPTQMT.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/36LIF33V.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/YORGHBM4.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-label.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/XRBJGF7I.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-popover.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-provider.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/WTCO46W5.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/ZOBNYESQ.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-renderer.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/DR55NYVS.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/UD53QJDV.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select.js"],"sourcesContent":["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 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}","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}","// 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","\"use client\";\n\n// src/group/group-label-context.tsx\nimport { createContext } from \"react\";\nvar GroupLabelContext = createContext(void 0);\n\nexport {\n GroupLabelContext\n};\n","\"use client\";\nimport {\n CompositeContextProvider,\n CompositeScopedContextProvider\n} from \"./P7GR5CS5.js\";\nimport {\n PopoverContextProvider,\n PopoverScopedContextProvider\n} from \"./MTZPJQMC.js\";\nimport {\n createStoreContext\n} from \"./LMDWO4NN.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);\nvar SelectHeadingContext = createContext(null);\n\nexport {\n useSelectContext,\n useSelectScopedContext,\n useSelectProviderContext,\n SelectContextProvider,\n SelectScopedContextProvider,\n SelectItemCheckedContext,\n SelectHeadingContext\n};\n","\"use client\";\nimport {\n useButton\n} from \"./X5NMLKT6.js\";\nimport {\n useDisclosureProviderContext\n} from \"./S6EF7IVO.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useMergeRefs,\n useMetadataProps\n} from \"./ABQUS43J.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./3YLGPPWQ.js\";\n\n// src/disclosure/disclosure.tsx\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { useEffect, useRef, useState } from \"react\";\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) return;\n if (isDuplicate) return;\n if (!toggleOnClickProp(event)) 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 \"./P4IRICAX.js\";\nimport {\n useDialogProviderContext\n} from \"./RS7LB2H4.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"./3YLGPPWQ.js\";\n\n// src/dialog/dialog-disclosure.tsx\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 \"./AXB53BZF.js\";\nimport {\n usePopoverAnchor\n} from \"./OMU7RWRV.js\";\nimport {\n PopoverScopedContextProvider,\n usePopoverProviderContext\n} from \"./MTZPJQMC.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n useEvent,\n useWrapElement\n} from \"./ABQUS43J.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./3YLGPPWQ.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 createCompositeStore\n} from \"../__chunks/AJZ4BYF3.js\";\nimport \"../__chunks/CYQWQL4J.js\";\nimport {\n toArray\n} from \"../__chunks/7PRQYBBV.js\";\nimport {\n createPopoverStore\n} from \"../__chunks/ME2CUF3F.js\";\nimport \"../__chunks/FZZ2AVHF.js\";\nimport \"../__chunks/RCQ5P4YE.js\";\nimport {\n batch,\n createStore,\n mergeStore,\n omit,\n setup,\n sync,\n throwOnConflictingProps\n} from \"../__chunks/BCALMBPZ.js\";\nimport {\n defaultValue\n} from \"../__chunks/PBFD2E7P.js\";\nimport \"../__chunks/DTR5TSDJ.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/3YLGPPWQ.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 labelElement: defaultValue(syncState.labelElement, null),\n selectElement: defaultValue(syncState.selectElement, null),\n listElement: defaultValue(syncState.listElement, 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) return;\n if (!state.items.length) return;\n const item = state.items.find(\n (item2) => !item2.disabled && item2.value != null\n );\n if ((item == null ? void 0 : item.value) == null) return;\n select.setState(\"value\", item.value);\n })\n );\n setup(\n select,\n () => sync(select, [\"mounted\"], (state) => {\n if (state.mounted) return;\n select.setState(\"activeId\", initialState.activeId);\n })\n );\n setup(\n select,\n () => sync(select, [\"mounted\", \"items\", \"value\"], (state) => {\n if (combobox) return;\n if (state.mounted) return;\n const values = toArray(state.value);\n const lastValue = values[values.length - 1];\n if (lastValue == null) return;\n const item = state.items.find(\n (item2) => !item2.disabled && item2.value === lastValue\n );\n if (!item) 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) return;\n if (Array.isArray(value)) return;\n if (!state.moves) return;\n if (!activeId) return;\n const item = composite.item(activeId);\n if (!item || item.disabled || item.value == null) 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 setLabelElement: (element) => select.setState(\"labelElement\", element),\n setSelectElement: (element) => select.setState(\"selectElement\", element),\n setListElement: (element) => select.setState(\"listElement\", element)\n });\n}\nexport {\n createSelectStore\n};\n","\"use client\";\nimport {\n useComboboxProviderContext\n} from \"./VEVQD5MH.js\";\nimport {\n useCompositeStoreOptions,\n useCompositeStoreProps\n} from \"./4CMBR7SL.js\";\nimport {\n usePopoverStoreProps\n} from \"./O2PQ2652.js\";\nimport {\n useStore,\n useStoreProps\n} from \"./YV4JVR4I.js\";\nimport {\n useUpdateEffect\n} from \"./ABQUS43J.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./3YLGPPWQ.js\";\n\n// src/select/select-store.ts\nimport * as Core from \"@ariakit/core/select/select-store\";\nfunction useSelectStoreOptions(props) {\n const combobox = useComboboxProviderContext();\n props = __spreadProps(__spreadValues({}, props), {\n combobox: props.combobox !== void 0 ? props.combobox : combobox\n });\n return useCompositeStoreOptions(props);\n}\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 props = useSelectStoreOptions(props);\n const [store, update] = useStore(Core.createSelectStore, props);\n return useSelectStoreProps(store, update, props);\n}\n\nexport {\n useSelectStoreOptions,\n useSelectStoreProps,\n useSelectStore\n};\n","\"use client\";\nimport {\n flipItems\n} from \"./5VQZOHHZ.js\";\nimport {\n useCompositeContext\n} from \"./P7GR5CS5.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n useEvent\n} from \"./ABQUS43J.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./3YLGPPWQ.js\";\n\n// src/composite/composite-typeahead.tsx\nimport {\n getDocument,\n isTextField,\n sortBasedOnDOMPosition\n} 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\";\nimport { useRef } from \"react\";\nvar TagName = \"div\";\nvar chars = \"\";\nfunction clearChars() {\n chars = \"\";\n}\nfunction isValidTypeaheadEvent(event) {\n const target = event.target;\n if (target && isTextField(target)) return false;\n if (event.key === \" \" && chars.length) 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)) return true;\n const target = event.target;\n if (!target) 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 || // The composite item object itself doesn't include a value property, but\n // other components like Select do. Since CompositeTypeahead is a generic\n // component that can be used with those as well, we also consider the value\n // property as a fallback for the typeahead text content.\n \"value\" in item && item.value;\n if (!itemText) return false;\n return normalizeString(itemText).trim().toLowerCase().startsWith(text.toLowerCase());\n}\nfunction getSameInitialItems(items, char, activeId) {\n if (!activeId) return items;\n const activeItem = items.find((item) => item.id === activeId);\n if (!activeItem) return items;\n if (!itemTextStartsWith(activeItem, char)) return items;\n if (chars !== char && itemTextStartsWith(activeItem, chars)) 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) return;\n if (!typeahead) return;\n if (!store) return;\n if (!isValidTypeaheadEvent(event)) {\n return clearChars();\n }\n const { renderedItems, items, activeId, id } = store.getState();\n let enabledItems = getEnabledItems(\n items.length > renderedItems.length ? items : renderedItems\n );\n const document = getDocument(event.currentTarget);\n const selector = `[data-offscreen-id=\"${id}\"]`;\n const offscreenItems = document.querySelectorAll(selector);\n for (const element of offscreenItems) {\n const disabled = element.ariaDisabled === \"true\" || \"disabled\" in element && !!element.disabled;\n enabledItems.push({ id: element.id, element, disabled });\n }\n if (offscreenItems.length) {\n enabledItems = sortBasedOnDOMPosition(enabledItems, (i) => i.element);\n }\n if (!isSelfTargetOrItem(event, enabledItems)) 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 useCompositeHover\n} from \"./UQQRIHDV.js\";\nimport {\n SelectItemCheckedContext,\n useSelectScopedContext\n} from \"./KPEX55MY.js\";\nimport {\n useCompositeItem\n} from \"./P2CTZE2T.js\";\nimport {\n createElement,\n createHook,\n forwardRef,\n memo\n} from \"./LMDWO4NN.js\";\nimport {\n useStoreStateObject\n} from \"./YV4JVR4I.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useId,\n useWrapElement\n} from \"./ABQUS43J.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./3YLGPPWQ.js\";\n\n// src/select/select-item.tsx\nimport { getPopupItemRole } from \"@ariakit/core/utils/dom\";\nimport { isDownloading, isOpeningInNewTab } from \"@ariakit/core/utils/events\";\nimport { disabledFromProps, invariant } from \"@ariakit/core/utils/misc\";\nimport { useCallback } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nfunction isSelected(storeValue, itemValue) {\n if (itemValue == null) return;\n if (storeValue == null) 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 { listElement, multiSelectable, selected, autoFocus } = useStoreStateObject(store, {\n listElement: \"listElement\",\n multiSelectable(state) {\n return Array.isArray(state.value);\n },\n selected(state) {\n return isSelected(state.value, value);\n },\n autoFocus(state) {\n if (value == null) return false;\n if (state.value == null) return false;\n if (state.activeId !== id && (store == null ? void 0 : store.item(state.activeId))) {\n return false;\n }\n if (Array.isArray(state.value)) {\n return state.value[state.value.length - 1] === value;\n }\n return state.value === value;\n }\n });\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 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) return;\n if (isDownloading(event)) return;\n if (isOpeningInNewTab(event)) return;\n if (setValueOnClickProp(event) && value != null) {\n store == null ? void 0 : store.setValue((prevValue) => {\n if (!Array.isArray(prevValue)) 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 props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(SelectItemCheckedContext.Provider, { value: selected != null ? selected : false, children: element }),\n [selected]\n );\n props = __spreadProps(__spreadValues({\n id,\n role: getPopupItemRole(listElement),\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)) 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);\n\nexport {\n useSelectItem,\n SelectItem\n};\n","\"use client\";\nimport {\n useComboboxStore\n} from \"../__chunks/FEOFMWBY.js\";\nimport {\n ComboboxContextProvider\n} from \"../__chunks/VEVQD5MH.js\";\nimport \"../__chunks/3XAVFTCA.js\";\nimport \"../__chunks/4CMBR7SL.js\";\nimport \"../__chunks/C3IKGW5T.js\";\nimport \"../__chunks/P7GR5CS5.js\";\nimport \"../__chunks/VDHZ5F7K.js\";\nimport \"../__chunks/MTZPJQMC.js\";\nimport \"../__chunks/RS7LB2H4.js\";\nimport \"../__chunks/S6EF7IVO.js\";\nimport \"../__chunks/LMDWO4NN.js\";\nimport \"../__chunks/O2PQ2652.js\";\nimport \"../__chunks/BM6PGYQY.js\";\nimport \"../__chunks/WYCIER3C.js\";\nimport \"../__chunks/YV4JVR4I.js\";\nimport \"../__chunks/ABQUS43J.js\";\nimport \"../__chunks/SK3NAZA3.js\";\nimport \"../__chunks/3YLGPPWQ.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 \"./7HVFURXT.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n useId,\n useSafeLayoutEffect\n} from \"./ABQUS43J.js\";\nimport {\n __spreadValues\n} from \"./3YLGPPWQ.js\";\n\n// src/group/group-label.tsx\nimport { removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nimport { useContext } from \"react\";\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 \"./YUOJWFSO.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n __objRest\n} from \"./3YLGPPWQ.js\";\n\n// src/composite/composite-group-label.tsx\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/SWSPTQMT.js\";\nimport \"../__chunks/YUOJWFSO.js\";\nimport \"../__chunks/7HVFURXT.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/LMDWO4NN.js\";\nimport \"../__chunks/ABQUS43J.js\";\nimport \"../__chunks/SK3NAZA3.js\";\nimport \"../__chunks/3YLGPPWQ.js\";\n\n// src/menu/menu-group-label.tsx\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 \"./7HVFURXT.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n useWrapElement\n} from \"./ABQUS43J.js\";\nimport {\n __spreadValues\n} from \"./3YLGPPWQ.js\";\n\n// src/group/group.tsx\nimport { removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nimport { useState } from \"react\";\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 \"./36LIF33V.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n __objRest\n} from \"./3YLGPPWQ.js\";\n\n// src/composite/composite-group.tsx\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/YORGHBM4.js\";\nimport \"../__chunks/36LIF33V.js\";\nimport \"../__chunks/7HVFURXT.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/LMDWO4NN.js\";\nimport \"../__chunks/ABQUS43J.js\";\nimport \"../__chunks/SK3NAZA3.js\";\nimport \"../__chunks/3YLGPPWQ.js\";\n\n// src/menu/menu-group.tsx\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/MTZPJQMC.js\";\nimport \"../__chunks/RS7LB2H4.js\";\nimport \"../__chunks/S6EF7IVO.js\";\nimport \"../__chunks/LMDWO4NN.js\";\nimport {\n usePopoverStore\n} from \"../__chunks/O2PQ2652.js\";\nimport \"../__chunks/BM6PGYQY.js\";\nimport \"../__chunks/WYCIER3C.js\";\nimport \"../__chunks/YV4JVR4I.js\";\nimport \"../__chunks/ABQUS43J.js\";\nimport \"../__chunks/SK3NAZA3.js\";\nimport \"../__chunks/3YLGPPWQ.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 useSelectProviderContext\n} from \"../__chunks/KPEX55MY.js\";\nimport \"../__chunks/P7GR5CS5.js\";\nimport \"../__chunks/VDHZ5F7K.js\";\nimport \"../__chunks/MTZPJQMC.js\";\nimport \"../__chunks/RS7LB2H4.js\";\nimport \"../__chunks/S6EF7IVO.js\";\nimport {\n createElement,\n createHook,\n forwardRef,\n memo\n} from \"../__chunks/LMDWO4NN.js\";\nimport {\n useEvent,\n useId,\n useMergeRefs\n} from \"../__chunks/ABQUS43J.js\";\nimport \"../__chunks/SK3NAZA3.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/3YLGPPWQ.js\";\n\n// src/select/select-label.tsx\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) return;\n queueMicrotask(() => {\n const select = store == null ? void 0 : store.getState().selectElement;\n select == null ? void 0 : select.focus();\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 \"./T7VMP3TM.js\";\nimport {\n SelectHeadingContext,\n SelectScopedContextProvider,\n useSelectContext\n} from \"./KPEX55MY.js\";\nimport {\n useComposite\n} from \"./ITI7HKP4.js\";\nimport {\n isHidden\n} from \"./VGCJ63VH.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n useAttribute,\n useBooleanEvent,\n useEvent,\n useId,\n useMergeRefs,\n useTransactionState,\n useWrapElement\n} from \"./ABQUS43J.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./3YLGPPWQ.js\";\n\n// src/select/select-list.tsx\nimport { isSelfTarget } from \"@ariakit/core/utils/events\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { createContext, useContext, useEffect, useMemo, useState } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nvar SelectListContext = createContext(null);\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 = useSelectContext();\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 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) 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) 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 const headingContext = useContext(SelectHeadingContext);\n const headingState = useState();\n const [headingId, setHeadingId] = headingContext || headingState;\n const headingContextValue = useMemo(\n () => [headingId, setHeadingId],\n [headingId]\n );\n const [childStore, setChildStore] = useState(null);\n const setStore = useContext(SelectListContext);\n useEffect(() => {\n if (!setStore) return;\n setStore(store);\n return () => setStore(null);\n }, [setStore, store]);\n props = useWrapElement(\n props,\n (element2) => /* @__PURE__ */ jsx(SelectScopedContextProvider, { value: store, children: /* @__PURE__ */ jsx(SelectListContext.Provider, { value: setChildStore, children: /* @__PURE__ */ jsx(SelectHeadingContext.Provider, { value: headingContextValue, children: element2 }) }) }),\n [store, headingContextValue]\n );\n const hasCombobox = !!store.combobox;\n composite = composite != null ? composite : !hasCombobox && childStore !== store;\n const [element, setElement] = useTransactionState(\n composite ? store.setListElement : null\n );\n const role = useAttribute(element, \"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 if (composite) {\n props = __spreadValues({\n role: \"listbox\",\n \"aria-multiselectable\": ariaMultiSelectable\n }, props);\n }\n const labelId = store.useState(\n (state) => {\n var _a2;\n return headingId || ((_a2 = state.labelElement) == null ? void 0 : _a2.id);\n }\n );\n props = __spreadProps(__spreadValues({\n id,\n \"aria-labelledby\": labelId,\n hidden\n }, props), {\n ref: useMergeRefs(setElement, 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/XRBJGF7I.js\";\nimport \"../__chunks/T7VMP3TM.js\";\nimport {\n useSelectProviderContext\n} from \"../__chunks/KPEX55MY.js\";\nimport \"../__chunks/ITI7HKP4.js\";\nimport \"../__chunks/5VQZOHHZ.js\";\nimport \"../__chunks/P7GR5CS5.js\";\nimport \"../__chunks/VDHZ5F7K.js\";\nimport {\n usePopover\n} from \"../__chunks/T6C2RYFI.js\";\nimport {\n createDialogComponent\n} from \"../__chunks/JC64G2H7.js\";\nimport \"../__chunks/63FEHJZV.js\";\nimport \"../__chunks/KZAQFFOU.js\";\nimport \"../__chunks/IGR4SXG2.js\";\nimport \"../__chunks/ESSM74HH.js\";\nimport \"../__chunks/BGQ3KQ5M.js\";\nimport \"../__chunks/YKJECYU7.js\";\nimport \"../__chunks/TOU75OXH.js\";\nimport \"../__chunks/WBDYNH73.js\";\nimport \"../__chunks/2PGBN2Y4.js\";\nimport \"../__chunks/63XF7ACK.js\";\nimport \"../__chunks/HLTQOHKZ.js\";\nimport \"../__chunks/677M2CI3.js\";\nimport \"../__chunks/6GXEOXGT.js\";\nimport \"../__chunks/AOUGVQZ3.js\";\nimport \"../__chunks/K2ZF5NU7.js\";\nimport \"../__chunks/ZWYATQFU.js\";\nimport \"../__chunks/5M6RIVE2.js\";\nimport \"../__chunks/O37CNYMR.js\";\nimport \"../__chunks/W3VI7GFU.js\";\nimport \"../__chunks/AOQQTIBO.js\";\nimport \"../__chunks/CZ4GFWYL.js\";\nimport \"../__chunks/VGCJ63VH.js\";\nimport \"../__chunks/XL7CSKGW.js\";\nimport \"../__chunks/MTZPJQMC.js\";\nimport \"../__chunks/RS7LB2H4.js\";\nimport \"../__chunks/S6EF7IVO.js\";\nimport \"../__chunks/LVA2YJMS.js\";\nimport \"../__chunks/SWN3JYXT.js\";\nimport \"../__chunks/XX67R432.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/LMDWO4NN.js\";\nimport \"../__chunks/BM6PGYQY.js\";\nimport \"../__chunks/WYCIER3C.js\";\nimport \"../__chunks/YV4JVR4I.js\";\nimport \"../__chunks/ABQUS43J.js\";\nimport \"../__chunks/SK3NAZA3.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"../__chunks/3YLGPPWQ.js\";\n\n// src/select/select-popover.tsx\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 useSelectStore\n} from \"../__chunks/S5WQ44SQ.js\";\nimport \"../__chunks/VEVQD5MH.js\";\nimport {\n SelectContextProvider\n} from \"../__chunks/KPEX55MY.js\";\nimport \"../__chunks/4CMBR7SL.js\";\nimport \"../__chunks/C3IKGW5T.js\";\nimport \"../__chunks/P7GR5CS5.js\";\nimport \"../__chunks/VDHZ5F7K.js\";\nimport \"../__chunks/MTZPJQMC.js\";\nimport \"../__chunks/RS7LB2H4.js\";\nimport \"../__chunks/S6EF7IVO.js\";\nimport \"../__chunks/LMDWO4NN.js\";\nimport \"../__chunks/O2PQ2652.js\";\nimport \"../__chunks/BM6PGYQY.js\";\nimport \"../__chunks/WYCIER3C.js\";\nimport \"../__chunks/YV4JVR4I.js\";\nimport \"../__chunks/ABQUS43J.js\";\nimport \"../__chunks/SK3NAZA3.js\";\nimport \"../__chunks/3YLGPPWQ.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 \"./VDHZ5F7K.js\";\nimport {\n createElement,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n useStoreState\n} from \"./YV4JVR4I.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useForceUpdate,\n useId,\n useMergeRefs,\n useWrapElement\n} from \"./ABQUS43J.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./3YLGPPWQ.js\";\n\n// src/collection/collection-renderer.tsx\nimport { getScrollingElement, getWindow } from \"@ariakit/core/utils/dom\";\nimport { invariant, shallowEqual } from \"@ariakit/core/utils/misc\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} from \"react\";\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) 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) return index;\n else if (value < target) left = index + 1;\n else right = index - 1;\n }\n if (left > 0) 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) return null;\n return {};\n }\n const item = items[index];\n if (!item) return null;\n if (typeof item === \"object\") 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\" || 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\") 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) 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) 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) return;\n const scroller2 = getScrollingElement(renderer);\n if (!scroller2) 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) 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) 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) return lastItemData.end + props.paddingEnd;\n if (!Array.isArray(props.items)) return defaultEnd;\n const end = props.items.reduce(\n (sum, item) => sum + getItemSize(item, props.horizontal, false),\n 0\n );\n if (!end) 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) 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) return length - index - 1;\n return index;\n });\n });\n const visibleIndices = useMemo(() => {\n if (!persistentIndices) return defaultVisibleIndices;\n const nextIndices = defaultVisibleIndices.slice();\n for (const index of persistentIndices) {\n if (index < 0) continue;\n if (nextIndices.includes(index)) continue;\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) return /* @__PURE__ */ new Map();\n const data2 = (parentData == null ? void 0 : parentData.get(baseId)) || /* @__PURE__ */ new Map();\n if (itemSize != null) return data2;\n if (!items) 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) return;\n parentData == null ? void 0 : parentData.set(baseId, data);\n }, [baseId, parentData, data]);\n useEffect(() => {\n if (itemSize != null) return;\n if (!baseId) return;\n if (!items) 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) return;\n if (!baseId) return;\n if (!offsets.end) return;\n if (!data.size && !itemSize) 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\") 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)) 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) return;\n if (!scroller) 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) return;\n const renderer = ref.current;\n if (!renderer) return;\n if (!scroller) return;\n const viewport = getViewport(scroller);\n if (!viewport) return;\n const task = createTask();\n const onScroll = (event) => {\n task.run(() => {\n if (!renderOnScrollProp(event)) 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) return;\n const renderer = ref.current;\n if (!renderer) return;\n if (!scroller) return;\n const viewport = getViewport(scroller);\n if (!viewport) return;\n const task = createTask();\n if (viewport === scroller) {\n if (typeof ResizeObserver !== \"function\") 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)) 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)) 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\") return;\n const renderer = ref.current;\n if (!renderer) return;\n if (!scroller) return;\n const viewport = getViewport(scroller);\n if (!viewport) 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\") return;\n return new ResizeObserver(() => {\n flushSync(updateElements);\n });\n }, [updateElements]);\n const itemRef = useCallback(\n (element) => {\n if (!element) return;\n if (itemSize) 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) 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) return;\n const item = getItem(items, index);\n if (!item) 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 \"./WTCO46W5.js\";\nimport {\n useCompositeContext\n} from \"./P7GR5CS5.js\";\nimport {\n createElement,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n useStoreState\n} from \"./YV4JVR4I.js\";\nimport {\n useId\n} from \"./ABQUS43J.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./3YLGPPWQ.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) 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) return index;\n if (!object.disabled) 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) return true;\n const object = getItemObject(item);\n if ((_a = object.items) == null ? void 0 : _a.length) return findById(object.items, id, itemId) !== -1;\n const ids = id.split(\"/\");\n if (ids.length === 1) 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) return props.items;\n if (\"mounted\" in state && !state.mounted) 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) return -1;\n if (typeof items === \"number\") return 0;\n if (!items.length) return -1;\n return findFirst(items);\n }, [items]);\n const lastIndex = useMemo(() => {\n if (!items) return -1;\n if (typeof items === \"number\") return items - 1;\n if (!items.length) return -1;\n return findLast(items);\n }, [items]);\n const activeId = useStoreState(store, \"activeId\");\n const activeIndex = useMemo(() => {\n if (!id) return -1;\n if (!items) return -1;\n if (activeId == null) return -1;\n if (typeof items === \"number\") return -1;\n if (!items.length) 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/ZOBNYESQ.js\";\nimport {\n getCollectionRendererItem,\n getCollectionRendererItemId\n} from \"../__chunks/WTCO46W5.js\";\nimport {\n useSelectContext\n} from \"../__chunks/KPEX55MY.js\";\nimport \"../__chunks/P7GR5CS5.js\";\nimport \"../__chunks/VDHZ5F7K.js\";\nimport \"../__chunks/MTZPJQMC.js\";\nimport \"../__chunks/RS7LB2H4.js\";\nimport \"../__chunks/S6EF7IVO.js\";\nimport {\n createElement,\n forwardRef\n} from \"../__chunks/LMDWO4NN.js\";\nimport {\n useStoreState\n} from \"../__chunks/YV4JVR4I.js\";\nimport \"../__chunks/ABQUS43J.js\";\nimport \"../__chunks/SK3NAZA3.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"../__chunks/3YLGPPWQ.js\";\n\n// src/select/select-renderer.tsx\nimport { toArray } from \"@ariakit/core/utils/array\";\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 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) 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) return itemsProp;\n if (!state.mounted) 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) return [];\n if (value == null) return [];\n if (typeof items === \"number\") return [];\n if (!items.length) 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 \"./MTZPJQMC.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./3YLGPPWQ.js\";\n\n// src/popover/popover-disclosure-arrow.tsx\nimport { invariant, removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nimport { useMemo } from \"react\";\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.5,\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 \"./DR55NYVS.js\";\nimport {\n useSelectContext\n} from \"./KPEX55MY.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./LMDWO4NN.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"./3YLGPPWQ.js\";\n\n// src/select/select-arrow.tsx\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/QYJ6MIDR.js\";\nimport \"../__chunks/AXB53BZF.js\";\nimport \"../__chunks/P4IRICAX.js\";\nimport \"../__chunks/OMU7RWRV.js\";\nimport {\n SelectArrow\n} from \"../__chunks/UD53QJDV.js\";\nimport \"../__chunks/DR55NYVS.js\";\nimport \"../__chunks/X5NMLKT6.js\";\nimport {\n useCompositeTypeahead\n} from \"../__chunks/T7VMP3TM.js\";\nimport {\n SelectScopedContextProvider,\n useSelectProviderContext\n} from \"../__chunks/KPEX55MY.js\";\nimport \"../__chunks/KUU7WJ55.js\";\nimport \"../__chunks/5VQZOHHZ.js\";\nimport \"../__chunks/P7GR5CS5.js\";\nimport \"../__chunks/VDHZ5F7K.js\";\nimport \"../__chunks/MTZPJQMC.js\";\nimport \"../__chunks/RS7LB2H4.js\";\nimport \"../__chunks/S6EF7IVO.js\";\nimport \"../__chunks/LVA2YJMS.js\";\nimport \"../__chunks/SWN3JYXT.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/LMDWO4NN.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useMergeRefs,\n useWrapElement\n} from \"../__chunks/ABQUS43J.js\";\nimport \"../__chunks/SK3NAZA3.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/3YLGPPWQ.js\";\n\n// src/select/select.tsx\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 { useEffect, useMemo, useRef, useState } from \"react\";\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) 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) return;\n nextItem = store.item(nextId2);\n if (nextItem === firstItem) 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 toggleOnPress = true,\n toggleOnClick = toggleOnPress\n } = _b, props = __objRest(_b, [\n \"store\",\n \"name\",\n \"form\",\n \"required\",\n \"showOnKeyDown\",\n \"moveOnKeyDown\",\n \"toggleOnPress\",\n \"toggleOnClick\"\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 const onKeyDownProp = props.onKeyDown;\n const showOnKeyDownProp = useBooleanEvent(showOnKeyDown);\n const moveOnKeyDownProp = useBooleanEvent(moveOnKeyDown);\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) return;\n if (!store) return;\n const { orientation, items: items2, activeId } = store.getState();\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 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) 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) 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) 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) return null;\n if (values.includes(value2)) 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 });\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":["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","options","roundingMethod","differenceInHours","remainingMinutes","differenceInMinutes","remainingSeconds","differenceInSeconds","startOfDay","subDays","subMonths","sub","dateWithoutMonths","dateWithoutDays","mstoSub","ReflectOwnKeys","R","Reflect","ReflectApply","apply","target","receiver","args","Function","prototype","call","ownKeys","Object","getOwnPropertySymbols","getOwnPropertyNames","concat","NumberIsNaN","EventEmitter","init","this","module","exports","once","emitter","name","Promise","resolve","reject","errorListener","err","removeListener","resolver","slice","eventTargetAgnosticAddListener","handler","flags","on","addErrorHandlerIfEventEmitter","_events","undefined","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","_getMaxListeners","that","_addListener","type","prepend","m","events","existing","warning","create","newListener","emit","unshift","push","length","warned","w","Error","String","count","console","warn","onceWrapper","fired","wrapFn","_onceWrap","state","wrapped","bind","_listeners","unwrap","evlistener","arr","ret","Array","i","unwrapListeners","arrayClone","listenerCount","n","copy","addEventListener","wrapListener","arg","removeEventListener","defineProperty","enumerable","get","set","getPrototypeOf","setMaxListeners","getMaxListeners","doError","error","er","message","context","len","listeners","addListener","prependListener","prependOnceListener","list","position","originalListener","shift","index","pop","spliceOne","off","removeAllListeners","key","keys","rawListeners","eventNames","GroupLabelContext","createContext","ctx","useSelectContext","useContext","useSelectScopedContext","useScopedContext","useSelectProviderContext","useProviderContext","SelectContextProvider","ContextProvider","SelectScopedContextProvider","ScopedContextProvider","SelectItemCheckedContext","SelectHeadingContext","symbol","Symbol","useDisclosure","_a","_b","store","toggleOnClick","props","ref","useRef","expanded","setExpanded","useState","disclosureElement","open","useEffect","isCurrentDisclosure","current","isConnected","setDisclosureElement","onClickProp","onClick","toggleOnClickProp","isDuplicate","metadataProps","event","defaultPrevented","currentTarget","toggle","contentElement","id","htmlProps","useDialogDisclosure","usePopoverDisclosure","setAnchorElement","element","jsx","children","PopoverDisclosure","createSelectStore","combobox","syncState","getState","composite","virtualFocus","includesBaseElement","activeId","defaultActiveId","orientation","popover","placement","initialValue","initialState","defaultValue","setValueOnMove","labelElement","selectElement","listElement","select","items","item","find","item2","disabled","setState","mounted","values","lastValue","isArray","moves","setValue","setLabelElement","setSelectElement","setListElement","useSelectStore","useSelectStoreOptions","update","assign","useSelectStoreProps","chars","clearChars","itemTextStartsWith","text","itemText","textContent","trim","toLowerCase","startsWith","useCompositeTypeahead","typeahead","onKeyDownCaptureProp","onKeyDownCapture","cleanupTimeoutRef","ctrlKey","altKey","metaKey","test","isValidTypeaheadEvent","renderedItems","enabledItems","filter","getEnabledItems","selector","offscreenItems","querySelectorAll","ariaDisabled","some","isSelfTargetOrItem","preventDefault","window","clearTimeout","setTimeout","char","activeItem","getSameInitialItems","move","useSelectItem","_a2","getItem","getItemProp","hideOnClick","setValueOnClick","preventScrollOnKeyDown","focusOnHover","multiSelectable","selected","autoFocus","storeValue","itemValue","includes","isSelected","useCallback","nextItem","setValueOnClickProp","hideOnClickProp","prevValue","v","hide","Provider","role","focusOnHoverProp","SelectItem","ComboboxProvider","useGroupLabel","setLabelId","useCompositeGroupLabel","useMenuGroupLabel","MenuGroupLabel","useGroup","labelId","useCompositeGroup","useMenuGroup","MenuGroup","PopoverProvider","useSelectLabel","queueMicrotask","focus","style","cursor","SelectLabel","SelectListContext","useSelectList","resetOnEscape","hideOnEnter","focusOnMove","alwaysVisible","setDefaultValue","onKeyDownProp","onKeyDown","resetOnEscapeProp","hideOnEnterProp","headingContext","headingState","headingId","setHeadingId","headingContextValue","useMemo","childStore","setChildStore","setStore","element2","hasCombobox","setElement","ariaMultiSelectable","hidden","display","useSelectPopover","SelectPopover","SelectProvider","CollectionRendererContext","createTask","raf","run","cb","requestAnimationFrame","cancel","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","scrollTop","getViewport","defaultView","documentElement","ownerDocument","getOffsets","renderer","scrollOffset","rendererOffset","win","htmlElement","document","rendererRect","left","top","scrollerRect","getRendererOffset","clientWidth","clientHeight","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","elementsUpdated","updateElements","defaultVisibleIndices","setVisibleIndices","initialLength","min","from","_","visibleIndices","nextIndices","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","max","indices","prevIndices","processVisibleIndicesEvent","mayRenderOnScroll","renderOnScrollProp","viewport","task","onScroll","passive","mayRenderOnResize","renderOnResizeProp","ResizeObserver","firstRun","observer","observe","disconnect","onResize","IntersectionObserver","root","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","items2","isVertical","isHorizontal","isGrid","rowId","getId","ArrowUp","up","ArrowRight","ArrowDown","down","ArrowLeft","previous","isTopOrBottom","show","autofill","setAutofill","nativeSelectChangedRef","nativeSelectChanged","label","labelledBy","Set","jsxs","Fragment","border","clip","margin","overflow","whiteSpace","tabIndex","multiple","onFocus","onChange","selectedOptions","option","value2","Select"],"sourceRoot":""}