{"version":3,"file":"4364.0e4d7e06.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/differenceInCalendarDays/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/endOfDay/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/compareAsc/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/isLastDayOfMonth/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/endOfMonth/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/differenceInDays/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/constants/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/intervalToDuration/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInHours/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInMinutes/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/differenceInSeconds/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/startOfDay/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/subMonths/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/sub/index.js","webpack://@finviz/website/../node_modules/date-fns/esm/subDays/index.js","webpack://@finviz/website/../node_modules/events/events.js","webpack://@finviz/website/../node_modules/reakit/es/Menu/MenuBar.js","webpack://@finviz/website/../node_modules/reakit/es/Menu/Menu.js","webpack://@finviz/website/../node_modules/reakit/es/Menu/MenuButton.js","webpack://@finviz/website/../node_modules/reakit/es/Menu/MenuItem.js","webpack://@finviz/website/../node_modules/reakit/es/Separator/Separator.js","webpack://@finviz/website/../node_modules/reakit/es/Menu/MenuSeparator.js","webpack://@finviz/website/../node_modules/reakit/es/Menu/MenuState.js","webpack://@finviz/website/../node_modules/reakit/es/Menu/MenuBarState.js","webpack://@finviz/website/../node_modules/reakit/es/Popover/PopoverArrow.js","webpack://@finviz/website/../node_modules/reakit/es/Button/Button.js","webpack://@finviz/website/../node_modules/reakit/es/Disclosure/Disclosure.js","webpack://@finviz/website/../node_modules/reakit/es/Dialog/DialogDisclosure.js","webpack://@finviz/website/../node_modules/reakit/es/Popover/PopoverDisclosure.js","webpack://@finviz/website/../node_modules/reakit/es/__keys-f74df4e0.js","webpack://@finviz/website/../node_modules/reakit/es/findVisibleSubmenu-1553e354.js","webpack://@finviz/website/../node_modules/core-js/internals/array-from.js","webpack://@finviz/website/../node_modules/core-js/internals/array-set-length.js","webpack://@finviz/website/../node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://@finviz/website/../node_modules/core-js/internals/create-property.js","webpack://@finviz/website/../node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://@finviz/website/../node_modules/core-js/internals/iterator-close.js","webpack://@finviz/website/../node_modules/core-js/internals/object-assign.js","webpack://@finviz/website/../node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://@finviz/website/../node_modules/core-js/modules/es.array.push.js","webpack://@finviz/website/../node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://@finviz/website/../node_modules/core-js/modules/es.string.iterator.js","webpack://@finviz/website/../node_modules/core-js/modules/web.url.constructor.js","webpack://@finviz/website/../node_modules/core-js/modules/web.url.js","webpack://@finviz/website/../node_modules/@ariakit/core/esm/__chunks/2H5K47H4.js","webpack://@finviz/website/../node_modules/@ariakit/core/esm/__chunks/7PRQYBBV.js","webpack://@finviz/website/../node_modules/@ariakit/core/esm/__chunks/URUD7X4C.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/3D6OCOHF.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/3IEDWLST.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/3X3MDQGM.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/Y6GYTNQ2.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/7GBW5FLS.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/7YKLTEOQ.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/C6OBNQ4F.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/DMSZFK7W.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/FTNKYK65.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/MADQZZRL.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/NLT7LY5Y.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/TKSBJDO3.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/UNDSQXBK.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/WL6TTPTB.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/Y3BYYHRY.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/combobox/combobox-item.js","webpack://@finviz/website/../node_modules/@ariakit/core/esm/combobox/combobox-store.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/URCSOWGR.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/combobox/combobox-provider.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/combobox/combobox.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/TH2YTBRW.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/ED7XMMMU.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-group-label.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/CWDOOAGR.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/ZO6PSJHJ.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-group.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-item.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-label.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/PDRDZB4I.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-popover.js","webpack://@finviz/website/../node_modules/@ariakit/core/esm/select/select-store.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/SVBVYDIK.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-provider.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/UZMGSJE4.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/UPJMZO6L.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select-renderer.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/AFNONYRE.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/5SF76VVA.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/Z72LDQLY.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/HA4U57LH.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/__chunks/6PC3IJNK.js","webpack://@finviz/website/../node_modules/@ariakit/react-core/esm/select/select.js"],"sourcesContent":["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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\n\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n\n if (isNaN(amount)) {\n return new Date(NaN);\n }\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\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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\n\nexport default function addMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n\n if (isNaN(amount)) {\n return new Date(NaN);\n }\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\n var dayOfMonth = date.getDate(); // 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\n var endOfDesiredMonth = new Date(date.getTime());\n endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0);\n var daysInMonth = endOfDesiredMonth.getDate();\n\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 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 * @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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\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); // 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\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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\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 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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\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\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1; // 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 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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\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)); // Set both dates to a valid leap year for accurate comparison when dealing\n // with leap days\n\n dateLeft.setFullYear(1584);\n dateRight.setFullYear(1584); // 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\n var isLastYearNotFull = compareAsc(dateLeft, dateRight) === -sign;\n var result = sign * (difference - Number(isLastYearNotFull)); // Prevent negative zero\n\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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\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 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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 * var result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\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 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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\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 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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\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; // Check for the difference of less than month\n\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\n dateLeft.setMonth(dateLeft.getMonth() - sign * difference); // 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\n var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign; // Check for cases of one full calendar month\n\n if (isLastDayOfMonth(toDate(dirtyDateLeft)) && difference === 1 && compareAsc(dirtyDateLeft, dateRight) === 1) {\n isLastMonthNotFull = false;\n }\n\n result = sign * (difference - Number(isLastMonthNotFull));\n } // Prevent negative zero\n\n\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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 * var result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\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 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.\n\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\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1; // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\n\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); // 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\n var isLastDayNotFull = Number(compareLocalAsc(dateLeft, dateRight) === -sign);\n var result = sign * (difference - isLastDayNotFull); // Prevent negative zero\n\n return result === 0 ? 0 : result;\n}","/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\n\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInMinute = 60000;\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInHour = 3600000;\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInSecond = 1000;\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\n\nexport var minTime = -maxTime;\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var minutesInHour = 60;\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\n\nexport var monthsInQuarter = 3;\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\n\nexport var monthsInYear = 12;\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\n\nexport var quartersInYear = 4;\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInHour = 3600;\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInMinute = 60;","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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\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 (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 compareAsc from \"../compareAsc/index.js\";\nimport differenceInYears from \"../differenceInYears/index.js\";\nimport differenceInMonths from \"../differenceInMonths/index.js\";\nimport differenceInDays from \"../differenceInDays/index.js\";\nimport differenceInHours from \"../differenceInHours/index.js\";\nimport differenceInMinutes from \"../differenceInMinutes/index.js\";\nimport differenceInSeconds from \"../differenceInSeconds/index.js\";\nimport isValid from \"../isValid/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport sub from \"../sub/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 */\n\nexport default function intervalToDuration(_ref) {\n var start = _ref.start,\n end = _ref.end;\n requiredArgs(1, arguments);\n var dateLeft = toDate(start);\n var dateRight = toDate(end);\n\n if (!isValid(dateLeft)) {\n throw new RangeError('Start Date is invalid');\n }\n\n if (!isValid(dateRight)) {\n throw new RangeError('End Date is invalid');\n }\n\n var duration = {\n years: 0,\n months: 0,\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0\n };\n var sign = compareAsc(dateLeft, dateRight);\n duration.years = Math.abs(differenceInYears(dateLeft, dateRight));\n var remainingMonths = sub(dateLeft, {\n years: sign * duration.years\n });\n duration.months = Math.abs(differenceInMonths(remainingMonths, dateRight));\n var remainingDays = sub(remainingMonths, {\n months: sign * duration.months\n });\n duration.days = Math.abs(differenceInDays(remainingDays, dateRight));\n var remainingHours = sub(remainingDays, {\n days: sign * duration.days\n });\n duration.hours = Math.abs(differenceInHours(remainingHours, dateRight));\n var remainingMinutes = sub(remainingHours, {\n hours: sign * duration.hours\n });\n duration.minutes = Math.abs(differenceInMinutes(remainingMinutes, dateRight));\n var remainingSeconds = sub(remainingMinutes, {\n minutes: sign * duration.minutes\n });\n duration.seconds = Math.abs(differenceInSeconds(remainingSeconds, dateRight));\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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\n\nexport default function subMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, -amount);\n}","import 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 */\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; // Subtract years and months\n\n var dateWithoutMonths = subMonths(date, months + years * 12); // Subtract weeks and days\n\n var dateWithoutDays = subDays(dateWithoutMonths, days + weeks * 7); // Subtract hours, minutes and seconds\n\n var minutestoSub = minutes + hours * 60;\n var secondstoSub = seconds + minutestoSub * 60;\n var mstoSub = secondstoSub * 1000;\n var finalDate = new Date(dateWithoutDays.getTime() - mstoSub);\n return finalDate;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\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 */\n\nexport default function subDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addDays(dirtyDate, -amount);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useState, useEffect, useRef, useCallback } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport { useWarning } from 'reakit-warning';\nimport 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport { useCreateElement } from 'reakit-system/useCreateElement';\nimport 'reakit-utils/getDocument';\nimport 'reakit-utils/fireBlurEvent';\nimport 'reakit-utils/fireKeyboardEvent';\nimport 'reakit-utils/canUseDOM';\nimport 'reakit-utils/getNextActiveElementOnBlur';\nimport '../reverse-30eaa122.js';\nimport '../getCurrentId-5aa9849e.js';\nimport '../findEnabledItemById-8ddca752.js';\nimport '../__keys-6742f591.js';\nimport '../userFocus-e16425e3.js';\nimport { useComposite } from '../Composite/Composite.js';\nimport 'reakit-utils/removeItemFromArray';\nimport { u as useMenuContext } from '../MenuContext-6af6cf92.js';\nimport { closest } from 'reakit-utils/closest';\nimport { b as MENU_BAR_KEYS } from '../__keys-f74df4e0.js';\n\nfunction useShortcuts(menuRef, _ref, timeout) {\n var _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items,\n move = _ref.move;\n\n if (timeout === void 0) {\n timeout = 500;\n }\n\n var _React$useState = useState(\"\"),\n keys = _React$useState[0],\n setKeys = _React$useState[1];\n\n useEffect(function () {\n if (!keys) return undefined;\n var timeoutId = setTimeout(function () {\n return setKeys(\"\");\n }, timeout);\n var stop = items.find(function (s) {\n return Boolean(s.ref.current && s.ref.current.textContent && s.ref.current.textContent.toLowerCase().startsWith(keys));\n });\n\n if (stop) {\n move(stop.id);\n }\n\n return function () {\n return clearTimeout(timeoutId);\n };\n }, [keys, items, move, timeout]);\n useEffect(function () {\n var menu = menuRef.current;\n if (!menu) return undefined;\n\n var onKeyDown = function onKeyDown(event) {\n var _target$getAttribute;\n\n if (event.key.length > 1) return;\n if (event.shiftKey) return;\n if (event.metaKey) return;\n if (event.ctrlKey) return;\n if (event.altKey) return;\n var target = event.target;\n var role = (_target$getAttribute = target.getAttribute) === null || _target$getAttribute === void 0 ? void 0 : _target$getAttribute.call(target, \"role\");\n var targetIsMenu = target === menu;\n var targetIsMenuItem = role && role.indexOf(\"menuitem\") !== -1 && closest(target, \"[role=menu],[role=menubar]\") === menu;\n if (!targetIsMenu && !targetIsMenuItem) return;\n\n if (/^[a-z0-9_-]$/i.test(event.key)) {\n event.stopPropagation();\n event.preventDefault();\n setKeys(function (k) {\n return \"\" + k + event.key;\n });\n }\n }; // https://github.com/facebook/react/issues/11387#issuecomment-524113945\n\n\n menu.addEventListener(\"keydown\", onKeyDown);\n return function () {\n return menu.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [menuRef, setKeys]);\n}\n\nvar useMenuBar = createHook({\n name: \"MenuBar\",\n compose: useComposite,\n keys: MENU_BAR_KEYS,\n useProps: function useProps(options, _ref) {\n var htmlRef = _ref.ref,\n htmlWrapElement = _ref.wrapElement,\n _ref$role = _ref.role,\n role = _ref$role === void 0 ? \"menubar\" : _ref$role,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"ref\", \"wrapElement\", \"role\"]);\n\n var ref = useRef(null);\n var wrap = useMenuContext(ref, role, options);\n useShortcuts(ref, options);\n var wrapElement = useCallback(function (element) {\n element = wrap(element);\n\n if (htmlWrapElement) {\n return htmlWrapElement(element);\n }\n\n return element;\n }, [wrap, htmlWrapElement]);\n return _objectSpread2({\n ref: useForkRef(ref, htmlRef),\n role: role,\n \"aria-orientation\": options.orientation,\n wrapElement: wrapElement\n }, htmlProps);\n }\n});\nvar MenuBar = createComponent({\n as: \"div\",\n useHook: useMenuBar,\n useCreateElement: function useCreateElement$1(type, props, children) {\n process.env.NODE_ENV !== \"production\" ? useWarning(!props[\"aria-label\"] && !props[\"aria-labelledby\"] && props.role !== \"menubar\", \"You should provide either `aria-label` or `aria-labelledby` props.\", \"See https://reakit.io/docs/menu\") : void 0;\n return useCreateElement(type, props, children);\n }\n});\n\nexport { MenuBar, useMenuBar };\n","import { a as _objectSpread2, _ as _objectWithoutPropertiesLoose } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useContext, useMemo, useCallback } from 'react';\nimport 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport { useWarning } from 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport { isPortalEvent } from 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport 'reakit-utils/useUpdateEffect';\nimport { useCreateElement } from 'reakit-system/useCreateElement';\nimport 'reakit-utils/getDocument';\nimport 'reakit-utils/fireBlurEvent';\nimport 'reakit-utils/fireKeyboardEvent';\nimport 'reakit-utils/canUseDOM';\nimport 'reakit-utils/getNextActiveElementOnBlur';\nimport '../reverse-30eaa122.js';\nimport '../getCurrentId-5aa9849e.js';\nimport '../findEnabledItemById-8ddca752.js';\nimport '../__keys-6742f591.js';\nimport '../userFocus-e16425e3.js';\nimport '../Composite/Composite.js';\nimport 'reakit-utils/ensureFocus';\nimport '../__keys-e6a5cfbe.js';\nimport '../Disclosure/DisclosureContent.js';\nimport 'react-dom';\nimport '../Portal/Portal.js';\nimport 'reakit-utils/removeItemFromArray';\nimport { M as MenuContext } from '../MenuContext-6af6cf92.js';\nimport '../Dialog/Dialog.js';\nimport 'body-scroll-lock';\nimport 'reakit-utils/closest';\nimport 'reakit-utils/getActiveElement';\nimport 'reakit-utils/contains';\nimport '../DialogBackdropContext-8775f78b.js';\nimport 'reakit-utils/isEmpty';\nimport '../__keys-ed7b48af.js';\nimport '../__keys-26bb1730.js';\nimport { usePopover } from '../Popover/Popover.js';\nimport { useMenuBar } from './MenuBar.js';\nimport { M as MENU_KEYS } from '../__keys-f74df4e0.js';\n\nfunction usePlacementDir(placement) {\n return useMemo(function () {\n var _placement$split;\n\n return placement === null || placement === void 0 ? void 0 : (_placement$split = placement.split(\"-\")) === null || _placement$split === void 0 ? void 0 : _placement$split[0];\n }, [placement]);\n}\n\nvar useMenu = createHook({\n name: \"Menu\",\n compose: [useMenuBar, usePopover],\n keys: MENU_KEYS,\n useOptions: function useOptions(options) {\n var parent = useContext(MenuContext);\n var parentIsMenuBar = (parent === null || parent === void 0 ? void 0 : parent.role) === \"menubar\";\n return _objectSpread2(_objectSpread2({\n unstable_autoFocusOnHide: !parentIsMenuBar,\n modal: false\n }, options), {}, {\n // will be handled by MenuButton\n unstable_autoFocusOnShow: false,\n // will be handled differently from usePopover/useDialog\n hideOnEsc: false\n });\n },\n useProps: function useProps(options, _ref) {\n var htmlOnKeyDown = _ref.onKeyDown,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"onKeyDown\"]);\n\n var onKeyDownRef = useLiveRef(htmlOnKeyDown);\n var parent = useContext(MenuContext);\n var hasParent = !!parent;\n var ancestorMenuBar = parent;\n\n while (ancestorMenuBar && ancestorMenuBar.role !== \"menubar\") {\n ancestorMenuBar = ancestorMenuBar.parent;\n }\n\n var _ref2 = ancestorMenuBar || {},\n next = _ref2.next,\n previous = _ref2.previous,\n orientation = _ref2.orientation;\n\n var ancestorIsHorizontal = orientation === \"horizontal\";\n var dir = usePlacementDir(options.placement);\n var onKeyDown = useCallback(function (event) {\n var _onKeyDownRef$current;\n\n (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event);\n if (event.defaultPrevented) return;\n\n if (event.key === \"Escape\") {\n var _options$hide;\n\n if (!hasParent) {\n // On Esc, only stop propagation if there's no parent menu.\n // Otherwise, pressing Esc should close all menus\n event.stopPropagation();\n }\n\n (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options);\n } else if (hasParent && !isPortalEvent(event)) {\n // Moves to the next menu button in a horizontal menu bar or close\n // the menu if it's a sub menu\n var ArrowRight = ancestorIsHorizontal && dir !== \"left\" ? next : dir === \"left\" && options.hide;\n var ArrowLeft = ancestorIsHorizontal && dir !== \"right\" ? previous : dir === \"right\" && options.hide;\n var keyMap = {\n ArrowRight: ArrowRight,\n ArrowLeft: ArrowLeft\n };\n var action = keyMap[event.key];\n\n if (action) {\n event.preventDefault();\n\n if (hasParent) {\n event.stopPropagation();\n }\n\n action();\n }\n }\n }, [hasParent, ancestorIsHorizontal, next, previous, dir, options.hide]);\n return _objectSpread2({\n role: \"menu\",\n onKeyDown: onKeyDown\n }, htmlProps);\n }\n});\nvar Menu = createComponent({\n as: \"div\",\n useHook: useMenu,\n useCreateElement: function useCreateElement$1(type, props, children) {\n process.env.NODE_ENV !== \"production\" ? useWarning(!props[\"aria-label\"] && !props[\"aria-labelledby\"], \"You should provide either `aria-label` or `aria-labelledby` props.\", \"See https://reakit.io/docs/menu\") : void 0;\n return useCreateElement(type, props, children);\n }\n});\n\nexport { Menu, useMenu };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useContext, useRef, useCallback } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport { hasFocusWithin } from 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport '../Clickable/Clickable.js';\nimport '../Button/Button.js';\nimport '../__keys-e6a5cfbe.js';\nimport 'reakit-utils/removeItemFromArray';\nimport { M as MenuContext } from '../MenuContext-6af6cf92.js';\nimport '../__keys-ed7b48af.js';\nimport '../__keys-26bb1730.js';\nimport '../Disclosure/Disclosure.js';\nimport '../Dialog/DialogDisclosure.js';\nimport { c as MENU_BUTTON_KEYS } from '../__keys-f74df4e0.js';\nimport { usePopoverDisclosure } from '../Popover/PopoverDisclosure.js';\nimport { f as findVisibleSubmenu } from '../findVisibleSubmenu-1553e354.js';\n\nvar noop = function noop() {};\n\nvar useMenuButton = createHook({\n name: \"MenuButton\",\n compose: usePopoverDisclosure,\n keys: MENU_BUTTON_KEYS,\n propsAreEqual: function propsAreEqual(prev, next) {\n var prevPopoverStyles = prev.unstable_popoverStyles,\n prevArrowStyles = prev.unstable_arrowStyles,\n prevCurrentId = prev.currentId,\n prevMoves = prev.unstable_moves,\n prevProps = _objectWithoutPropertiesLoose(prev, [\"unstable_popoverStyles\", \"unstable_arrowStyles\", \"currentId\", \"unstable_moves\"]);\n\n var nextPopoverStyles = next.unstable_popoverStyles,\n nextArrowStyles = next.unstable_arrowStyles,\n nextCurrentId = next.currentId,\n nextMoves = next.unstable_moves,\n nextProps = _objectWithoutPropertiesLoose(next, [\"unstable_popoverStyles\", \"unstable_arrowStyles\", \"currentId\", \"unstable_moves\"]);\n\n return usePopoverDisclosure.unstable_propsAreEqual(prevProps, nextProps);\n },\n useProps: function useProps(options, _ref) {\n var htmlRef = _ref.ref,\n htmlOnClick = _ref.onClick,\n htmlOnKeyDown = _ref.onKeyDown,\n htmlOnFocus = _ref.onFocus,\n htmlOnMouseEnter = _ref.onMouseEnter,\n htmlOnMouseDown = _ref.onMouseDown,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"ref\", \"onClick\", \"onKeyDown\", \"onFocus\", \"onMouseEnter\", \"onMouseDown\"]);\n\n var parent = useContext(MenuContext);\n var ref = useRef(null);\n var hasPressedMouse = useRef(false);\n\n var _options$placement$sp = options.placement.split(\"-\"),\n dir = _options$placement$sp[0];\n\n var hasParent = !!parent;\n var parentIsMenuBar = (parent === null || parent === void 0 ? void 0 : parent.role) === \"menubar\";\n var disabled = options.disabled || htmlProps[\"aria-disabled\"];\n var onClickRef = useLiveRef(htmlOnClick);\n var onKeyDownRef = useLiveRef(htmlOnKeyDown);\n var onFocusRef = useLiveRef(htmlOnFocus);\n var onMouseEnterRef = useLiveRef(htmlOnMouseEnter);\n var onMouseDownRef = useLiveRef(htmlOnMouseDown);\n var onKeyDown = useCallback(function (event) {\n var _onKeyDownRef$current;\n\n if (event.key === \"Escape\") {\n var _options$hide;\n\n // Doesn't prevent default on Escape, otherwise we can't close\n // dialogs when MenuButton is focused\n (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options);\n } else if (!disabled) {\n // setTimeout prevents scroll jump\n var first = options.first && function () {\n return setTimeout(options.first);\n };\n\n var last = options.last && function () {\n return setTimeout(options.last);\n };\n\n var keyMap = {\n Enter: first,\n \" \": first,\n ArrowUp: (dir === \"top\" || dir === \"bottom\") && last,\n ArrowRight: dir === \"right\" && first,\n ArrowDown: (dir === \"bottom\" || dir === \"top\") && first,\n ArrowLeft: dir === \"left\" && first\n };\n var action = keyMap[event.key];\n\n if (action) {\n var _options$show;\n\n event.preventDefault();\n event.stopPropagation();\n (_options$show = options.show) === null || _options$show === void 0 ? void 0 : _options$show.call(options);\n action();\n return;\n }\n }\n\n (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event);\n }, [disabled, options.hide, options.first, options.last, dir, options.show]);\n var onMouseEnter = useCallback(function (event) {\n var _onMouseEnterRef$curr;\n\n (_onMouseEnterRef$curr = onMouseEnterRef.current) === null || _onMouseEnterRef$curr === void 0 ? void 0 : _onMouseEnterRef$curr.call(onMouseEnterRef, event);\n if (event.defaultPrevented) return; // MenuButton's don't do anything on mouse over when they aren't\n // cointained within a Menu/MenuBar\n\n if (!parent) return;\n var element = event.currentTarget;\n\n if (parentIsMenuBar) {\n // if MenuButton is an item inside a MenuBar, it'll only open\n // if there's already another sibling expanded MenuButton\n if (findVisibleSubmenu(parent.children)) {\n element.focus();\n }\n } else {\n // If it's in a Menu, open after a short delay\n // TODO: Make the delay a prop?\n setTimeout(function () {\n if (hasFocusWithin(element)) {\n var _options$show2;\n\n (_options$show2 = options.show) === null || _options$show2 === void 0 ? void 0 : _options$show2.call(options);\n }\n }, 200);\n }\n }, [parent, parentIsMenuBar, options.show]);\n var onMouseDown = useCallback(function (event) {\n var _onMouseDownRef$curre;\n\n // When in menu bar, the menu button can be activated either by focus\n // or click, but we don't want both to trigger sequentially.\n // Otherwise, onClick would toggle (hide) the menu right after it got\n // shown on focus.\n // This is also useful so we know if the menu button has been clicked\n // using mouse or keyboard. On mouse click, we don't automatically\n // focus the first menu item.\n hasPressedMouse.current = true;\n (_onMouseDownRef$curre = onMouseDownRef.current) === null || _onMouseDownRef$curre === void 0 ? void 0 : _onMouseDownRef$curre.call(onMouseDownRef, event);\n }, []);\n var onFocus = useCallback(function (event) {\n var _onFocusRef$current;\n\n (_onFocusRef$current = onFocusRef.current) === null || _onFocusRef$current === void 0 ? void 0 : _onFocusRef$current.call(onFocusRef, event);\n if (event.defaultPrevented) return;\n if (disabled) return;\n\n if (parentIsMenuBar && !hasPressedMouse.current) {\n var _options$show3;\n\n (_options$show3 = options.show) === null || _options$show3 === void 0 ? void 0 : _options$show3.call(options);\n }\n }, [parentIsMenuBar, disabled, options.show]); // If disclosure is rendered as a menu bar item, it's toggable\n // That is, you can click on the expanded disclosure to close its menu.\n\n var onClick = useCallback(function (event) {\n var _onClickRef$current;\n\n (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event);\n if (event.defaultPrevented) return; // If menu button is a menu item inside a menu (not menu bar), you\n // can't close it by clicking on it again.\n\n if (hasParent && !parentIsMenuBar) {\n var _options$show4;\n\n (_options$show4 = options.show) === null || _options$show4 === void 0 ? void 0 : _options$show4.call(options);\n } else {\n var _options$toggle;\n\n // Otherwise, if menu button is a menu bar item or an orphan menu\n // button, it's toggable.\n (_options$toggle = options.toggle) === null || _options$toggle === void 0 ? void 0 : _options$toggle.call(options); // Focus the menu popover when it's opened with mouse click.\n\n if (hasPressedMouse.current && !parentIsMenuBar && !options.visible) {\n var _options$move;\n\n (_options$move = options.move) === null || _options$move === void 0 ? void 0 : _options$move.call(options, null);\n }\n }\n\n hasPressedMouse.current = false;\n }, [hasParent, parentIsMenuBar, options.show, options.toggle, options.visible, options.move]);\n return _objectSpread2({\n ref: useForkRef(ref, htmlRef),\n \"aria-haspopup\": \"menu\",\n onKeyDown: onKeyDown,\n onMouseEnter: onMouseEnter,\n onMouseDown: onMouseDown,\n onFocus: onFocus,\n onClick: onClick\n }, htmlProps);\n },\n useComposeOptions: function useComposeOptions(options) {\n return _objectSpread2(_objectSpread2({}, options), {}, {\n // Toggling is handled by MenuButton\n toggle: noop\n });\n }\n});\nvar MenuButton = createComponent({\n as: \"button\",\n memo: true,\n useHook: useMenuButton\n});\n\nexport { MenuButton, useMenuButton };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useCallback, useContext } from 'react';\nimport 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport { hasFocusWithin } from 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport '../Clickable/Clickable.js';\nimport 'reakit-utils/getDocument';\nimport '../getCurrentId-5aa9849e.js';\nimport '../__keys-6742f591.js';\nimport '../userFocus-e16425e3.js';\nimport 'reakit-utils/isTextField';\nimport 'reakit-utils/ensureFocus';\nimport '../Id/IdProvider.js';\nimport '../Id/Id.js';\nimport 'reakit-utils/fireEvent';\nimport '../setTextFieldValue-0a221f4e.js';\nimport { useCompositeItem } from '../Composite/CompositeItem.js';\nimport 'reakit-utils/removeItemFromArray';\nimport { M as MenuContext } from '../MenuContext-6af6cf92.js';\nimport { contains } from 'reakit-utils/contains';\nimport { e as MENU_ITEM_KEYS } from '../__keys-f74df4e0.js';\nimport { f as findVisibleSubmenu } from '../findVisibleSubmenu-1553e354.js';\n\nfunction getTriangleArea(a, b, c) {\n return Math.abs((a.x * (b.y - c.y) + b.x * (c.y - a.y) + c.x * (a.y - b.y)) / 2);\n}\n\nfunction isPointInTriangle(point, a, b, c) {\n var A = getTriangleArea(a, b, c);\n var A1 = getTriangleArea(point, b, c);\n var A2 = getTriangleArea(a, point, c);\n var A3 = getTriangleArea(a, b, point);\n return A === A1 + A2 + A3;\n}\n\nfunction getSubmenuAnchorPoints(event, visibleSubmenu) {\n var _visibleSubmenu$getBo = visibleSubmenu.getBoundingClientRect(),\n top = _visibleSubmenu$getBo.top,\n right = _visibleSubmenu$getBo.right,\n bottom = _visibleSubmenu$getBo.bottom,\n left = _visibleSubmenu$getBo.left; // If left is bigger than mouse's clientX, than the submenu is visible on\n // the left side\n\n\n var x = left > event.clientX ? left : right;\n return [{\n x: x,\n y: top\n }, {\n x: x,\n y: bottom\n }];\n}\n\nfunction useTransitToSubmenu(menu, htmlOnMouseEnter) {\n var onMouseEnterRef = useLiveRef(htmlOnMouseEnter);\n var enterPointRef = useRef(null);\n var submenuTopPointRef = useRef(null);\n var submenuBottomPointRef = useRef(null);\n var previousClientX = useRef(0);\n var previousClientY = useRef(0);\n var assignSubmenuAnchorPoints = useCallback(function (event) {\n if (!(menu !== null && menu !== void 0 && menu.children.length)) return;\n submenuTopPointRef.current = null;\n submenuBottomPointRef.current = null;\n var visibleSubmenu = findVisibleSubmenu(menu.children);\n if (!visibleSubmenu) return;\n\n var _getSubmenuAnchorPoin = getSubmenuAnchorPoints(event, visibleSubmenu);\n\n submenuTopPointRef.current = _getSubmenuAnchorPoin[0];\n submenuBottomPointRef.current = _getSubmenuAnchorPoin[1];\n }, [menu === null || menu === void 0 ? void 0 : menu.children]);\n var isMouseInTransitToSubmenu = useCallback(function (event) {\n var isMoving = previousClientX.current !== event.clientX || previousClientY.current !== event.clientY;\n\n if (event.isTrusted && !isMoving) {\n // Safari sometimes triggers mousemove without a mouse movement\n return true;\n }\n\n var movementX = Math.abs(previousClientX.current - event.clientX);\n previousClientX.current = event.clientX;\n previousClientY.current = event.clientY;\n\n var hasAnchorPoints = function hasAnchorPoints() {\n return submenuTopPointRef.current && submenuBottomPointRef.current;\n };\n\n if (event.type === \"mouseleave\" && !hasAnchorPoints()) {\n assignSubmenuAnchorPoints(event);\n }\n\n if (!hasAnchorPoints()) return false;\n return movementX && enterPointRef.current && isPointInTriangle({\n x: event.clientX,\n y: event.clientY\n }, enterPointRef.current, submenuTopPointRef.current, submenuBottomPointRef.current);\n }, [assignSubmenuAnchorPoints]);\n var onMouseEnter = useCallback(function (event) {\n var _onMouseEnterRef$curr;\n\n (_onMouseEnterRef$curr = onMouseEnterRef.current) === null || _onMouseEnterRef$curr === void 0 ? void 0 : _onMouseEnterRef$curr.call(onMouseEnterRef, event);\n if (event.defaultPrevented) return;\n if ((menu === null || menu === void 0 ? void 0 : menu.role) === \"menubar\") return;\n enterPointRef.current = {\n x: event.clientX,\n y: event.clientY\n };\n assignSubmenuAnchorPoints(event);\n }, [menu === null || menu === void 0 ? void 0 : menu.role, assignSubmenuAnchorPoints]);\n return {\n onMouseEnter: onMouseEnter,\n isMouseInTransitToSubmenu: isMouseInTransitToSubmenu\n };\n}\n\nfunction getMouseDestination(event) {\n var relatedTarget = event.relatedTarget;\n\n if ((relatedTarget === null || relatedTarget === void 0 ? void 0 : relatedTarget.nodeType) === Node.ELEMENT_NODE) {\n return event.relatedTarget;\n } // IE 11\n\n\n return event.toElement || null;\n}\n\nfunction hoveringInside(event) {\n var nextElement = getMouseDestination(event);\n if (!nextElement) return false;\n return contains(event.currentTarget, nextElement);\n}\n\nfunction hoveringExpandedMenu(event, children) {\n if (!(children !== null && children !== void 0 && children.length)) return false;\n var nextElement = getMouseDestination(event);\n if (!nextElement) return false;\n var visibleSubmenu = findVisibleSubmenu(children);\n return visibleSubmenu && contains(visibleSubmenu, nextElement);\n}\n\nfunction hoveringAnotherMenuItem(event, items) {\n var nextElement = getMouseDestination(event);\n if (!nextElement) return false;\n return items === null || items === void 0 ? void 0 : items.some(function (item) {\n return item.ref.current && contains(item.ref.current, nextElement);\n });\n}\n\nvar useMenuItem = createHook({\n name: \"MenuItem\",\n compose: useCompositeItem,\n keys: MENU_ITEM_KEYS,\n propsAreEqual: function propsAreEqual(prev, next) {\n var prevPopoverStyles = prev.unstable_popoverStyles,\n prevArrowStyles = prev.unstable_arrowStyles,\n prevVisible = prev.visible,\n prevProps = _objectWithoutPropertiesLoose(prev, [\"unstable_popoverStyles\", \"unstable_arrowStyles\", \"visible\"]);\n\n var nextPopoverStyles = next.unstable_popoverStyles,\n nextArrowStyles = next.unstable_arrowStyles,\n nextVisible = next.visible,\n nextProps = _objectWithoutPropertiesLoose(next, [\"unstable_popoverStyles\", \"unstable_arrowStyles\", \"visible\"]);\n\n return useCompositeItem.unstable_propsAreEqual(prevProps, nextProps);\n },\n useProps: function useProps(options, _ref) {\n var htmlOnMouseEnter = _ref.onMouseEnter,\n htmlOnMouseMove = _ref.onMouseMove,\n htmlOnMouseLeave = _ref.onMouseLeave,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"onMouseEnter\", \"onMouseMove\", \"onMouseLeave\"]);\n\n var menu = useContext(MenuContext);\n var onMouseMoveRef = useLiveRef(htmlOnMouseMove);\n var onMouseLeaveRef = useLiveRef(htmlOnMouseLeave);\n\n var _useTransitToSubmenu = useTransitToSubmenu(menu, htmlOnMouseEnter),\n onMouseEnter = _useTransitToSubmenu.onMouseEnter,\n isMouseInTransitToSubmenu = _useTransitToSubmenu.isMouseInTransitToSubmenu;\n\n var onMouseMove = useCallback(function (event) {\n var _onMouseMoveRef$curre, _options$move;\n\n (_onMouseMoveRef$curre = onMouseMoveRef.current) === null || _onMouseMoveRef$curre === void 0 ? void 0 : _onMouseMoveRef$curre.call(onMouseMoveRef, event);\n if (event.defaultPrevented) return;\n if ((menu === null || menu === void 0 ? void 0 : menu.role) === \"menubar\") return;\n if (isMouseInTransitToSubmenu(event)) return;\n if (hasFocusWithin(event.currentTarget)) return;\n (_options$move = options.move) === null || _options$move === void 0 ? void 0 : _options$move.call(options, event.currentTarget.id);\n }, [options.move]);\n var onMouseLeave = useCallback(function (event) {\n var _onMouseLeaveRef$curr;\n\n (_onMouseLeaveRef$curr = onMouseLeaveRef.current) === null || _onMouseLeaveRef$curr === void 0 ? void 0 : _onMouseLeaveRef$curr.call(onMouseLeaveRef, event);\n if (event.defaultPrevented) return;\n if ((menu === null || menu === void 0 ? void 0 : menu.role) === \"menubar\") return;\n if (hoveringInside(event)) return; // If this item is a menu disclosure and mouse is leaving it to focus\n // its respective submenu, we don't want to do anything.\n\n if (hoveringExpandedMenu(event, menu === null || menu === void 0 ? void 0 : menu.children)) return; // Move focus to menu after blurring\n\n if (!hoveringAnotherMenuItem(event, options.items)) {\n var _options$move2;\n\n if (isMouseInTransitToSubmenu(event)) return;\n (_options$move2 = options.move) === null || _options$move2 === void 0 ? void 0 : _options$move2.call(options, null);\n }\n }, [menu === null || menu === void 0 ? void 0 : menu.role, menu === null || menu === void 0 ? void 0 : menu.children, options.items, options.move]);\n return _objectSpread2({\n role: \"menuitem\",\n onMouseEnter: onMouseEnter,\n onMouseMove: onMouseMove,\n onMouseLeave: onMouseLeave\n }, htmlProps);\n }\n});\nvar MenuItem = createComponent({\n as: \"button\",\n memo: true,\n useHook: useMenuItem\n});\n\nexport { MenuItem, useMenuItem };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRole } from '../Role/Role.js';\n\n// Automatically generated\nvar SEPARATOR_KEYS = [\"orientation\"];\n\nvar useSeparator = createHook({\n name: \"Separator\",\n compose: useRole,\n keys: SEPARATOR_KEYS,\n useOptions: function useOptions(_ref) {\n var _ref$orientation = _ref.orientation,\n orientation = _ref$orientation === void 0 ? \"horizontal\" : _ref$orientation,\n options = _objectWithoutPropertiesLoose(_ref, [\"orientation\"]);\n\n return _objectSpread2({\n orientation: orientation\n }, options);\n },\n useProps: function useProps(options, htmlProps) {\n return _objectSpread2({\n role: \"separator\",\n \"aria-orientation\": options.orientation\n }, htmlProps);\n }\n});\nvar Separator = createComponent({\n as: \"hr\",\n memo: true,\n useHook: useSeparator\n});\n\nexport { Separator, useSeparator };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport '../Role/Role.js';\nimport { h as MENU_SEPARATOR_KEYS } from '../__keys-f74df4e0.js';\nimport { useSeparator } from '../Separator/Separator.js';\n\nvar useMenuSeparator = createHook({\n name: \"MenuSeparator\",\n compose: useSeparator,\n keys: MENU_SEPARATOR_KEYS,\n useOptions: function useOptions(_ref) {\n var _ref$orientation = _ref.orientation,\n orientation = _ref$orientation === void 0 ? \"vertical\" : _ref$orientation,\n options = _objectWithoutPropertiesLoose(_ref, [\"orientation\"]);\n\n return _objectSpread2({\n orientation: orientation === \"vertical\" ? \"horizontal\" : \"vertical\"\n }, options);\n }\n});\nvar MenuSeparator = createComponent({\n as: \"hr\",\n memo: true,\n useHook: useMenuSeparator\n});\n\nexport { MenuSeparator, useMenuSeparator };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport 'reakit-utils/shallowEqual';\nimport { useContext, useEffect } from 'react';\nimport 'reakit-warning';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/dom';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport 'reakit-utils/getDocument';\nimport '../reverse-30eaa122.js';\nimport '../getCurrentId-5aa9849e.js';\nimport '../findEnabledItemById-8ddca752.js';\nimport '../Id/IdProvider.js';\nimport 'reakit-utils/applyState';\nimport '../Id/IdState.js';\nimport '../Composite/CompositeState.js';\nimport '@popperjs/core';\nimport '../Disclosure/DisclosureState.js';\nimport '../Dialog/DialogState.js';\nimport { usePopoverState } from '../Popover/PopoverState.js';\nimport 'reakit-utils/removeItemFromArray';\nimport { M as MenuContext } from '../MenuContext-6af6cf92.js';\nimport { useMenuBarState } from './MenuBarState.js';\n\nfunction useMenuState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var parent = useContext(MenuContext);\n\n var _useSealedState = useSealedState(initialState),\n _useSealedState$orien = _useSealedState.orientation,\n orientation = _useSealedState$orien === void 0 ? \"vertical\" : _useSealedState$orien,\n _useSealedState$gutte = _useSealedState.gutter,\n gutter = _useSealedState$gutte === void 0 ? 0 : _useSealedState$gutte,\n sealed = _objectWithoutPropertiesLoose(_useSealedState, [\"orientation\", \"gutter\"]);\n\n var placement = sealed.placement || (parent && parent.orientation === \"vertical\" ? \"right-start\" : \"bottom-start\");\n var menuBar = useMenuBarState(_objectSpread2(_objectSpread2({}, sealed), {}, {\n orientation: orientation\n }));\n var popover = usePopoverState(_objectSpread2(_objectSpread2({}, sealed), {}, {\n placement: placement,\n gutter: gutter\n }));\n useEffect(function () {\n if (!popover.visible) {\n menuBar.reset();\n }\n }, [popover.visible, menuBar.reset]);\n return _objectSpread2(_objectSpread2({}, menuBar), popover);\n}\n\nexport { useMenuState };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { useState, useCallback } from 'react';\nimport 'reakit-utils/useIsomorphicEffect';\nimport { useSealedState } from 'reakit-utils/useSealedState';\nimport 'reakit-utils/getDocument';\nimport '../reverse-30eaa122.js';\nimport '../getCurrentId-5aa9849e.js';\nimport '../findEnabledItemById-8ddca752.js';\nimport '../Id/IdProvider.js';\nimport 'reakit-utils/applyState';\nimport '../Id/IdState.js';\nimport { useCompositeState } from '../Composite/CompositeState.js';\n\nfunction useMenuBarState(initialState) {\n if (initialState === void 0) {\n initialState = {};\n }\n\n var _useSealedState = useSealedState(initialState),\n _useSealedState$orien = _useSealedState.orientation,\n orientation = _useSealedState$orien === void 0 ? \"horizontal\" : _useSealedState$orien,\n _useSealedState$unsta = _useSealedState.unstable_values,\n initialValues = _useSealedState$unsta === void 0 ? {} : _useSealedState$unsta,\n sealed = _objectWithoutPropertiesLoose(_useSealedState, [\"orientation\", \"unstable_values\"]);\n\n var _React$useState = useState(initialValues),\n values = _React$useState[0],\n setValues = _React$useState[1];\n\n var composite = useCompositeState(_objectSpread2(_objectSpread2({}, sealed), {}, {\n orientation: orientation\n }));\n return _objectSpread2(_objectSpread2({}, composite), {}, {\n unstable_values: values,\n unstable_setValue: useCallback(function (name, value) {\n setValues(function (vals) {\n var _objectSpread2$1;\n\n return _objectSpread2(_objectSpread2({}, vals), {}, (_objectSpread2$1 = {}, _objectSpread2$1[name] = typeof value === \"function\" ? value(vals) : value, _objectSpread2$1));\n });\n }, [])\n });\n}\n\nexport { useMenuBarState };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useMemo, createElement } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport { useRole } from '../Role/Role.js';\nimport { a as POPOVER_ARROW_KEYS } from '../__keys-26bb1730.js';\n\nvar usePopoverArrow = createHook({\n name: \"PopoverArrow\",\n compose: useRole,\n keys: POPOVER_ARROW_KEYS,\n useOptions: function useOptions(_ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? 30 : _ref$size,\n options = _objectWithoutPropertiesLoose(_ref, [\"size\"]);\n\n return _objectSpread2({\n size: size\n }, options);\n },\n useProps: function useProps(options, _ref2) {\n var _objectSpread2$1;\n\n var htmlRef = _ref2.ref,\n htmlStyle = _ref2.style,\n htmlProps = _objectWithoutPropertiesLoose(_ref2, [\"ref\", \"style\"]);\n\n var _options$placement$sp = options.placement.split(\"-\"),\n placement = _options$placement$sp[0];\n\n var transformMap = {\n top: \"rotateZ(180deg)\",\n right: \"rotateZ(-90deg)\",\n bottom: \"rotateZ(360deg)\",\n left: \"rotateZ(90deg)\"\n };\n var arrowStyles = options.unstable_arrowStyles;\n var transform = transformMap[placement];\n var children = useMemo(function () {\n return /*#__PURE__*/createElement(\"svg\", {\n viewBox: \"0 0 30 30\",\n style: {\n transform: transform\n }\n }, /*#__PURE__*/createElement(\"path\", {\n className: \"stroke\",\n d: \"M23.7,27.1L17,19.9C16.5,19.3,15.8,19,15,19s-1.6,0.3-2.1,0.9l-6.6,7.2C5.3,28.1,3.4,29,2,29h26 C26.7,29,24.6,28.1,23.7,27.1z\"\n }), /*#__PURE__*/createElement(\"path\", {\n className: \"fill\",\n d: \"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"\n }));\n }, [transform]);\n return _objectSpread2({\n ref: useForkRef(options.unstable_arrowRef, htmlRef),\n style: _objectSpread2(_objectSpread2({}, arrowStyles), {}, (_objectSpread2$1 = {\n fontSize: options.size,\n width: \"1em\",\n height: \"1em\",\n pointerEvents: \"none\"\n }, _objectSpread2$1[placement] = \"100%\", _objectSpread2$1), htmlStyle),\n children: children\n }, htmlProps);\n }\n});\nvar PopoverArrow = createComponent({\n as: \"div\",\n memo: true,\n useHook: usePopoverArrow\n});\n\nexport { PopoverArrow, usePopoverArrow };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useState, useEffect } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport { isButton } from 'reakit-utils/isButton';\nimport { warning } from 'reakit-warning';\nimport 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport { useClickable } from '../Clickable/Clickable.js';\n\n// Automatically generated\nvar BUTTON_KEYS = [];\n\nvar useButton = createHook({\n name: \"Button\",\n compose: useClickable,\n keys: BUTTON_KEYS,\n useProps: function useProps(_, _ref) {\n var htmlRef = _ref.ref,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"ref\"]);\n\n var ref = useRef(null);\n\n var _React$useState = useState(undefined),\n role = _React$useState[0],\n setRole = _React$useState[1];\n\n var _React$useState2 = useState(\"button\"),\n type = _React$useState2[0],\n setType = _React$useState2[1];\n\n useEffect(function () {\n var element = ref.current;\n\n if (!element) {\n process.env.NODE_ENV !== \"production\" ? warning(true, \"Can't determine whether the element is a native button because `ref` wasn't passed to the component\", \"See https://reakit.io/docs/button\") : void 0;\n return;\n }\n\n if (!isButton(element)) {\n if (element.tagName !== \"A\") {\n setRole(\"button\");\n }\n\n setType(undefined);\n }\n }, []);\n return _objectSpread2({\n ref: useForkRef(ref, htmlRef),\n role: role,\n type: type\n }, htmlProps);\n }\n});\nvar Button = createComponent({\n as: \"button\",\n memo: true,\n useHook: useButton\n});\n\nexport { Button, useButton };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useCallback } from 'react';\nimport 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport '../Clickable/Clickable.js';\nimport { useButton } from '../Button/Button.js';\nimport { D as DISCLOSURE_KEYS } from '../__keys-e6a5cfbe.js';\n\nvar useDisclosure = createHook({\n name: \"Disclosure\",\n compose: useButton,\n keys: DISCLOSURE_KEYS,\n useProps: function useProps(options, _ref) {\n var htmlOnClick = _ref.onClick,\n ariaControls = _ref[\"aria-controls\"],\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"onClick\", \"aria-controls\"]);\n\n var onClickRef = useLiveRef(htmlOnClick);\n var controls = ariaControls ? ariaControls + \" \" + options.baseId : options.baseId;\n var onClick = useCallback(function (event) {\n var _onClickRef$current, _options$toggle;\n\n (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event);\n if (event.defaultPrevented) return;\n (_options$toggle = options.toggle) === null || _options$toggle === void 0 ? void 0 : _options$toggle.call(options);\n }, [options.toggle]);\n return _objectSpread2({\n \"aria-expanded\": !!options.visible,\n \"aria-controls\": controls,\n onClick: onClick\n }, htmlProps);\n }\n});\nvar Disclosure = createComponent({\n as: \"button\",\n memo: true,\n useHook: useDisclosure\n});\n\nexport { Disclosure, useDisclosure };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport { useRef, useState, useCallback } from 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport { warning } from 'reakit-warning';\nimport { useLiveRef } from 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport { useIsomorphicEffect } from 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport '../Clickable/Clickable.js';\nimport '../Button/Button.js';\nimport '../__keys-e6a5cfbe.js';\nimport { b as DIALOG_DISCLOSURE_KEYS } from '../__keys-ed7b48af.js';\nimport { useDisclosure } from '../Disclosure/Disclosure.js';\n\nvar useDialogDisclosure = createHook({\n name: \"DialogDisclosure\",\n compose: useDisclosure,\n keys: DIALOG_DISCLOSURE_KEYS,\n useProps: function useProps(options, _ref) {\n var htmlRef = _ref.ref,\n htmlOnClick = _ref.onClick,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"ref\", \"onClick\"]);\n\n var ref = useRef(null);\n var onClickRef = useLiveRef(htmlOnClick);\n\n var _React$useState = useState(false),\n expanded = _React$useState[0],\n setExpanded = _React$useState[1];\n\n var disclosureRef = options.unstable_disclosureRef; // aria-expanded may be used for styling purposes, so we useLayoutEffect\n\n useIsomorphicEffect(function () {\n var element = ref.current;\n process.env.NODE_ENV !== \"production\" ? warning(!element, \"Can't determine whether the element is the current disclosure because `ref` wasn't passed to the component\", \"See https://reakit.io/docs/dialog\") : void 0;\n\n if (disclosureRef && !disclosureRef.current) {\n disclosureRef.current = element;\n }\n\n var isCurrentDisclosure = !(disclosureRef !== null && disclosureRef !== void 0 && disclosureRef.current) || disclosureRef.current === element;\n setExpanded(!!options.visible && isCurrentDisclosure);\n }, [options.visible, disclosureRef]);\n var onClick = useCallback(function (event) {\n var _onClickRef$current;\n\n (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event);\n if (event.defaultPrevented) return;\n\n if (disclosureRef) {\n disclosureRef.current = event.currentTarget;\n }\n }, [disclosureRef]);\n return _objectSpread2({\n ref: useForkRef(ref, htmlRef),\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": expanded,\n onClick: onClick\n }, htmlProps);\n }\n});\nvar DialogDisclosure = createComponent({\n as: \"button\",\n memo: true,\n useHook: useDialogDisclosure\n});\n\nexport { DialogDisclosure, useDialogDisclosure };\n","import { _ as _objectWithoutPropertiesLoose, a as _objectSpread2 } from '../_rollupPluginBabelHelpers-1f0bf8c2.js';\nimport { createComponent } from 'reakit-system/createComponent';\nimport { createHook } from 'reakit-system/createHook';\nimport 'reakit-utils/shallowEqual';\nimport 'react';\nimport { useForkRef } from 'reakit-utils/useForkRef';\nimport 'reakit-utils/isButton';\nimport 'reakit-warning';\nimport 'reakit-utils/useLiveRef';\nimport 'reakit-utils/isSelfTarget';\nimport 'reakit-utils/useIsomorphicEffect';\nimport 'reakit-utils/hasFocusWithin';\nimport 'reakit-utils/isPortalEvent';\nimport 'reakit-utils/dom';\nimport 'reakit-utils/tabbable';\nimport '../Role/Role.js';\nimport '../Tabbable/Tabbable.js';\nimport '../Clickable/Clickable.js';\nimport '../Button/Button.js';\nimport '../__keys-e6a5cfbe.js';\nimport '../__keys-ed7b48af.js';\nimport { c as POPOVER_DISCLOSURE_KEYS } from '../__keys-26bb1730.js';\nimport '../Disclosure/Disclosure.js';\nimport { useDialogDisclosure } from '../Dialog/DialogDisclosure.js';\n\nvar usePopoverDisclosure = createHook({\n name: \"PopoverDisclosure\",\n compose: useDialogDisclosure,\n keys: POPOVER_DISCLOSURE_KEYS,\n useProps: function useProps(options, _ref) {\n var htmlRef = _ref.ref,\n htmlProps = _objectWithoutPropertiesLoose(_ref, [\"ref\"]);\n\n return _objectSpread2({\n ref: useForkRef(options.unstable_referenceRef, htmlRef)\n }, htmlProps);\n }\n});\nvar PopoverDisclosure = createComponent({\n as: \"button\",\n memo: true,\n useHook: usePopoverDisclosure\n});\n\nexport { PopoverDisclosure, usePopoverDisclosure };\n","// Automatically generated\nvar MENU_BAR_STATE_KEYS = [\"baseId\", \"unstable_idCountRef\", \"unstable_virtual\", \"rtl\", \"orientation\", \"items\", \"groups\", \"currentId\", \"loop\", \"wrap\", \"shift\", \"unstable_moves\", \"unstable_hasActiveWidget\", \"unstable_includesBaseElement\", \"unstable_values\", \"setBaseId\", \"registerItem\", \"unregisterItem\", \"registerGroup\", \"unregisterGroup\", \"move\", \"next\", \"previous\", \"up\", \"down\", \"first\", \"last\", \"sort\", \"unstable_setVirtual\", \"setRTL\", \"setOrientation\", \"setCurrentId\", \"setLoop\", \"setWrap\", \"setShift\", \"reset\", \"unstable_setIncludesBaseElement\", \"unstable_setHasActiveWidget\", \"unstable_setValue\"];\nvar MENU_STATE_KEYS = [].concat(MENU_BAR_STATE_KEYS, [\"visible\", \"animated\", \"animating\", \"show\", \"hide\", \"toggle\", \"setVisible\", \"setAnimated\", \"stopAnimation\", \"modal\", \"unstable_disclosureRef\", \"setModal\", \"unstable_referenceRef\", \"unstable_popoverRef\", \"unstable_arrowRef\", \"unstable_popoverStyles\", \"unstable_arrowStyles\", \"unstable_originalPlacement\", \"unstable_update\", \"placement\", \"place\"]);\nvar MENU_KEYS = MENU_STATE_KEYS;\nvar MENU_ARROW_KEYS = MENU_KEYS;\nvar MENU_BAR_KEYS = MENU_ARROW_KEYS;\nvar MENU_BUTTON_KEYS = MENU_BAR_KEYS;\nvar MENU_DISCLOSURE_KEYS = MENU_BUTTON_KEYS;\nvar MENU_GROUP_KEYS = MENU_DISCLOSURE_KEYS;\nvar MENU_ITEM_KEYS = MENU_GROUP_KEYS;\nvar MENU_ITEM_CHECKBOX_KEYS = [].concat(MENU_ITEM_KEYS, [\"name\"]);\nvar MENU_ITEM_RADIO_KEYS = MENU_ITEM_CHECKBOX_KEYS;\nvar MENU_SEPARATOR_KEYS = MENU_ITEM_KEYS;\n\nexport { MENU_KEYS as M, MENU_ARROW_KEYS as a, MENU_BAR_KEYS as b, MENU_BUTTON_KEYS as c, MENU_GROUP_KEYS as d, MENU_ITEM_KEYS as e, MENU_ITEM_CHECKBOX_KEYS as f, MENU_ITEM_RADIO_KEYS as g, MENU_SEPARATOR_KEYS as h };\n","function findVisibleSubmenu(submenus) {\n var visibleSubmenu = submenus === null || submenus === void 0 ? void 0 : submenus.find(function (submenu) {\n return submenu.current && !submenu.current.hidden;\n });\n return visibleSubmenu === null || visibleSubmenu === void 0 ? void 0 : visibleSubmenu.current;\n}\n\nexport { findVisibleSubmenu as f };\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar $RangeError = RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) === 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n if (currentValue === n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+/;\nvar TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\\u0000-\\u0020])[\\u0000-\\u0020]+$/;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] === '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part === '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) === '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix === 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index === partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() === ':') {\n if (charAt(input, 1) !== ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex === 8) return;\n if (chr() === ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() === '.') {\n if (length === 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() === '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece === 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++;\n }\n if (numbersSeen !== 4) return;\n break;\n } else if (chr() === ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex !== 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex !== 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n } return join(result, '.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length === 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length === 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw new TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw new TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_C0_CONTROL_OR_SPACE, '');\n input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) {\n buffer += toLowerCase(chr);\n } else if (chr === ':') {\n if (stateOverride && (\n (url.isSpecial() !== hasOwn(specialSchemes, buffer)) ||\n (buffer === 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme === 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme === 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme === url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] === '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr === '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme === 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr === '/' && codePoints[pointer + 1] === '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr === '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr === EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr === '/' || (chr === '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr === '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr === '/' || chr === '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr === '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr !== '/' && chr !== '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr === '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint === ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer === '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme === 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr === ':' && !seenBracket) {\n if (buffer === '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride === HOSTNAME) return;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer === '') return INVALID_HOST;\n if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr === '[') seenBracket = true;\n else if (chr === ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer !== '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr === '/' || chr === '\\\\') state = FILE_SLASH;\n else if (base && base.scheme === 'file') {\n switch (chr) {\n case EOF:\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n break;\n case '?':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n break;\n case '#':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n break;\n default:\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr === '/' || chr === '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr === EOF || chr === '/' || chr === '\\\\' || chr === '?' || chr === '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer === '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host === 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr !== '/' && chr !== '\\\\') continue;\n } else if (!stateOverride && chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n state = PATH;\n if (chr !== '/') continue;\n } break;\n\n case PATH:\n if (\n chr === EOF || chr === '/' ||\n (chr === '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr === '?' || chr === '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n if (chr === \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr === '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) === '[') {\n if (charAt(input, input.length - 1) !== ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme === 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username !== '' || this.password !== '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme === 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw new TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme === 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme === 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port === '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search === '') {\n this.query = null;\n } else {\n if (charAt(search, 0) === '?') search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash === '') {\n this.fragment = null;\n return;\n }\n if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","\"use client\";\nimport {\n createCollectionStore\n} from \"./URUD7X4C.js\";\nimport {\n createStore,\n setup,\n sync\n} from \"./R676XYVY.js\";\nimport {\n defaultValue\n} from \"./22HHDS5F.js\";\nimport {\n flatten2DArray,\n reverseArray\n} from \"./7PRQYBBV.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-store.ts\nvar NULL_ITEM = { id: null };\nfunction findFirstEnabledItem(items, excludeId) {\n return items.find((item) => {\n if (excludeId) {\n return !item.disabled && item.id !== excludeId;\n }\n return !item.disabled;\n });\n}\nfunction getEnabledItems(items, excludeId) {\n return items.filter((item) => {\n if (excludeId) {\n return !item.disabled && item.id !== excludeId;\n }\n return !item.disabled;\n });\n}\nfunction getOppositeOrientation(orientation) {\n if (orientation === \"vertical\")\n return \"horizontal\";\n if (orientation === \"horizontal\")\n return \"vertical\";\n return;\n}\nfunction getItemsInRow(items, rowId) {\n return items.filter((item) => item.rowId === rowId);\n}\nfunction flipItems(items, activeId, shouldInsertNullItem = false) {\n const index = items.findIndex((item) => item.id === activeId);\n return [\n ...items.slice(index + 1),\n ...shouldInsertNullItem ? [NULL_ITEM] : [],\n ...items.slice(0, index)\n ];\n}\nfunction groupItemsByRows(items) {\n const rows = [];\n for (const item of items) {\n const row = rows.find((currentRow) => {\n var _a;\n return ((_a = currentRow[0]) == null ? void 0 : _a.rowId) === item.rowId;\n });\n if (row) {\n row.push(item);\n } else {\n rows.push([item]);\n }\n }\n return rows;\n}\nfunction getMaxRowLength(array) {\n let maxLength = 0;\n for (const { length } of array) {\n if (length > maxLength) {\n maxLength = length;\n }\n }\n return maxLength;\n}\nfunction createEmptyItem(rowId) {\n return {\n id: \"__EMPTY_ITEM__\",\n disabled: true,\n rowId\n };\n}\nfunction normalizeRows(rows, activeId, focusShift) {\n const maxLength = getMaxRowLength(rows);\n for (const row of rows) {\n for (let i = 0; i < maxLength; i += 1) {\n const item = row[i];\n if (!item || focusShift && item.disabled) {\n const isFirst = i === 0;\n const previousItem = isFirst && focusShift ? findFirstEnabledItem(row) : row[i - 1];\n row[i] = previousItem && activeId !== previousItem.id && focusShift ? previousItem : createEmptyItem(previousItem == null ? void 0 : previousItem.rowId);\n }\n }\n }\n return rows;\n}\nfunction verticalizeItems(items) {\n const rows = groupItemsByRows(items);\n const maxLength = getMaxRowLength(rows);\n const verticalized = [];\n for (let i = 0; i < maxLength; i += 1) {\n for (const row of rows) {\n const item = row[i];\n if (item) {\n verticalized.push(__spreadProps(__spreadValues({}, item), {\n // If there's no rowId, it means that it's not a grid composite, but\n // a single row instead. So, instead of verticalizing it, that is,\n // assigning a different rowId based on the column index, we keep it\n // undefined so they will be part of the same row. This is useful\n // when using up/down on one-dimensional composites.\n rowId: item.rowId ? `${i}` : void 0\n }));\n }\n }\n }\n return verticalized;\n}\nfunction createCompositeStore(props = {}) {\n var _a;\n const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n const collection = createCollectionStore(props);\n const activeId = defaultValue(\n props.activeId,\n syncState == null ? void 0 : syncState.activeId,\n props.defaultActiveId\n );\n const initialState = __spreadProps(__spreadValues({}, collection.getState()), {\n activeId,\n baseElement: defaultValue(syncState == null ? void 0 : syncState.baseElement, null),\n includesBaseElement: defaultValue(\n props.includesBaseElement,\n syncState == null ? void 0 : syncState.includesBaseElement,\n activeId === null\n ),\n moves: defaultValue(syncState == null ? void 0 : syncState.moves, 0),\n orientation: defaultValue(\n props.orientation,\n syncState == null ? void 0 : syncState.orientation,\n \"both\"\n ),\n rtl: defaultValue(props.rtl, syncState == null ? void 0 : syncState.rtl, false),\n virtualFocus: defaultValue(\n props.virtualFocus,\n syncState == null ? void 0 : syncState.virtualFocus,\n false\n ),\n focusLoop: defaultValue(props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, false),\n focusWrap: defaultValue(props.focusWrap, syncState == null ? void 0 : syncState.focusWrap, false),\n focusShift: defaultValue(props.focusShift, syncState == null ? void 0 : syncState.focusShift, false)\n });\n const composite = createStore(initialState, collection, props.store);\n setup(\n composite,\n () => sync(composite, [\"renderedItems\", \"activeId\"], (state) => {\n composite.setState(\"activeId\", (activeId2) => {\n var _a2;\n if (activeId2 !== void 0)\n return activeId2;\n return (_a2 = findFirstEnabledItem(state.renderedItems)) == null ? void 0 : _a2.id;\n });\n })\n );\n const getNextId = (items, orientation, hasNullItem, skip) => {\n var _a2, _b;\n const { activeId: activeId2, rtl, focusLoop, focusWrap, includesBaseElement } = composite.getState();\n const isHorizontal = orientation !== \"vertical\";\n const isRTL = rtl && isHorizontal;\n const allItems = isRTL ? reverseArray(items) : items;\n if (activeId2 == null) {\n return (_a2 = findFirstEnabledItem(allItems)) == null ? void 0 : _a2.id;\n }\n const activeItem = allItems.find((item) => item.id === activeId2);\n if (!activeItem) {\n return (_b = findFirstEnabledItem(allItems)) == null ? void 0 : _b.id;\n }\n const isGrid = !!activeItem.rowId;\n const activeIndex = allItems.indexOf(activeItem);\n const nextItems = allItems.slice(activeIndex + 1);\n const nextItemsInRow = getItemsInRow(nextItems, activeItem.rowId);\n if (skip !== void 0) {\n const nextEnabledItemsInRow = getEnabledItems(nextItemsInRow, activeId2);\n const nextItem2 = nextEnabledItemsInRow.slice(skip)[0] || // If we can't find an item, just return the last one.\n nextEnabledItemsInRow[nextEnabledItemsInRow.length - 1];\n return nextItem2 == null ? void 0 : nextItem2.id;\n }\n const oppositeOrientation = getOppositeOrientation(\n // If it's a grid and orientation is not set, it's a next/previous call,\n // which is inherently horizontal. up/down will call next with orientation\n // set to vertical by default (see below on up/down methods).\n isGrid ? orientation || \"horizontal\" : orientation\n );\n const canLoop = focusLoop && focusLoop !== oppositeOrientation;\n const canWrap = isGrid && focusWrap && focusWrap !== oppositeOrientation;\n hasNullItem = hasNullItem || !isGrid && canLoop && includesBaseElement;\n if (canLoop) {\n const loopItems = canWrap && !hasNullItem ? allItems : getItemsInRow(allItems, activeItem.rowId);\n const sortedItems = flipItems(loopItems, activeId2, hasNullItem);\n const nextItem2 = findFirstEnabledItem(sortedItems, activeId2);\n return nextItem2 == null ? void 0 : nextItem2.id;\n }\n if (canWrap) {\n const nextItem2 = findFirstEnabledItem(\n // We can use nextItems, which contains all the next items, including\n // items from other rows, to wrap between rows. However, if there is a\n // null item (the composite container), we'll only use the next items in\n // the row. So moving next from the last item will focus on the\n // composite container. On grid composites, horizontal navigation never\n // focuses on the composite container, only vertical.\n hasNullItem ? nextItemsInRow : nextItems,\n activeId2\n );\n const nextId = hasNullItem ? (nextItem2 == null ? void 0 : nextItem2.id) || null : nextItem2 == null ? void 0 : nextItem2.id;\n return nextId;\n }\n const nextItem = findFirstEnabledItem(nextItemsInRow, activeId2);\n if (!nextItem && hasNullItem) {\n return null;\n }\n return nextItem == null ? void 0 : nextItem.id;\n };\n return __spreadProps(__spreadValues(__spreadValues({}, collection), composite), {\n setBaseElement: (element) => composite.setState(\"baseElement\", element),\n setActiveId: (id) => composite.setState(\"activeId\", id),\n move: (id) => {\n if (id === void 0)\n return;\n composite.setState(\"activeId\", id);\n composite.setState(\"moves\", (moves) => moves + 1);\n },\n first: () => {\n var _a2;\n return (_a2 = findFirstEnabledItem(composite.getState().renderedItems)) == null ? void 0 : _a2.id;\n },\n last: () => {\n var _a2;\n return (_a2 = findFirstEnabledItem(reverseArray(composite.getState().renderedItems))) == null ? void 0 : _a2.id;\n },\n next: (skip) => {\n const { renderedItems, orientation } = composite.getState();\n return getNextId(renderedItems, orientation, false, skip);\n },\n previous: (skip) => {\n var _a2;\n const { renderedItems, orientation, includesBaseElement } = composite.getState();\n const isGrid = !!((_a2 = findFirstEnabledItem(renderedItems)) == null ? void 0 : _a2.rowId);\n const hasNullItem = !isGrid && includesBaseElement;\n return getNextId(\n reverseArray(renderedItems),\n orientation,\n hasNullItem,\n skip\n );\n },\n down: (skip) => {\n const {\n activeId: activeId2,\n renderedItems,\n focusShift,\n focusLoop,\n includesBaseElement\n } = composite.getState();\n const shouldShift = focusShift && !skip;\n const verticalItems = verticalizeItems(\n flatten2DArray(\n normalizeRows(groupItemsByRows(renderedItems), activeId2, shouldShift)\n )\n );\n const canLoop = focusLoop && focusLoop !== \"horizontal\";\n const hasNullItem = canLoop && includesBaseElement;\n return getNextId(verticalItems, \"vertical\", hasNullItem, skip);\n },\n up: (skip) => {\n const { activeId: activeId2, renderedItems, focusShift, includesBaseElement } = composite.getState();\n const shouldShift = focusShift && !skip;\n const verticalItems = verticalizeItems(\n reverseArray(\n flatten2DArray(\n normalizeRows(\n groupItemsByRows(renderedItems),\n activeId2,\n shouldShift\n )\n )\n )\n );\n const hasNullItem = includesBaseElement;\n return getNextId(verticalItems, \"vertical\", hasNullItem, skip);\n }\n });\n}\n\nexport {\n createCompositeStore\n};\n","\"use client\";\n\n// src/utils/array.ts\nfunction toArray(arg) {\n if (Array.isArray(arg)) {\n return arg;\n }\n return typeof arg !== \"undefined\" ? [arg] : [];\n}\nfunction addItemToArray(array, item, index = -1) {\n if (!(index in array)) {\n return [...array, item];\n }\n return [...array.slice(0, index), item, ...array.slice(index)];\n}\nfunction flatten2DArray(array) {\n const flattened = [];\n for (const row of array) {\n flattened.push(...row);\n }\n return flattened;\n}\nfunction reverseArray(array) {\n return array.slice().reverse();\n}\n\nexport {\n toArray,\n addItemToArray,\n flatten2DArray,\n reverseArray\n};\n","\"use client\";\nimport {\n batch,\n createStore,\n init,\n setup,\n throwOnConflictingProps\n} from \"./R676XYVY.js\";\nimport {\n chain,\n defaultValue\n} from \"./22HHDS5F.js\";\nimport {\n getDocument\n} from \"./RRSZHCH6.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-store.ts\nfunction isElementPreceding(a, b) {\n return Boolean(\n b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING\n );\n}\nfunction sortBasedOnDOMPosition(items) {\n const pairs = items.map((item, index) => [index, item]);\n let isOrderDifferent = false;\n pairs.sort(([indexA, a], [indexB, b]) => {\n const elementA = a.element;\n const elementB = b.element;\n if (elementA === elementB)\n return 0;\n if (!elementA || !elementB)\n return 0;\n if (isElementPreceding(elementA, elementB)) {\n if (indexA > indexB) {\n isOrderDifferent = true;\n }\n return -1;\n }\n if (indexA < indexB) {\n isOrderDifferent = true;\n }\n return 1;\n });\n if (isOrderDifferent) {\n return pairs.map(([_, item]) => item);\n }\n return items;\n}\nfunction getCommonParent(items) {\n var _a;\n const firstItem = items.find((item) => !!item.element);\n const lastItem = [...items].reverse().find((item) => !!item.element);\n let parentElement = (_a = firstItem == null ? void 0 : firstItem.element) == null ? void 0 : _a.parentElement;\n while (parentElement && (lastItem == null ? void 0 : lastItem.element)) {\n const parent = parentElement;\n if (lastItem && parent.contains(lastItem.element)) {\n return parentElement;\n }\n parentElement = parentElement.parentElement;\n }\n return getDocument(parentElement).body;\n}\nfunction getPrivateStore(store) {\n return store == null ? void 0 : store.__unstablePrivateStore;\n}\nfunction createCollectionStore(props = {}) {\n var _a;\n throwOnConflictingProps(props, props.store);\n const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n const items = defaultValue(\n props.items,\n syncState == null ? void 0 : syncState.items,\n props.defaultItems,\n []\n );\n const itemsMap = new Map(items.map((item) => [item.id, item]));\n const initialState = {\n items,\n renderedItems: defaultValue(syncState == null ? void 0 : syncState.renderedItems, [])\n };\n const syncPrivateStore = getPrivateStore(props.store);\n const privateStore = createStore(\n { items, renderedItems: initialState.renderedItems },\n syncPrivateStore\n );\n const collection = createStore(initialState, props.store);\n const sortItems = (renderedItems) => {\n const sortedItems = sortBasedOnDOMPosition(renderedItems);\n privateStore.setState(\"renderedItems\", sortedItems);\n collection.setState(\"renderedItems\", sortedItems);\n };\n setup(collection, () => init(privateStore));\n setup(privateStore, () => {\n return batch(privateStore, [\"items\"], (state) => {\n collection.setState(\"items\", state.items);\n });\n });\n setup(privateStore, () => {\n return batch(privateStore, [\"renderedItems\"], (state) => {\n let firstRun = true;\n let raf = requestAnimationFrame(() => {\n const { renderedItems } = collection.getState();\n if (state.renderedItems === renderedItems)\n return;\n sortItems(state.renderedItems);\n });\n if (typeof IntersectionObserver !== \"function\") {\n return () => cancelAnimationFrame(raf);\n }\n const ioCallback = () => {\n if (firstRun) {\n firstRun = false;\n return;\n }\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => sortItems(state.renderedItems));\n };\n const root = getCommonParent(state.renderedItems);\n const observer = new IntersectionObserver(ioCallback, { root });\n for (const item of state.renderedItems) {\n if (!item.element)\n continue;\n observer.observe(item.element);\n }\n return () => {\n cancelAnimationFrame(raf);\n observer.disconnect();\n };\n });\n });\n const mergeItem = (item, setItems, canDeleteFromMap = false) => {\n let prevItem;\n setItems((items2) => {\n const index = items2.findIndex(({ id }) => id === item.id);\n const nextItems = items2.slice();\n if (index !== -1) {\n prevItem = items2[index];\n const nextItem = __spreadValues(__spreadValues({}, prevItem), item);\n nextItems[index] = nextItem;\n itemsMap.set(item.id, nextItem);\n } else {\n nextItems.push(item);\n itemsMap.set(item.id, item);\n }\n return nextItems;\n });\n const unmergeItem = () => {\n setItems((items2) => {\n if (!prevItem) {\n if (canDeleteFromMap) {\n itemsMap.delete(item.id);\n }\n return items2.filter(({ id }) => id !== item.id);\n }\n const index = items2.findIndex(({ id }) => id === item.id);\n if (index === -1)\n return items2;\n const nextItems = items2.slice();\n nextItems[index] = prevItem;\n itemsMap.set(item.id, prevItem);\n return nextItems;\n });\n };\n return unmergeItem;\n };\n const registerItem = (item) => mergeItem(\n item,\n (getItems) => privateStore.setState(\"items\", getItems),\n true\n );\n return __spreadProps(__spreadValues({}, collection), {\n registerItem,\n renderItem: (item) => chain(\n registerItem(item),\n mergeItem(\n item,\n (getItems) => privateStore.setState(\"renderedItems\", getItems)\n )\n ),\n item: (id) => {\n if (!id)\n return null;\n let item = itemsMap.get(id);\n if (!item) {\n const { items: items2 } = collection.getState();\n item = items2.find((item2) => item2.id === id);\n if (item) {\n itemsMap.set(id, item);\n }\n }\n return item || null;\n },\n // @ts-expect-error Internal\n __unstablePrivateStore: privateStore\n });\n}\n\nexport {\n createCollectionStore\n};\n","\"use client\";\nimport {\n CollectionContextProvider,\n CollectionScopedContextProvider\n} from \"./MADQZZRL.js\";\nimport {\n createStoreContext\n} from \"./5M6RSQEC.js\";\n\n// src/composite/composite-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n [CollectionContextProvider],\n [CollectionScopedContextProvider]\n);\nvar useCompositeContext = ctx.useContext;\nvar useCompositeScopedContext = ctx.useScopedContext;\nvar useCompositeProviderContext = ctx.useProviderContext;\nvar CompositeContextProvider = ctx.ContextProvider;\nvar CompositeScopedContextProvider = ctx.ScopedContextProvider;\nvar CompositeItemContext = createContext(\n void 0\n);\nvar CompositeRowContext = createContext(\n void 0\n);\n\nexport {\n useCompositeContext,\n useCompositeScopedContext,\n useCompositeProviderContext,\n CompositeContextProvider,\n CompositeScopedContextProvider,\n CompositeItemContext,\n CompositeRowContext\n};\n","\"use client\";\n\n// src/composite/utils.ts\nimport { getDocument, isTextField } from \"@ariakit/core/utils/dom\";\nvar NULL_ITEM = { id: null };\nfunction flipItems(items, activeId, shouldInsertNullItem = false) {\n const index = items.findIndex((item) => item.id === activeId);\n return [\n ...items.slice(index + 1),\n ...shouldInsertNullItem ? [NULL_ITEM] : [],\n ...items.slice(0, index)\n ];\n}\nfunction findFirstEnabledItem(items, excludeId) {\n return items.find((item) => {\n if (excludeId) {\n return !item.disabled && item.id !== excludeId;\n }\n return !item.disabled;\n });\n}\nfunction getEnabledItem(store, id) {\n if (!id)\n return null;\n return store.item(id) || null;\n}\nfunction groupItemsByRows(items) {\n const rows = [];\n for (const item of items) {\n const row = rows.find((currentRow) => {\n var _a;\n return ((_a = currentRow[0]) == null ? void 0 : _a.rowId) === item.rowId;\n });\n if (row) {\n row.push(item);\n } else {\n rows.push([item]);\n }\n }\n return rows;\n}\nfunction selectTextField(element, collapseToEnd = false) {\n if (isTextField(element)) {\n element.setSelectionRange(\n collapseToEnd ? element.value.length : 0,\n element.value.length\n );\n } else if (element.isContentEditable) {\n const selection = getDocument(element).getSelection();\n selection == null ? void 0 : selection.selectAllChildren(element);\n if (collapseToEnd) {\n selection == null ? void 0 : selection.collapseToEnd();\n }\n }\n}\nvar FOCUS_SILENTLY = Symbol(\"FOCUS_SILENTLY\");\nfunction focusSilently(element) {\n element[FOCUS_SILENTLY] = true;\n element.focus({ preventScroll: true });\n}\nfunction silentlyFocused(element) {\n const isSilentlyFocused = element[FOCUS_SILENTLY];\n delete element[FOCUS_SILENTLY];\n return isSilentlyFocused;\n}\nfunction isItem(store, element, exclude) {\n if (!element)\n return false;\n if (element === exclude)\n return false;\n const item = store.item(element.id);\n if (!item)\n return false;\n if (exclude && item.element === exclude)\n return false;\n return true;\n}\n\nexport {\n flipItems,\n findFirstEnabledItem,\n getEnabledItem,\n groupItemsByRows,\n selectTextField,\n focusSilently,\n silentlyFocused,\n isItem\n};\n","\"use client\";\n\n// src/group/group-label-context.ts\nimport { createContext } from \"react\";\nvar GroupLabelContext = createContext(void 0);\n\nexport {\n GroupLabelContext\n};\n","\"use client\";\nimport {\n useStore,\n useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/collection/collection-store.ts\nimport * as Core from \"@ariakit/core/collection/collection-store\";\nfunction useCollectionStoreProps(store, update, props) {\n useUpdateEffect(update, [props.store]);\n useStoreProps(store, props, \"items\", \"setItems\");\n return store;\n}\nfunction useCollectionStore(props = {}) {\n const [store, update] = useStore(Core.createCollectionStore, props);\n return useCollectionStoreProps(store, update, props);\n}\n\nexport {\n useCollectionStoreProps,\n useCollectionStore\n};\n","\"use client\";\nimport {\n useCollectionStoreProps\n} from \"./Y6GYTNQ2.js\";\nimport {\n useStore,\n useStoreProps\n} from \"./EKQEJRUF.js\";\n\n// src/composite/composite-store.ts\nimport * as Core from \"@ariakit/core/composite/composite-store\";\nfunction useCompositeStoreProps(store, update, props) {\n store = useCollectionStoreProps(store, update, props);\n useStoreProps(store, props, \"activeId\", \"setActiveId\");\n useStoreProps(store, props, \"includesBaseElement\");\n useStoreProps(store, props, \"virtualFocus\");\n useStoreProps(store, props, \"orientation\");\n useStoreProps(store, props, \"rtl\");\n useStoreProps(store, props, \"focusLoop\");\n useStoreProps(store, props, \"focusWrap\");\n useStoreProps(store, props, \"focusShift\");\n return store;\n}\nfunction useCompositeStore(props = {}) {\n const [store, update] = useStore(Core.createCompositeStore, props);\n return useCompositeStoreProps(store, update, props);\n}\n\nexport {\n useCompositeStoreProps,\n useCompositeStore\n};\n","\"use client\";\nimport {\n useCollectionContext\n} from \"./MADQZZRL.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useId,\n useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-item.ts\nimport { useEffect, useRef } from \"react\";\nimport { identity, removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nvar TagName = \"div\";\nvar useCollectionItem = createHook(\n function useCollectionItem2(_a) {\n var _b = _a, {\n store,\n shouldRegisterItem = true,\n getItem = identity,\n element: element\n } = _b, props = __objRest(_b, [\n \"store\",\n \"shouldRegisterItem\",\n \"getItem\",\n // @ts-expect-error This prop may come from a collection renderer.\n \"element\"\n ]);\n const context = useCollectionContext();\n store = store || context;\n const id = useId(props.id);\n const ref = useRef(element);\n useEffect(() => {\n const element2 = ref.current;\n if (!id)\n return;\n if (!element2)\n return;\n if (!shouldRegisterItem)\n return;\n const item = getItem({ id, element: element2 });\n return store == null ? void 0 : store.renderItem(item);\n }, [id, shouldRegisterItem, getItem, store]);\n props = __spreadProps(__spreadValues({}, props), {\n ref: useMergeRefs(ref, props.ref)\n });\n return removeUndefinedValues(props);\n }\n);\nvar CollectionItem = forwardRef(function CollectionItem2(props) {\n const htmlProps = useCollectionItem(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCollectionItem,\n CollectionItem\n};\n","\"use client\";\nimport {\n useCommand\n} from \"./KSZPJCUA.js\";\nimport {\n useCollectionItem\n} from \"./7YKLTEOQ.js\";\nimport {\n focusSilently,\n getEnabledItem,\n isItem\n} from \"./3IEDWLST.js\";\nimport {\n CompositeItemContext,\n CompositeRowContext,\n useCompositeContext\n} from \"./3D6OCOHF.js\";\nimport {\n createElement,\n createHook,\n forwardRef,\n memo\n} from \"./5M6RSQEC.js\";\nimport {\n useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useId,\n useMergeRefs,\n useSafeLayoutEffect,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-item.tsx\nimport { useCallback, useContext, useMemo, useRef, useState } from \"react\";\nimport {\n getScrollingElement,\n isButton,\n isTextField\n} from \"@ariakit/core/utils/dom\";\nimport { isPortalEvent, isSelfTarget } from \"@ariakit/core/utils/events\";\nimport {\n disabledFromProps,\n removeUndefinedValues\n} from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"button\";\nfunction isEditableElement(element) {\n if (element.isContentEditable)\n return true;\n if (isTextField(element))\n return true;\n return element.tagName === \"INPUT\" && !isButton(element);\n}\nfunction getNextPageOffset(scrollingElement, pageUp = false) {\n const height = scrollingElement.clientHeight;\n const { top } = scrollingElement.getBoundingClientRect();\n const pageSize = Math.max(height * 0.875, height - 40) * 1.5;\n const pageOffset = pageUp ? height - pageSize + top : pageSize + top;\n if (scrollingElement.tagName === \"HTML\") {\n return pageOffset + scrollingElement.scrollTop;\n }\n return pageOffset;\n}\nfunction getItemOffset(itemElement, pageUp = false) {\n const { top } = itemElement.getBoundingClientRect();\n if (pageUp) {\n return top + itemElement.clientHeight;\n }\n return top;\n}\nfunction findNextPageItemId(element, store, next, pageUp = false) {\n var _a;\n if (!store)\n return;\n if (!next)\n return;\n const { renderedItems } = store.getState();\n const scrollingElement = getScrollingElement(element);\n if (!scrollingElement)\n return;\n const nextPageOffset = getNextPageOffset(scrollingElement, pageUp);\n let id;\n let prevDifference;\n for (let i = 0; i < renderedItems.length; i += 1) {\n const previousId = id;\n id = next(i);\n if (!id)\n break;\n if (id === previousId)\n continue;\n const itemElement = (_a = getEnabledItem(store, id)) == null ? void 0 : _a.element;\n if (!itemElement)\n continue;\n const itemOffset = getItemOffset(itemElement, pageUp);\n const difference = itemOffset - nextPageOffset;\n const absDifference = Math.abs(difference);\n if (pageUp && difference <= 0 || !pageUp && difference >= 0) {\n if (prevDifference !== void 0 && prevDifference < absDifference) {\n id = previousId;\n }\n break;\n }\n prevDifference = absDifference;\n }\n return id;\n}\nfunction targetIsAnotherItem(event, store) {\n if (isSelfTarget(event))\n return false;\n return isItem(store, event.target);\n}\nfunction useRole(ref, props) {\n const roleProp = props.role;\n const [role, setRole] = useState(roleProp);\n useSafeLayoutEffect(() => {\n const element = ref.current;\n if (!element)\n return;\n setRole(element.getAttribute(\"role\") || roleProp);\n }, [roleProp]);\n return role;\n}\nfunction requiresAriaSelected(role) {\n return role === \"option\" || role === \"treeitem\";\n}\nfunction supportsAriaSelected(role) {\n if (role === \"option\")\n return true;\n if (role === \"tab\")\n return true;\n if (role === \"treeitem\")\n return true;\n if (role === \"gridcell\")\n return true;\n if (role === \"row\")\n return true;\n if (role === \"columnheader\")\n return true;\n if (role === \"rowheader\")\n return true;\n return false;\n}\nvar useCompositeItem = createHook(\n function useCompositeItem2(_a) {\n var _b = _a, {\n store,\n rowId: rowIdProp,\n preventScrollOnKeyDown = false,\n moveOnKeyPress = true,\n tabbable = false,\n getItem: getItemProp,\n \"aria-setsize\": ariaSetSizeProp,\n \"aria-posinset\": ariaPosInSetProp\n } = _b, props = __objRest(_b, [\n \"store\",\n \"rowId\",\n \"preventScrollOnKeyDown\",\n \"moveOnKeyPress\",\n \"tabbable\",\n \"getItem\",\n \"aria-setsize\",\n \"aria-posinset\"\n ]);\n const context = useCompositeContext();\n store = store || context;\n const id = useId(props.id);\n const ref = useRef(null);\n const row = useContext(CompositeRowContext);\n const rowId = useStoreState(store, (state) => {\n if (rowIdProp)\n return rowIdProp;\n if (!state)\n return;\n if (!(row == null ? void 0 : row.baseElement))\n return;\n if (row.baseElement !== state.baseElement)\n return;\n return row.id;\n });\n const disabled = disabledFromProps(props);\n const trulyDisabled = disabled && !props.accessibleWhenDisabled;\n const getItem = useCallback(\n (item) => {\n const nextItem = __spreadProps(__spreadValues({}, item), {\n id: id || item.id,\n rowId,\n disabled: !!trulyDisabled\n });\n if (getItemProp) {\n return getItemProp(nextItem);\n }\n return nextItem;\n },\n [id, rowId, trulyDisabled, getItemProp]\n );\n const onFocusProp = props.onFocus;\n const hasFocusedComposite = useRef(false);\n const onFocus = useEvent((event) => {\n onFocusProp == null ? void 0 : onFocusProp(event);\n if (event.defaultPrevented)\n return;\n if (isPortalEvent(event))\n return;\n if (!id)\n return;\n if (!store)\n return;\n const { activeId, virtualFocus: virtualFocus2, baseElement: baseElement2 } = store.getState();\n if (targetIsAnotherItem(event, store))\n return;\n if (activeId !== id) {\n store.setActiveId(id);\n }\n if (!virtualFocus2)\n return;\n if (!isSelfTarget(event))\n return;\n if (isEditableElement(event.currentTarget))\n return;\n if (!(baseElement2 == null ? void 0 : baseElement2.isConnected))\n return;\n hasFocusedComposite.current = true;\n const fromComposite = event.relatedTarget === baseElement2 || isItem(store, event.relatedTarget);\n if (fromComposite) {\n focusSilently(baseElement2);\n } else {\n baseElement2.focus();\n }\n });\n const onBlurCaptureProp = props.onBlurCapture;\n const onBlurCapture = useEvent((event) => {\n onBlurCaptureProp == null ? void 0 : onBlurCaptureProp(event);\n if (event.defaultPrevented)\n return;\n const state = store == null ? void 0 : store.getState();\n if ((state == null ? void 0 : state.virtualFocus) && hasFocusedComposite.current) {\n hasFocusedComposite.current = false;\n event.preventDefault();\n event.stopPropagation();\n }\n });\n const onKeyDownProp = props.onKeyDown;\n const preventScrollOnKeyDownProp = useBooleanEvent(preventScrollOnKeyDown);\n const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n const onKeyDown = useEvent((event) => {\n onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n if (event.defaultPrevented)\n return;\n if (!isSelfTarget(event))\n return;\n if (!store)\n return;\n const { currentTarget } = event;\n const state = store.getState();\n const item = store.item(id);\n const isGrid = !!(item == null ? void 0 : item.rowId);\n const isVertical = state.orientation !== \"horizontal\";\n const isHorizontal = state.orientation !== \"vertical\";\n const canHomeEnd = () => {\n if (isGrid)\n return true;\n if (isHorizontal)\n return true;\n if (!state.baseElement)\n return true;\n if (!isTextField(state.baseElement))\n return true;\n return false;\n };\n const keyMap = {\n ArrowUp: (isGrid || isVertical) && store.up,\n ArrowRight: (isGrid || isHorizontal) && store.next,\n ArrowDown: (isGrid || isVertical) && store.down,\n ArrowLeft: (isGrid || isHorizontal) && store.previous,\n Home: () => {\n if (!canHomeEnd())\n return;\n if (!isGrid || event.ctrlKey) {\n return store == null ? void 0 : store.first();\n }\n return store == null ? void 0 : store.previous(-1);\n },\n End: () => {\n if (!canHomeEnd())\n return;\n if (!isGrid || event.ctrlKey) {\n return store == null ? void 0 : store.last();\n }\n return store == null ? void 0 : store.next(-1);\n },\n PageUp: () => {\n return findNextPageItemId(currentTarget, store, store == null ? void 0 : store.up, true);\n },\n PageDown: () => {\n return findNextPageItemId(currentTarget, store, store == null ? void 0 : store.down);\n }\n };\n const action = keyMap[event.key];\n if (action) {\n const nextId = action();\n if (preventScrollOnKeyDownProp(event) || nextId !== void 0) {\n if (!moveOnKeyPressProp(event))\n return;\n event.preventDefault();\n store.move(nextId);\n }\n }\n });\n const baseElement = useStoreState(\n store,\n (state) => (state == null ? void 0 : state.baseElement) || void 0\n );\n const providerValue = useMemo(\n () => ({ id, baseElement }),\n [id, baseElement]\n );\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(CompositeItemContext.Provider, { value: providerValue, children: element }),\n [providerValue]\n );\n const isActiveItem = useStoreState(\n store,\n (state) => !!state && state.activeId === id\n );\n const virtualFocus = useStoreState(store, \"virtualFocus\");\n const role = useRole(ref, props);\n let ariaSelected;\n if (isActiveItem) {\n if (requiresAriaSelected(role)) {\n ariaSelected = true;\n } else if (virtualFocus && supportsAriaSelected(role)) {\n ariaSelected = true;\n }\n }\n const ariaSetSize = useStoreState(store, (state) => {\n if (ariaSetSizeProp != null)\n return ariaSetSizeProp;\n if (!state)\n return;\n if (!(row == null ? void 0 : row.ariaSetSize))\n return;\n if (row.baseElement !== state.baseElement)\n return;\n return row.ariaSetSize;\n });\n const ariaPosInSet = useStoreState(store, (state) => {\n if (ariaPosInSetProp != null)\n return ariaPosInSetProp;\n if (!state)\n return;\n if (!(row == null ? void 0 : row.ariaPosInSet))\n return;\n if (row.baseElement !== state.baseElement)\n return;\n const itemsInRow = state.renderedItems.filter(\n (item) => item.rowId === rowId\n );\n return row.ariaPosInSet + itemsInRow.findIndex((item) => item.id === id);\n });\n const isTabbable = useStoreState(store, (state) => {\n if (!(state == null ? void 0 : state.renderedItems.length))\n return true;\n if (state.virtualFocus)\n return false;\n if (tabbable)\n return true;\n return state.activeId === id;\n });\n props = __spreadProps(__spreadValues({\n id,\n \"aria-selected\": ariaSelected,\n \"data-active-item\": isActiveItem || void 0\n }, props), {\n ref: useMergeRefs(ref, props.ref),\n tabIndex: isTabbable ? props.tabIndex : -1,\n onFocus,\n onBlurCapture,\n onKeyDown\n });\n props = useCommand(props);\n props = useCollectionItem(__spreadProps(__spreadValues({\n store\n }, props), {\n getItem,\n shouldRegisterItem: !!id ? props.shouldRegisterItem : false\n }));\n return removeUndefinedValues(__spreadProps(__spreadValues({}, props), {\n \"aria-setsize\": ariaSetSize,\n \"aria-posinset\": ariaPosInSet\n }));\n }\n);\nvar CompositeItem = memo(\n forwardRef(function CompositeItem2(props) {\n const htmlProps = useCompositeItem(props);\n return createElement(TagName, htmlProps);\n })\n);\n\nexport {\n useCompositeItem,\n CompositeItem\n};\n","\"use client\";\nimport {\n flipItems\n} from \"./3IEDWLST.js\";\nimport {\n useCompositeContext\n} from \"./3D6OCOHF.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useEvent\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-typeahead.ts\nimport { useRef } from \"react\";\nimport { isTextField } from \"@ariakit/core/utils/dom\";\nimport { isSelfTarget } from \"@ariakit/core/utils/events\";\nimport {\n invariant,\n normalizeString,\n removeUndefinedValues\n} from \"@ariakit/core/utils/misc\";\nvar TagName = \"div\";\nvar chars = \"\";\nfunction clearChars() {\n chars = \"\";\n}\nfunction isValidTypeaheadEvent(event) {\n const target = event.target;\n if (target && isTextField(target))\n return false;\n if (event.key === \" \" && chars.length)\n return true;\n return event.key.length === 1 && !event.ctrlKey && !event.altKey && !event.metaKey && /^[\\p{Letter}\\p{Number}]$/u.test(event.key);\n}\nfunction isSelfTargetOrItem(event, items) {\n if (isSelfTarget(event))\n return true;\n const target = event.target;\n if (!target)\n return false;\n const isItem = items.some((item) => item.element === target);\n return isItem;\n}\nfunction getEnabledItems(items) {\n return items.filter((item) => !item.disabled);\n}\nfunction itemTextStartsWith(item, text) {\n var _a;\n const itemText = ((_a = item.element) == null ? void 0 : _a.textContent) || item.children;\n if (!itemText)\n return false;\n return normalizeString(itemText).trim().toLowerCase().startsWith(text.toLowerCase());\n}\nfunction getSameInitialItems(items, char, activeId) {\n if (!activeId)\n return items;\n const activeItem = items.find((item) => item.id === activeId);\n if (!activeItem)\n return items;\n if (!itemTextStartsWith(activeItem, char))\n return items;\n if (chars !== char && itemTextStartsWith(activeItem, chars))\n return items;\n chars = char;\n return flipItems(\n items.filter((item) => itemTextStartsWith(item, chars)),\n activeId\n ).filter((item) => item.id !== activeId);\n}\nvar useCompositeTypeahead = createHook(function useCompositeTypeahead2(_a) {\n var _b = _a, { store, typeahead = true } = _b, props = __objRest(_b, [\"store\", \"typeahead\"]);\n const context = useCompositeContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"CompositeTypeahead must be a Composite component\"\n );\n const onKeyDownCaptureProp = props.onKeyDownCapture;\n const cleanupTimeoutRef = useRef(0);\n const onKeyDownCapture = useEvent((event) => {\n onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n if (event.defaultPrevented)\n return;\n if (!typeahead)\n return;\n if (!store)\n return;\n const { items, activeId } = store.getState();\n if (!isValidTypeaheadEvent(event))\n return clearChars();\n let enabledItems = getEnabledItems(items);\n if (!isSelfTargetOrItem(event, enabledItems))\n return clearChars();\n event.preventDefault();\n window.clearTimeout(cleanupTimeoutRef.current);\n cleanupTimeoutRef.current = window.setTimeout(() => {\n chars = \"\";\n }, 500);\n const char = event.key.toLowerCase();\n chars += char;\n enabledItems = getSameInitialItems(enabledItems, char, activeId);\n const item = enabledItems.find((item2) => itemTextStartsWith(item2, chars));\n if (item) {\n store.move(item.id);\n } else {\n clearChars();\n }\n });\n props = __spreadProps(__spreadValues({}, props), {\n onKeyDownCapture\n });\n return removeUndefinedValues(props);\n});\nvar CompositeTypeahead = forwardRef(function CompositeTypeahead2(props) {\n const htmlProps = useCompositeTypeahead(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCompositeTypeahead,\n CompositeTypeahead\n};\n","\"use client\";\nimport {\n findFirstEnabledItem,\n getEnabledItem,\n groupItemsByRows,\n isItem,\n silentlyFocused\n} from \"./3IEDWLST.js\";\nimport {\n CompositeContextProvider,\n useCompositeProviderContext\n} from \"./3D6OCOHF.js\";\nimport {\n useFocusable\n} from \"./WAZE6NXP.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useMergeRefs,\n useSafeLayoutEffect,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite.tsx\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { flatten2DArray, reverseArray } from \"@ariakit/core/utils/array\";\nimport { getActiveElement, isTextField } from \"@ariakit/core/utils/dom\";\nimport {\n fireBlurEvent,\n fireKeyboardEvent,\n isSelfTarget\n} from \"@ariakit/core/utils/events\";\nimport { focusIntoView, hasFocus } from \"@ariakit/core/utils/focus\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nfunction isGrid(items) {\n return items.some((item) => !!item.rowId);\n}\nfunction isPrintableKey(event) {\n const target = event.target;\n if (target && !isTextField(target))\n return false;\n return event.key.length === 1 && !event.ctrlKey && !event.metaKey;\n}\nfunction isModifierKey(event) {\n return event.key === \"Shift\" || event.key === \"Control\" || event.key === \"Alt\" || event.key === \"Meta\";\n}\nfunction useKeyboardEventProxy(store, onKeyboardEvent, previousElementRef) {\n return useEvent((event) => {\n var _a;\n onKeyboardEvent == null ? void 0 : onKeyboardEvent(event);\n if (event.defaultPrevented)\n return;\n if (event.isPropagationStopped())\n return;\n if (!isSelfTarget(event))\n return;\n if (isModifierKey(event))\n return;\n if (isPrintableKey(event))\n return;\n const state = store.getState();\n const activeElement = (_a = getEnabledItem(store, state.activeId)) == null ? void 0 : _a.element;\n if (!activeElement)\n return;\n const _b = event, { view } = _b, eventInit = __objRest(_b, [\"view\"]);\n const previousElement = previousElementRef == null ? void 0 : previousElementRef.current;\n if (activeElement !== previousElement) {\n activeElement.focus();\n }\n if (!fireKeyboardEvent(activeElement, event.type, eventInit)) {\n event.preventDefault();\n }\n if (event.currentTarget.contains(activeElement)) {\n event.stopPropagation();\n }\n });\n}\nfunction findFirstEnabledItemInTheLastRow(items) {\n return findFirstEnabledItem(\n flatten2DArray(reverseArray(groupItemsByRows(items)))\n );\n}\nfunction useScheduleFocus(store) {\n const [scheduled, setScheduled] = useState(false);\n const schedule = useCallback(() => setScheduled(true), []);\n const activeItem = store.useState(\n (state) => getEnabledItem(store, state.activeId)\n );\n useEffect(() => {\n const activeElement = activeItem == null ? void 0 : activeItem.element;\n if (!scheduled)\n return;\n if (!activeElement)\n return;\n setScheduled(false);\n activeElement.focus({ preventScroll: true });\n }, [activeItem, scheduled]);\n return schedule;\n}\nvar useComposite = createHook(\n function useComposite2(_a) {\n var _b = _a, {\n store,\n composite = true,\n focusOnMove = composite,\n moveOnKeyPress = true\n } = _b, props = __objRest(_b, [\n \"store\",\n \"composite\",\n \"focusOnMove\",\n \"moveOnKeyPress\"\n ]);\n const context = useCompositeProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"Composite must receive a `store` prop or be wrapped in a CompositeProvider component.\"\n );\n const previousElementRef = useRef(null);\n const scheduleFocus = useScheduleFocus(store);\n const moves = store.useState(\"moves\");\n useEffect(() => {\n var _a2;\n if (!store)\n return;\n if (!moves)\n return;\n if (!composite)\n return;\n if (!focusOnMove)\n return;\n const { activeId: activeId2 } = store.getState();\n const itemElement = (_a2 = getEnabledItem(store, activeId2)) == null ? void 0 : _a2.element;\n if (!itemElement)\n return;\n focusIntoView(itemElement);\n }, [store, moves, composite, focusOnMove]);\n useSafeLayoutEffect(() => {\n if (!store)\n return;\n if (!moves)\n return;\n if (!composite)\n return;\n const { baseElement, activeId: activeId2 } = store.getState();\n const isSelfAcive = activeId2 === null;\n if (!isSelfAcive)\n return;\n if (!baseElement)\n return;\n const previousElement = previousElementRef.current;\n previousElementRef.current = null;\n if (previousElement) {\n fireBlurEvent(previousElement, { relatedTarget: baseElement });\n }\n if (!hasFocus(baseElement)) {\n baseElement.focus();\n }\n }, [store, moves, composite]);\n const activeId = store.useState(\"activeId\");\n const virtualFocus = store.useState(\"virtualFocus\");\n useSafeLayoutEffect(() => {\n var _a2;\n if (!store)\n return;\n if (!composite)\n return;\n if (!virtualFocus)\n return;\n const previousElement = previousElementRef.current;\n previousElementRef.current = null;\n if (!previousElement)\n return;\n const activeElement = (_a2 = getEnabledItem(store, activeId)) == null ? void 0 : _a2.element;\n const relatedTarget = activeElement || getActiveElement(previousElement);\n if (relatedTarget === previousElement)\n return;\n fireBlurEvent(previousElement, { relatedTarget });\n }, [store, activeId, virtualFocus, composite]);\n const onKeyDownCapture = useKeyboardEventProxy(\n store,\n props.onKeyDownCapture,\n previousElementRef\n );\n const onKeyUpCapture = useKeyboardEventProxy(\n store,\n props.onKeyUpCapture,\n previousElementRef\n );\n const onFocusCaptureProp = props.onFocusCapture;\n const onFocusCapture = useEvent((event) => {\n onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n if (event.defaultPrevented)\n return;\n if (!store)\n return;\n const { virtualFocus: virtualFocus2 } = store.getState();\n if (!virtualFocus2)\n return;\n const previousActiveElement = event.relatedTarget;\n const isSilentlyFocused = silentlyFocused(event.currentTarget);\n if (isSelfTarget(event) && isSilentlyFocused) {\n event.stopPropagation();\n previousElementRef.current = previousActiveElement;\n }\n });\n const onFocusProp = props.onFocus;\n const onFocus = useEvent((event) => {\n onFocusProp == null ? void 0 : onFocusProp(event);\n if (event.defaultPrevented)\n return;\n if (!composite)\n return;\n if (!store)\n return;\n const { relatedTarget } = event;\n const { virtualFocus: virtualFocus2 } = store.getState();\n if (virtualFocus2) {\n if (isSelfTarget(event) && !isItem(store, relatedTarget)) {\n queueMicrotask(scheduleFocus);\n }\n } else if (isSelfTarget(event)) {\n store.setActiveId(null);\n }\n });\n const onBlurCaptureProp = props.onBlurCapture;\n const onBlurCapture = useEvent((event) => {\n var _a2;\n onBlurCaptureProp == null ? void 0 : onBlurCaptureProp(event);\n if (event.defaultPrevented)\n return;\n if (!store)\n return;\n const { virtualFocus: virtualFocus2, activeId: activeId2 } = store.getState();\n if (!virtualFocus2)\n return;\n const activeElement = (_a2 = getEnabledItem(store, activeId2)) == null ? void 0 : _a2.element;\n const nextActiveElement = event.relatedTarget;\n const nextActiveElementIsItem = isItem(store, nextActiveElement);\n const previousElement = previousElementRef.current;\n previousElementRef.current = null;\n if (isSelfTarget(event) && nextActiveElementIsItem) {\n if (nextActiveElement === activeElement) {\n if (previousElement && previousElement !== nextActiveElement) {\n fireBlurEvent(previousElement, event);\n }\n } else if (activeElement) {\n fireBlurEvent(activeElement, event);\n } else if (previousElement) {\n fireBlurEvent(previousElement, event);\n }\n event.stopPropagation();\n } else {\n const targetIsItem = isItem(store, event.target);\n if (!targetIsItem && activeElement) {\n fireBlurEvent(activeElement, event);\n }\n }\n });\n const onKeyDownProp = props.onKeyDown;\n const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n const onKeyDown = useEvent((event) => {\n var _a2;\n onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n if (event.defaultPrevented)\n return;\n if (!store)\n return;\n if (!isSelfTarget(event))\n return;\n const { orientation, items, renderedItems, activeId: activeId2 } = store.getState();\n const activeItem = getEnabledItem(store, activeId2);\n if ((_a2 = activeItem == null ? void 0 : activeItem.element) == null ? void 0 : _a2.isConnected)\n return;\n const isVertical = orientation !== \"horizontal\";\n const isHorizontal = orientation !== \"vertical\";\n const grid = isGrid(renderedItems);\n const isHorizontalKey = event.key === \"ArrowLeft\" || event.key === \"ArrowRight\" || event.key === \"Home\" || event.key === \"End\";\n if (isHorizontalKey && isTextField(event.currentTarget))\n return;\n const up = () => {\n if (grid) {\n const item = items && findFirstEnabledItemInTheLastRow(items);\n return item == null ? void 0 : item.id;\n }\n return store == null ? void 0 : store.last();\n };\n const keyMap = {\n ArrowUp: (grid || isVertical) && up,\n ArrowRight: (grid || isHorizontal) && store.first,\n ArrowDown: (grid || isVertical) && store.first,\n ArrowLeft: (grid || isHorizontal) && store.last,\n Home: store.first,\n End: store.last,\n PageUp: store.first,\n PageDown: store.last\n };\n const action = keyMap[event.key];\n if (action) {\n const id = action();\n if (id !== void 0) {\n if (!moveOnKeyPressProp(event))\n return;\n event.preventDefault();\n store.move(id);\n }\n }\n });\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(CompositeContextProvider, { value: store, children: element }),\n [store]\n );\n const activeDescendant = store.useState((state) => {\n var _a2;\n if (!store)\n return;\n if (!composite)\n return;\n if (!state.virtualFocus)\n return;\n return (_a2 = getEnabledItem(store, state.activeId)) == null ? void 0 : _a2.id;\n });\n props = __spreadProps(__spreadValues({\n \"aria-activedescendant\": activeDescendant\n }, props), {\n ref: useMergeRefs(composite ? store.setBaseElement : null, props.ref),\n onKeyDownCapture,\n onKeyUpCapture,\n onFocusCapture,\n onFocus,\n onBlurCapture,\n onKeyDown\n });\n const focusable = store.useState(\n (state) => composite && (state.virtualFocus || state.activeId === null)\n );\n props = useFocusable(__spreadValues({ focusable }, props));\n return props;\n }\n);\nvar Composite = forwardRef(function Composite2(props) {\n const htmlProps = useComposite(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useComposite,\n Composite\n};\n","\"use client\";\nimport {\n createStoreContext\n} from \"./5M6RSQEC.js\";\n\n// src/collection/collection-context.tsx\nvar ctx = createStoreContext();\nvar useCollectionContext = ctx.useContext;\nvar useCollectionScopedContext = ctx.useScopedContext;\nvar useCollectionProviderContext = ctx.useProviderContext;\nvar CollectionContextProvider = ctx.ContextProvider;\nvar CollectionScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n useCollectionContext,\n useCollectionScopedContext,\n useCollectionProviderContext,\n CollectionContextProvider,\n CollectionScopedContextProvider\n};\n","\"use client\";\nimport {\n usePopoverProviderContext\n} from \"./TE637IA7.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-anchor.ts\nvar TagName = \"div\";\nvar usePopoverAnchor = createHook(\n function usePopoverAnchor2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n const context = usePopoverProviderContext();\n store = store || context;\n props = __spreadProps(__spreadValues({}, props), {\n ref: useMergeRefs(store == null ? void 0 : store.setAnchorElement, props.ref)\n });\n return props;\n }\n);\nvar PopoverAnchor = forwardRef(function PopoverAnchor2(props) {\n const htmlProps = usePopoverAnchor(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n usePopoverAnchor,\n PopoverAnchor\n};\n","\"use client\";\nimport {\n CompositeContextProvider,\n CompositeScopedContextProvider\n} from \"./3D6OCOHF.js\";\nimport {\n PopoverContextProvider,\n PopoverScopedContextProvider\n} from \"./TE637IA7.js\";\nimport {\n createStoreContext\n} from \"./5M6RSQEC.js\";\n\n// src/select/select-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n [PopoverContextProvider, CompositeContextProvider],\n [PopoverScopedContextProvider, CompositeScopedContextProvider]\n);\nvar useSelectContext = ctx.useContext;\nvar useSelectScopedContext = ctx.useScopedContext;\nvar useSelectProviderContext = ctx.useProviderContext;\nvar SelectContextProvider = ctx.ContextProvider;\nvar SelectScopedContextProvider = ctx.ScopedContextProvider;\nvar SelectItemCheckedContext = createContext(false);\n\nexport {\n useSelectContext,\n useSelectScopedContext,\n useSelectProviderContext,\n SelectContextProvider,\n SelectScopedContextProvider,\n SelectItemCheckedContext\n};\n","\"use client\";\nimport {\n CompositeContextProvider,\n CompositeScopedContextProvider\n} from \"./3D6OCOHF.js\";\nimport {\n PopoverContextProvider,\n PopoverScopedContextProvider\n} from \"./TE637IA7.js\";\nimport {\n createStoreContext\n} from \"./5M6RSQEC.js\";\n\n// src/combobox/combobox-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n [PopoverContextProvider, CompositeContextProvider],\n [PopoverScopedContextProvider, CompositeScopedContextProvider]\n);\nvar useComboboxContext = ctx.useContext;\nvar useComboboxScopedContext = ctx.useScopedContext;\nvar useComboboxProviderContext = ctx.useProviderContext;\nvar ComboboxContextProvider = ctx.ContextProvider;\nvar ComboboxScopedContextProvider = ctx.ScopedContextProvider;\nvar ComboboxItemValueContext = createContext(\n void 0\n);\nvar ComboboxItemCheckedContext = createContext(false);\n\nexport {\n useComboboxContext,\n useComboboxScopedContext,\n useComboboxProviderContext,\n ComboboxContextProvider,\n ComboboxScopedContextProvider,\n ComboboxItemValueContext,\n ComboboxItemCheckedContext\n};\n","\"use client\";\nimport {\n useCompositeContext\n} from \"./3D6OCOHF.js\";\nimport {\n createElement,\n createHook,\n forwardRef,\n memo\n} from \"./5M6RSQEC.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useIsMouseMoving,\n useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-hover.ts\nimport { useCallback } from \"react\";\nimport { contains } from \"@ariakit/core/utils/dom\";\nimport { hasFocus, hasFocusWithin } from \"@ariakit/core/utils/focus\";\nimport {\n hasOwnProperty,\n invariant,\n removeUndefinedValues\n} from \"@ariakit/core/utils/misc\";\nvar TagName = \"div\";\nfunction getMouseDestination(event) {\n const relatedTarget = event.relatedTarget;\n if ((relatedTarget == null ? void 0 : relatedTarget.nodeType) === Node.ELEMENT_NODE) {\n return relatedTarget;\n }\n return null;\n}\nfunction hoveringInside(event) {\n const nextElement = getMouseDestination(event);\n if (!nextElement)\n return false;\n return contains(event.currentTarget, nextElement);\n}\nvar symbol = Symbol(\"composite-hover\");\nfunction movingToAnotherItem(event) {\n let dest = getMouseDestination(event);\n if (!dest)\n return false;\n do {\n if (hasOwnProperty(dest, symbol) && dest[symbol])\n return true;\n dest = dest.parentElement;\n } while (dest);\n return false;\n}\nvar useCompositeHover = createHook(\n function useCompositeHover2(_a) {\n var _b = _a, {\n store,\n focusOnHover = true,\n blurOnHoverEnd = !!focusOnHover\n } = _b, props = __objRest(_b, [\n \"store\",\n \"focusOnHover\",\n \"blurOnHoverEnd\"\n ]);\n const context = useCompositeContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"CompositeHover must be wrapped in a Composite component.\"\n );\n const isMouseMoving = useIsMouseMoving();\n const onMouseMoveProp = props.onMouseMove;\n const focusOnHoverProp = useBooleanEvent(focusOnHover);\n const onMouseMove = useEvent((event) => {\n onMouseMoveProp == null ? void 0 : onMouseMoveProp(event);\n if (event.defaultPrevented)\n return;\n if (!isMouseMoving())\n return;\n if (!focusOnHoverProp(event))\n return;\n if (!hasFocusWithin(event.currentTarget)) {\n const baseElement = store == null ? void 0 : store.getState().baseElement;\n if (baseElement && !hasFocus(baseElement)) {\n baseElement.focus();\n }\n }\n store == null ? void 0 : store.setActiveId(event.currentTarget.id);\n });\n const onMouseLeaveProp = props.onMouseLeave;\n const blurOnHoverEndProp = useBooleanEvent(blurOnHoverEnd);\n const onMouseLeave = useEvent((event) => {\n var _a2;\n onMouseLeaveProp == null ? void 0 : onMouseLeaveProp(event);\n if (event.defaultPrevented)\n return;\n if (!isMouseMoving())\n return;\n if (hoveringInside(event))\n return;\n if (movingToAnotherItem(event))\n return;\n if (!focusOnHoverProp(event))\n return;\n if (!blurOnHoverEndProp(event))\n return;\n store == null ? void 0 : store.setActiveId(null);\n (_a2 = store == null ? void 0 : store.getState().baseElement) == null ? void 0 : _a2.focus();\n });\n const ref = useCallback((element) => {\n if (!element)\n return;\n element[symbol] = true;\n }, []);\n props = __spreadProps(__spreadValues({}, props), {\n ref: useMergeRefs(ref, props.ref),\n onMouseMove,\n onMouseLeave\n });\n return removeUndefinedValues(props);\n }\n);\nvar CompositeHover = memo(\n forwardRef(function CompositeHover2(props) {\n const htmlProps = useCompositeHover(props);\n return createElement(TagName, htmlProps);\n })\n);\n\nexport {\n useCompositeHover,\n CompositeHover\n};\n","\"use client\";\nimport {\n ComboboxScopedContextProvider,\n useComboboxProviderContext\n} from \"./UNDSQXBK.js\";\nimport {\n isHidden\n} from \"./RQZGFHI2.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useAttribute,\n useId,\n useMergeRefs,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/combobox/combobox-list.tsx\nimport { useRef } from \"react\";\nimport { invariant, removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nvar useComboboxList = createHook(\n function useComboboxList2(_a) {\n var _b = _a, { store, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"alwaysVisible\"]);\n const context = useComboboxProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"ComboboxList must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n );\n const ref = useRef(null);\n const id = useId(props.id);\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(ComboboxScopedContextProvider, { value: store, children: element }),\n [store]\n );\n const mounted = store.useState(\"mounted\");\n const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n const style = hidden ? __spreadProps(__spreadValues({}, props.style), { display: \"none\" }) : props.style;\n const multiSelectable = store.useState(\n (state) => Array.isArray(state.selectedValue)\n );\n const role = useAttribute(ref, \"role\", props.role);\n const isCompositeRole = role === \"listbox\" || role === \"tree\" || role === \"grid\";\n const ariaMultiSelectable = isCompositeRole ? multiSelectable || void 0 : void 0;\n props = __spreadProps(__spreadValues({\n id,\n hidden,\n role: \"listbox\",\n \"aria-multiselectable\": ariaMultiSelectable\n }, props), {\n ref: useMergeRefs(id ? store.setContentElement : null, ref, props.ref),\n style\n });\n return removeUndefinedValues(props);\n }\n);\nvar ComboboxList = forwardRef(function ComboboxList2(props) {\n const htmlProps = useComboboxList(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useComboboxList,\n ComboboxList\n};\n","\"use client\";\nimport {\n useCompositeHover\n} from \"../__chunks/WL6TTPTB.js\";\nimport {\n ComboboxItemCheckedContext,\n ComboboxItemValueContext,\n useComboboxScopedContext\n} from \"../__chunks/UNDSQXBK.js\";\nimport {\n useCompositeItem\n} from \"../__chunks/C6OBNQ4F.js\";\nimport \"../__chunks/KSZPJCUA.js\";\nimport \"../__chunks/7YKLTEOQ.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/WAZE6NXP.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n createElement,\n createHook,\n forwardRef,\n memo\n} from \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useWrapElement\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-item.tsx\nimport { useCallback } from \"react\";\nimport { getPopupItemRole, isTextField } from \"@ariakit/core/utils/dom\";\nimport { isDownloading, isOpeningInNewTab } from \"@ariakit/core/utils/events\";\nimport { hasFocus } from \"@ariakit/core/utils/focus\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nfunction isSelected(storeValue, itemValue) {\n if (itemValue == null)\n return;\n if (storeValue == null)\n return false;\n if (Array.isArray(storeValue)) {\n return storeValue.includes(itemValue);\n }\n return storeValue === itemValue;\n}\nvar useComboboxItem = createHook(\n function useComboboxItem2(_a) {\n var _b = _a, {\n store,\n value,\n hideOnClick,\n selectValueOnClick = true,\n setValueOnClick,\n focusOnHover = false,\n moveOnKeyPress = true,\n getItem: getItemProp\n } = _b, props = __objRest(_b, [\n \"store\",\n \"value\",\n \"hideOnClick\",\n \"selectValueOnClick\",\n \"setValueOnClick\",\n \"focusOnHover\",\n \"moveOnKeyPress\",\n \"getItem\"\n ]);\n const context = useComboboxScopedContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"ComboboxItem must be wrapped in a ComboboxList or ComboboxPopover component.\"\n );\n const getItem = useCallback(\n (item) => {\n const nextItem = __spreadProps(__spreadValues({}, item), { value });\n if (getItemProp) {\n return getItemProp(nextItem);\n }\n return nextItem;\n },\n [value, getItemProp]\n );\n const multiSelectable = store.useState(\n (state) => Array.isArray(state.selectedValue)\n );\n setValueOnClick = setValueOnClick != null ? setValueOnClick : !multiSelectable;\n hideOnClick = hideOnClick != null ? hideOnClick : value != null && !multiSelectable;\n const onClickProp = props.onClick;\n const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n const selectValueOnClickProp = useBooleanEvent(selectValueOnClick);\n const hideOnClickProp = useBooleanEvent(hideOnClick);\n const onClick = useEvent((event) => {\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented)\n return;\n if (isDownloading(event))\n return;\n if (isOpeningInNewTab(event))\n return;\n if (value != null) {\n if (selectValueOnClickProp(event)) {\n store == null ? void 0 : store.setSelectedValue((prevValue) => {\n if (!Array.isArray(prevValue))\n return value;\n if (prevValue.includes(value)) {\n return prevValue.filter((v) => v !== value);\n }\n return [...prevValue, value];\n });\n }\n if (setValueOnClickProp(event)) {\n store == null ? void 0 : store.setValue(value);\n }\n }\n if (hideOnClickProp(event)) {\n store == null ? void 0 : store.hide();\n }\n });\n const onKeyDownProp = props.onKeyDown;\n const onKeyDown = useEvent((event) => {\n onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n if (event.defaultPrevented)\n return;\n const baseElement = store == null ? void 0 : store.getState().baseElement;\n if (!baseElement)\n return;\n if (hasFocus(baseElement))\n return;\n const printable = event.key.length === 1;\n if (printable || event.key === \"Backspace\" || event.key === \"Delete\") {\n queueMicrotask(() => baseElement.focus());\n if (isTextField(baseElement)) {\n store == null ? void 0 : store.setValue(baseElement.value);\n }\n }\n });\n const selected = store.useState(\n (state) => isSelected(state.selectedValue, value)\n );\n if (multiSelectable && selected != null) {\n props = __spreadValues({\n \"aria-selected\": selected\n }, props);\n }\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(ComboboxItemValueContext.Provider, { value, children: /* @__PURE__ */ jsx(ComboboxItemCheckedContext.Provider, { value: selected != null ? selected : false, children: element }) }),\n [value, selected]\n );\n const contentElement = store.useState(\"contentElement\");\n props = __spreadProps(__spreadValues({\n role: getPopupItemRole(contentElement),\n children: value\n }, props), {\n onClick,\n onKeyDown\n });\n const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n props = useCompositeItem(__spreadProps(__spreadValues({\n store\n }, props), {\n getItem,\n // Dispatch a custom event on the combobox input when moving to an item\n // with the keyboard so the Combobox component can enable inline\n // autocompletion.\n moveOnKeyPress: (event) => {\n if (!moveOnKeyPressProp(event))\n return false;\n const moveEvent = new Event(\"combobox-item-move\");\n const baseElement = store == null ? void 0 : store.getState().baseElement;\n baseElement == null ? void 0 : baseElement.dispatchEvent(moveEvent);\n return true;\n }\n }));\n props = useCompositeHover(__spreadValues({ store, focusOnHover }, props));\n return props;\n }\n);\nvar ComboboxItem = memo(\n forwardRef(function ComboboxItem2(props) {\n const htmlProps = useComboboxItem(props);\n return createElement(TagName, htmlProps);\n })\n);\nexport {\n ComboboxItem,\n useComboboxItem\n};\n","\"use client\";\nimport {\n createPopoverStore\n} from \"../__chunks/MFZZDIHG.js\";\nimport \"../__chunks/5RJNXXU2.js\";\nimport \"../__chunks/WCKXDMU7.js\";\nimport {\n createCompositeStore\n} from \"../__chunks/2H5K47H4.js\";\nimport \"../__chunks/URUD7X4C.js\";\nimport {\n batch,\n createStore,\n setup,\n sync,\n throwOnConflictingProps\n} from \"../__chunks/R676XYVY.js\";\nimport {\n defaultValue\n} from \"../__chunks/22HHDS5F.js\";\nimport {\n isSafari,\n isTouchDevice\n} from \"../__chunks/VDNATJW2.js\";\nimport \"../__chunks/RRSZHCH6.js\";\nimport \"../__chunks/7PRQYBBV.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-store.ts\nvar isSafariOnMobile = isSafari() && isTouchDevice();\nfunction createComboboxStore(props = {}) {\n var _a;\n throwOnConflictingProps(props, props.store);\n const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n const activeId = defaultValue(\n props.activeId,\n syncState == null ? void 0 : syncState.activeId,\n props.defaultActiveId,\n null\n );\n const composite = createCompositeStore(__spreadProps(__spreadValues({}, props), {\n activeId,\n includesBaseElement: defaultValue(\n props.includesBaseElement,\n syncState == null ? void 0 : syncState.includesBaseElement,\n true\n ),\n orientation: defaultValue(\n props.orientation,\n syncState == null ? void 0 : syncState.orientation,\n \"vertical\"\n ),\n focusLoop: defaultValue(props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, true),\n focusWrap: defaultValue(props.focusWrap, syncState == null ? void 0 : syncState.focusWrap, true),\n virtualFocus: defaultValue(\n props.virtualFocus,\n syncState == null ? void 0 : syncState.virtualFocus,\n !isSafariOnMobile\n )\n }));\n const popover = createPopoverStore(__spreadProps(__spreadValues({}, props), {\n placement: defaultValue(\n props.placement,\n syncState == null ? void 0 : syncState.placement,\n \"bottom-start\"\n )\n }));\n const value = defaultValue(\n props.value,\n syncState == null ? void 0 : syncState.value,\n props.defaultValue,\n \"\"\n );\n const selectedValue = defaultValue(\n props.selectedValue,\n syncState == null ? void 0 : syncState.selectedValue,\n props.defaultSelectedValue,\n \"\"\n );\n const multiSelectable = Array.isArray(selectedValue);\n const initialState = __spreadProps(__spreadValues(__spreadValues({}, composite.getState()), popover.getState()), {\n value,\n selectedValue,\n resetValueOnSelect: defaultValue(\n props.resetValueOnSelect,\n syncState == null ? void 0 : syncState.resetValueOnSelect,\n multiSelectable\n ),\n resetValueOnHide: defaultValue(\n props.resetValueOnHide,\n syncState == null ? void 0 : syncState.resetValueOnHide,\n multiSelectable\n ),\n activeValue: syncState == null ? void 0 : syncState.activeValue\n });\n const combobox = createStore(initialState, composite, popover, props.store);\n setup(\n combobox,\n () => sync(combobox, [\"resetValueOnHide\", \"mounted\"], (state) => {\n if (!state.resetValueOnHide)\n return;\n if (state.mounted)\n return;\n combobox.setState(\"value\", value);\n })\n );\n setup(\n combobox,\n () => sync(combobox, [\"resetValueOnSelect\", \"selectedValue\"], (state) => {\n if (!state.resetValueOnSelect)\n return;\n combobox.setState(\"value\", value);\n })\n );\n setup(\n combobox,\n () => batch(combobox, [\"mounted\"], (state) => {\n if (state.mounted)\n return;\n combobox.setState(\"activeId\", activeId);\n combobox.setState(\"moves\", 0);\n })\n );\n setup(\n combobox,\n () => sync(combobox, [\"moves\", \"activeId\"], (state, prevState) => {\n if (state.moves === prevState.moves) {\n combobox.setState(\"activeValue\", void 0);\n }\n })\n );\n setup(\n combobox,\n () => batch(combobox, [\"moves\", \"renderedItems\"], (state, prev) => {\n if (state.moves === prev.moves)\n return;\n const { activeId: activeId2 } = combobox.getState();\n const activeItem = composite.item(activeId2);\n combobox.setState(\"activeValue\", activeItem == null ? void 0 : activeItem.value);\n })\n );\n return __spreadProps(__spreadValues(__spreadValues(__spreadValues({}, popover), composite), combobox), {\n setValue: (value2) => combobox.setState(\"value\", value2),\n setSelectedValue: (selectedValue2) => combobox.setState(\"selectedValue\", selectedValue2)\n });\n}\nexport {\n createComboboxStore\n};\n","\"use client\";\nimport {\n useCompositeStoreProps\n} from \"./7GBW5FLS.js\";\nimport {\n usePopoverStoreProps\n} from \"./XWCFCD3Q.js\";\nimport {\n useStore,\n useStoreProps\n} from \"./EKQEJRUF.js\";\n\n// src/combobox/combobox-store.ts\nimport * as Core from \"@ariakit/core/combobox/combobox-store\";\nfunction useComboboxStoreProps(store, update, props) {\n useStoreProps(store, props, \"value\", \"setValue\");\n useStoreProps(store, props, \"selectedValue\", \"setSelectedValue\");\n useStoreProps(store, props, \"resetValueOnHide\");\n useStoreProps(store, props, \"resetValueOnSelect\");\n return useCompositeStoreProps(\n usePopoverStoreProps(store, update, props),\n update,\n props\n );\n}\nfunction useComboboxStore(props = {}) {\n const [store, update] = useStore(Core.createComboboxStore, props);\n return useComboboxStoreProps(store, update, props);\n}\n\nexport {\n useComboboxStoreProps,\n useComboboxStore\n};\n","\"use client\";\nimport {\n useComboboxStore\n} from \"../__chunks/URCSOWGR.js\";\nimport {\n ComboboxContextProvider\n} from \"../__chunks/UNDSQXBK.js\";\nimport \"../__chunks/7GBW5FLS.js\";\nimport \"../__chunks/Y6GYTNQ2.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/XWCFCD3Q.js\";\nimport \"../__chunks/I62TROYO.js\";\nimport \"../__chunks/HZJ2XALY.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-provider.tsx\nimport { jsx } from \"react/jsx-runtime\";\nfunction ComboboxProvider(props = {}) {\n const store = useComboboxStore(props);\n return /* @__PURE__ */ jsx(ComboboxContextProvider, { value: store, children: props.children });\n}\nexport {\n ComboboxProvider\n};\n","\"use client\";\nimport {\n usePopoverAnchor\n} from \"../__chunks/NLT7LY5Y.js\";\nimport {\n useComboboxProviderContext\n} from \"../__chunks/UNDSQXBK.js\";\nimport {\n useComposite\n} from \"../__chunks/FTNKYK65.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/WAZE6NXP.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/5M6RSQEC.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useForceUpdate,\n useId,\n useMergeRefs,\n useSafeLayoutEffect,\n useUpdateEffect,\n useUpdateLayoutEffect\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox.ts\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n getPopupRole,\n getScrollingElement,\n setSelectionRange\n} from \"@ariakit/core/utils/dom\";\nimport {\n isFocusEventOutside,\n queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport { hasFocus } from \"@ariakit/core/utils/focus\";\nimport {\n invariant,\n isFalsyBooleanCallback,\n normalizeString\n} from \"@ariakit/core/utils/misc\";\nimport { flushSync } from \"react-dom\";\nvar TagName = \"input\";\nfunction isFirstItemAutoSelected(items, activeValue, autoSelect) {\n if (!autoSelect)\n return false;\n const firstItem = items.find((item) => !item.disabled && item.value);\n return (firstItem == null ? void 0 : firstItem.value) === activeValue;\n}\nfunction hasCompletionString(value, activeValue) {\n if (!activeValue)\n return false;\n if (value == null)\n return false;\n value = normalizeString(value);\n return activeValue.length > value.length && activeValue.toLowerCase().indexOf(value.toLowerCase()) === 0;\n}\nfunction isInputEvent(event) {\n return event.type === \"input\";\n}\nfunction isAriaAutoCompleteValue(value) {\n return value === \"inline\" || value === \"list\" || value === \"both\" || value === \"none\";\n}\nvar useCombobox = createHook(\n function useCombobox2(_a) {\n var _b = _a, {\n store,\n focusable = true,\n autoSelect: autoSelectProp = false,\n getAutoSelectId,\n showOnChange = true,\n setValueOnChange = true,\n showOnMouseDown = true,\n showOnClick = showOnMouseDown,\n blurActiveItemOnClick,\n setValueOnClick = true,\n showOnKeyDown = true,\n showOnKeyPress = showOnKeyDown,\n moveOnKeyPress = true,\n autoComplete = \"list\"\n } = _b, props = __objRest(_b, [\n \"store\",\n \"focusable\",\n \"autoSelect\",\n \"getAutoSelectId\",\n \"showOnChange\",\n \"setValueOnChange\",\n \"showOnMouseDown\",\n \"showOnClick\",\n \"blurActiveItemOnClick\",\n \"setValueOnClick\",\n \"showOnKeyDown\",\n \"showOnKeyPress\",\n \"moveOnKeyPress\",\n \"autoComplete\"\n ]);\n const context = useComboboxProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"Combobox must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n );\n const ref = useRef(null);\n const [valueUpdated, forceValueUpdate] = useForceUpdate();\n const canAutoSelectRef = useRef(false);\n const composingRef = useRef(false);\n const autoSelect = store.useState(\n (state) => state.virtualFocus && autoSelectProp\n );\n const inline = autoComplete === \"inline\" || autoComplete === \"both\";\n const [canInline, setCanInline] = useState(inline);\n useUpdateLayoutEffect(() => {\n if (!inline)\n return;\n setCanInline(true);\n }, [inline]);\n const storeValue = store.useState(\"value\");\n const activeValue = store.useState(\n (state) => inline && canInline ? state.activeValue : void 0\n );\n const items = store.useState(\"renderedItems\");\n const open = store.useState(\"open\");\n const contentElement = store.useState(\"contentElement\");\n const value = useMemo(() => {\n if (!inline)\n return storeValue;\n if (!canInline)\n return storeValue;\n const firstItemAutoSelected = isFirstItemAutoSelected(\n items,\n activeValue,\n autoSelect\n );\n if (firstItemAutoSelected) {\n if (hasCompletionString(storeValue, activeValue)) {\n const slice = (activeValue == null ? void 0 : activeValue.slice(storeValue.length)) || \"\";\n return storeValue + slice;\n }\n return storeValue;\n }\n return activeValue || storeValue;\n }, [inline, canInline, items, activeValue, autoSelect, storeValue]);\n useEffect(() => {\n const element = ref.current;\n if (!element)\n return;\n const onCompositeItemMove = () => setCanInline(true);\n element.addEventListener(\"combobox-item-move\", onCompositeItemMove);\n return () => {\n element.removeEventListener(\"combobox-item-move\", onCompositeItemMove);\n };\n }, []);\n useEffect(() => {\n if (!inline)\n return;\n if (!canInline)\n return;\n if (!activeValue)\n return;\n const firstItemAutoSelected = isFirstItemAutoSelected(\n items,\n activeValue,\n autoSelect\n );\n if (!firstItemAutoSelected)\n return;\n if (!hasCompletionString(storeValue, activeValue))\n return;\n queueMicrotask(() => {\n const element = ref.current;\n if (!element)\n return;\n setSelectionRange(element, storeValue.length, activeValue.length);\n });\n }, [\n valueUpdated,\n inline,\n canInline,\n activeValue,\n items,\n autoSelect,\n storeValue\n ]);\n const scrollingElementRef = useRef(null);\n const getAutoSelectIdProp = useEvent(getAutoSelectId);\n const autoSelectIdRef = useRef(null);\n useEffect(() => {\n if (!open)\n return;\n if (!contentElement)\n return;\n const scrollingElement = getScrollingElement(contentElement);\n if (!scrollingElement)\n return;\n scrollingElementRef.current = scrollingElement;\n const onWheel = () => {\n canAutoSelectRef.current = false;\n };\n const onScroll = () => {\n if (!store)\n return;\n if (!canAutoSelectRef.current)\n return;\n const { activeId } = store.getState();\n if (activeId === null)\n return;\n if (activeId === autoSelectIdRef.current)\n return;\n canAutoSelectRef.current = false;\n };\n const options = { passive: true, capture: true };\n scrollingElement.addEventListener(\"wheel\", onWheel, options);\n scrollingElement.addEventListener(\"scroll\", onScroll, options);\n return () => {\n scrollingElement.removeEventListener(\"wheel\", onWheel, true);\n scrollingElement.removeEventListener(\"scroll\", onScroll, true);\n };\n }, [open, contentElement, store]);\n useSafeLayoutEffect(() => {\n if (!storeValue)\n return;\n if (composingRef.current)\n return;\n canAutoSelectRef.current = true;\n }, [storeValue]);\n useSafeLayoutEffect(() => {\n if (autoSelect !== \"always\" && open)\n return;\n canAutoSelectRef.current = open;\n }, [autoSelect, open]);\n const resetValueOnSelect = store.useState(\"resetValueOnSelect\");\n useUpdateEffect(() => {\n var _a2;\n const canAutoSelect = canAutoSelectRef.current;\n if (!store)\n return;\n if (!open)\n return;\n if ((!autoSelect || !canAutoSelect) && !resetValueOnSelect)\n return;\n const { baseElement, contentElement: contentElement2, activeId } = store.getState();\n if (baseElement && !hasFocus(baseElement))\n return;\n if (contentElement2 == null ? void 0 : contentElement2.hasAttribute(\"data-placing\")) {\n const observer = new MutationObserver(forceValueUpdate);\n observer.observe(contentElement2, { attributeFilter: [\"data-placing\"] });\n return () => observer.disconnect();\n }\n if (autoSelect && canAutoSelect) {\n const userAutoSelectId = getAutoSelectIdProp(items);\n const autoSelectId = userAutoSelectId !== void 0 ? userAutoSelectId : store.first();\n autoSelectIdRef.current = autoSelectId;\n store.move(autoSelectId != null ? autoSelectId : null);\n } else {\n const element = (_a2 = store.item(activeId)) == null ? void 0 : _a2.element;\n if (element && \"scrollIntoView\" in element) {\n element.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n }\n }\n return;\n }, [\n store,\n open,\n valueUpdated,\n storeValue,\n autoSelect,\n resetValueOnSelect,\n getAutoSelectIdProp,\n items\n ]);\n useEffect(() => {\n if (!inline)\n return;\n const combobox = ref.current;\n if (!combobox)\n return;\n const elements = [combobox, contentElement].filter(\n (value2) => !!value2\n );\n const onBlur2 = (event) => {\n if (elements.every((el) => isFocusEventOutside(event, el))) {\n store == null ? void 0 : store.setValue(value);\n }\n };\n elements.forEach((el) => el.addEventListener(\"focusout\", onBlur2));\n return () => {\n elements.forEach((el) => el.removeEventListener(\"focusout\", onBlur2));\n };\n }, [inline, contentElement, store, value]);\n const onChangeProp = props.onChange;\n const showOnChangeProp = useBooleanEvent(showOnChange);\n const setValueOnChangeProp = useBooleanEvent(setValueOnChange);\n const onChange = useEvent((event) => {\n onChangeProp == null ? void 0 : onChangeProp(event);\n if (event.defaultPrevented)\n return;\n if (!store)\n return;\n const { value: value2, selectionStart, selectionEnd } = event.target;\n const nativeEvent = event.nativeEvent;\n canAutoSelectRef.current = true;\n if (isInputEvent(nativeEvent)) {\n if (nativeEvent.isComposing) {\n canAutoSelectRef.current = false;\n composingRef.current = true;\n }\n if (inline) {\n const textInserted = nativeEvent.inputType === \"insertText\" || nativeEvent.inputType === \"insertCompositionText\";\n const caretAtEnd = selectionStart === value2.length;\n setCanInline(textInserted && caretAtEnd);\n }\n }\n if (setValueOnChangeProp(event)) {\n const isSameValue = value2 === store.getState().value;\n flushSync(() => store == null ? void 0 : store.setValue(value2));\n setSelectionRange(event.currentTarget, selectionStart, selectionEnd);\n if (inline && autoSelect && isSameValue) {\n forceValueUpdate();\n }\n }\n if (showOnChangeProp(event)) {\n store.show();\n }\n if (!autoSelect || !canAutoSelectRef.current) {\n store.setActiveId(null);\n }\n });\n const onCompositionEndProp = props.onCompositionEnd;\n const onCompositionEnd = useEvent((event) => {\n canAutoSelectRef.current = true;\n composingRef.current = false;\n onCompositionEndProp == null ? void 0 : onCompositionEndProp(event);\n if (event.defaultPrevented)\n return;\n if (!autoSelect)\n return;\n forceValueUpdate();\n });\n const onMouseDownProp = props.onMouseDown;\n const blurActiveItemOnClickProp = useBooleanEvent(\n blurActiveItemOnClick != null ? blurActiveItemOnClick : () => !!(store == null ? void 0 : store.getState().includesBaseElement)\n );\n const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n const showOnClickProp = useBooleanEvent(showOnClick);\n const onMouseDown = useEvent((event) => {\n onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n if (event.defaultPrevented)\n return;\n if (event.button)\n return;\n if (event.ctrlKey)\n return;\n if (!store)\n return;\n if (blurActiveItemOnClickProp(event)) {\n store.setActiveId(null);\n }\n if (setValueOnClickProp(event)) {\n store.setValue(value);\n }\n if (showOnClickProp(event)) {\n queueBeforeEvent(event.currentTarget, \"mouseup\", store.show);\n }\n });\n const onKeyDownProp = props.onKeyDown;\n const showOnKeyPressProp = useBooleanEvent(showOnKeyPress);\n const onKeyDown = useEvent((event) => {\n onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n if (!event.repeat) {\n canAutoSelectRef.current = false;\n }\n if (event.defaultPrevented)\n return;\n if (event.ctrlKey)\n return;\n if (event.altKey)\n return;\n if (event.shiftKey)\n return;\n if (event.metaKey)\n return;\n if (!store)\n return;\n const { open: open2, activeId } = store.getState();\n if (open2)\n return;\n if (activeId !== null)\n return;\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n if (showOnKeyPressProp(event)) {\n event.preventDefault();\n store.show();\n }\n }\n });\n const onBlurProp = props.onBlur;\n const onBlur = useEvent((event) => {\n canAutoSelectRef.current = false;\n onBlurProp == null ? void 0 : onBlurProp(event);\n if (event.defaultPrevented)\n return;\n });\n const id = useId(props.id);\n const ariaAutoComplete = isAriaAutoCompleteValue(autoComplete) ? autoComplete : void 0;\n const isActiveItem = store.useState((state) => state.activeId === null);\n props = __spreadProps(__spreadValues({\n id,\n role: \"combobox\",\n \"aria-autocomplete\": ariaAutoComplete,\n \"aria-haspopup\": getPopupRole(contentElement, \"listbox\"),\n \"aria-expanded\": open,\n \"aria-controls\": contentElement == null ? void 0 : contentElement.id,\n \"data-active-item\": isActiveItem || void 0,\n value\n }, props), {\n ref: useMergeRefs(ref, props.ref),\n onChange,\n onCompositionEnd,\n onMouseDown,\n onKeyDown,\n onBlur\n });\n props = useComposite(__spreadProps(__spreadValues({\n store,\n focusable\n }, props), {\n // Enable inline autocomplete when the user moves from the combobox input\n // to an item.\n moveOnKeyPress: (event) => {\n if (isFalsyBooleanCallback(moveOnKeyPress, event))\n return false;\n if (inline)\n setCanInline(true);\n return true;\n }\n }));\n props = usePopoverAnchor(__spreadValues({ store }, props));\n return __spreadValues({ autoComplete: \"off\" }, props);\n }\n);\nvar Combobox = forwardRef(function Combobox2(props) {\n const htmlProps = useCombobox(props);\n return createElement(TagName, htmlProps);\n});\nexport {\n Combobox,\n useCombobox\n};\n","\"use client\";\nimport {\n GroupLabelContext\n} from \"./3X3MDQGM.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useId,\n useSafeLayoutEffect\n} from \"./6O5OEQGF.js\";\nimport {\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/group/group-label.ts\nimport { useContext } from \"react\";\nimport { removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nvar TagName = \"div\";\nvar useGroupLabel = createHook(\n function useGroupLabel2(props) {\n const setLabelId = useContext(GroupLabelContext);\n const id = useId(props.id);\n useSafeLayoutEffect(() => {\n setLabelId == null ? void 0 : setLabelId(id);\n return () => setLabelId == null ? void 0 : setLabelId(void 0);\n }, [setLabelId, id]);\n props = __spreadValues({\n id,\n \"aria-hidden\": true\n }, props);\n return removeUndefinedValues(props);\n }\n);\nvar GroupLabel = forwardRef(function GroupLabel2(props) {\n const htmlProps = useGroupLabel(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useGroupLabel,\n GroupLabel\n};\n","\"use client\";\nimport {\n useGroupLabel\n} from \"./TH2YTBRW.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __objRest\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-group-label.ts\nvar TagName = \"div\";\nvar useCompositeGroupLabel = createHook(function useCompositeGroupLabel2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n props = useGroupLabel(props);\n return props;\n});\nvar CompositeGroupLabel = forwardRef(function CompositeGroupLabel2(props) {\n const htmlProps = useCompositeGroupLabel(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCompositeGroupLabel,\n CompositeGroupLabel\n};\n","\"use client\";\nimport {\n useCompositeGroupLabel\n} from \"../__chunks/ED7XMMMU.js\";\nimport \"../__chunks/TH2YTBRW.js\";\nimport \"../__chunks/3X3MDQGM.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-group-label.ts\nvar TagName = \"div\";\nvar useSelectGroupLabel = createHook(\n function useSelectGroupLabel2(props) {\n props = useCompositeGroupLabel(props);\n return props;\n }\n);\nvar SelectGroupLabel = forwardRef(function SelectGroupLabel2(props) {\n const htmlProps = useSelectGroupLabel(props);\n return createElement(TagName, htmlProps);\n});\nexport {\n SelectGroupLabel,\n useSelectGroupLabel\n};\n","\"use client\";\nimport {\n GroupLabelContext\n} from \"./3X3MDQGM.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/group/group.tsx\nimport { useState } from \"react\";\nimport { removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nvar useGroup = createHook(\n function useGroup2(props) {\n const [labelId, setLabelId] = useState();\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(GroupLabelContext.Provider, { value: setLabelId, children: element }),\n []\n );\n props = __spreadValues({\n role: \"group\",\n \"aria-labelledby\": labelId\n }, props);\n return removeUndefinedValues(props);\n }\n);\nvar Group = forwardRef(function Group2(props) {\n const htmlProps = useGroup(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useGroup,\n Group\n};\n","\"use client\";\nimport {\n useGroup\n} from \"./CWDOOAGR.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __objRest\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-group.ts\nvar TagName = \"div\";\nvar useCompositeGroup = createHook(\n function useCompositeGroup2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n props = useGroup(props);\n return props;\n }\n);\nvar CompositeGroup = forwardRef(function CompositeGroup2(props) {\n const htmlProps = useCompositeGroup(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCompositeGroup,\n CompositeGroup\n};\n","\"use client\";\nimport {\n useCompositeGroup\n} from \"../__chunks/ZO6PSJHJ.js\";\nimport \"../__chunks/CWDOOAGR.js\";\nimport \"../__chunks/3X3MDQGM.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-group.ts\nvar TagName = \"div\";\nvar useSelectGroup = createHook(\n function useSelectGroup2(props) {\n props = useCompositeGroup(props);\n return props;\n }\n);\nvar SelectGroup = forwardRef(function SelectGroup2(props) {\n const htmlProps = useSelectGroup(props);\n return createElement(TagName, htmlProps);\n});\nexport {\n SelectGroup,\n useSelectGroup\n};\n","\"use client\";\nimport {\n useCompositeHover\n} from \"../__chunks/WL6TTPTB.js\";\nimport {\n SelectItemCheckedContext,\n useSelectScopedContext\n} from \"../__chunks/TKSBJDO3.js\";\nimport {\n useCompositeItem\n} from \"../__chunks/C6OBNQ4F.js\";\nimport \"../__chunks/KSZPJCUA.js\";\nimport \"../__chunks/7YKLTEOQ.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/WAZE6NXP.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n createElement,\n createHook,\n forwardRef,\n memo\n} from \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useId,\n useWrapElement\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-item.tsx\nimport { useCallback } from \"react\";\nimport { getPopupItemRole } from \"@ariakit/core/utils/dom\";\nimport { isDownloading, isOpeningInNewTab } from \"@ariakit/core/utils/events\";\nimport { disabledFromProps, invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nfunction isSelected(storeValue, itemValue) {\n if (itemValue == null)\n return;\n if (storeValue == null)\n return false;\n if (Array.isArray(storeValue)) {\n return storeValue.includes(itemValue);\n }\n return storeValue === itemValue;\n}\nvar useSelectItem = createHook(\n function useSelectItem2(_a) {\n var _b = _a, {\n store,\n value,\n getItem: getItemProp,\n hideOnClick,\n setValueOnClick = value != null,\n preventScrollOnKeyDown = true,\n focusOnHover = true\n } = _b, props = __objRest(_b, [\n \"store\",\n \"value\",\n \"getItem\",\n \"hideOnClick\",\n \"setValueOnClick\",\n \"preventScrollOnKeyDown\",\n \"focusOnHover\"\n ]);\n var _a2;\n const context = useSelectScopedContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"SelectItem must be wrapped in a SelectList or SelectPopover component.\"\n );\n const id = useId(props.id);\n const disabled = disabledFromProps(props);\n const getItem = useCallback(\n (item) => {\n const nextItem = __spreadProps(__spreadValues({}, item), {\n value: disabled ? void 0 : value,\n children: value\n });\n if (getItemProp) {\n return getItemProp(nextItem);\n }\n return nextItem;\n },\n [disabled, value, getItemProp]\n );\n const multiSelectable = store.useState(\n (state) => Array.isArray(state.value)\n );\n hideOnClick = hideOnClick != null ? hideOnClick : value != null && !multiSelectable;\n const onClickProp = props.onClick;\n const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n const hideOnClickProp = useBooleanEvent(hideOnClick);\n const onClick = useEvent((event) => {\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented)\n return;\n if (isDownloading(event))\n return;\n if (isOpeningInNewTab(event))\n return;\n if (setValueOnClickProp(event) && value != null) {\n store == null ? void 0 : store.setValue((prevValue) => {\n if (!Array.isArray(prevValue))\n return value;\n if (prevValue.includes(value)) {\n return prevValue.filter((v) => v !== value);\n }\n return [...prevValue, value];\n });\n }\n if (hideOnClickProp(event)) {\n store == null ? void 0 : store.hide();\n }\n });\n const selected = store.useState((state) => isSelected(state.value, value));\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(SelectItemCheckedContext.Provider, { value: selected != null ? selected : false, children: element }),\n [selected]\n );\n const contentElement = store.useState(\"contentElement\");\n const autoFocus = store.useState((state) => {\n if (state.activeId !== id && (store == null ? void 0 : store.item(state.activeId)))\n return false;\n if (state.value == null)\n return false;\n if (value == null)\n return false;\n if (Array.isArray(state.value)) {\n return state.value[state.value.length - 1] === value;\n }\n return state.value === value;\n });\n props = __spreadProps(__spreadValues({\n id,\n role: getPopupItemRole(contentElement),\n \"aria-selected\": selected,\n children: value\n }, props), {\n autoFocus: (_a2 = props.autoFocus) != null ? _a2 : autoFocus,\n onClick\n });\n props = useCompositeItem(__spreadValues({\n store,\n getItem,\n preventScrollOnKeyDown\n }, props));\n const focusOnHoverProp = useBooleanEvent(focusOnHover);\n props = useCompositeHover(__spreadProps(__spreadValues({\n store\n }, props), {\n // We have to disable focusOnHover when the popup is closed, otherwise\n // the active item will change to null (the container) when the popup is\n // closed by clicking on an item.\n focusOnHover(event) {\n if (!focusOnHoverProp(event))\n return false;\n const state = store == null ? void 0 : store.getState();\n return !!(state == null ? void 0 : state.open);\n }\n }));\n return props;\n }\n);\nvar SelectItem = memo(\n forwardRef(function SelectItem2(props) {\n const htmlProps = useSelectItem(props);\n return createElement(TagName, htmlProps);\n })\n);\nexport {\n SelectItem,\n useSelectItem\n};\n","\"use client\";\nimport {\n useSelectProviderContext\n} from \"../__chunks/TKSBJDO3.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport {\n createElement,\n createHook,\n forwardRef,\n memo\n} from \"../__chunks/5M6RSQEC.js\";\nimport {\n useEvent,\n useId,\n useMergeRefs\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-label.ts\nimport { invariant, removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nvar TagName = \"div\";\nvar useSelectLabel = createHook(\n function useSelectLabel2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n const context = useSelectProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"SelectLabel must receive a `store` prop or be wrapped in a SelectProvider component.\"\n );\n const id = useId(props.id);\n const onClickProp = props.onClick;\n const onClick = useEvent((event) => {\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented)\n return;\n queueMicrotask(() => {\n const select = store == null ? void 0 : store.getState().selectElement;\n select == null ? void 0 : select.focus();\n select == null ? void 0 : select.click();\n });\n });\n props = __spreadProps(__spreadValues({\n id\n }, props), {\n ref: useMergeRefs(store.setLabelElement, props.ref),\n onClick,\n style: __spreadValues({\n cursor: \"default\"\n }, props.style)\n });\n return removeUndefinedValues(props);\n }\n);\nvar SelectLabel = memo(\n forwardRef(function SelectLabel2(props) {\n const htmlProps = useSelectLabel(props);\n return createElement(TagName, htmlProps);\n })\n);\nexport {\n SelectLabel,\n useSelectLabel\n};\n","\"use client\";\nimport {\n useCompositeTypeahead\n} from \"./DMSZFK7W.js\";\nimport {\n SelectScopedContextProvider,\n useSelectProviderContext\n} from \"./TKSBJDO3.js\";\nimport {\n useComposite\n} from \"./FTNKYK65.js\";\nimport {\n isHidden\n} from \"./RQZGFHI2.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useAttribute,\n useBooleanEvent,\n useEvent,\n useId,\n useMergeRefs,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/select/select-list.tsx\nimport { useEffect, useRef, useState } from \"react\";\nimport { isSelfTarget } from \"@ariakit/core/utils/events\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nvar useSelectList = createHook(\n function useSelectList2(_a) {\n var _b = _a, {\n store,\n resetOnEscape = true,\n hideOnEnter = true,\n focusOnMove = true,\n composite,\n alwaysVisible\n } = _b, props = __objRest(_b, [\n \"store\",\n \"resetOnEscape\",\n \"hideOnEnter\",\n \"focusOnMove\",\n \"composite\",\n \"alwaysVisible\"\n ]);\n const context = useSelectProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"SelectList must receive a `store` prop or be wrapped in a SelectProvider component.\"\n );\n const ref = useRef(null);\n const id = useId(props.id);\n const value = store.useState(\"value\");\n const multiSelectable = Array.isArray(value);\n const [defaultValue, setDefaultValue] = useState(value);\n const mounted = store.useState(\"mounted\");\n useEffect(() => {\n if (mounted)\n return;\n setDefaultValue(value);\n }, [mounted, value]);\n resetOnEscape = resetOnEscape && !multiSelectable;\n const onKeyDownProp = props.onKeyDown;\n const resetOnEscapeProp = useBooleanEvent(resetOnEscape);\n const hideOnEnterProp = useBooleanEvent(hideOnEnter);\n const onKeyDown = useEvent((event) => {\n onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n if (event.defaultPrevented)\n return;\n if (event.key === \"Escape\" && resetOnEscapeProp(event)) {\n store == null ? void 0 : store.setValue(defaultValue);\n }\n if (event.key === \" \" || event.key === \"Enter\") {\n if (isSelfTarget(event) && hideOnEnterProp(event)) {\n event.preventDefault();\n store == null ? void 0 : store.hide();\n }\n }\n });\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(SelectScopedContextProvider, { value: store, children: element }),\n [store]\n );\n const labelId = store.useState((state) => {\n var _a2;\n return (_a2 = state.labelElement) == null ? void 0 : _a2.id;\n });\n const hasCombobox = !!store.combobox;\n composite = composite != null ? composite : !hasCombobox;\n if (composite) {\n props = __spreadValues({ role: \"listbox\" }, props);\n }\n const role = useAttribute(ref, \"role\", props.role);\n const isCompositeRole = role === \"listbox\" || role === \"menu\" || role === \"tree\" || role === \"grid\";\n const ariaMultiSelectable = composite || isCompositeRole ? multiSelectable || void 0 : void 0;\n const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n const style = hidden ? __spreadProps(__spreadValues({}, props.style), { display: \"none\" }) : props.style;\n props = __spreadProps(__spreadValues({\n id,\n \"aria-labelledby\": labelId,\n \"aria-multiselectable\": ariaMultiSelectable,\n hidden\n }, props), {\n ref: useMergeRefs(id ? store.setContentElement : null, ref, props.ref),\n style,\n onKeyDown\n });\n props = useComposite(__spreadProps(__spreadValues({ store }, props), { composite }));\n props = useCompositeTypeahead(__spreadValues({ store, typeahead: !hasCombobox }, props));\n return props;\n }\n);\nvar SelectList = forwardRef(function SelectList2(props) {\n const htmlProps = useSelectList(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useSelectList,\n SelectList\n};\n","\"use client\";\nimport {\n useSelectList\n} from \"../__chunks/PDRDZB4I.js\";\nimport \"../__chunks/DMSZFK7W.js\";\nimport {\n useSelectProviderContext\n} from \"../__chunks/TKSBJDO3.js\";\nimport \"../__chunks/FTNKYK65.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport {\n usePopover\n} from \"../__chunks/BYD75WXE.js\";\nimport {\n createDialogComponent\n} from \"../__chunks/KXSO5EFT.js\";\nimport \"../__chunks/3N4FFVWW.js\";\nimport \"../__chunks/NOYDL3YS.js\";\nimport \"../__chunks/BULCTPRV.js\";\nimport \"../__chunks/6BJGLK2C.js\";\nimport \"../__chunks/CS347UVZ.js\";\nimport \"../__chunks/IUB2BTEK.js\";\nimport \"../__chunks/XHJGS6Z5.js\";\nimport \"../__chunks/TL67WVI6.js\";\nimport \"../__chunks/MKDDWKFK.js\";\nimport \"../__chunks/72E5EPFF.js\";\nimport \"../__chunks/OOBDFMJL.js\";\nimport \"../__chunks/X6WIMZJE.js\";\nimport \"../__chunks/677M2CI3.js\";\nimport \"../__chunks/6GXEOXGT.js\";\nimport \"../__chunks/WCIYB4YS.js\";\nimport \"../__chunks/UYRJLDVS.js\";\nimport \"../__chunks/CK3UW3AQ.js\";\nimport \"../__chunks/WKWX2XLD.js\";\nimport \"../__chunks/7452U3HH.js\";\nimport \"../__chunks/XPF5GU3Q.js\";\nimport \"../__chunks/CBTO7DFZ.js\";\nimport \"../__chunks/RQZGFHI2.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/WAZE6NXP.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport \"../__chunks/IFT5JEUU.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/I62TROYO.js\";\nimport \"../__chunks/HZJ2XALY.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-popover.ts\nvar TagName = \"div\";\nvar useSelectPopover = createHook(\n function useSelectPopover2(_a) {\n var _b = _a, { store, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"alwaysVisible\"]);\n const context = useSelectProviderContext();\n store = store || context;\n props = useSelectList(__spreadValues({ store, alwaysVisible }, props));\n props = usePopover(__spreadValues({ store, alwaysVisible }, props));\n return props;\n }\n);\nvar SelectPopover = createDialogComponent(\n forwardRef(function SelectPopover2(props) {\n const htmlProps = useSelectPopover(props);\n return createElement(TagName, htmlProps);\n }),\n useSelectProviderContext\n);\nexport {\n SelectPopover,\n useSelectPopover\n};\n","\"use client\";\nimport {\n createPopoverStore\n} from \"../__chunks/MFZZDIHG.js\";\nimport \"../__chunks/5RJNXXU2.js\";\nimport \"../__chunks/WCKXDMU7.js\";\nimport {\n createCompositeStore\n} from \"../__chunks/2H5K47H4.js\";\nimport \"../__chunks/URUD7X4C.js\";\nimport {\n batch,\n createStore,\n mergeStore,\n omit,\n setup,\n sync,\n throwOnConflictingProps\n} from \"../__chunks/R676XYVY.js\";\nimport {\n defaultValue\n} from \"../__chunks/22HHDS5F.js\";\nimport \"../__chunks/RRSZHCH6.js\";\nimport {\n toArray\n} from \"../__chunks/7PRQYBBV.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-store.ts\nfunction createSelectStore(_a = {}) {\n var _b = _a, {\n combobox\n } = _b, props = __objRest(_b, [\n \"combobox\"\n ]);\n const store = mergeStore(\n props.store,\n omit(combobox, [\n \"value\",\n \"items\",\n \"renderedItems\",\n \"baseElement\",\n \"arrowElement\",\n \"anchorElement\",\n \"contentElement\",\n \"popoverElement\",\n \"disclosureElement\"\n ])\n );\n throwOnConflictingProps(props, store);\n const syncState = store.getState();\n const composite = createCompositeStore(__spreadProps(__spreadValues({}, props), {\n store,\n virtualFocus: defaultValue(\n props.virtualFocus,\n syncState.virtualFocus,\n true\n ),\n includesBaseElement: defaultValue(\n props.includesBaseElement,\n syncState.includesBaseElement,\n false\n ),\n activeId: defaultValue(\n props.activeId,\n syncState.activeId,\n props.defaultActiveId,\n null\n ),\n orientation: defaultValue(\n props.orientation,\n syncState.orientation,\n \"vertical\"\n )\n }));\n const popover = createPopoverStore(__spreadProps(__spreadValues({}, props), {\n store,\n placement: defaultValue(\n props.placement,\n syncState.placement,\n \"bottom-start\"\n )\n }));\n const initialValue = new String(\"\");\n const initialState = __spreadProps(__spreadValues(__spreadValues({}, composite.getState()), popover.getState()), {\n value: defaultValue(\n props.value,\n syncState.value,\n props.defaultValue,\n initialValue\n ),\n setValueOnMove: defaultValue(\n props.setValueOnMove,\n syncState.setValueOnMove,\n false\n ),\n selectElement: defaultValue(syncState.selectElement, null),\n labelElement: defaultValue(syncState.labelElement, null)\n });\n const select = createStore(initialState, composite, popover, store);\n setup(\n select,\n () => sync(select, [\"value\", \"items\"], (state) => {\n if (state.value !== initialValue)\n return;\n if (!state.items.length)\n return;\n const item = state.items.find(\n (item2) => !item2.disabled && item2.value != null\n );\n if ((item == null ? void 0 : item.value) == null)\n return;\n select.setState(\"value\", item.value);\n })\n );\n setup(\n select,\n () => sync(select, [\"mounted\", \"items\", \"value\"], (state) => {\n if (combobox)\n return;\n if (state.mounted)\n return;\n const values = toArray(state.value);\n const lastValue = values[values.length - 1];\n if (lastValue == null)\n return;\n const item = state.items.find(\n (item2) => !item2.disabled && item2.value === lastValue\n );\n if (!item)\n return;\n select.setState(\"activeId\", item.id);\n })\n );\n setup(\n select,\n () => batch(select, [\"setValueOnMove\", \"moves\"], (state) => {\n const { mounted, value, activeId } = select.getState();\n if (!state.setValueOnMove && mounted)\n return;\n if (Array.isArray(value))\n return;\n if (!state.moves)\n return;\n if (!activeId)\n return;\n const item = composite.item(activeId);\n if (!item || item.disabled || item.value == null)\n return;\n select.setState(\"value\", item.value);\n })\n );\n return __spreadProps(__spreadValues(__spreadValues(__spreadValues({}, composite), popover), select), {\n combobox,\n setValue: (value) => select.setState(\"value\", value),\n setSelectElement: (element) => select.setState(\"selectElement\", element),\n setLabelElement: (element) => select.setState(\"labelElement\", element)\n });\n}\nexport {\n createSelectStore\n};\n","\"use client\";\nimport {\n useComboboxProviderContext\n} from \"./UNDSQXBK.js\";\nimport {\n useCompositeStoreProps\n} from \"./7GBW5FLS.js\";\nimport {\n usePopoverStoreProps\n} from \"./XWCFCD3Q.js\";\nimport {\n useStore,\n useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n useUpdateEffect\n} from \"./6O5OEQGF.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/select/select-store.ts\nimport * as Core from \"@ariakit/core/select/select-store\";\nfunction useSelectStoreProps(store, update, props) {\n useUpdateEffect(update, [props.combobox]);\n useStoreProps(store, props, \"value\", \"setValue\");\n useStoreProps(store, props, \"setValueOnMove\");\n return Object.assign(\n usePopoverStoreProps(\n useCompositeStoreProps(store, update, props),\n update,\n props\n ),\n { combobox: props.combobox }\n );\n}\nfunction useSelectStore(props = {}) {\n const combobox = useComboboxProviderContext();\n props = __spreadProps(__spreadValues({}, props), {\n combobox: props.combobox !== void 0 ? props.combobox : combobox\n });\n const [store, update] = useStore(Core.createSelectStore, props);\n return useSelectStoreProps(store, update, props);\n}\n\nexport {\n useSelectStoreProps,\n useSelectStore\n};\n","\"use client\";\nimport {\n useSelectStore\n} from \"../__chunks/SVBVYDIK.js\";\nimport \"../__chunks/UNDSQXBK.js\";\nimport {\n SelectContextProvider\n} from \"../__chunks/TKSBJDO3.js\";\nimport \"../__chunks/7GBW5FLS.js\";\nimport \"../__chunks/Y6GYTNQ2.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/5M6RSQEC.js\";\nimport \"../__chunks/XWCFCD3Q.js\";\nimport \"../__chunks/I62TROYO.js\";\nimport \"../__chunks/HZJ2XALY.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-provider.tsx\nimport { jsx } from \"react/jsx-runtime\";\nfunction SelectProvider(props = {}) {\n const store = useSelectStore(props);\n return /* @__PURE__ */ jsx(SelectContextProvider, { value: store, children: props.children });\n}\nexport {\n SelectProvider\n};\n","\"use client\";\nimport {\n useCollectionContext\n} from \"./MADQZZRL.js\";\nimport {\n createElement,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useForceUpdate,\n useId,\n useMergeRefs,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-renderer.tsx\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} from \"react\";\nimport { getScrollingElement, getWindow } from \"@ariakit/core/utils/dom\";\nimport { invariant, shallowEqual } from \"@ariakit/core/utils/misc\";\nimport { flushSync } from \"react-dom\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nvar CollectionRendererContext = createContext(null);\nfunction createTask() {\n let raf = 0;\n const run = (cb) => {\n if (raf)\n return;\n raf = requestAnimationFrame(() => {\n raf = 0;\n cb();\n });\n };\n const cancel = () => {\n cancelAnimationFrame(raf);\n raf = 0;\n };\n return { run, cancel };\n}\nfunction findNearestIndex(items, target, getValue) {\n let left = 0;\n let right = getItemsLength(items) - 1;\n while (left <= right) {\n const index = (left + right) / 2 | 0;\n const value = getValue(index);\n if (value === target)\n return index;\n else if (value < target)\n left = index + 1;\n else\n right = index - 1;\n }\n if (left > 0)\n return left - 1;\n return 0;\n}\nfunction getItemsLength(items) {\n return typeof items === \"number\" ? items : items.length;\n}\nfunction getItemObject(item) {\n if (!item || typeof item !== \"object\") {\n return { value: item };\n }\n return item;\n}\nfunction getItemId(item, index, baseId) {\n var _a;\n invariant(baseId, \"CollectionRenderer must be given an `id` prop.\");\n const defaultId = `${baseId}/${index}`;\n return (_a = getItemObject(item).id) != null ? _a : defaultId;\n}\nfunction getItem(items, index) {\n if (typeof items === \"number\") {\n if (index >= items)\n return null;\n return {};\n }\n const item = items[index];\n if (!item)\n return null;\n if (typeof item === \"object\")\n return item;\n return { value: item };\n}\nfunction getItemSize(item, horizontal, fallbackElement) {\n var _a, _b, _c, _d, _e;\n const itemObject = getItemObject(item);\n horizontal = itemObject.orientation === \"horizontal\";\n const prop = horizontal ? \"width\" : \"height\";\n const style = itemObject.style;\n if (style) {\n const size = style[prop];\n if (typeof size === \"number\")\n return size;\n }\n const items = itemObject.items;\n if (items == null ? void 0 : items.length) {\n const hasSameOrientation = !itemObject.orientation || horizontal && itemObject.orientation === \"horizontal\" || !horizontal && itemObject.orientation === \"vertical\";\n const paddingStart = (_b = (_a = itemObject.paddingStart) != null ? _a : itemObject.padding) != null ? _b : 0;\n const paddingEnd = (_d = (_c = itemObject.paddingEnd) != null ? _c : itemObject.padding) != null ? _d : 0;\n const padding = hasSameOrientation ? paddingStart + paddingEnd : 0;\n const initialSize = ((_e = itemObject.gap) != null ? _e : 0) * (items.length - 1) + padding;\n if (hasSameOrientation && itemObject.itemSize) {\n return initialSize + itemObject.itemSize * items.length;\n }\n const totalSize = items.reduce(\n (sum, item2) => sum + getItemSize(item2, horizontal),\n initialSize\n );\n if (totalSize !== initialSize)\n return totalSize;\n }\n const element = fallbackElement !== false ? itemObject.element || fallbackElement : null;\n if (element == null ? void 0 : element.isConnected) {\n return element.getBoundingClientRect()[prop];\n }\n return 0;\n}\nfunction getAverageSize(props) {\n const length = getItemsLength(props.items);\n let currentIndex = 0;\n let averageSize = props.estimatedItemSize;\n const setAverageSize = (size) => {\n const prevIndex = currentIndex;\n currentIndex = currentIndex + 1;\n averageSize = (averageSize * prevIndex + size) / currentIndex;\n };\n for (let index = 0; index < length; index += 1) {\n const item = getItem(props.items, index);\n const itemId = getItemId(item, index, props.baseId);\n const itemData = props.data.get(itemId);\n const fallbackElement = props.elements.get(itemId);\n const size = getItemSize(item, props.horizontal, fallbackElement);\n if (size) {\n setAverageSize(size);\n } else if (itemData == null ? void 0 : itemData.rendered) {\n setAverageSize(itemData.end - itemData.start);\n }\n }\n return averageSize;\n}\nfunction getScrollOffset(scroller, horizontal) {\n if (\"scrollX\" in scroller) {\n return horizontal ? scroller.scrollX : scroller.scrollY;\n }\n return horizontal ? scroller.scrollLeft : scroller.scrollTop;\n}\nfunction getViewport(scroller) {\n const { defaultView, documentElement } = scroller.ownerDocument;\n if (scroller === documentElement)\n return defaultView;\n return scroller;\n}\nfunction useScroller(rendererRef) {\n const [scroller, setScroller] = useState(null);\n useEffect(() => {\n const renderer = rendererRef == null ? void 0 : rendererRef.current;\n if (!renderer)\n return;\n const scroller2 = getScrollingElement(renderer);\n if (!scroller2)\n return;\n setScroller(scroller2);\n }, [rendererRef]);\n return scroller;\n}\nfunction getRendererOffset(renderer, scroller, horizontal) {\n const win = getWindow(renderer);\n const htmlElement = win == null ? void 0 : win.document.documentElement;\n const rendererRect = renderer.getBoundingClientRect();\n const rendererOffset = horizontal ? rendererRect.left : rendererRect.top;\n if (scroller === htmlElement) {\n const scrollOffset2 = getScrollOffset(win, horizontal);\n return scrollOffset2 + rendererOffset;\n }\n const scrollerRect = scroller.getBoundingClientRect();\n const scrollerOffset = horizontal ? scrollerRect.left : scrollerRect.top;\n const scrollOffset = getScrollOffset(scroller, horizontal);\n return rendererOffset - scrollerOffset + scrollOffset;\n}\nfunction getOffsets(renderer, scroller, horizontal) {\n const scrollOffset = getScrollOffset(scroller, horizontal);\n const rendererOffset = getRendererOffset(renderer, scroller, horizontal);\n const scrollSize = horizontal ? scroller.clientWidth : scroller.clientHeight;\n const start = scrollOffset - rendererOffset;\n const end = start + scrollSize;\n return { start, end };\n}\nfunction getItemsEnd(props) {\n const length = getItemsLength(props.items);\n const totalPadding = props.paddingStart + props.paddingEnd;\n if (!length)\n return totalPadding;\n const lastIndex = length - 1;\n const totalGap = lastIndex * props.gap;\n if (props.itemSize != null) {\n return length * props.itemSize + totalGap + totalPadding;\n }\n const defaultEnd = length * props.estimatedItemSize + totalGap + totalPadding;\n if (!props.baseId)\n return defaultEnd;\n const lastItem = getItem(props.items, lastIndex);\n const lastItemId = getItemId(lastItem, lastIndex, props.baseId);\n const lastItemData = props.data.get(lastItemId);\n if (lastItemData == null ? void 0 : lastItemData.end)\n return lastItemData.end + props.paddingEnd;\n if (!Array.isArray(props.items))\n return defaultEnd;\n const end = props.items.reduce(\n (sum, item) => sum + getItemSize(item, props.horizontal, false),\n 0\n );\n if (!end)\n return defaultEnd;\n return end + totalGap + totalPadding;\n}\nfunction getData(props) {\n var _a;\n const length = getItemsLength(props.items);\n let nextData;\n let start = props.paddingStart;\n const avgSize = getAverageSize(props);\n for (let index = 0; index < length; index += 1) {\n const item = getItem(props.items, index);\n const itemId = getItemId(item, index, props.baseId);\n const itemData = props.data.get(itemId);\n const prevRendered = (_a = itemData == null ? void 0 : itemData.rendered) != null ? _a : false;\n const setSize = (size2, rendered = prevRendered) => {\n start = start ? start + props.gap : start;\n const end = start + size2;\n const nextItemData = { index, rendered, start, end };\n if (!shallowEqual(itemData, nextItemData)) {\n if (!nextData) {\n nextData = new Map(props.data);\n }\n nextData.set(itemId, { index, rendered, start, end });\n }\n start = end;\n };\n const size = getItemSize(\n item,\n props.horizontal,\n props.elements.get(itemId)\n );\n if (size) {\n setSize(size, true);\n } else if (itemData == null ? void 0 : itemData.rendered) {\n setSize(itemData.end - itemData.start, true);\n } else {\n setSize(avgSize);\n }\n }\n return nextData;\n}\nfunction useCollectionRenderer(_a) {\n var _b = _a, {\n store,\n items: itemsProp,\n initialItems = 0,\n gap = 0,\n itemSize,\n estimatedItemSize = 40,\n overscan: overscanProp,\n orientation: orientationProp,\n padding = 0,\n paddingStart = padding,\n paddingEnd = padding,\n persistentIndices,\n renderOnScroll = true,\n renderOnResize = !!renderOnScroll,\n children: renderItem\n } = _b, props = __objRest(_b, [\n \"store\",\n \"items\",\n \"initialItems\",\n \"gap\",\n \"itemSize\",\n \"estimatedItemSize\",\n \"overscan\",\n \"orientation\",\n \"padding\",\n \"paddingStart\",\n \"paddingEnd\",\n \"persistentIndices\",\n \"renderOnScroll\",\n \"renderOnResize\",\n \"children\"\n ]);\n var _a2, _b2;\n const context = useCollectionContext();\n store = store || context;\n const items = useStoreState(\n store,\n (state) => itemsProp != null ? itemsProp : state == null ? void 0 : state.items\n );\n invariant(\n items != null,\n process.env.NODE_ENV !== \"production\" && \"CollectionRenderer must be either wrapped in a Collection component or be given an `items` prop.\"\n );\n let parent = useContext(CollectionRendererContext);\n if (store && (parent == null ? void 0 : parent.store) !== store) {\n parent = null;\n }\n const parentData = parent == null ? void 0 : parent.childrenData;\n const orientation = (_a2 = orientationProp != null ? orientationProp : parent == null ? void 0 : parent.orientation) != null ? _a2 : \"vertical\";\n const overscan = (_b2 = overscanProp != null ? overscanProp : parent == null ? void 0 : parent.overscan) != null ? _b2 : 1;\n const ref = useRef(null);\n const baseId = useId(props.id);\n const horizontal = orientation === \"horizontal\";\n const elements = useMemo(() => /* @__PURE__ */ new Map(), []);\n const [elementsUpdated, updateElements] = useForceUpdate();\n const [defaultVisibleIndices, setVisibleIndices] = useState(() => {\n if (!initialItems)\n return [];\n const length = getItemsLength(items);\n const initialLength = Math.min(length, Math.abs(initialItems));\n return Array.from({ length: initialLength }, (_, index) => {\n if (initialItems < 0)\n return length - index - 1;\n return index;\n });\n });\n const visibleIndices = useMemo(() => {\n if (!persistentIndices)\n return defaultVisibleIndices;\n const nextIndices = defaultVisibleIndices.slice();\n persistentIndices.forEach((index) => {\n if (index < 0)\n return;\n if (nextIndices.includes(index))\n return;\n nextIndices.push(index);\n });\n nextIndices.sort((a, b) => a - b);\n if (shallowEqual(defaultVisibleIndices, nextIndices)) {\n return defaultVisibleIndices;\n }\n return nextIndices;\n }, [defaultVisibleIndices, persistentIndices]);\n const [data, setData] = useState(() => {\n if (!baseId)\n return /* @__PURE__ */ new Map();\n const data2 = (parentData == null ? void 0 : parentData.get(baseId)) || /* @__PURE__ */ new Map();\n if (itemSize != null)\n return data2;\n if (!items)\n return data2;\n const nextData = getData({\n baseId,\n items,\n data: data2,\n gap,\n elements,\n horizontal,\n paddingStart,\n itemSize,\n estimatedItemSize\n });\n return nextData || data2;\n });\n const totalSize = useMemo(() => {\n return getItemsEnd({\n baseId,\n items,\n data,\n gap,\n horizontal,\n itemSize,\n estimatedItemSize,\n paddingStart,\n paddingEnd\n });\n }, [\n baseId,\n items,\n data,\n gap,\n horizontal,\n itemSize,\n estimatedItemSize,\n paddingStart,\n paddingEnd\n ]);\n useEffect(() => {\n if (!baseId)\n return;\n parentData == null ? void 0 : parentData.set(baseId, data);\n }, [baseId, parentData, data]);\n useEffect(() => {\n if (itemSize != null)\n return;\n if (!baseId)\n return;\n if (!items)\n return;\n const nextData = getData({\n baseId,\n items,\n data,\n gap,\n elements,\n horizontal,\n paddingStart,\n itemSize,\n estimatedItemSize\n });\n if (nextData) {\n setData(nextData);\n }\n }, [\n elementsUpdated,\n itemSize,\n baseId,\n items,\n data,\n gap,\n elements,\n horizontal,\n paddingStart,\n estimatedItemSize\n ]);\n const scroller = useScroller(items ? ref : null);\n const offsetsRef = useRef({ start: 0, end: 0 });\n const processVisibleIndices = useCallback(() => {\n const offsets = offsetsRef.current;\n if (!items)\n return;\n if (!baseId)\n return;\n if (!offsets.end)\n return;\n if (!data.size && !itemSize)\n return;\n const length = getItemsLength(items);\n const getItemOffset = (index, prop = \"start\") => {\n var _a3;\n if (itemSize) {\n const start2 = itemSize * index + gap * index + paddingStart;\n if (prop === \"start\")\n return start2;\n return start2 + itemSize;\n }\n const item = getItem(items, index);\n const itemId = getItemId(item, index, baseId);\n const itemData = data.get(itemId);\n return (_a3 = itemData == null ? void 0 : itemData[prop]) != null ? _a3 : 0;\n };\n const initialStart = findNearestIndex(items, offsets.start, getItemOffset);\n let initialEnd = initialStart;\n while (initialEnd < length && getItemOffset(initialEnd) < offsets.end) {\n initialEnd += 1;\n }\n const finalOverscan = initialEnd - initialStart ? overscan : 0;\n const start = Math.max(initialStart - finalOverscan, 0);\n const end = Math.min(initialEnd + finalOverscan, length);\n const indices = Array.from(\n { length: end - start },\n (_, index) => index + start\n );\n setVisibleIndices((prevIndices) => {\n if (shallowEqual(prevIndices, indices))\n return prevIndices;\n return indices;\n });\n }, [\n elementsUpdated,\n items,\n baseId,\n data,\n itemSize,\n gap,\n paddingStart,\n overscan\n ]);\n useEffect(processVisibleIndices, [processVisibleIndices]);\n const processVisibleIndicesEvent = useEvent(processVisibleIndices);\n useEffect(() => {\n const renderer = ref.current;\n if (!renderer)\n return;\n if (!scroller)\n return;\n offsetsRef.current = getOffsets(renderer, scroller, horizontal);\n processVisibleIndicesEvent();\n }, [scroller, horizontal, processVisibleIndicesEvent]);\n const mayRenderOnScroll = !!renderOnScroll;\n const renderOnScrollProp = useBooleanEvent(renderOnScroll);\n useEffect(() => {\n if (!mayRenderOnScroll)\n return;\n const renderer = ref.current;\n if (!renderer)\n return;\n if (!scroller)\n return;\n const viewport = getViewport(scroller);\n if (!viewport)\n return;\n const task = createTask();\n const onScroll = (event) => {\n task.run(() => {\n if (!renderOnScrollProp(event))\n return;\n offsetsRef.current = getOffsets(renderer, scroller, horizontal);\n processVisibleIndicesEvent();\n });\n };\n viewport.addEventListener(\"scroll\", onScroll, { passive: true });\n return () => {\n task.cancel();\n viewport.removeEventListener(\"scroll\", onScroll);\n };\n }, [\n mayRenderOnScroll,\n scroller,\n renderOnScrollProp,\n horizontal,\n processVisibleIndicesEvent\n ]);\n const mayRenderOnResize = !!renderOnResize;\n const renderOnResizeProp = useBooleanEvent(renderOnResize);\n useEffect(() => {\n if (!mayRenderOnResize)\n return;\n const renderer = ref.current;\n if (!renderer)\n return;\n if (!scroller)\n return;\n const viewport = getViewport(scroller);\n if (!viewport)\n return;\n const task = createTask();\n if (viewport === scroller) {\n if (typeof ResizeObserver !== \"function\")\n return;\n let firstRun = true;\n const observer = new ResizeObserver(() => {\n if (firstRun) {\n firstRun = false;\n return;\n }\n task.run(() => {\n if (!renderOnResizeProp(scroller))\n return;\n offsetsRef.current = getOffsets(renderer, scroller, horizontal);\n processVisibleIndicesEvent();\n });\n });\n observer.observe(scroller);\n return () => {\n task.cancel();\n observer.disconnect();\n };\n }\n const onResize = () => {\n task.run(() => {\n if (!renderOnResizeProp(scroller))\n return;\n offsetsRef.current = getOffsets(renderer, scroller, horizontal);\n processVisibleIndicesEvent();\n });\n };\n viewport.addEventListener(\"resize\", onResize, { passive: true });\n return () => {\n task.cancel();\n viewport.removeEventListener(\"resize\", onResize);\n };\n }, [\n mayRenderOnResize,\n scroller,\n renderOnResizeProp,\n horizontal,\n processVisibleIndicesEvent\n ]);\n useEffect(() => {\n if (typeof IntersectionObserver !== \"function\")\n return;\n const renderer = ref.current;\n if (!renderer)\n return;\n if (!scroller)\n return;\n const viewport = getViewport(scroller);\n if (!viewport)\n return;\n const observer = new IntersectionObserver(\n () => {\n offsetsRef.current = getOffsets(renderer, scroller, horizontal);\n processVisibleIndicesEvent();\n },\n { root: scroller === viewport ? scroller : null }\n );\n observer.observe(renderer);\n return () => {\n observer.disconnect();\n };\n }, [scroller, processVisibleIndicesEvent]);\n const elementObserver = useMemo(() => {\n if (typeof ResizeObserver !== \"function\")\n return;\n return new ResizeObserver(() => {\n flushSync(updateElements);\n });\n }, [updateElements]);\n const itemRef = useCallback(\n (element) => {\n if (!element)\n return;\n if (itemSize)\n return;\n updateElements();\n elements.set(element.id, element);\n elementObserver == null ? void 0 : elementObserver.observe(element);\n },\n [itemSize, elements, updateElements, elementObserver]\n );\n const getItemProps = useCallback(\n (item, index) => {\n var _a3, _b3;\n const itemId = getItemId(item, index, baseId);\n const offset = itemSize ? paddingStart + itemSize * index + gap * index : (_b3 = (_a3 = data.get(itemId)) == null ? void 0 : _a3.start) != null ? _b3 : 0;\n const baseItemProps = {\n id: itemId,\n ref: itemRef,\n index,\n style: {\n position: \"absolute\",\n left: horizontal ? offset : 0,\n top: horizontal ? 0 : offset\n }\n };\n if (itemSize) {\n baseItemProps.style[horizontal ? \"width\" : \"height\"] = itemSize;\n }\n if (item == null)\n return baseItemProps;\n const itemProps = getItemObject(item);\n return __spreadProps(__spreadValues(__spreadValues({}, itemProps), baseItemProps), {\n style: __spreadValues(__spreadValues({}, itemProps.style), baseItemProps.style)\n });\n },\n [baseId, data, itemSize, paddingStart, gap, horizontal, itemRef]\n );\n const itemsProps = useMemo(() => {\n return visibleIndices.map((index) => {\n if (index < 0)\n return;\n const item = getItem(items, index);\n if (!item)\n return;\n return getItemProps(item, index);\n }).filter((value) => value != null);\n }, [items, visibleIndices, getItemProps]);\n const children = itemsProps == null ? void 0 : itemsProps.map((itemProps) => {\n return renderItem == null ? void 0 : renderItem(itemProps);\n });\n const styleProp = props.style;\n const sizeProperty = horizontal ? \"width\" : \"height\";\n const style = useMemo(\n () => __spreadValues({\n flex: \"none\",\n position: \"relative\",\n [sizeProperty]: totalSize\n }, styleProp),\n [styleProp, sizeProperty, totalSize]\n );\n const childrenData = useMemo(() => /* @__PURE__ */ new Map(), []);\n const providerValue = useMemo(\n () => ({ store, orientation, overscan, childrenData }),\n [store, orientation, overscan, childrenData]\n );\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(CollectionRendererContext.Provider, { value: providerValue, children: element }),\n [providerValue]\n );\n props = __spreadProps(__spreadValues({\n id: baseId\n }, props), {\n style,\n ref: useMergeRefs(ref, props.ref)\n });\n return __spreadProps(__spreadValues({}, props), { children });\n}\nvar CollectionRenderer = forwardRef(function CollectionRenderer2(props) {\n const htmlProps = useCollectionRenderer(props);\n return createElement(TagName, htmlProps);\n});\nvar getCollectionRendererItem = getItem;\nvar getCollectionRendererItemId = getItemId;\n\nexport {\n useCollectionRenderer,\n CollectionRenderer,\n getCollectionRendererItem,\n getCollectionRendererItemId\n};\n","\"use client\";\nimport {\n getCollectionRendererItemId,\n useCollectionRenderer\n} from \"./UZMGSJE4.js\";\nimport {\n useCompositeContext\n} from \"./3D6OCOHF.js\";\nimport {\n createElement,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n useId\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-renderer.tsx\nimport { useMemo } from \"react\";\nvar TagName = \"div\";\nfunction getItemObject(item) {\n if (!item || typeof item !== \"object\") {\n return { value: item };\n }\n return item;\n}\nfunction countItems(items) {\n if (!items)\n return [0];\n if (typeof items === \"number\") {\n return Array.from({ length: items }, (_, index) => index + 1);\n }\n return items.reduce((count, item, index) => {\n var _a, _b;\n const object = getItemObject(item);\n if (!object.items) {\n }\n if (!object.items) {\n count[index] = index + 1;\n return count;\n }\n const prevCount = (_a = count[index - 1]) != null ? _a : 0;\n const itemsCount = (_b = countItems(object.items)[object.items.length - 1]) != null ? _b : 0;\n count[index] = prevCount + itemsCount;\n return count;\n }, []);\n}\nfunction findFirst(items, offset = 1) {\n for (let index = offset > 0 ? 0 : items.length - 1; index >= 0 && index < items.length; index += offset) {\n const item = items[index];\n const object = getItemObject(item);\n if (object.items && findFirst(object.items, offset) !== -1)\n return index;\n if (!object.disabled)\n return index;\n }\n return -1;\n}\nfunction findLast(items) {\n return findFirst(items, -1);\n}\nfunction findById(items, id, baseId) {\n return items.findIndex((item, index) => {\n var _a;\n const itemId = getCollectionRendererItemId(item, index, baseId);\n if (itemId === id)\n return true;\n const object = getItemObject(item);\n if ((_a = object.items) == null ? void 0 : _a.length)\n return findById(object.items, id, itemId) !== -1;\n const ids = id.split(\"/\");\n if (ids.length === 1)\n return false;\n return ids.some((id2) => itemId === id2);\n });\n}\nfunction useCompositeRenderer(_a) {\n var _b = _a, {\n store,\n orientation: orientationProp,\n persistentIndices: persistentIndicesProp,\n children: renderItem,\n \"aria-setsize\": ariaSetSize,\n \"aria-posinset\": ariaPosInSet = 1\n } = _b, props = __objRest(_b, [\n \"store\",\n \"orientation\",\n \"persistentIndices\",\n \"children\",\n \"aria-setsize\",\n \"aria-posinset\"\n ]);\n const context = useCompositeContext();\n store = store || context;\n const orientation = useStoreState(\n store,\n (state) => (orientationProp != null ? orientationProp : (state == null ? void 0 : state.orientation) === \"both\") ? \"vertical\" : state == null ? void 0 : state.orientation\n );\n const items = useStoreState(store, (state) => {\n var _a2;\n if (!state)\n return props.items;\n if (\"mounted\" in state && !state.mounted)\n return 0;\n return (_a2 = props.items) != null ? _a2 : state.items;\n });\n const id = useId(props.id);\n const itemsCount = useMemo(() => countItems(items), [items]);\n const setSize = useMemo(\n () => {\n var _a2;\n return (_a2 = ariaSetSize != null ? ariaSetSize : itemsCount[itemsCount.length - 1]) != null ? _a2 : 0;\n },\n [ariaSetSize, itemsCount]\n );\n const firstIndex = useMemo(() => {\n if (!items)\n return -1;\n if (typeof items === \"number\")\n return 0;\n if (!items.length)\n return -1;\n return findFirst(items);\n }, [items]);\n const lastIndex = useMemo(() => {\n if (!items)\n return -1;\n if (typeof items === \"number\")\n return items - 1;\n if (!items.length)\n return -1;\n return findLast(items);\n }, [items]);\n const activeId = useStoreState(store, \"activeId\");\n const activeIndex = useMemo(() => {\n if (!id)\n return -1;\n if (!items)\n return -1;\n if (activeId == null)\n return -1;\n if (typeof items === \"number\")\n return -1;\n if (!items.length)\n return -1;\n return findById(items, activeId, id);\n }, [id, items, activeId]);\n const persistentIndices = useMemo(() => {\n const indices = [firstIndex, activeIndex, lastIndex].filter(\n (index) => index >= 0\n );\n if (persistentIndicesProp) {\n return [...persistentIndicesProp, ...indices];\n }\n return indices;\n }, [firstIndex, activeIndex, lastIndex, persistentIndicesProp]);\n return useCollectionRenderer(__spreadProps(__spreadValues({\n id,\n store,\n orientation,\n persistentIndices\n }, props), {\n children: (item) => {\n var _a2;\n const nextItem = __spreadProps(__spreadValues({}, item), {\n \"aria-setsize\": setSize,\n \"aria-posinset\": ariaPosInSet + ((_a2 = itemsCount[item.index - 1]) != null ? _a2 : 0)\n });\n return renderItem == null ? void 0 : renderItem(nextItem);\n }\n }));\n}\nvar CompositeRenderer = forwardRef(function CompositeRenderer2(props) {\n const htmlProps = useCompositeRenderer(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCompositeRenderer,\n CompositeRenderer\n};\n","\"use client\";\nimport {\n useCompositeRenderer\n} from \"../__chunks/UPJMZO6L.js\";\nimport {\n getCollectionRendererItem,\n getCollectionRendererItemId\n} from \"../__chunks/UZMGSJE4.js\";\nimport {\n useSelectContext\n} from \"../__chunks/TKSBJDO3.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport {\n createElement,\n forwardRef\n} from \"../__chunks/5M6RSQEC.js\";\nimport {\n useStoreState\n} from \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select-renderer.tsx\nimport { useMemo } from \"react\";\nimport { toArray } from \"@ariakit/core/utils/array\";\nvar TagName = \"div\";\nfunction getItemObject(item) {\n if (!item || typeof item !== \"object\") {\n return { value: `${item}` };\n }\n return item;\n}\nfunction findIndicesByValue(items, value) {\n var _a;\n const values = toArray(value);\n const indices = [];\n for (const [index, item] of items.entries()) {\n if (indices.length === values.length)\n break;\n const object = getItemObject(item);\n if (object.value != null && values.includes(object.value)) {\n indices.push(index);\n } else if ((_a = object.items) == null ? void 0 : _a.length) {\n const childIndices = findIndicesByValue(object.items, value);\n if (childIndices.length) {\n indices.push(index);\n }\n }\n }\n return indices;\n}\nfunction useSelectRenderer(_a) {\n var _b = _a, {\n store,\n orientation: orientationProp,\n persistentIndices: persistentIndicesProp,\n items: itemsProp,\n value: valueProp\n } = _b, props = __objRest(_b, [\n \"store\",\n \"orientation\",\n \"persistentIndices\",\n \"items\",\n \"value\"\n ]);\n const context = useSelectContext();\n store = store || context;\n const items = useStoreState(store, (state) => {\n if (!state)\n return itemsProp;\n if (!state.mounted)\n return 0;\n return itemsProp != null ? itemsProp : state.items;\n });\n const value = useStoreState(store, (state) => valueProp != null ? valueProp : state == null ? void 0 : state.value);\n const valueIndices = useMemo(() => {\n if (!items)\n return [];\n if (value == null)\n return [];\n if (typeof items === \"number\")\n return [];\n if (!items.length)\n return [];\n return findIndicesByValue(items, value);\n }, [items, value]);\n const persistentIndices = useMemo(() => {\n if (persistentIndicesProp) {\n return [...persistentIndicesProp, ...valueIndices];\n }\n return valueIndices;\n }, [valueIndices, persistentIndicesProp]);\n return useCompositeRenderer(__spreadValues({\n store,\n items,\n persistentIndices\n }, props));\n}\nvar SelectRenderer = forwardRef(function SelectRenderer2(props) {\n const htmlProps = useSelectRenderer(props);\n return createElement(TagName, htmlProps);\n});\nexport {\n SelectRenderer,\n getCollectionRendererItem as getSelectRendererItem,\n getCollectionRendererItemId as getSelectRendererItemId\n};\n","\"use client\";\nimport {\n useButton\n} from \"./JJ3MV4KB.js\";\nimport {\n useDisclosureProviderContext\n} from \"./J55AVALY.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useMergeRefs,\n useMetadataProps\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure.ts\nimport { useEffect, useRef, useState } from \"react\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nvar TagName = \"button\";\nvar symbol = Symbol(\"disclosure\");\nvar useDisclosure = createHook(\n function useDisclosure2(_a) {\n var _b = _a, { store, toggleOnClick = true } = _b, props = __objRest(_b, [\"store\", \"toggleOnClick\"]);\n const context = useDisclosureProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"Disclosure must receive a `store` prop or be wrapped in a DisclosureProvider component.\"\n );\n const ref = useRef(null);\n const [expanded, setExpanded] = useState(false);\n const disclosureElement = store.useState(\"disclosureElement\");\n const open = store.useState(\"open\");\n useEffect(() => {\n let isCurrentDisclosure = disclosureElement === ref.current;\n if (!(disclosureElement == null ? void 0 : disclosureElement.isConnected)) {\n store == null ? void 0 : store.setDisclosureElement(ref.current);\n isCurrentDisclosure = true;\n }\n setExpanded(open && isCurrentDisclosure);\n }, [disclosureElement, store, open]);\n const onClickProp = props.onClick;\n const toggleOnClickProp = useBooleanEvent(toggleOnClick);\n const [isDuplicate, metadataProps] = useMetadataProps(props, symbol, true);\n const onClick = useEvent((event) => {\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented)\n return;\n if (isDuplicate)\n return;\n if (!toggleOnClickProp(event))\n return;\n store == null ? void 0 : store.setDisclosureElement(event.currentTarget);\n store == null ? void 0 : store.toggle();\n });\n const contentElement = store.useState(\"contentElement\");\n props = __spreadProps(__spreadValues(__spreadValues({\n \"aria-expanded\": expanded,\n \"aria-controls\": contentElement == null ? void 0 : contentElement.id\n }, metadataProps), props), {\n ref: useMergeRefs(ref, props.ref),\n onClick\n });\n props = useButton(props);\n return props;\n }\n);\nvar Disclosure = forwardRef(function Disclosure2(props) {\n const htmlProps = useDisclosure(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useDisclosure,\n Disclosure\n};\n","\"use client\";\nimport {\n useDisclosure\n} from \"./AFNONYRE.js\";\nimport {\n useDialogProviderContext\n} from \"./XXVAHUAO.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/dialog/dialog-disclosure.ts\nimport { getPopupRole } from \"@ariakit/core/utils/dom\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nvar TagName = \"button\";\nvar useDialogDisclosure = createHook(\n function useDialogDisclosure2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n const context = useDialogProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"DialogDisclosure must receive a `store` prop or be wrapped in a DialogProvider component.\"\n );\n const contentElement = store.useState(\"contentElement\");\n props = __spreadValues({\n \"aria-haspopup\": getPopupRole(contentElement, \"dialog\")\n }, props);\n props = useDisclosure(__spreadValues({ store }, props));\n return props;\n }\n);\nvar DialogDisclosure = forwardRef(function DialogDisclosure2(props) {\n const htmlProps = useDialogDisclosure(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useDialogDisclosure,\n DialogDisclosure\n};\n","\"use client\";\nimport {\n useDialogDisclosure\n} from \"./5SF76VVA.js\";\nimport {\n usePopoverAnchor\n} from \"./NLT7LY5Y.js\";\nimport {\n PopoverScopedContextProvider,\n usePopoverProviderContext\n} from \"./TE637IA7.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useEvent,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-disclosure.tsx\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"button\";\nvar usePopoverDisclosure = createHook(function usePopoverDisclosure2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n const context = usePopoverProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"PopoverDisclosure must receive a `store` prop or be wrapped in a PopoverProvider component.\"\n );\n const onClickProp = props.onClick;\n const onClick = useEvent((event) => {\n store == null ? void 0 : store.setAnchorElement(event.currentTarget);\n onClickProp == null ? void 0 : onClickProp(event);\n });\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(PopoverScopedContextProvider, { value: store, children: element }),\n [store]\n );\n props = __spreadProps(__spreadValues({}, props), {\n onClick\n });\n props = usePopoverAnchor(__spreadValues({ store }, props));\n props = useDialogDisclosure(__spreadValues({ store }, props));\n return props;\n});\nvar PopoverDisclosure = forwardRef(function PopoverDisclosure2(props) {\n const htmlProps = usePopoverDisclosure(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n usePopoverDisclosure,\n PopoverDisclosure\n};\n","\"use client\";\nimport {\n usePopoverContext\n} from \"./TE637IA7.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-disclosure-arrow.tsx\nimport { useMemo } from \"react\";\nimport { invariant, removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"span\";\nvar pointsMap = {\n top: \"4,10 8,6 12,10\",\n right: \"6,4 10,8 6,12\",\n bottom: \"4,6 8,10 12,6\",\n left: \"10,4 6,8 10,12\"\n};\nvar usePopoverDisclosureArrow = createHook(function usePopoverDisclosureArrow2(_a) {\n var _b = _a, { store, placement } = _b, props = __objRest(_b, [\"store\", \"placement\"]);\n const context = usePopoverContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"PopoverDisclosureArrow must be wrapped in a PopoverDisclosure component.\"\n );\n const position = store.useState((state) => placement || state.placement);\n const dir = position.split(\"-\")[0];\n const points = pointsMap[dir];\n const children = useMemo(\n () => /* @__PURE__ */ jsx(\n \"svg\",\n {\n display: \"block\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"1.5pt\",\n viewBox: \"0 0 16 16\",\n height: \"1em\",\n width: \"1em\",\n children: /* @__PURE__ */ jsx(\"polyline\", { points })\n }\n ),\n [points]\n );\n props = __spreadProps(__spreadValues({\n children,\n \"aria-hidden\": true\n }, props), {\n style: __spreadValues({\n width: \"1em\",\n height: \"1em\",\n pointerEvents: \"none\"\n }, props.style)\n });\n return removeUndefinedValues(props);\n});\nvar PopoverDisclosureArrow = forwardRef(\n function PopoverDisclosureArrow2(props) {\n const htmlProps = usePopoverDisclosureArrow(props);\n return createElement(TagName, htmlProps);\n }\n);\n\nexport {\n usePopoverDisclosureArrow,\n PopoverDisclosureArrow\n};\n","\"use client\";\nimport {\n usePopoverDisclosureArrow\n} from \"./HA4U57LH.js\";\nimport {\n useSelectContext\n} from \"./TKSBJDO3.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __objRest,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/select/select-arrow.ts\nvar TagName = \"span\";\nvar useSelectArrow = createHook(\n function useSelectArrow2(_a) {\n var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n const context = useSelectContext();\n store = store || context;\n props = usePopoverDisclosureArrow(__spreadValues({ store }, props));\n return props;\n }\n);\nvar SelectArrow = forwardRef(function SelectArrow2(props) {\n const htmlProps = useSelectArrow(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useSelectArrow,\n SelectArrow\n};\n","\"use client\";\nimport {\n usePopoverDisclosure\n} from \"../__chunks/Z72LDQLY.js\";\nimport \"../__chunks/5SF76VVA.js\";\nimport \"../__chunks/AFNONYRE.js\";\nimport \"../__chunks/NLT7LY5Y.js\";\nimport \"../__chunks/JJ3MV4KB.js\";\nimport {\n SelectArrow\n} from \"../__chunks/6PC3IJNK.js\";\nimport \"../__chunks/HA4U57LH.js\";\nimport {\n useCompositeTypeahead\n} from \"../__chunks/DMSZFK7W.js\";\nimport {\n SelectScopedContextProvider,\n useSelectProviderContext\n} from \"../__chunks/TKSBJDO3.js\";\nimport \"../__chunks/KSZPJCUA.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/3D6OCOHF.js\";\nimport \"../__chunks/MADQZZRL.js\";\nimport \"../__chunks/TE637IA7.js\";\nimport \"../__chunks/XXVAHUAO.js\";\nimport \"../__chunks/J55AVALY.js\";\nimport \"../__chunks/WAZE6NXP.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"../__chunks/5M6RSQEC.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useMergeRefs,\n useWrapElement\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/select/select.tsx\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { toArray } from \"@ariakit/core/utils/array\";\nimport { getPopupRole } from \"@ariakit/core/utils/dom\";\nimport { queueBeforeEvent } from \"@ariakit/core/utils/events\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar TagName = \"button\";\nfunction getSelectedValues(select) {\n return Array.from(select.selectedOptions).map((option) => option.value);\n}\nfunction nextWithValue(store, next) {\n return () => {\n const nextId = next();\n if (!nextId)\n return;\n let i = 0;\n let nextItem = store.item(nextId);\n const firstItem = nextItem;\n while (nextItem && nextItem.value == null) {\n const nextId2 = next(++i);\n if (!nextId2)\n return;\n nextItem = store.item(nextId2);\n if (nextItem === firstItem)\n break;\n }\n return nextItem == null ? void 0 : nextItem.id;\n };\n}\nvar useSelect = createHook(function useSelect2(_a) {\n var _b = _a, {\n store,\n name,\n form,\n required,\n showOnKeyDown = true,\n moveOnKeyDown = true,\n toggleOnClick = false,\n toggleOnPress = !toggleOnClick\n } = _b, props = __objRest(_b, [\n \"store\",\n \"name\",\n \"form\",\n \"required\",\n \"showOnKeyDown\",\n \"moveOnKeyDown\",\n \"toggleOnClick\",\n \"toggleOnPress\"\n ]);\n const context = useSelectProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"Select must receive a `store` prop or be wrapped in a SelectProvider component.\"\n );\n toggleOnPress = toggleOnClick ? false : toggleOnPress;\n const onKeyDownProp = props.onKeyDown;\n const showOnKeyDownProp = useBooleanEvent(showOnKeyDown);\n const moveOnKeyDownProp = useBooleanEvent(moveOnKeyDown);\n const toggleOnPressProp = useBooleanEvent(toggleOnPress);\n const placement = store.useState(\"placement\");\n const dir = placement.split(\"-\")[0];\n const value = store.useState(\"value\");\n const multiSelectable = Array.isArray(value);\n const onKeyDown = useEvent((event) => {\n var _a2;\n onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n if (event.defaultPrevented)\n return;\n if (!store)\n return;\n const { orientation, items: items2, activeId } = store.getState();\n if (event.key === \" \" || event.key === \"Enter\") {\n if (toggleOnPressProp(event)) {\n event.preventDefault();\n store.toggle();\n }\n }\n const isVertical = orientation !== \"horizontal\";\n const isHorizontal = orientation !== \"vertical\";\n const isGrid = !!((_a2 = items2.find((item) => !item.disabled && item.value != null)) == null ? void 0 : _a2.rowId);\n const moveKeyMap = {\n ArrowUp: (isGrid || isVertical) && nextWithValue(store, store.up),\n ArrowRight: (isGrid || isHorizontal) && nextWithValue(store, store.next),\n ArrowDown: (isGrid || isVertical) && nextWithValue(store, store.down),\n ArrowLeft: (isGrid || isHorizontal) && nextWithValue(store, store.previous)\n };\n const getId = moveKeyMap[event.key];\n if (getId && moveOnKeyDownProp(event)) {\n event.preventDefault();\n store.move(getId());\n }\n const isTopOrBottom = dir === \"top\" || dir === \"bottom\";\n const isLeft = dir === \"left\";\n const isRight = dir === \"right\";\n const canShowKeyMap = {\n ArrowDown: isTopOrBottom,\n ArrowUp: isTopOrBottom,\n ArrowLeft: isLeft,\n ArrowRight: isRight\n };\n const canShow = canShowKeyMap[event.key];\n if (canShow && showOnKeyDownProp(event)) {\n event.preventDefault();\n store.move(activeId);\n queueBeforeEvent(event.currentTarget, \"keyup\", store.show);\n }\n });\n const onMouseDownProp = props.onMouseDown;\n const onMouseDown = useEvent((event) => {\n onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n if (event.defaultPrevented)\n return;\n if (event.button)\n return;\n if (event.ctrlKey)\n return;\n if (!toggleOnPressProp(event))\n return;\n const element = event.currentTarget;\n queueBeforeEvent(element, \"focusin\", () => {\n store == null ? void 0 : store.setDisclosureElement(element);\n store == null ? void 0 : store.toggle();\n });\n });\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(SelectScopedContextProvider, { value: store, children: element }),\n [store]\n );\n const [autofill, setAutofill] = useState(false);\n const nativeSelectChangedRef = useRef(false);\n useEffect(() => {\n const nativeSelectChanged = nativeSelectChangedRef.current;\n nativeSelectChangedRef.current = false;\n if (nativeSelectChanged)\n return;\n setAutofill(false);\n }, [value]);\n const labelId = store.useState((state) => {\n var _a2;\n return (_a2 = state.labelElement) == null ? void 0 : _a2.id;\n });\n const label = props[\"aria-label\"];\n const labelledBy = props[\"aria-labelledby\"] || labelId;\n const items = store.useState((state) => {\n if (!name)\n return;\n return state.items;\n });\n const values = useMemo(() => {\n return [...new Set(items == null ? void 0 : items.map((i) => i.value).filter((v) => v != null))];\n }, [items]);\n props = useWrapElement(\n props,\n (element) => {\n if (!name)\n return element;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsxs(\n \"select\",\n {\n style: {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\"\n },\n tabIndex: -1,\n \"aria-hidden\": true,\n \"aria-label\": label,\n \"aria-labelledby\": labelledBy,\n name,\n form,\n required,\n value,\n multiple: multiSelectable,\n onFocus: () => {\n var _a2;\n return (_a2 = store == null ? void 0 : store.getState().selectElement) == null ? void 0 : _a2.focus();\n },\n onChange: (event) => {\n nativeSelectChangedRef.current = true;\n setAutofill(true);\n store == null ? void 0 : store.setValue(\n multiSelectable ? getSelectedValues(event.target) : event.target.value\n );\n },\n children: [\n toArray(value).map((value2) => {\n if (value2 == null)\n return null;\n if (values.includes(value2))\n return null;\n return /* @__PURE__ */ jsx(\"option\", { value: value2, children: value2 }, value2);\n }),\n values.map((value2) => /* @__PURE__ */ jsx(\"option\", { value: value2, children: value2 }, value2))\n ]\n }\n ),\n element\n ] });\n },\n [\n store,\n label,\n labelledBy,\n name,\n form,\n required,\n value,\n multiSelectable,\n values\n ]\n );\n const children = /* @__PURE__ */ jsxs(Fragment, { children: [\n value,\n /* @__PURE__ */ jsx(SelectArrow, {})\n ] });\n const contentElement = store.useState(\"contentElement\");\n props = __spreadProps(__spreadValues({\n role: \"combobox\",\n \"aria-autocomplete\": \"none\",\n \"aria-labelledby\": labelId,\n \"aria-haspopup\": getPopupRole(contentElement, \"listbox\"),\n \"data-autofill\": autofill || void 0,\n \"data-name\": name,\n children\n }, props), {\n ref: useMergeRefs(store.setSelectElement, props.ref),\n onKeyDown,\n onMouseDown\n });\n props = usePopoverDisclosure(__spreadValues({ store, toggleOnClick }, props));\n props = useCompositeTypeahead(__spreadValues({ store }, props));\n return props;\n});\nvar Select = forwardRef(function Select2(props) {\n const htmlProps = useSelect(props);\n return createElement(TagName, htmlProps);\n});\nexport {\n Select,\n useSelect\n};\n"],"names":["addDays","dirtyDate","dirtyAmount","arguments","date","amount","isNaN","Date","NaN","setDate","getDate","addMonths","dayOfMonth","endOfDesiredMonth","getTime","setMonth","getMonth","setFullYear","getFullYear","MILLISECONDS_IN_DAY","differenceInCalendarDays","dirtyDateLeft","dirtyDateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","Math","round","endOfDay","setHours","compareAsc","requiredArgs","dateLeft","toDate","dateRight","diff","differenceInYears","sign","difference","abs","differenceInCalendarYears","isLastYearNotFull","result","Number","isLastDayOfMonth","month","endOfMonth","differenceInMonths","differenceInCalendarMonths","isLastMonthNotFull","compareLocalAsc","getHours","getMinutes","getSeconds","getMilliseconds","pow","millisecondsInMinute","millisecondsInHour","differenceInMilliseconds","roundingMap","ceil","floor","trunc","value","defaultRoundingMethod","getRoundingMethod","method","intervalToDuration","_ref","start","end","isValid","RangeError","duration","years","months","days","hours","minutes","seconds","remainingMonths","sub","remainingDays","differenceInDays","remainingHours","options","roundingMethod","differenceInHours","remainingMinutes","differenceInMinutes","remainingSeconds","differenceInSeconds","startOfDay","subMonths","toInteger","weeks","dateWithoutDays","subDays","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","useMenuBar","createHook","compose","useProps","htmlRef","ref","htmlWrapElement","wrapElement","_ref$role","role","htmlProps","_","useRef","wrap","u","menuRef","timeout","_ref$items","items","move","_React$useState","useState","setKeys","useEffect","timeoutId","setTimeout","stop","find","s","Boolean","current","textContent","toLowerCase","startsWith","id","clearTimeout","menu","onKeyDown","event","_target$getAttribute","shiftKey","metaKey","ctrlKey","altKey","getAttribute","targetIsMenu","targetIsMenuItem","indexOf","closest","test","stopPropagation","preventDefault","k","useShortcuts","useCallback","element","useForkRef","orientation","createComponent","as","useHook","useCreateElement","props","children","useMenu","M","useOptions","parent","useContext","parentIsMenuBar","unstable_autoFocusOnHide","modal","unstable_autoFocusOnShow","hideOnEsc","htmlOnKeyDown","onKeyDownRef","useLiveRef","hasParent","ancestorMenuBar","placement","_ref2","next","previous","ancestorIsHorizontal","dir","useMemo","_placement$split","split","_onKeyDownRef$current","_options$hide","defaultPrevented","hide","isPortalEvent","action","ArrowRight","ArrowLeft","Menu","noop","useMenuButton","propsAreEqual","prev","unstable_popoverStyles","unstable_arrowStyles","currentId","unstable_moves","prevProps","nextProps","unstable_propsAreEqual","htmlOnClick","onClick","htmlOnFocus","onFocus","htmlOnMouseEnter","onMouseEnter","htmlOnMouseDown","onMouseDown","hasPressedMouse","disabled","onClickRef","onFocusRef","onMouseEnterRef","onMouseDownRef","_options$show","first","last","Enter","ArrowUp","ArrowDown","show","_onMouseEnterRef$curr","currentTarget","f","focus","_options$show2","_onMouseDownRef$curre","_onFocusRef$current","_options$show3","_onClickRef$current","_options$show4","_options$toggle","_options$move","toggle","visible","useComposeOptions","MenuButton","memo","getTriangleArea","a","b","c","x","y","useTransitToSubmenu","enterPointRef","submenuTopPointRef","submenuBottomPointRef","previousClientX","previousClientY","assignSubmenuAnchorPoints","visibleSubmenu","_getSubmenuAnchorPoin","_visibleSubmenu$getBo","getBoundingClientRect","top","right","bottom","left","clientX","getSubmenuAnchorPoints","isMouseInTransitToSubmenu","isMoving","clientY","isTrusted","movementX","point","hasAnchorPoints","getMouseDestination","relatedTarget","nodeType","Node","ELEMENT_NODE","toElement","useMenuItem","htmlOnMouseMove","onMouseMove","htmlOnMouseLeave","onMouseLeave","onMouseMoveRef","onMouseLeaveRef","_useTransitToSubmenu","_onMouseMoveRef$curre","_onMouseLeaveRef$curr","nextElement","hoveringInside","hoveringExpandedMenu","some","item","hoveringAnotherMenuItem","_options$move2","MenuItem","useSeparator","_ref$orientation","useMenuSeparator","MenuSeparator","useMenuState","initialState","_useSealedState","useSealedState","_useSealedState$orien","_useSealedState$gutte","gutter","sealed","menuBar","_useSealedState$unsta","unstable_values","initialValues","values","setValues","composite","unstable_setValue","vals","_objectSpread2$1","useMenuBarState","popover","reset","usePopoverArrow","_ref$size","size","htmlStyle","style","arrowStyles","transform","createElement","viewBox","className","d","unstable_arrowRef","fontSize","width","height","pointerEvents","PopoverArrow","useButton","setRole","_React$useState2","setType","isButton","tagName","useDisclosure","D","ariaControls","controls","baseId","useDialogDisclosure","expanded","setExpanded","disclosureRef","unstable_disclosureRef","useIsomorphicEffect","isCurrentDisclosure","usePopoverDisclosure","unstable_referenceRef","PopoverDisclosure","MENU_KEYS","MENU_BAR_KEYS","MENU_BUTTON_KEYS","MENU_ITEM_KEYS","MENU_SEPARATOR_KEYS","findVisibleSubmenu","submenus","submenu","hidden","toObject","callWithSafeIterationClosing","isArrayIteratorMethod","isConstructor","lengthOfArrayLike","createProperty","getIterator","getIteratorMethod","$Array","arrayLike","O","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","step","iterator","iteratorMethod","done","DESCRIPTORS","isArray","$TypeError","getOwnPropertyDescriptor","SILENT_ON_NON_WRITABLE_LENGTH_SET","writable","anObject","iteratorClose","fn","ENTRIES","toPropertyKey","definePropertyModule","createPropertyDescriptor","object","propertyKey","it","getMethod","kind","innerResult","innerError","uncurryThis","fails","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","IndexedObject","$assign","assign","A","B","symbol","Symbol","alphabet","forEach","chr","join","source","T","propertyIsEnumerable","S","j","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","$RangeError","exec","fromCharCode","charCodeAt","replace","digitToBasic","digit","adapt","delta","numPoints","firstTime","baseMinusTMin","base","encode","input","output","string","counter","extra","ucs2decode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","q","t","qMinusT","baseMinusT","label","encoded","labels","$","setArrayLength","doesNotExceedSafeInteger","proto","arity","forced","properErrorOnNonWritableLength","argCount","addToUnscopables","charAt","toString","InternalStateModule","defineIterator","createIterResultObject","STRING_ITERATOR","setInternalState","getInternalState","getterFor","iterated","EOF","USE_NATIVE_URL","global","defineBuiltIn","defineBuiltInAccessor","anInstance","hasOwn","arrayFrom","arraySlice","codeAt","toASCII","$toString","setToStringTag","validateArgumentsLength","URLSearchParamsModule","getInternalURLState","URLSearchParams","getInternalSearchParamsState","getState","NativeURL","URL","parseInt","numberToString","stringSlice","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_C0_CONTROL_OR_SPACE","TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","serializeHost","host","compress","ignore0","ipv6","maxIndex","maxLength","currStart","currLength","findLongestZeroSequence","C0ControlPercentEncodeSet","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","percentEncode","code","encodeURIComponent","specialSchemes","ftp","file","http","https","ws","wss","isWindowsDriveLetter","normalized","second","startsWithWindowsDriveLetter","third","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","URLState","url","isBase","baseState","failure","searchParams","urlString","parse","bindURL","stateOverride","codePoints","bufferCodePoints","pointer","buffer","seenAt","seenBracket","seenPasswordToken","scheme","username","password","port","path","query","fragment","cannotBeABaseURL","isSpecial","includesCredentials","codePoint","encodedCodePoints","parseHost","shortenPath","numbersSeen","ipv4Piece","number","swaps","swap","address","pieceIndex","parseIPv6","partsLength","numbers","part","radix","ipv4","parts","parseIPv4","cannotHaveUsernamePasswordPort","pathSize","serialize","setHref","href","update","getOrigin","URLConstructor","origin","getProtocol","setProtocol","protocol","getUsername","setUsername","getPassword","setPassword","getHost","setHost","getHostname","setHostname","hostname","getPort","setPort","getPathname","setPathname","pathname","getSearch","setSearch","search","getSearchParams","facade","getHash","setHash","hash","URLPrototype","accessorDescriptor","getter","setter","configurable","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","constructor","sham","NULL_ITEM","findFirstEnabledItem","excludeId","getItemsInRow","rowId","filter","groupItemsByRows","rows","row","currentRow","_a","getMaxRowLength","array","normalizeRows","activeId","focusShift","previousItem","verticalizeItems","verticalized","createCompositeStore","syncState","store","collection","defaultActiveId","baseElement","includesBaseElement","moves","rtl","virtualFocus","focusLoop","focusWrap","setState","activeId2","_a2","renderedItems","getNextId","hasNullItem","skip","_b","allItems","activeItem","isGrid","activeIndex","nextItems","nextItemsInRow","nextEnabledItemsInRow","getEnabledItems","nextItem2","oppositeOrientation","getOppositeOrientation","canLoop","canWrap","sortedItems","shouldInsertNullItem","findIndex","flipItems","nextItem","setBaseElement","setActiveId","down","shouldShift","verticalItems","up","toArray","flatten2DArray","flattened","reverseArray","reverse","sortBasedOnDOMPosition","pairs","map","isOrderDifferent","sort","indexA","indexB","elementA","elementB","compareDocumentPosition","DOCUMENT_POSITION_PRECEDING","isElementPreceding","createCollectionStore","defaultItems","itemsMap","Map","syncPrivateStore","__unstablePrivateStore","privateStore","sortItems","firstRun","raf","requestAnimationFrame","IntersectionObserver","cancelAnimationFrame","root","firstItem","lastItem","parentElement","contains","body","getCommonParent","observer","observe","disconnect","mergeItem","setItems","canDeleteFromMap","prevItem","items2","delete","registerItem","getItems","renderItem","item2","ctx","useCompositeContext","useCompositeProviderContext","useScopedContext","useProviderContext","CompositeContextProvider","ContextProvider","CompositeScopedContextProvider","ScopedContextProvider","CompositeItemContext","createContext","CompositeRowContext","getEnabledItem","FOCUS_SILENTLY","focusSilently","preventScroll","silentlyFocused","isSilentlyFocused","isItem","exclude","GroupLabelContext","useCollectionStoreProps","useCompositeStoreProps","useCollectionItem","shouldRegisterItem","getItem","element2","getItemOffset","itemElement","pageUp","clientHeight","findNextPageItemId","scrollingElement","nextPageOffset","pageSize","max","pageOffset","scrollTop","getNextPageOffset","prevDifference","previousId","absDifference","useCompositeItem","rowIdProp","preventScrollOnKeyDown","moveOnKeyPress","tabbable","getItemProp","ariaSetSizeProp","ariaPosInSetProp","trulyDisabled","accessibleWhenDisabled","onFocusProp","hasFocusedComposite","virtualFocus2","baseElement2","targetIsAnotherItem","isContentEditable","isConnected","onBlurCaptureProp","onBlurCapture","onKeyDownProp","preventScrollOnKeyDownProp","moveOnKeyPressProp","isVertical","isHorizontal","canHomeEnd","Home","End","PageUp","PageDown","nextId","providerValue","jsx","Provider","isActiveItem","roleProp","useRole","ariaSelected","requiresAriaSelected","supportsAriaSelected","ariaSetSize","ariaPosInSet","itemsInRow","isTabbable","tabIndex","chars","clearChars","itemTextStartsWith","text","itemText","trim","useCompositeTypeahead","typeahead","onKeyDownCaptureProp","onKeyDownCapture","cleanupTimeoutRef","isValidTypeaheadEvent","enabledItems","isSelfTargetOrItem","window","char","getSameInitialItems","useKeyboardEventProxy","onKeyboardEvent","previousElementRef","isPropagationStopped","isModifierKey","isPrintableKey","activeElement","view","eventInit","useComposite","focusOnMove","scheduleFocus","scheduled","setScheduled","schedule","useScheduleFocus","previousElement","onKeyUpCapture","onFocusCaptureProp","onFocusCapture","previousActiveElement","queueMicrotask","nextActiveElement","nextActiveElementIsItem","grid","keyMap","findFirstEnabledItemInTheLastRow","activeDescendant","focusable","useCollectionContext","CollectionContextProvider","CollectionScopedContextProvider","usePopoverAnchor","setAnchorElement","useSelectContext","useSelectScopedContext","useSelectProviderContext","SelectContextProvider","SelectScopedContextProvider","SelectItemCheckedContext","useComboboxScopedContext","useComboboxProviderContext","ComboboxContextProvider","ComboboxScopedContextProvider","ComboboxItemValueContext","ComboboxItemCheckedContext","useCompositeHover","focusOnHover","blurOnHoverEnd","isMouseMoving","onMouseMoveProp","focusOnHoverProp","onMouseLeaveProp","blurOnHoverEndProp","dest","movingToAnotherItem","useComboboxList","alwaysVisible","mounted","display","multiSelectable","selectedValue","ariaMultiSelectable","setContentElement","ComboboxList","useComboboxItem","hideOnClick","selectValueOnClick","setValueOnClick","onClickProp","setValueOnClickProp","selectValueOnClickProp","hideOnClickProp","setSelectedValue","prevValue","includes","v","setValue","selected","storeValue","itemValue","isSelected","contentElement","moveEvent","Event","dispatchEvent","ComboboxItem","isSafariOnMobile","createComboboxStore","defaultValue","defaultSelectedValue","resetValueOnSelect","resetValueOnHide","activeValue","combobox","prevState","value2","selectedValue2","useComboboxStore","useComboboxStoreProps","ComboboxProvider","isFirstItemAutoSelected","autoSelect","hasCompletionString","useCombobox","autoSelectProp","getAutoSelectId","showOnChange","setValueOnChange","showOnMouseDown","showOnClick","blurActiveItemOnClick","showOnKeyDown","showOnKeyPress","autoComplete","valueUpdated","forceValueUpdate","canAutoSelectRef","composingRef","inline","canInline","setCanInline","open","onCompositeItemMove","scrollingElementRef","getAutoSelectIdProp","autoSelectIdRef","onWheel","onScroll","passive","capture","canAutoSelect","contentElement2","hasAttribute","MutationObserver","attributeFilter","userAutoSelectId","autoSelectId","scrollIntoView","block","elements","onBlur2","every","el","onChangeProp","onChange","showOnChangeProp","setValueOnChangeProp","selectionStart","selectionEnd","nativeEvent","isInputEvent","isComposing","textInserted","inputType","caretAtEnd","isSameValue","flushSync","onCompositionEndProp","onCompositionEnd","onMouseDownProp","blurActiveItemOnClickProp","showOnClickProp","button","showOnKeyPressProp","repeat","open2","onBlurProp","onBlur","ariaAutoComplete","isAriaAutoCompleteValue","Combobox","useGroupLabel","setLabelId","useCompositeGroupLabel","useSelectGroupLabel","SelectGroupLabel","useGroup","labelId","useCompositeGroup","useSelectGroup","SelectGroup","useSelectItem","autoFocus","SelectItem","useSelectLabel","select","selectElement","click","setLabelElement","cursor","SelectLabel","useSelectList","resetOnEscape","hideOnEnter","setDefaultValue","resetOnEscapeProp","hideOnEnterProp","labelElement","hasCombobox","useSelectPopover","SelectPopover","createSelectStore","initialValue","setValueOnMove","lastValue","setSelectElement","useSelectStore","useSelectStoreProps","SelectProvider","CollectionRendererContext","createTask","run","cb","cancel","getItemsLength","getItemObject","getItemId","defaultId","getItemSize","horizontal","fallbackElement","_c","_d","_e","itemObject","prop","hasSameOrientation","paddingStart","padding","paddingEnd","initialSize","gap","itemSize","totalSize","reduce","sum","getScrollOffset","scroller","scrollX","scrollY","scrollLeft","getViewport","defaultView","documentElement","ownerDocument","getOffsets","renderer","scrollOffset","rendererOffset","win","htmlElement","document","rendererRect","scrollerRect","getRendererOffset","clientWidth","getData","nextData","avgSize","currentIndex","averageSize","estimatedItemSize","setAverageSize","prevIndex","itemId","itemData","data","rendered","getAverageSize","prevRendered","setSize","size2","nextItemData","useCollectionRenderer","_b2","itemsProp","initialItems","overscan","overscanProp","orientationProp","persistentIndices","renderOnScroll","renderOnResize","parentData","childrenData","elementsUpdated","updateElements","defaultVisibleIndices","setVisibleIndices","initialLength","min","from","visibleIndices","nextIndices","setData","data2","totalPadding","lastIndex","totalGap","defaultEnd","lastItemId","lastItemData","getItemsEnd","rendererRef","setScroller","scroller2","useScroller","offsetsRef","processVisibleIndices","offsets","_a3","start2","initialStart","getValue","findNearestIndex","initialEnd","finalOverscan","indices","prevIndices","processVisibleIndicesEvent","mayRenderOnScroll","renderOnScrollProp","viewport","task","mayRenderOnResize","renderOnResizeProp","ResizeObserver","onResize","elementObserver","itemRef","getItemProps","_b3","offset","baseItemProps","itemProps","itemsProps","styleProp","sizeProperty","flex","getCollectionRendererItemId","countItems","prevCount","itemsCount","findFirst","findById","ids","id2","useCompositeRenderer","persistentIndicesProp","firstIndex","findLast","findIndicesByValue","entries","useSelectRenderer","valueProp","valueIndices","SelectRenderer","toggleOnClick","disclosureElement","setDisclosureElement","toggleOnClickProp","isDuplicate","metadataProps","pointsMap","usePopoverDisclosureArrow","points","fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","useSelectArrow","SelectArrow","nextWithValue","nextId2","useSelect","form","required","moveOnKeyDown","toggleOnPress","showOnKeyDownProp","moveOnKeyDownProp","toggleOnPressProp","getId","isTopOrBottom","autofill","setAutofill","nativeSelectChangedRef","nativeSelectChanged","labelledBy","Set","jsxs","Fragment","border","clip","margin","overflow","whiteSpace","multiple","selectedOptions","option","Select"],"sourceRoot":""}