sanity 6.7.0-next.40 → 6.7.0-next.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{CalendarFilter-CaBr7xOb.js → CalendarFilter-DoJjRzQE.js} +2 -2
- package/lib/{CalendarFilter-CaBr7xOb.js.map → CalendarFilter-DoJjRzQE.js.map} +1 -1
- package/lib/{CommentsInspector-BJlk7SLR.js → CommentsInspector-73iBuuk4.js} +2 -2
- package/lib/{CommentsInspector-BJlk7SLR.js.map → CommentsInspector-73iBuuk4.js.map} +1 -1
- package/lib/{ReleasesMetadataProvider-Bh8czyeu.js → ReleasesMetadataProvider-CrlSGW8e.js} +2 -2
- package/lib/{ReleasesMetadataProvider-Bh8czyeu.js.map → ReleasesMetadataProvider-CrlSGW8e.js.map} +1 -1
- package/lib/{ReleasesStudioLayout-Dhp0bv4y.js → ReleasesStudioLayout-DjYvlQPm.js} +3 -3
- package/lib/{ReleasesStudioLayout-Dhp0bv4y.js.map → ReleasesStudioLayout-DjYvlQPm.js.map} +1 -1
- package/lib/{ReleasesTool-CL4MAbuM.js → ReleasesTool-COJLswsD.js} +5 -5
- package/lib/{ReleasesTool-CL4MAbuM.js.map → ReleasesTool-COJLswsD.js.map} +1 -1
- package/lib/{SchedulePublishingStudioLayout-DaKJe7yy.js → SchedulePublishingStudioLayout-yoZZDJZe.js} +2 -2
- package/lib/{SchedulePublishingStudioLayout-DaKJe7yy.js.map → SchedulePublishingStudioLayout-yoZZDJZe.js.map} +1 -1
- package/lib/{SingleDocReleaseLayout-DZxT5H-N.js → SingleDocReleaseLayout-D-nWFRI5.js} +2 -2
- package/lib/{SingleDocReleaseLayout-DZxT5H-N.js.map → SingleDocReleaseLayout-D-nWFRI5.js.map} +1 -1
- package/lib/{TasksDocumentInputLayout-DFd_Oh3c.js → TasksDocumentInputLayout-Dd1y4sst.js} +2 -2
- package/lib/{TasksDocumentInputLayout-DFd_Oh3c.js.map → TasksDocumentInputLayout-Dd1y4sst.js.map} +1 -1
- package/lib/{TasksFooterOpenTasks-nSXQblCA.js → TasksFooterOpenTasks-D7ZPtE8E.js} +2 -2
- package/lib/{TasksFooterOpenTasks-nSXQblCA.js.map → TasksFooterOpenTasks-D7ZPtE8E.js.map} +1 -1
- package/lib/{TasksStudioActiveToolLayout-CGoDHh0K.js → TasksStudioActiveToolLayout-Dp9BfEwK.js} +2 -2
- package/lib/{TasksStudioActiveToolLayout-CGoDHh0K.js.map → TasksStudioActiveToolLayout-Dp9BfEwK.js.map} +1 -1
- package/lib/{TasksStudioLayout-BF6Q_w-C.js → TasksStudioLayout-BykBMOOw.js} +2 -2
- package/lib/{TasksStudioLayout-BF6Q_w-C.js.map → TasksStudioLayout-BykBMOOw.js.map} +1 -1
- package/lib/{TasksStudioNavbar-BLZK_cst.js → TasksStudioNavbar-D6PwM5Ol.js} +2 -2
- package/lib/{TasksStudioNavbar-BLZK_cst.js.map → TasksStudioNavbar-D6PwM5Ol.js.map} +1 -1
- package/lib/{Tool-CRhzWl1-.js → Tool-Bc-HyTEX.js} +3 -3
- package/lib/{Tool-CRhzWl1-.js.map → Tool-Bc-HyTEX.js.map} +1 -1
- package/lib/{VariantsStudioNavbar-sCjXpOE5.js → VariantsStudioNavbar-BdUZc1O2.js} +2 -2
- package/lib/{VariantsStudioNavbar-sCjXpOE5.js.map → VariantsStudioNavbar-BdUZc1O2.js.map} +1 -1
- package/lib/{VariantsTool-4kqeTNfd.js → VariantsTool-DiSZK_PO.js} +3 -3
- package/lib/{VariantsTool-4kqeTNfd.js.map → VariantsTool-DiSZK_PO.js.map} +1 -1
- package/lib/_createContext.js +1 -1
- package/lib/{core-BZeRpXdl.js → core-DXpvoVLo.js} +35 -30
- package/lib/{core-BZeRpXdl.js.map → core-DXpvoVLo.js.map} +1 -1
- package/lib/{document-layout-CQu8wnXY.js → document-layout-tVUKlGqh.js} +2 -2
- package/lib/{document-layout-CQu8wnXY.js.map → document-layout-tVUKlGqh.js.map} +1 -1
- package/lib/{field-BNpnG5_O.js → field-UlON_X5Q.js} +2 -2
- package/lib/{field-BNpnG5_O.js.map → field-UlON_X5Q.js.map} +1 -1
- package/lib/index.js +2 -2
- package/lib/{input-DfRqtP_H.js → input-gGDncZej.js} +2 -2
- package/lib/{input-DfRqtP_H.js.map → input-gGDncZej.js.map} +1 -1
- package/lib/{inputResolver-Cyu5NZd0.js → inputResolver-BgBXJy1m.js} +2 -2
- package/lib/{inputResolver-Cyu5NZd0.js.map → inputResolver-BgBXJy1m.js.map} +1 -1
- package/lib/{resources-DENFdfkw.js → resources-CF0lUKUY.js} +2 -2
- package/lib/{resources-DENFdfkw.js.map → resources-CF0lUKUY.js.map} +1 -1
- package/lib/{resources-BnomlgDs.js → resources-CV97EllO.js} +2 -2
- package/lib/{resources-BnomlgDs.js.map → resources-CV97EllO.js.map} +1 -1
- package/lib/{resources-C5hdSyOH.js → resources-CzPEySYE.js} +2 -2
- package/lib/{resources-C5hdSyOH.js.map → resources-CzPEySYE.js.map} +1 -1
- package/lib/{resources-8B149Stj.js → resources-MwsKXocr.js} +4 -2
- package/lib/{resources-8B149Stj.js.map → resources-MwsKXocr.js.map} +1 -1
- package/lib/{resources-CbQBvuqy.js → resources-NVeTKAzA.js} +2 -2
- package/lib/{resources-CbQBvuqy.js.map → resources-NVeTKAzA.js.map} +1 -1
- package/lib/{resources-D0KMkMCO.js → resources-rLUUgOeF.js} +2 -2
- package/lib/{resources-D0KMkMCO.js.map → resources-rLUUgOeF.js.map} +1 -1
- package/lib/{searchDocumentRelease-XSDfqdsN.js → searchDocumentRelease-DccReP0L.js} +2 -2
- package/lib/{searchDocumentRelease-XSDfqdsN.js.map → searchDocumentRelease-DccReP0L.js.map} +1 -1
- package/lib/{studio-layout-FBxqwo-W.js → studio-layout-CnmjBz6v.js} +2 -2
- package/lib/{studio-layout-FBxqwo-W.js.map → studio-layout-CnmjBz6v.js.map} +1 -1
- package/lib/{version-6Ublw7lW.js → version-DZgm9CHe.js} +2 -2
- package/lib/{version-6Ublw7lW.js.map → version-DZgm9CHe.js.map} +1 -1
- package/package.json +13 -15
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { f as Button$1, t as TooltipDelayGroupProvider$1 } from "./ui-components-CIbWmKVS.js";
|
|
2
|
-
import { dc as DEFAULT_MONTH_NAMES, fc as DEFAULT_WEEK_DAY_NAMES, lc as useWeeksOfMonth, mc as useTimeZone, np as useTranslation, uc as ARROW_KEYS } from "./core-
|
|
2
|
+
import { dc as DEFAULT_MONTH_NAMES, fc as DEFAULT_WEEK_DAY_NAMES, lc as useWeeksOfMonth, mc as useTimeZone, np as useTranslation, uc as ARROW_KEYS } from "./core-DXpvoVLo.js";
|
|
3
3
|
import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from "react";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -294,4 +294,4 @@ const PRESERVE_FOCUS_ELEMENT = /* @__PURE__ */ jsx("span", {
|
|
|
294
294
|
});
|
|
295
295
|
export { CalendarDay as n, CalendarFilter as t };
|
|
296
296
|
|
|
297
|
-
//# sourceMappingURL=CalendarFilter-
|
|
297
|
+
//# sourceMappingURL=CalendarFilter-DoJjRzQE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarFilter-CaBr7xOb.js","names":["CloseIcon","Card","CardTone","Text","isWeekend","useCallback","CalendarDayProps","date","Date","focused","onSelect","isCurrentMonth","isToday","selected","dateStyles","React","CSSProperties","disabled","CalendarDay","props","$","_c","t0","t1","undefined","t2","handleClick","tone","t3","toDateString","t4","t5","getDate","getMonth","t6","Symbol","for","position","t7","t8","opacity","textAlign","t9","t10","t11","t12","Box","Card","Grid","Label","isSameDay","isSameMonth","TimeZoneScope","useTimeZone","DEFAULT_WEEK_DAY_NAMES","useWeeksOfMonth","CalendarDay","DefaultCalendarDay","CalendarProps","CalendarMonthProps","date","Date","focused","selected","onSelect","hidden","renderCalendarDay","disabled","timeZoneScope","CalendarMonth","props","$","_c","getCurrentZoneDate","weeksOfMonth","t0","t1","t2","Symbol","for","gridGap","gridTemplateColumns","map","_temp","t3","t4","week","weekIdx","days","dayDate","dayIdx","isToday","isCurrentMonth","t5","weekday","textAlign","slice","ChevronLeftIcon","ChevronRightIcon","Box","Flex","Text","addDays","addMonths","setHours","setMinutes","ComponentProps","ForwardedRef","forwardRef","KeyboardEvent","useCallback","useEffect","useImperativeHandle","useRef","useState","Button","TooltipDelayGroupProvider","TimeZoneScope","useTimeZone","useTranslation","ARROW_KEYS","DEFAULT_MONTH_NAMES","CalendarDayProps","CalendarMonth","CalendarProps","Omit","focusedDate","Date","onSelect","date","onFocusedDateChange","index","selectedDate","renderCalendarDay","props","React","ReactNode","disabled","timeZoneScope","PRESERVE_FOCUS_ELEMENT","overflow","position","outline","CalendarFilter","Calendar","forwardedRef","$","_c","handleOnFocusedDateChange","providedFocusedDate","restProps","t0","Symbol","for","_focusedDate","_setFocusedDate","t","tCore","zoneDateToUtc","t1","t2","date_0","setFocusedDate","t3","by","moveFocusedDate","t4","date_1","targetDate","getHours","getMinutes","undefined","handleDateChange","ref","t5","current","t6","querySelector","focus","focusCurrentWeekDay","t7","event","includes","key","preventDefault","currentTarget","hasAttribute","handleKeyDown","t8","t9","t10","currentFocusInCalendarGrid","document","activeElement","matches","t11","t12","now","handleNowClick","t13","handlePrevMonthClick","t14","handleNextMonthClick","t15","borderBottom","minHeight","top","t16","getMonth","t17","getFullYear","t18","t19","content","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32"],"sources":["../src/core/components/inputs/DateFilters/calendar/CalendarDay.tsx","../src/core/components/inputs/DateFilters/calendar/CalendarMonth.tsx","../src/core/components/inputs/DateFilters/calendar/CalendarFilter.tsx"],"sourcesContent":["import {CloseIcon} from '@sanity/icons/Close'\nimport {Card, type CardTone, Text} from '@sanity/ui'\nimport {isWeekend} from 'date-fns/isWeekend'\nimport {useCallback} from 'react'\n\nexport interface CalendarDayProps {\n date: Date // clock time\n focused?: boolean\n onSelect: (date?: Date) => void\n isCurrentMonth?: boolean\n isToday: boolean\n selected?: boolean\n dateStyles?: React.CSSProperties\n disabled?: boolean\n}\n\nexport function CalendarDay(props: CalendarDayProps) {\n const {\n date,\n focused,\n isCurrentMonth,\n isToday,\n onSelect,\n selected,\n disabled,\n dateStyles = {},\n } = props\n\n const handleClick = useCallback(() => {\n if (selected) {\n onSelect(undefined)\n } else {\n onSelect(date)\n }\n }, [date, onSelect, selected])\n\n let tone: CardTone\n if (isToday || selected) {\n tone = 'primary'\n } else if (isWeekend(date)) {\n // tone = 'transparent'\n tone = 'default'\n } else {\n tone = 'default'\n }\n\n return (\n <div aria-selected={selected} data-ui=\"CalendarDay\">\n <Card\n aria-label={date.toDateString()}\n aria-pressed={selected}\n as=\"button\"\n __unstable_focusRing\n data-weekday\n data-focused={focused ? 'true' : ''}\n data-testid={isToday ? 'day-tile-today' : `day-tile-${date.getDate()}-${date.getMonth()}`}\n role=\"button\"\n tabIndex={-1}\n onClick={handleClick}\n paddingX={3}\n paddingY={4}\n radius={2}\n selected={selected}\n style={{position: 'relative'}}\n tone={tone}\n disabled={disabled}\n >\n <Text\n size={1}\n style={{\n opacity: !selected && !isCurrentMonth ? 0.35 : 1,\n textAlign: 'center',\n ...dateStyles,\n }}\n >\n {selected ? <CloseIcon /> : date.getDate()}\n </Text>\n </Card>\n </div>\n )\n}\n","import {Box, Card, Grid, Label} from '@sanity/ui'\nimport {isSameDay} from 'date-fns/isSameDay'\nimport {isSameMonth} from 'date-fns/isSameMonth'\n\nimport {type TimeZoneScope, useTimeZone} from '../../../../hooks/useTimeZone'\nimport {DEFAULT_WEEK_DAY_NAMES} from '../../DateInputs/calendar/constants'\nimport {useWeeksOfMonth} from '../../DateInputs/calendar/utils'\nimport {CalendarDay as DefaultCalendarDay} from './CalendarDay'\nimport {type CalendarProps} from './CalendarFilter'\n\ninterface CalendarMonthProps {\n date: Date\n focused?: Date\n selected?: Date\n onSelect: (date?: Date) => void\n hidden?: boolean\n renderCalendarDay?: CalendarProps['renderCalendarDay']\n disabled?: boolean\n timeZoneScope: TimeZoneScope\n}\n\nexport function CalendarMonth(props: CalendarMonthProps) {\n const {date, renderCalendarDay, hidden, disabled, timeZoneScope} = props\n const {getCurrentZoneDate} = useTimeZone(timeZoneScope)\n const CalendarDay = renderCalendarDay || DefaultCalendarDay\n const weeksOfMonth = useWeeksOfMonth(date)\n\n return (\n <Box aria-hidden={hidden || false} data-ui=\"CalendarMonth\">\n <Grid\n style={{\n gridGap: '1px',\n gridTemplateColumns: 'repeat(7, 1fr)',\n }}\n >\n {/* Header */}\n {DEFAULT_WEEK_DAY_NAMES.map((weekday) => (\n <Card key={weekday} paddingY={3}>\n <Label size={1} style={{textAlign: 'center'}}>\n {weekday.slice(0, 1)}\n </Label>\n </Card>\n ))}\n\n {weeksOfMonth.map((week, weekIdx) =>\n week.days.map((dayDate, dayIdx) => {\n const focused = props.focused && isSameDay(dayDate, props.focused)\n const selected = props.selected && isSameDay(dayDate, props.selected)\n const isToday = isSameDay(dayDate, getCurrentZoneDate())\n const isCurrentMonth = isSameMonth(dayDate, props.focused || date)\n\n return (\n <CalendarDay\n key={`${weekIdx}-${dayIdx}`}\n date={dayDate}\n focused={focused}\n isCurrentMonth={isCurrentMonth}\n isToday={isToday}\n onSelect={props.onSelect}\n selected={selected}\n disabled={disabled}\n />\n )\n }),\n )}\n </Grid>\n </Box>\n )\n}\n","import {ChevronLeftIcon} from '@sanity/icons/ChevronLeft'\nimport {ChevronRightIcon} from '@sanity/icons/ChevronRight'\nimport {Box, Flex, Text} from '@sanity/ui'\nimport {addDays} from 'date-fns/addDays'\nimport {addMonths} from 'date-fns/addMonths'\nimport {setHours} from 'date-fns/setHours'\nimport {setMinutes} from 'date-fns/setMinutes'\nimport {\n type ComponentProps,\n type ForwardedRef,\n forwardRef,\n type KeyboardEvent,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react'\n\nimport {Button} from '../../../../../ui-components/button/Button'\nimport {TooltipDelayGroupProvider} from '../../../../../ui-components/tooltipDelayGroupProvider/TooltipDelayGroupProvider'\nimport {type TimeZoneScope, useTimeZone} from '../../../../hooks/useTimeZone'\nimport {useTranslation} from '../../../../i18n/hooks/useTranslation'\nimport {ARROW_KEYS, DEFAULT_MONTH_NAMES} from '../../DateInputs/calendar/constants'\nimport {type CalendarDayProps} from './CalendarDay'\nimport {CalendarMonth} from './CalendarMonth'\n\nexport type CalendarProps = Omit<ComponentProps<'div'>, 'onSelect'> & {\n focusedDate?: Date\n onSelect: (date?: Date) => void\n onFocusedDateChange?: (index: Date) => void\n selectedDate?: Date\n renderCalendarDay?: (props: CalendarDayProps) => React.ReactNode\n disabled?: boolean\n timeZoneScope: TimeZoneScope\n}\n\n// This is used to maintain focus on a child element of the calendar-grid between re-renders\n// When using arrow keys to move focus from a day in one month to another we are setting focus at the button for the day\n// after it has changed but *only* if we *already* had focus inside the calendar grid (e.g not if focus was on the \"next\n// year\" button, or any of the other controls)\n// When moving from the last day of a month that displays 6 weeks in the grid to a month that displays 5 weeks, current\n// focus gets lost on render, so this provides us with a stable element to help us preserve focus on a child element of\n// the calendar grid between re-renders\nconst PRESERVE_FOCUS_ELEMENT = (\n <span\n data-preserve-focus\n style={{overflow: 'hidden', position: 'absolute', outline: 'none'}}\n tabIndex={-1}\n />\n)\n\nexport const CalendarFilter = forwardRef(function Calendar(\n props: CalendarProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n focusedDate: providedFocusedDate,\n onFocusedDateChange: handleOnFocusedDateChange,\n onSelect,\n selectedDate,\n renderCalendarDay,\n timeZoneScope,\n ...restProps\n } = props\n const [_focusedDate, _setFocusedDate] = useState<Date>(new Date())\n const {t: tCore} = useTranslation()\n const {zoneDateToUtc} = useTimeZone(timeZoneScope)\n\n const focusedDate = providedFocusedDate || _focusedDate\n\n const onFocusedDateChange = useCallback(\n (date: Date) => {\n if (handleOnFocusedDateChange && providedFocusedDate) {\n handleOnFocusedDateChange(date)\n } else {\n _setFocusedDate(date)\n }\n },\n [handleOnFocusedDateChange, providedFocusedDate],\n )\n\n const setFocusedDate = useCallback(\n (date: Date) => {\n onFocusedDateChange(zoneDateToUtc(date))\n },\n [onFocusedDateChange, zoneDateToUtc],\n )\n\n const moveFocusedDate = useCallback(\n (by: number) => setFocusedDate(addMonths(focusedDate, by)),\n [focusedDate, setFocusedDate],\n )\n\n const handleDateChange = useCallback(\n (date?: Date) => {\n if (date) {\n const targetDate = zoneDateToUtc(\n setMinutes(setHours(date, date.getHours()), date.getMinutes()),\n )\n onSelect(targetDate)\n onFocusedDateChange(targetDate)\n } else {\n onSelect(undefined)\n }\n },\n [onSelect, zoneDateToUtc, onFocusedDateChange],\n )\n\n const ref = useRef<HTMLDivElement | null>(null)\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const focusCurrentWeekDay = useCallback(() => {\n ref.current?.querySelector<HTMLElement>(`[data-focused=\"true\"]`)?.focus()\n }, [ref])\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n if (!ARROW_KEYS.includes(event.key)) {\n return\n }\n event.preventDefault()\n if (event.currentTarget.hasAttribute('data-calendar-grid')) {\n focusCurrentWeekDay()\n return\n }\n if (event.key === 'ArrowUp') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, -7)))\n }\n if (event.key === 'ArrowDown') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, 7)))\n }\n if (event.key === 'ArrowLeft') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, -1)))\n }\n if (event.key === 'ArrowRight') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, 1)))\n }\n // set focus temporarily on this element to make sure focus is still inside the calendar-grid after re-render\n ref.current?.querySelector<HTMLElement>('[data-preserve-focus]')?.focus()\n },\n [ref, focusCurrentWeekDay, onFocusedDateChange, focusedDate, zoneDateToUtc],\n )\n\n useEffect(() => {\n focusCurrentWeekDay()\n }, [focusCurrentWeekDay])\n\n useEffect(() => {\n const currentFocusInCalendarGrid = document.activeElement?.matches(\n '[data-calendar-grid], [data-calendar-grid] [data-preserve-focus]',\n )\n if (\n // Only move focus if it's currently in the calendar grid\n currentFocusInCalendarGrid\n ) {\n focusCurrentWeekDay()\n }\n }, [ref, focusCurrentWeekDay, focusedDate])\n\n // Select AND focus current date when 'today' is pressed\n const handleNowClick = useCallback(() => {\n const now = new Date()\n onSelect(now)\n onFocusedDateChange(now)\n }, [onSelect, onFocusedDateChange])\n\n const handlePrevMonthClick = useCallback(() => moveFocusedDate(-1), [moveFocusedDate])\n\n const handleNextMonthClick = useCallback(() => moveFocusedDate(1), [moveFocusedDate])\n\n return (\n <Box data-ui=\"Calendar\" {...restProps} ref={ref}>\n {/* Month + Year header */}\n <Flex\n align=\"center\"\n paddingLeft={4}\n style={{\n borderBottom: '1px solid var(--card-border-color)',\n minHeight: `55px`,\n position: 'sticky',\n top: 0,\n }}\n >\n <Flex align=\"center\" flex={1} justify=\"space-between\">\n <Text weight=\"medium\" size={1}>\n {DEFAULT_MONTH_NAMES[focusedDate?.getMonth()]} {focusedDate?.getFullYear()}\n </Text>\n <Flex paddingRight={3} gap={2}>\n <TooltipDelayGroupProvider>\n <Button\n icon={ChevronLeftIcon}\n mode=\"bleed\"\n onClick={handlePrevMonthClick}\n tooltipProps={{content: 'Previous month'}}\n disabled={restProps.disabled}\n />\n <Button\n icon={ChevronRightIcon}\n mode=\"bleed\"\n onClick={handleNextMonthClick}\n tooltipProps={{content: 'Next month'}}\n disabled={restProps.disabled}\n />\n </TooltipDelayGroupProvider>\n </Flex>\n </Flex>\n </Flex>\n\n {/* Select date */}\n <Box>\n {/* Selected month (grid of days) */}\n <Box\n data-calendar-grid\n onKeyDown={handleKeyDown}\n overflow=\"hidden\"\n paddingBottom={1}\n paddingX={1}\n tabIndex={0}\n >\n <CalendarMonth\n date={focusedDate}\n focused={providedFocusedDate}\n onSelect={handleDateChange}\n selected={selectedDate}\n renderCalendarDay={renderCalendarDay}\n disabled={restProps.disabled}\n timeZoneScope={timeZoneScope}\n />\n {PRESERVE_FOCUS_ELEMENT}\n </Box>\n </Box>\n\n {/* Today button */}\n <Box flex={1} style={{borderBottom: '1px solid var(--card-border-color)'}}>\n <Button\n disabled={restProps.disabled}\n mode=\"bleed\"\n onClick={handleNowClick}\n width=\"fill\"\n aria-label={tCore('calendar.action.go-to-today-aria-label')}\n text={tCore('calendar.action.go-to-today')}\n />\n </Box>\n </Box>\n )\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarFilter-DoJjRzQE.js","names":["CloseIcon","Card","CardTone","Text","isWeekend","useCallback","CalendarDayProps","date","Date","focused","onSelect","isCurrentMonth","isToday","selected","dateStyles","React","CSSProperties","disabled","CalendarDay","props","$","_c","t0","t1","undefined","t2","handleClick","tone","t3","toDateString","t4","t5","getDate","getMonth","t6","Symbol","for","position","t7","t8","opacity","textAlign","t9","t10","t11","t12","Box","Card","Grid","Label","isSameDay","isSameMonth","TimeZoneScope","useTimeZone","DEFAULT_WEEK_DAY_NAMES","useWeeksOfMonth","CalendarDay","DefaultCalendarDay","CalendarProps","CalendarMonthProps","date","Date","focused","selected","onSelect","hidden","renderCalendarDay","disabled","timeZoneScope","CalendarMonth","props","$","_c","getCurrentZoneDate","weeksOfMonth","t0","t1","t2","Symbol","for","gridGap","gridTemplateColumns","map","_temp","t3","t4","week","weekIdx","days","dayDate","dayIdx","isToday","isCurrentMonth","t5","weekday","textAlign","slice","ChevronLeftIcon","ChevronRightIcon","Box","Flex","Text","addDays","addMonths","setHours","setMinutes","ComponentProps","ForwardedRef","forwardRef","KeyboardEvent","useCallback","useEffect","useImperativeHandle","useRef","useState","Button","TooltipDelayGroupProvider","TimeZoneScope","useTimeZone","useTranslation","ARROW_KEYS","DEFAULT_MONTH_NAMES","CalendarDayProps","CalendarMonth","CalendarProps","Omit","focusedDate","Date","onSelect","date","onFocusedDateChange","index","selectedDate","renderCalendarDay","props","React","ReactNode","disabled","timeZoneScope","PRESERVE_FOCUS_ELEMENT","overflow","position","outline","CalendarFilter","Calendar","forwardedRef","$","_c","handleOnFocusedDateChange","providedFocusedDate","restProps","t0","Symbol","for","_focusedDate","_setFocusedDate","t","tCore","zoneDateToUtc","t1","t2","date_0","setFocusedDate","t3","by","moveFocusedDate","t4","date_1","targetDate","getHours","getMinutes","undefined","handleDateChange","ref","t5","current","t6","querySelector","focus","focusCurrentWeekDay","t7","event","includes","key","preventDefault","currentTarget","hasAttribute","handleKeyDown","t8","t9","t10","currentFocusInCalendarGrid","document","activeElement","matches","t11","t12","now","handleNowClick","t13","handlePrevMonthClick","t14","handleNextMonthClick","t15","borderBottom","minHeight","top","t16","getMonth","t17","getFullYear","t18","t19","content","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32"],"sources":["../src/core/components/inputs/DateFilters/calendar/CalendarDay.tsx","../src/core/components/inputs/DateFilters/calendar/CalendarMonth.tsx","../src/core/components/inputs/DateFilters/calendar/CalendarFilter.tsx"],"sourcesContent":["import {CloseIcon} from '@sanity/icons/Close'\nimport {Card, type CardTone, Text} from '@sanity/ui'\nimport {isWeekend} from 'date-fns/isWeekend'\nimport {useCallback} from 'react'\n\nexport interface CalendarDayProps {\n date: Date // clock time\n focused?: boolean\n onSelect: (date?: Date) => void\n isCurrentMonth?: boolean\n isToday: boolean\n selected?: boolean\n dateStyles?: React.CSSProperties\n disabled?: boolean\n}\n\nexport function CalendarDay(props: CalendarDayProps) {\n const {\n date,\n focused,\n isCurrentMonth,\n isToday,\n onSelect,\n selected,\n disabled,\n dateStyles = {},\n } = props\n\n const handleClick = useCallback(() => {\n if (selected) {\n onSelect(undefined)\n } else {\n onSelect(date)\n }\n }, [date, onSelect, selected])\n\n let tone: CardTone\n if (isToday || selected) {\n tone = 'primary'\n } else if (isWeekend(date)) {\n // tone = 'transparent'\n tone = 'default'\n } else {\n tone = 'default'\n }\n\n return (\n <div aria-selected={selected} data-ui=\"CalendarDay\">\n <Card\n aria-label={date.toDateString()}\n aria-pressed={selected}\n as=\"button\"\n __unstable_focusRing\n data-weekday\n data-focused={focused ? 'true' : ''}\n data-testid={isToday ? 'day-tile-today' : `day-tile-${date.getDate()}-${date.getMonth()}`}\n role=\"button\"\n tabIndex={-1}\n onClick={handleClick}\n paddingX={3}\n paddingY={4}\n radius={2}\n selected={selected}\n style={{position: 'relative'}}\n tone={tone}\n disabled={disabled}\n >\n <Text\n size={1}\n style={{\n opacity: !selected && !isCurrentMonth ? 0.35 : 1,\n textAlign: 'center',\n ...dateStyles,\n }}\n >\n {selected ? <CloseIcon /> : date.getDate()}\n </Text>\n </Card>\n </div>\n )\n}\n","import {Box, Card, Grid, Label} from '@sanity/ui'\nimport {isSameDay} from 'date-fns/isSameDay'\nimport {isSameMonth} from 'date-fns/isSameMonth'\n\nimport {type TimeZoneScope, useTimeZone} from '../../../../hooks/useTimeZone'\nimport {DEFAULT_WEEK_DAY_NAMES} from '../../DateInputs/calendar/constants'\nimport {useWeeksOfMonth} from '../../DateInputs/calendar/utils'\nimport {CalendarDay as DefaultCalendarDay} from './CalendarDay'\nimport {type CalendarProps} from './CalendarFilter'\n\ninterface CalendarMonthProps {\n date: Date\n focused?: Date\n selected?: Date\n onSelect: (date?: Date) => void\n hidden?: boolean\n renderCalendarDay?: CalendarProps['renderCalendarDay']\n disabled?: boolean\n timeZoneScope: TimeZoneScope\n}\n\nexport function CalendarMonth(props: CalendarMonthProps) {\n const {date, renderCalendarDay, hidden, disabled, timeZoneScope} = props\n const {getCurrentZoneDate} = useTimeZone(timeZoneScope)\n const CalendarDay = renderCalendarDay || DefaultCalendarDay\n const weeksOfMonth = useWeeksOfMonth(date)\n\n return (\n <Box aria-hidden={hidden || false} data-ui=\"CalendarMonth\">\n <Grid\n style={{\n gridGap: '1px',\n gridTemplateColumns: 'repeat(7, 1fr)',\n }}\n >\n {/* Header */}\n {DEFAULT_WEEK_DAY_NAMES.map((weekday) => (\n <Card key={weekday} paddingY={3}>\n <Label size={1} style={{textAlign: 'center'}}>\n {weekday.slice(0, 1)}\n </Label>\n </Card>\n ))}\n\n {weeksOfMonth.map((week, weekIdx) =>\n week.days.map((dayDate, dayIdx) => {\n const focused = props.focused && isSameDay(dayDate, props.focused)\n const selected = props.selected && isSameDay(dayDate, props.selected)\n const isToday = isSameDay(dayDate, getCurrentZoneDate())\n const isCurrentMonth = isSameMonth(dayDate, props.focused || date)\n\n return (\n <CalendarDay\n key={`${weekIdx}-${dayIdx}`}\n date={dayDate}\n focused={focused}\n isCurrentMonth={isCurrentMonth}\n isToday={isToday}\n onSelect={props.onSelect}\n selected={selected}\n disabled={disabled}\n />\n )\n }),\n )}\n </Grid>\n </Box>\n )\n}\n","import {ChevronLeftIcon} from '@sanity/icons/ChevronLeft'\nimport {ChevronRightIcon} from '@sanity/icons/ChevronRight'\nimport {Box, Flex, Text} from '@sanity/ui'\nimport {addDays} from 'date-fns/addDays'\nimport {addMonths} from 'date-fns/addMonths'\nimport {setHours} from 'date-fns/setHours'\nimport {setMinutes} from 'date-fns/setMinutes'\nimport {\n type ComponentProps,\n type ForwardedRef,\n forwardRef,\n type KeyboardEvent,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react'\n\nimport {Button} from '../../../../../ui-components/button/Button'\nimport {TooltipDelayGroupProvider} from '../../../../../ui-components/tooltipDelayGroupProvider/TooltipDelayGroupProvider'\nimport {type TimeZoneScope, useTimeZone} from '../../../../hooks/useTimeZone'\nimport {useTranslation} from '../../../../i18n/hooks/useTranslation'\nimport {ARROW_KEYS, DEFAULT_MONTH_NAMES} from '../../DateInputs/calendar/constants'\nimport {type CalendarDayProps} from './CalendarDay'\nimport {CalendarMonth} from './CalendarMonth'\n\nexport type CalendarProps = Omit<ComponentProps<'div'>, 'onSelect'> & {\n focusedDate?: Date\n onSelect: (date?: Date) => void\n onFocusedDateChange?: (index: Date) => void\n selectedDate?: Date\n renderCalendarDay?: (props: CalendarDayProps) => React.ReactNode\n disabled?: boolean\n timeZoneScope: TimeZoneScope\n}\n\n// This is used to maintain focus on a child element of the calendar-grid between re-renders\n// When using arrow keys to move focus from a day in one month to another we are setting focus at the button for the day\n// after it has changed but *only* if we *already* had focus inside the calendar grid (e.g not if focus was on the \"next\n// year\" button, or any of the other controls)\n// When moving from the last day of a month that displays 6 weeks in the grid to a month that displays 5 weeks, current\n// focus gets lost on render, so this provides us with a stable element to help us preserve focus on a child element of\n// the calendar grid between re-renders\nconst PRESERVE_FOCUS_ELEMENT = (\n <span\n data-preserve-focus\n style={{overflow: 'hidden', position: 'absolute', outline: 'none'}}\n tabIndex={-1}\n />\n)\n\nexport const CalendarFilter = forwardRef(function Calendar(\n props: CalendarProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n focusedDate: providedFocusedDate,\n onFocusedDateChange: handleOnFocusedDateChange,\n onSelect,\n selectedDate,\n renderCalendarDay,\n timeZoneScope,\n ...restProps\n } = props\n const [_focusedDate, _setFocusedDate] = useState<Date>(new Date())\n const {t: tCore} = useTranslation()\n const {zoneDateToUtc} = useTimeZone(timeZoneScope)\n\n const focusedDate = providedFocusedDate || _focusedDate\n\n const onFocusedDateChange = useCallback(\n (date: Date) => {\n if (handleOnFocusedDateChange && providedFocusedDate) {\n handleOnFocusedDateChange(date)\n } else {\n _setFocusedDate(date)\n }\n },\n [handleOnFocusedDateChange, providedFocusedDate],\n )\n\n const setFocusedDate = useCallback(\n (date: Date) => {\n onFocusedDateChange(zoneDateToUtc(date))\n },\n [onFocusedDateChange, zoneDateToUtc],\n )\n\n const moveFocusedDate = useCallback(\n (by: number) => setFocusedDate(addMonths(focusedDate, by)),\n [focusedDate, setFocusedDate],\n )\n\n const handleDateChange = useCallback(\n (date?: Date) => {\n if (date) {\n const targetDate = zoneDateToUtc(\n setMinutes(setHours(date, date.getHours()), date.getMinutes()),\n )\n onSelect(targetDate)\n onFocusedDateChange(targetDate)\n } else {\n onSelect(undefined)\n }\n },\n [onSelect, zoneDateToUtc, onFocusedDateChange],\n )\n\n const ref = useRef<HTMLDivElement | null>(null)\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const focusCurrentWeekDay = useCallback(() => {\n ref.current?.querySelector<HTMLElement>(`[data-focused=\"true\"]`)?.focus()\n }, [ref])\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n if (!ARROW_KEYS.includes(event.key)) {\n return\n }\n event.preventDefault()\n if (event.currentTarget.hasAttribute('data-calendar-grid')) {\n focusCurrentWeekDay()\n return\n }\n if (event.key === 'ArrowUp') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, -7)))\n }\n if (event.key === 'ArrowDown') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, 7)))\n }\n if (event.key === 'ArrowLeft') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, -1)))\n }\n if (event.key === 'ArrowRight') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, 1)))\n }\n // set focus temporarily on this element to make sure focus is still inside the calendar-grid after re-render\n ref.current?.querySelector<HTMLElement>('[data-preserve-focus]')?.focus()\n },\n [ref, focusCurrentWeekDay, onFocusedDateChange, focusedDate, zoneDateToUtc],\n )\n\n useEffect(() => {\n focusCurrentWeekDay()\n }, [focusCurrentWeekDay])\n\n useEffect(() => {\n const currentFocusInCalendarGrid = document.activeElement?.matches(\n '[data-calendar-grid], [data-calendar-grid] [data-preserve-focus]',\n )\n if (\n // Only move focus if it's currently in the calendar grid\n currentFocusInCalendarGrid\n ) {\n focusCurrentWeekDay()\n }\n }, [ref, focusCurrentWeekDay, focusedDate])\n\n // Select AND focus current date when 'today' is pressed\n const handleNowClick = useCallback(() => {\n const now = new Date()\n onSelect(now)\n onFocusedDateChange(now)\n }, [onSelect, onFocusedDateChange])\n\n const handlePrevMonthClick = useCallback(() => moveFocusedDate(-1), [moveFocusedDate])\n\n const handleNextMonthClick = useCallback(() => moveFocusedDate(1), [moveFocusedDate])\n\n return (\n <Box data-ui=\"Calendar\" {...restProps} ref={ref}>\n {/* Month + Year header */}\n <Flex\n align=\"center\"\n paddingLeft={4}\n style={{\n borderBottom: '1px solid var(--card-border-color)',\n minHeight: `55px`,\n position: 'sticky',\n top: 0,\n }}\n >\n <Flex align=\"center\" flex={1} justify=\"space-between\">\n <Text weight=\"medium\" size={1}>\n {DEFAULT_MONTH_NAMES[focusedDate?.getMonth()]} {focusedDate?.getFullYear()}\n </Text>\n <Flex paddingRight={3} gap={2}>\n <TooltipDelayGroupProvider>\n <Button\n icon={ChevronLeftIcon}\n mode=\"bleed\"\n onClick={handlePrevMonthClick}\n tooltipProps={{content: 'Previous month'}}\n disabled={restProps.disabled}\n />\n <Button\n icon={ChevronRightIcon}\n mode=\"bleed\"\n onClick={handleNextMonthClick}\n tooltipProps={{content: 'Next month'}}\n disabled={restProps.disabled}\n />\n </TooltipDelayGroupProvider>\n </Flex>\n </Flex>\n </Flex>\n\n {/* Select date */}\n <Box>\n {/* Selected month (grid of days) */}\n <Box\n data-calendar-grid\n onKeyDown={handleKeyDown}\n overflow=\"hidden\"\n paddingBottom={1}\n paddingX={1}\n tabIndex={0}\n >\n <CalendarMonth\n date={focusedDate}\n focused={providedFocusedDate}\n onSelect={handleDateChange}\n selected={selectedDate}\n renderCalendarDay={renderCalendarDay}\n disabled={restProps.disabled}\n timeZoneScope={timeZoneScope}\n />\n {PRESERVE_FOCUS_ELEMENT}\n </Box>\n </Box>\n\n {/* Today button */}\n <Box flex={1} style={{borderBottom: '1px solid var(--card-border-color)'}}>\n <Button\n disabled={restProps.disabled}\n mode=\"bleed\"\n onClick={handleNowClick}\n width=\"fill\"\n aria-label={tCore('calendar.action.go-to-today-aria-label')}\n text={tCore('calendar.action.go-to-today')}\n />\n </Box>\n </Box>\n )\n})\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as MenuButton$1, f as Button$1, i as MenuItem$1 } from "./ui-components-CIbWmKVS.js";
|
|
2
|
-
import { Dr as CommentsOnboardingPopover, Mr as CommentDeleteDialog, Or as CommentsList, Pr as isTextSelectionComment, Qu as useCurrentUser, Rr as commentsLocaleNamespace, Tr as CommentsUpsellPanel, _r as useCommentsOnboarding, br as useComments, fr as useCommentsUpsell, gr as useCommentsScroll, hn as useAddonDataset, mr as useCommentsSelectedPath, np as useTranslation, pr as useCommentsTelemetry, vr as useCommentsEnabled } from "./core-
|
|
2
|
+
import { Dr as CommentsOnboardingPopover, Mr as CommentDeleteDialog, Or as CommentsList, Pr as isTextSelectionComment, Qu as useCurrentUser, Rr as commentsLocaleNamespace, Tr as CommentsUpsellPanel, _r as useCommentsOnboarding, br as useComments, fr as useCommentsUpsell, gr as useCommentsScroll, hn as useAddonDataset, mr as useCommentsSelectedPath, np as useTranslation, pr as useCommentsTelemetry, vr as useCommentsEnabled } from "./core-DXpvoVLo.js";
|
|
3
3
|
import { Fragment, forwardRef, useEffect, useRef, useState } from "react";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -399,4 +399,4 @@ function _temp(x) {
|
|
|
399
399
|
}
|
|
400
400
|
export { CommentsInspector };
|
|
401
401
|
|
|
402
|
-
//# sourceMappingURL=CommentsInspector-
|
|
402
|
+
//# sourceMappingURL=CommentsInspector-73iBuuk4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommentsInspector-BJlk7SLR.js","names":["Box","Card","Stack","Text","useTranslation","commentsLocaleNamespace","CommentsInspectorError","t0","$","_c","error","t","t1","t2","t3","message","t4","CheckmarkIcon","ChevronDownIcon","CloseIcon","Card","Flex","Menu","Text","forwardRef","useCallback","styled","Button","MenuButton","MenuItem","useTranslation","commentsLocaleNamespace","CommentStatus","CommentsUIMode","Root","position","zIndex","lineHeight","CommentsInspectorHeaderProps","onClose","onViewChange","view","mode","CommentsInspectorHeader","props","ref","$","_c","t","t0","handleSetOpenView","t1","handleSetResolvedView","t2","t3","t4","t5","t6","Symbol","for","width","t7","undefined","t8","t9","t10","t11","t12","content","t13","t14","t15","t16","placement","t17","t18","t19","t20","t21","t22","t23","t24","Flex","Layer","useClickOutsideEvent","useLayer","useToast","PathUtils","Fragment","useCallback","useEffect","useMemo","useRef","useState","styled","DocumentInspectorProps","useTranslation","useCurrentUser","useAddonDataset","CommentDeleteDialog","CommentsList","CommentsOnboardingPopover","CommentsUpsellPanel","CommentsSelectedPath","isTextSelectionComment","useComments","useCommentsEnabled","useCommentsOnboarding","useCommentsScroll","useCommentsSelectedPath","useCommentsTelemetry","useCommentsUpsell","commentsLocaleNamespace","CommentBaseCreatePayload","CommentReactionOption","CommentStatus","CommentsUIMode","CommentUpdatePayload","CommentsInspectorError","CommentsInspectorHeader","CommentToDelete","commentId","isParent","RootLayer","CommentsInspector","props","$","_c","enabled","mode","t0","CommentsInspectorInner","t","onClose","showDeleteDialog","setShowDeleteDialog","commentToDelete","setCommentToDelete","deleteLoading","setDeleteLoading","deleteError","setDeleteError","rootRef","rootElement","setRootElement","currentUser","comments","getComment","isCreatingDataset","mentionOptions","setStatus","status","operation","selectedCommentId","getCommentLink","onClearSelectedComment","onPathOpen","commentIdParamRef","error","addonDatasetError","didScrollToCommentFromParam","pushToast","push","isTopLayer","boundaryElement","scrollToComment","scrollToField","scrollToInlineComment","selectedPath","setSelectedPath","isDismissed","setDismissed","telemetry","upsellData","telemetryLogs","upsellTelemetryLogs","currentComments","data","loading","t1","nextView","commentListViewChanged","handleChangeView","t2","handleCloseInspector","t3","bb0","undefined","t4","id","navigator","clipboard","writeText","catch","closable","title","commentLinkCopied","copyLink","handleCopyLink","id_0","comment","create","type","fieldPath","target","path","field","_id","message","parentCommentId","reactions","threadId","handleCreateRetry","t5","closeDeleteDialog","t6","open","nextPath","fromString","isInlineComment","filter","c","some","_temp","handlePathSelect","t7","nextComment","payload","origin","handleNewThreadCreate","t8","nextComment_0","handleReply","t9","id_1","nextComment_1","update","handleEdit","t10","id_2","parent","find","c_0","parentComment","Boolean","replies","length","onDeleteStart","t11","id_3","remove","t12","err","handleDeleteConfirm","id_4","nextStatus","comment_0","handleStatusChange","t13","id_5","reaction","react","handleReactionSelect","t14","handleDeselectPath","t15","Symbol","for","element","current","setRootRef","t16","event","isPTETarget","HTMLElement","hasAttribute","t17","loggedTelemetry","setLoggedTelemetry","t18","panelViewed","panelDismissed","t19","t20","t21","t22","commentToScrollTo","requestAnimationFrame","commentViewedFromLink","t23","bb1","t24","panelPrimaryClicked","panelSecondaryClicked","beforeListNode","t25","t26","t27","t28","t29","t30","t31","x"],"sources":["../src/core/comments/plugin/inspector/CommentsInspectorError.tsx","../src/core/comments/plugin/inspector/CommentsInspectorHeader.tsx","../src/core/comments/plugin/inspector/CommentsInspector.tsx"],"sourcesContent":["import {Box, Card, Stack, Text} from '@sanity/ui'\n\nimport {useTranslation} from '../../../i18n'\nimport {commentsLocaleNamespace} from '../../i18n'\n\nexport function CommentsInspectorError({error}: {error: Error}) {\n const {t} = useTranslation(commentsLocaleNamespace)\n\n return (\n <Box padding={2}>\n <Card paddingX={2} paddingY={3} tone=\"critical\" border radius={3}>\n <Stack space={3}>\n <Text size={1} weight=\"medium\">\n {t('inspector-error.title')}\n </Text>\n <Text size={1} muted>\n {error.message}\n </Text>\n </Stack>\n </Card>\n </Box>\n )\n}\n","import {CheckmarkIcon} from '@sanity/icons/Checkmark'\nimport {ChevronDownIcon} from '@sanity/icons/ChevronDown'\nimport {CloseIcon} from '@sanity/icons/Close'\nimport {Card, Flex, Menu, Text} from '@sanity/ui'\nimport {forwardRef, useCallback} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Button, MenuButton, MenuItem} from '../../../../ui-components'\nimport {useTranslation} from '../../../i18n'\nimport {commentsLocaleNamespace} from '../../i18n'\nimport {type CommentStatus, type CommentsUIMode} from '../../types'\n\nconst Root = styled(Card)({\n position: 'relative',\n zIndex: '1',\n lineHeight: '0',\n})\n\ninterface CommentsInspectorHeaderProps {\n onClose: () => void\n onViewChange: (view: CommentStatus) => void\n view: CommentStatus\n mode: CommentsUIMode\n}\n\nexport const CommentsInspectorHeader = forwardRef(function CommentsInspectorHeader(\n props: CommentsInspectorHeaderProps,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {t} = useTranslation(commentsLocaleNamespace)\n const {onClose, onViewChange, view, mode} = props\n\n const handleSetOpenView = useCallback(() => onViewChange('open'), [onViewChange])\n const handleSetResolvedView = useCallback(() => onViewChange('resolved'), [onViewChange])\n\n return (\n <Root ref={ref}>\n <Flex padding={2}>\n <Flex align=\"center\" flex={1} gap={2} paddingY={2} padding={3}>\n <Text as=\"h1\" size={1} weight=\"medium\">\n {t('feature-name')}\n </Text>\n </Flex>\n\n <Flex flex=\"none\" padding={1} gap={2}>\n <MenuButton\n id=\"comment-status-menu-button\"\n button={\n <Button\n text={\n view === 'open'\n ? t('status-filter.status-open')\n : t('status-filter.status-resolved')\n }\n mode=\"bleed\"\n iconRight={ChevronDownIcon}\n />\n }\n menu={\n <Menu style={{width: '180px'}}>\n <MenuItem\n iconRight={view === 'open' ? CheckmarkIcon : undefined}\n onClick={handleSetOpenView}\n text={t('status-filter.status-open-full')}\n />\n <MenuItem\n iconRight={view === 'resolved' ? CheckmarkIcon : undefined}\n onClick={handleSetResolvedView}\n text={t('status-filter.status-resolved-full')}\n tooltipProps={\n mode === 'upsell'\n ? {content: t('status-filter.status-resolved-full-upsell')}\n : undefined\n }\n disabled={mode === 'upsell'}\n />\n </Menu>\n }\n popover={{placement: 'bottom-end'}}\n />\n\n <Button\n aria-label={t('close-pane-button-text-aria-label')}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n tooltipProps={{content: t('close-pane-button-text')}}\n />\n </Flex>\n </Flex>\n </Root>\n )\n})\n","import {Flex, Layer, useClickOutsideEvent, useLayer, useToast} from '@sanity/ui'\nimport * as PathUtils from '@sanity/util/paths'\nimport {Fragment, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {type DocumentInspectorProps} from '../../../config'\nimport {useTranslation} from '../../../i18n'\nimport {useCurrentUser} from '../../../store'\nimport {useAddonDataset} from '../../../studio/addonDataset'\nimport {\n CommentDeleteDialog,\n CommentsList,\n CommentsOnboardingPopover,\n CommentsUpsellPanel,\n} from '../../components'\nimport {type CommentsSelectedPath} from '../../context'\nimport {isTextSelectionComment} from '../../helpers'\nimport {\n useComments,\n useCommentsEnabled,\n useCommentsOnboarding,\n useCommentsScroll,\n useCommentsSelectedPath,\n useCommentsTelemetry,\n useCommentsUpsell,\n} from '../../hooks'\nimport {commentsLocaleNamespace} from '../../i18n'\nimport {\n type CommentBaseCreatePayload,\n type CommentReactionOption,\n type CommentStatus,\n type CommentsUIMode,\n type CommentUpdatePayload,\n} from '../../types'\nimport {CommentsInspectorError} from './CommentsInspectorError'\nimport {CommentsInspectorHeader} from './CommentsInspectorHeader'\n\ninterface CommentToDelete {\n commentId: string\n isParent: boolean\n}\n\nconst RootLayer = styled(Layer)`\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n`\n\nexport function CommentsInspector(props: DocumentInspectorProps) {\n const {enabled, mode} = useCommentsEnabled()\n\n if (!enabled) return null\n\n // We wrap the comments inspector in a Layer in order to know when the comments inspector\n // is the top layer (that is, if there is e.g. a popover open). This is used to determine\n // if we should deselect the selected path when clicking outside the comments inspector.\n return (\n <RootLayer>\n <CommentsInspectorInner {...props} mode={mode} />\n </RootLayer>\n )\n}\n\nfunction CommentsInspectorInner(\n props: DocumentInspectorProps & {\n mode: CommentsUIMode\n },\n) {\n const {t} = useTranslation(commentsLocaleNamespace)\n const {onClose, mode} = props\n const [showDeleteDialog, setShowDeleteDialog] = useState<boolean>(false)\n const [commentToDelete, setCommentToDelete] = useState<CommentToDelete | null>(null)\n const [deleteLoading, setDeleteLoading] = useState<boolean>(false)\n const [deleteError, setDeleteError] = useState<Error | null>(null)\n\n const rootRef = useRef<HTMLDivElement | null>(null)\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n\n const currentUser = useCurrentUser()\n const {\n comments,\n getComment,\n isCreatingDataset,\n mentionOptions,\n setStatus,\n status,\n operation,\n selectedCommentId,\n getCommentLink,\n onClearSelectedComment,\n onPathOpen,\n } = useComments()\n const commentIdParamRef = useRef<string | undefined>(selectedCommentId)\n const {error: addonDatasetError} = useAddonDataset()\n const didScrollToCommentFromParam = useRef<boolean>(false)\n\n const pushToast = useToast().push\n const {isTopLayer} = useLayer()\n\n const {scrollToComment, scrollToField, scrollToInlineComment} = useCommentsScroll({\n boundaryElement: rootElement,\n })\n const {selectedPath, setSelectedPath} = useCommentsSelectedPath()\n const {isDismissed, setDismissed} = useCommentsOnboarding()\n const telemetry = useCommentsTelemetry()\n\n const {upsellData, telemetryLogs: upsellTelemetryLogs} = useCommentsUpsell()\n\n const currentComments = useMemo(() => comments.data[status], [comments, status])\n\n const {loading} = comments\n\n const handleChangeView = useCallback(\n (nextView: CommentStatus) => {\n setStatus(nextView)\n setSelectedPath(null)\n\n telemetry.commentListViewChanged(nextView)\n },\n [setSelectedPath, setStatus, telemetry],\n )\n\n const handleCloseInspector = useCallback(() => {\n onClose()\n setSelectedPath(null)\n }, [onClose, setSelectedPath])\n\n const handleCopyLink = useMemo(() => {\n if (!getCommentLink) return undefined\n\n const copyLink = (id: string) => {\n navigator.clipboard.writeText(getCommentLink(id)).catch(() => {\n pushToast({\n closable: true,\n status: 'error',\n title: t('copy-link-error-message'),\n })\n })\n\n telemetry.commentLinkCopied()\n }\n\n return copyLink\n }, [getCommentLink, pushToast, t, telemetry])\n\n const handleCreateRetry = useCallback(\n (id: string) => {\n const comment = getComment(id)\n if (!comment) return\n\n void operation.create({\n type: 'field',\n fieldPath: comment.target.path?.field || '',\n id: comment._id,\n message: comment.message,\n parentCommentId: comment.parentCommentId,\n reactions: comment.reactions || [],\n status: comment.status,\n threadId: comment.threadId,\n })\n },\n [getComment, operation],\n )\n\n const closeDeleteDialog = useCallback(() => {\n if (deleteLoading) return\n setShowDeleteDialog(false)\n setCommentToDelete(null)\n }, [deleteLoading])\n\n const handlePathSelect = useCallback(\n (nextPath: CommentsSelectedPath) => {\n setSelectedPath(nextPath)\n\n if (nextPath?.fieldPath) {\n const path = PathUtils.fromString(nextPath.fieldPath)\n onPathOpen?.(path)\n\n scrollToField(nextPath.fieldPath)\n\n const isInlineComment = comments.data.open\n .filter((c) => c.threadId === nextPath?.threadId)\n .some((x) => isTextSelectionComment(x.parentComment))\n\n if (isInlineComment && nextPath.threadId) {\n scrollToInlineComment(nextPath.threadId)\n }\n }\n },\n [comments.data.open, onPathOpen, scrollToField, scrollToInlineComment, setSelectedPath],\n )\n\n const handleNewThreadCreate = useCallback(\n (nextComment: CommentBaseCreatePayload) => {\n const fieldPath = nextComment?.payload?.fieldPath || ''\n\n void operation.create({\n type: 'field',\n fieldPath,\n message: nextComment.message,\n parentCommentId: nextComment.parentCommentId,\n reactions: nextComment.reactions,\n status: nextComment.status,\n threadId: nextComment.threadId,\n })\n\n setSelectedPath({\n fieldPath,\n origin: 'inspector',\n threadId: nextComment.threadId,\n })\n },\n [operation, setSelectedPath],\n )\n\n const handleReply = useCallback(\n (nextComment: CommentBaseCreatePayload) => {\n void operation.create({\n ...nextComment,\n type: 'field',\n fieldPath: nextComment?.payload?.fieldPath || '',\n })\n },\n [operation],\n )\n\n const handleEdit = useCallback(\n (id: string, nextComment: CommentUpdatePayload) => {\n void operation.update(id, nextComment)\n },\n [operation],\n )\n\n const onDeleteStart = useCallback(\n (id: string) => {\n const parent = currentComments.find((c) => c.parentComment?._id === id)\n const isParent = Boolean(parent && parent?.replies?.length > 0)\n\n setShowDeleteDialog(true)\n setCommentToDelete({\n commentId: id,\n isParent,\n })\n },\n\n [currentComments],\n )\n\n const handleDeleteConfirm = useCallback(\n async (id: string) => {\n try {\n setDeleteLoading(true)\n await operation.remove(id)\n closeDeleteDialog()\n } catch (err) {\n setDeleteError(err)\n }\n setDeleteLoading(false)\n },\n [closeDeleteDialog, operation],\n )\n\n const handleStatusChange = useCallback(\n (id: string, nextStatus: CommentStatus) => {\n void operation.update(id, {\n status: nextStatus,\n })\n\n // If the comment is being opened, we want to change to the \"open\" view\n // and scroll to the comment\n if (nextStatus === 'open') {\n setStatus('open')\n\n const comment = getComment(id)\n\n if (!comment) return\n\n setSelectedPath({\n fieldPath: comment.target.path?.field || null,\n origin: 'inspector',\n threadId: comment.threadId || null,\n })\n\n scrollToComment(id)\n }\n },\n [getComment, operation, scrollToComment, setSelectedPath, setStatus],\n )\n\n const handleReactionSelect = useCallback(\n (id: string, reaction: CommentReactionOption) => {\n void operation.react(id, reaction)\n },\n [operation],\n )\n\n const handleDeselectPath = useCallback(() => {\n // Clear the selected path when:\n // - Clicking outside the inspector when it's the top layer\n // - The target is not a slate editor string. This is needed because we do not want to\n // frequently deselect the selected path when clicking inside the editor.\n if (selectedPath && isTopLayer) {\n setSelectedPath(null)\n }\n }, [isTopLayer, selectedPath, setSelectedPath])\n\n const setRootRef = useCallback((element: HTMLDivElement | null) => {\n rootRef.current = element\n setRootElement(element)\n }, [])\n\n useClickOutsideEvent(\n (event) => {\n // Clear the selected path when clicking outside the comments inspector.\n // We do this only when the comments inspector is the top layer.\n const isPTETarget =\n event.target instanceof HTMLElement && event.target?.hasAttribute('data-pt-text')\n\n if (!isPTETarget) {\n handleDeselectPath()\n }\n },\n () => [rootRef.current],\n )\n\n const [loggedTelemetry, setLoggedTelemetry] = useState(false)\n useEffect(() => {\n if (loggedTelemetry || mode !== 'upsell') return undefined\n // oxlint-disable-next-line react/react-compiler\n setLoggedTelemetry(true)\n if (selectedPath?.origin === 'form') {\n upsellTelemetryLogs.panelViewed('field_action')\n } else if (commentIdParamRef.current) {\n upsellTelemetryLogs.panelViewed('link')\n } else {\n upsellTelemetryLogs.panelViewed('document_action')\n }\n return () => {\n upsellTelemetryLogs.panelDismissed()\n }\n }, [loggedTelemetry, mode, selectedPath?.origin, upsellTelemetryLogs])\n\n // Handle scroll to comment from URL param\n useEffect(() => {\n // Make sure that the comment exists before we try to scroll to it.\n // We can't solely rely on the comment id from the url since the comment might not be loaded yet.\n const commentToScrollTo = getComment(commentIdParamRef.current || '')\n\n if (!loading && commentToScrollTo && !didScrollToCommentFromParam.current) {\n // Make sure we have the correct status set before we scroll to the comment\n setStatus(commentToScrollTo.status || 'open')\n\n handlePathSelect({\n fieldPath: commentToScrollTo.target.path?.field || null,\n origin: 'url',\n threadId: commentToScrollTo.threadId || null,\n })\n\n // Defer the comment scroll to prevent React batching from overwriting the field scroll\n requestAnimationFrame(() => {\n scrollToComment(commentToScrollTo._id)\n })\n\n didScrollToCommentFromParam.current = true\n commentIdParamRef.current = undefined\n\n onClearSelectedComment?.()\n\n telemetry.commentViewedFromLink()\n }\n }, [\n getComment,\n handlePathSelect,\n loading,\n onClearSelectedComment,\n scrollToComment,\n setStatus,\n telemetry,\n ])\n\n const beforeListNode = useMemo(() => {\n if (mode === 'upsell' && upsellData) {\n return (\n <CommentsUpsellPanel\n data={upsellData}\n onPrimaryClick={upsellTelemetryLogs.panelPrimaryClicked}\n onSecondaryClick={upsellTelemetryLogs.panelSecondaryClicked}\n />\n )\n }\n\n return null\n }, [\n mode,\n upsellTelemetryLogs.panelPrimaryClicked,\n upsellTelemetryLogs.panelSecondaryClicked,\n upsellData,\n ])\n\n return (\n <Fragment>\n {commentToDelete && showDeleteDialog && (\n <CommentDeleteDialog\n {...commentToDelete}\n error={deleteError}\n loading={deleteLoading}\n onClose={closeDeleteDialog}\n onConfirm={handleDeleteConfirm}\n />\n )}\n\n <Flex\n direction=\"column\"\n flex={1}\n height=\"fill\"\n onClick={handleDeselectPath}\n overflow=\"hidden\"\n ref={setRootRef}\n >\n <CommentsOnboardingPopover\n onDismiss={setDismissed}\n open={!isDismissed}\n placement=\"left-start\"\n >\n <CommentsInspectorHeader\n onClose={handleCloseInspector}\n onViewChange={handleChangeView}\n view={status}\n mode={mode}\n />\n </CommentsOnboardingPopover>\n {addonDatasetError && <CommentsInspectorError error={addonDatasetError} />}\n {currentUser && (\n <CommentsList\n beforeListNode={beforeListNode}\n comments={currentComments}\n currentUser={currentUser}\n error={comments.error}\n loading={loading}\n mentionOptions={mentionOptions}\n mode={mode}\n onCopyLink={handleCopyLink}\n onCreateRetry={handleCreateRetry}\n onDelete={onDeleteStart}\n onEdit={handleEdit}\n onNewThreadCreate={handleNewThreadCreate}\n onPathSelect={handlePathSelect}\n onReactionSelect={handleReactionSelect}\n onReply={handleReply}\n onStatusChange={handleStatusChange}\n readOnly={isCreatingDataset}\n selectedPath={selectedPath}\n status={status}\n />\n )}\n </Flex>\n </Fragment>\n )\n}\n"],"mappings":";;;;;;;;;;;AAKA,SAAOM,uBAAAC,IAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAAgC,EAAAC,UAAAH,IACrC,EAAAI,MAAYP,eAAeC,uBAAuB,GAACO;CAAA,AAAAJ,EAAA,OAAAG,IAOdC,KAAAJ,EAAA,MAA1BI,KAAAD,EAAE,uBAAuB,GAACH,EAAA,KAAAG,GAAAH,EAAA,KAAAI;CAAA,IAAAC;CAAA,AAAAL,EAAA,OAAAI,KACtBC,KAAAL,EAAA,MAFPK,KAAA,oBAAC,MAAD;EAAY,MAAA;EAAU,QAAA;EACnBD,UAAAA;CADE,CAAA,GAEEJ,EAAA,KAAAI,IAAAJ,EAAA,KAAAK;CAAA,IAAAC;CAAA,AAAAN,EAAA,OAAAE,MAAAK,UAGAD,KAAAN,EAAA,MAFPM,KAAA,oBAAC,MAAD;EAAY,MAAA;EAAG,OAAA;EACZJ,UAAAA,MAAKK;CADH,CAAA,GAEEP,EAAA,KAAAE,MAAAK,SAAAP,EAAA,KAAAM;CAAA,IAAAE;CAGP,OAHOR,EAAA,OAAAK,MAAAL,EAAA,OAAAM,MARbE,KAAA,oBAAC,KAAD;EAAc,SAAA;EACZ,UAAA,oBAAC,MAAD;GAAgB,UAAA;GAAa,UAAA;GAAQ,MAAA;GAAW,QAAA;GAAe,QAAA;GAC7D,UAAA,qBAAC,OAAD;IAAc,OAAA;IAAd,UAAA,CACEH,IAGAC,EAJI;;EADH,CAAA;CADH,CAAA,GAWEN,EAAA,KAAAK,IAAAL,EAAA,KAAAM,IAAAN,EAAA,KAAAQ,MAAAA,KAAAR,EAAA,IAXNQ;AAWM;ACRV,MAAMkB,OAAOR,uBAAON,IAAI,CAAC,CAAA,WAAA;;;AAAC,CAAA,CAAA,CAAA;CACxBe,UAAU;CACVC,QAAQ;CACRC,YAAY;AACd,CAAC,GASYM,0BAA0BnB,WAAW,SAAAoB,OAAAC,KAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAIhD,EAAAC,MAAYlB,eAAeC,uBAAuB,GAClD,EAAAQ,SAAAC,cAAAC,MAAAC,SAA4CE,OAAKK;CAAA,AAAAH,EAAA,OAAAN,eAEeS,KAAAH,EAAA,MAA1BG,WAAMT,aAAa,MAAM,GAACM,EAAA,KAAAN,cAAAM,EAAA,KAAAG;CAAhE,IAAAC,oBAA0BD,IAAuDE;CAAA,AAAAL,EAAA,OAAAN,eACTW,KAAAL,EAAA,MAA9BK,WAAMX,aAAa,UAAU,GAACM,EAAA,KAAAN,cAAAM,EAAA,KAAAK;CAAxE,IAAAC,wBAA8BD,IAA2DE;CAAA,AAAAP,EAAA,OAAAE,IAO7DK,KAAAP,EAAA,MAAjBO,KAAAL,EAAE,cAAc,GAACF,EAAA,KAAAE,GAAAF,EAAA,KAAAO;CAAA,IAAAC;CAAA,AAAAR,EAAA,OAAAO,KAEfC,KAAAR,EAAA,MAJPQ,KAAA,oBAAC,MAAD;EAAY,OAAA;EAAe,MAAA;EAAQ,KAAA;EAAa,UAAA;EAAY,SAAA;EAC1D,UAAA,oBAAC,MAAD;GAAS,IAAA;GAAW,MAAA;GAAU,QAAA;GAC3BD,UAAAA;EADE,CAAA;CADF,CAAA,GAIEP,EAAA,KAAAO,IAAAP,EAAA,KAAAQ;CAAA,IAAAC;CAAA,AAAAT,EAAA,OAAAE,KAAAF,EAAA,OAAAL,QAQGc,KACIP,EADJP,SAAS,SACH,8BACA,+BAA+B,GAACK,EAAA,KAAAE,GAAAF,EAAA,KAAAL,MAAAK,EAAA,MAAAS,MAAAA,KAAAT,EAAA;CAAA,IAAAU;CAAA,AAAAV,EAAA,QAAAS,KAIxCC,KAAAV,EAAA,OARFU,KAAA,oBAAC,UAAD;EAEI,MAAAD;EAIG,MAAA;EACMrC,WAAAA;CAAe,CAAA,GAC1B4B,EAAA,MAAAS,IAAAT,EAAA,MAAAU;CAAA,IAAAC;CAAA,AAAAX,EAAA,QAAAY,OAAAC,IAAA,2BAAA,KAGWF,KAAA,EAAAG,OAAQ,QAAO,GAACd,EAAA,MAAAW,MAAAA,KAAAX,EAAA;CAEd,IAAAe,KAAApB,SAAS,SAATxB,gBAAA6C,KAAAA,GAA2CC;CAAA,AAAAjB,EAAA,QAAAE,IAEbe,KAAAjB,EAAA,OAAnCiB,KAAAf,EAAE,gCAAgC,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAAiB;CAAA,IAAAC;CAAA,AAAAlB,EAAA,QAAAI,qBAAAJ,EAAA,QAAAe,MAAAf,EAAA,QAAAiB,MAH3CC,KAAA,oBAAC,YAAD;EACa,WAAAH;EACFX,SAAAA;EACH,MAAAa;CAAmC,CAAA,GACzCjB,EAAA,MAAAI,mBAAAJ,EAAA,MAAAe,IAAAf,EAAA,MAAAiB,IAAAjB,EAAA,MAAAkB,MAAAA,KAAAlB,EAAA;CAEW,IAAAmB,MAAAxB,SAAS,aAATxB,gBAAA6C,KAAAA,GAA+CI;CAAA,AAAApB,EAAA,QAAAE,IAEbkB,MAAApB,EAAA,OAAvCoB,MAAAlB,EAAE,oCAAoC,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAAoB;CAAA,IAAAC;CAAA,AAAArB,EAAA,QAAAJ,QAAAI,EAAA,QAAAE,KAE3CmB,MAAAzB,SAAS,WAAT,EAAA0B,SACcpB,EAAE,2CAA2C,EAC/C,IAFZc,KAAAA,GAEahB,EAAA,MAAAJ,MAAAI,EAAA,MAAAE,GAAAF,EAAA,MAAAqB,OAAAA,MAAArB,EAAA;CAEL,IAAAuB,MAAA3B,SAAS,UAAQ4B;CAAA,AAAAxB,EAAA,QAAAM,yBAAAN,EAAA,QAAAmB,OAAAnB,EAAA,QAAAoB,OAAApB,EAAA,QAAAqB,OAAArB,EAAA,QAAAuB,OAT7BC,MAAA,oBAAC,YAAD;EACa,WAAAL;EACFb,SAAAA;EACH,MAAAc;EAEJ,cAAAC;EAIQ,UAAAE;CAAiB,CAAA,GAC3BvB,EAAA,MAAAM,uBAAAN,EAAA,MAAAmB,KAAAnB,EAAA,MAAAoB,KAAApB,EAAA,MAAAqB,KAAArB,EAAA,MAAAuB,KAAAvB,EAAA,MAAAwB,OAAAA,MAAAxB,EAAA;CAAA,IAAAyB;CAAA,AAAAzB,EAAA,QAAAwB,OAAAxB,EAAA,QAAAkB,MAhBJO,MAAA,qBAAC,MAAD;EAAa,OAAAd;EAAb,UAAA,CACEO,IAKAM,GANG;KAiBExB,EAAA,MAAAwB,KAAAxB,EAAA,MAAAkB,IAAAlB,EAAA,MAAAyB,OAAAA,MAAAzB,EAAA;CAAA,IAAA0B;CAAA,AAAA1B,EAAA,QAAAY,OAAAC,IAAA,2BAAA,KAEAa,MAAA,EAAAC,WAAY,aAAY,GAAC3B,EAAA,MAAA0B,OAAAA,MAAA1B,EAAA;CAAA,IAAA4B;CAAA,AAAA5B,EAAA,QAAAyB,OAAAzB,EAAA,QAAAU,MAjCpCkB,MAAA,oBAAC,cAAD;EACK,IAAA;EAED,QAAAlB;EAWA,MAAAe;EAmBO,SAAAC;CAAyB,CAAA,GAClC1B,EAAA,MAAAyB,KAAAzB,EAAA,MAAAU,IAAAV,EAAA,MAAA4B,OAAAA,MAAA5B,EAAA;CAAA,IAAA6B;CAAA,AAAA7B,EAAA,QAAAE,IAGkD2B,MAAA7B,EAAA,OAAtC6B,MAAA3B,EAAE,mCAAmC,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAA6B;CAAA,IAAAC;CAAA,AAAA9B,EAAA,QAAAE,IAIC4B,MAAA9B,EAAA,OAA3B8B,MAAA5B,EAAE,wBAAwB,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAA8B;CAAA,IAAAC;CAAA,AAAA/B,EAAA,QAAA8B,MAACC,MAAA/B,EAAA,OAAtC+B,MAAA,EAAAT,SAAUQ,IAA2B,GAAC9B,EAAA,MAAA8B,KAAA9B,EAAA,MAAA+B;CAAA,IAAAC;CAAA,AAAAhC,EAAA,QAAAP,WAAAO,EAAA,QAAA6B,OAAA7B,EAAA,QAAA+B,OALtDC,MAAA,oBAAC,UAAD;EACc,cAAAH;EACNxD,MAAAA;EACD,MAAA;EACIoB,SAAAA;EACK,cAAAsC;CAAsC,CAAA,GACpD/B,EAAA,MAAAP,SAAAO,EAAA,MAAA6B,KAAA7B,EAAA,MAAA+B,KAAA/B,EAAA,MAAAgC,OAAAA,MAAAhC,EAAA;CAAA,IAAAiC;CAAA,AAAAjC,EAAA,QAAA4B,OAAA5B,EAAA,QAAAgC,OA3CJC,MAAA,qBAAC,MAAD;EAAW,MAAA;EAAgB,SAAA;EAAQ,KAAA;EAAnC,UAAA,CACEL,KAoCAI,GArCG;KA4CEhC,EAAA,MAAA4B,KAAA5B,EAAA,MAAAgC,KAAAhC,EAAA,MAAAiC,OAAAA,MAAAjC,EAAA;CAAA,IAAAkC;CAAA,AAAAlC,EAAA,QAAAiC,OAAAjC,EAAA,QAAAQ,MAnDT0B,MAAA,qBAAC,MAAD;EAAe,SAAA;EAAf,UAAA,CACE1B,IAMAyB,GAPG;KAoDEjC,EAAA,MAAAiC,KAAAjC,EAAA,MAAAQ,IAAAR,EAAA,MAAAkC,OAAAA,MAAAlC,EAAA;CAAA,IAAAmC;CACF,OADEnC,EAAA,QAAAD,OAAAC,EAAA,QAAAkC,OArDTC,MAAA,oBAAC,MAAD;EAAWpC;EACTmC,UAAAA;CADG,CAAA,GAsDElC,EAAA,MAAAD,KAAAC,EAAA,MAAAkC,KAAAlC,EAAA,MAAAmC,OAAAA,MAAAnC,EAAA,KAtDPmC;AAsDO,CAEV,GClDK0C,YAAY7B,OAAOX,KAAK,CAAC,CAAA,WAAA;;;;AAO/B,SAAOyC,kBAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GACL,EAAAC,SAAAC,SAAwBvB,mBAAmB;CAE3C,IAAI,CAACsB,SAAO,OAAS;CAAI,IAAAE;CAQX,OARWJ,EAAA,OAAAG,QAAAH,EAAA,OAAAD,SAMvBK,KAAA,oBAAC,WAAD,EAAA,UACE,oBAAC,wBAAD;EAAuB,GAAKL;EAAaI;CAAI,CAAA,EADrC,CAAA,GAEEH,EAAA,KAAAG,MAAAH,EAAA,KAAAD,OAAAC,EAAA,KAAAI,MAAAA,KAAAJ,EAAA,IAFZI;AAEY;AAIhB,SAAAC,uBAAAN,OAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,GAKE,EAAAK,MAAYpC,eAAegB,uBAAuB,GAClD,EAAAqB,SAAAJ,SAAwBJ,OACxB,CAAAS,kBAAAC,uBAAgD1C,SAAkB,EAAK,GACvE,CAAA2C,iBAAAC,sBAA8C5C,SAAiC,IAAI,GACnF,CAAA6C,eAAAC,oBAA0C9C,SAAkB,EAAK,GACjE,CAAA+C,aAAAC,kBAAsChD,SAAuB,IAAI,GAEjEiD,UAAgBlD,OAA8B,IAAI,GAClD,CAAAmD,aAAAC,kBAAsCnD,SAAgC,IAAI,GAE1EoD,cAAoBhD,eAAe,GACnC,EAAAiD,UAAAC,YAAAC,mBAAAC,gBAAAC,WAAAC,QAAAC,WAAAC,mBAAAC,gBAAAC,wBAAAC,eAYInD,YAAY,GAChBoD,oBAA0BjE,OAA2B6D,iBAAiB,GACtE,EAAAK,OAAAC,sBAAmC7D,gBAAgB,GACnD8D,8BAAoCpE,OAAgB,EAAK,GAEzDqE,YAAkB3E,SAAS,CAAC,CAAA4E,MAC5B,EAAAC,eAAqB9E,SAAS,GAAC6C;CAAA,AAAAJ,EAAA,OAAAiB,cAI9Bb,KAAAJ,EAAA,MAFiFI,KAAA,EAAAkC,iBAC/DrB,YACnB,GAACjB,EAAA,KAAAiB,aAAAjB,EAAA,KAAAI;CAFD,IAAA,EAAAmC,iBAAAC,eAAAC,0BAAgE3D,kBAAkBsB,EAEjF,GACD,EAAAsC,cAAAC,oBAAwC5D,wBAAwB,GAChE,EAAA6D,aAAAC,iBAAoChE,sBAAsB,GAC1DiE,YAAkB9D,qBAAqB,GAEvC,EAAA+D,YAAAC,eAAAC,wBAAyDhE,kBAAkB,GAE3EiE,kBAAsC9B,SAAQ+B,KAAM1B,SAEpD,EAAA2B,YAAkBhC,UAAQiC;CAAA,AAAArD,EAAA,OAAA2C,mBAAA3C,EAAA,OAAAwB,aAAAxB,EAAA,OAAA8C,aAGxBO,MAAAC,aAAA;EAIER,AAHAtB,UAAU8B,QAAQ,GAClBX,gBAAgB,IAAI,GAEpBG,UAASS,uBAAwBD,QAAQ;CAAC,GAC3CtD,EAAA,KAAA2C,iBAAA3C,EAAA,KAAAwB,WAAAxB,EAAA,KAAA8C,WAAA9C,EAAA,KAAAqD,MAAAA,KAAArD,EAAA;CANH,IAAAwD,mBAAyBH,IAQxBI;CAAA,AAAAzD,EAAA,OAAAO,WAAAP,EAAA,OAAA2C,mBAEwCc,WAAA;EAEvCd,AADApC,QAAQ,GACRoC,gBAAgB,IAAI;CAAC,GACtB3C,EAAA,KAAAO,SAAAP,EAAA,KAAA2C,iBAAA3C,EAAA,KAAAyD,MAAAA,KAAAzD,EAAA;CAHD,IAAA0D,uBAA6BD,IAGCE;CAAAC,KAAA;EAG5B,IAAI,CAAChC,gBAAc;GAAE+B,KAAOE,KAAAA;GAAP,MAAAD;EAAgB;EAAA,IAAAE;EAcrCH,AAdqC3D,EAAA,OAAA4B,kBAAA5B,EAAA,QAAAmC,aAAAnC,EAAA,QAAAM,KAAAN,EAAA,QAAA8C,aAEpBgB,MAAAC,OAAA;GASfjB,AARAkB,UAASC,UAAUC,UAAWtC,eAAemC,EAAE,CAAC,CAAC,CAAAI,YAAO;IACtDhC,UAAU;KAAAiC,UACE;KAAI3C,QACN;KAAO4C,OACR/D,EAAE,yBAAyB;IACpC,CAAC;GAAC,CACH,GAEDwC,UAASwB,kBAAmB;EAAC,GAC9BtE,EAAA,KAAA4B,gBAAA5B,EAAA,MAAAmC,WAAAnC,EAAA,MAAAM,GAAAN,EAAA,MAAA8C,WAAA9C,EAAA,MAAA8D,MAAAA,KAAA9D,EAAA,KAED2D,KAAOY;CAAQ;CAfjB,IAAAC,iBAAuBb,IAgBsBG;CAAA,AAAA9D,EAAA,QAAAqB,cAAArB,EAAA,QAAA0B,aAG3CoC,MAAAW,SAAA;EACE,IAAAC,UAAgBrD,WAAW0C,IAAE;EACxBW,WAEAhD,UAASiD,OAAQ;GAAAC,MACd;GAAOC,WACFH,QAAOI,OAAOC,MAAYC,SAA1B;GAAgCjB,IACvCW,QAAOO;GAAIC,SACNR,QAAOQ;GAAQC,iBACPT,QAAOS;GAAgBC,WAC7BV,QAAOU,aAAP,CAAA;GAAuB3D,QAC1BiD,QAAOjD;GAAO4D,UACZX,QAAOW;EACnB,CAAC;CAAC,GACHrF,EAAA,MAAAqB,YAAArB,EAAA,MAAA0B,WAAA1B,EAAA,MAAA8D,MAAAA,KAAA9D,EAAA;CAfH,IAAAsF,oBAA0BxB,IAiBzByB;CAAA,AAAAvF,EAAA,QAAAY,gBAMA2E,KAAAvF,EAAA,OAJqCuF,WAAA;EAChC3E,kBACJH,oBAAoB,EAAK,GACzBE,mBAAmB,IAAI;CAAC,GACzBX,EAAA,MAAAY,eAAAZ,EAAA,MAAAuF;CAJD,IAAAC,oBAA0BD,IAIPE;CAAA,AAAAzF,EAAA,QAAAoB,SAAA+B,KAAAuC,QAAA1F,EAAA,QAAA8B,cAAA9B,EAAA,QAAAwC,iBAAAxC,EAAA,QAAAyC,yBAAAzC,EAAA,QAAA2C,mBAGjB8C,MAAAE,aAAA;EAGE,IAFAhD,gBAAgBgD,QAAQ,GAEpBA,UAAQd,WAAW;GACrB,IAAAE,OAAatH,UAASmI,WAAYD,SAAQd,SAAU;GASpD,AARA/C,aAAaiD,IAAI,GAEjBvC,cAAcmD,SAAQd,SAAU,GAERzD,SAAQ+B,KAAKuC,KAAKI,QAChCC,MAAOA,EAACV,aAAcM,UAAQN,QAAU,CAAC,CAAAW,KAC3CC,KAEJJ,KAAmBF,SAAQN,YAC7B5C,sBAAsBkD,SAAQN,QAAS;EACxC;CACF,GACFrF,EAAA,MAAAoB,SAAA+B,KAAAuC,MAAA1F,EAAA,MAAA8B,YAAA9B,EAAA,MAAAwC,eAAAxC,EAAA,MAAAyC,uBAAAzC,EAAA,MAAA2C,iBAAA3C,EAAA,MAAAyF,MAAAA,KAAAzF,EAAA;CAlBH,IAAAkG,mBAAyBT,IAoBxBU;CAAA,AAAAnG,EAAA,QAAA0B,aAAA1B,EAAA,QAAA2C,mBAGCwD,MAAAC,gBAAA;EACE,IAAAvB,YAAkBuB,aAAWC,SAAoBxB,aAA/B;EAYlBlC,AAVKjB,UAASiD,OAAQ;GAAAC,MACd;GAAOC;GAAAK,SAEJkB,YAAWlB;GAAQC,iBACXiB,YAAWjB;GAAgBC,WACjCgB,YAAWhB;GAAU3D,QACxB2E,YAAW3E;GAAO4D,UAChBe,YAAWf;EACvB,CAAC,GAED1C,gBAAgB;GAAAkC;GAAAyB,QAEN;GAAWjB,UACTe,YAAWf;EACvB,CAAC;CAAC,GACHrF,EAAA,MAAA0B,WAAA1B,EAAA,MAAA2C,iBAAA3C,EAAA,MAAAmG,MAAAA,KAAAnG,EAAA;CAnBH,IAAAuG,wBAA8BJ,IAqB7BK;CAAA,AAAAxG,EAAA,QAAA0B,YASE8E,KAAAxG,EAAA,OANDwG,MAAAC,kBAAA;EACO/E,UAASiD,OAAQ;GAAA,GACjByB;GAAWxB,MACR;GAAOC,WACFuB,eAAWC,SAAoBxB,aAA/B;EACb,CAAC;CAAC,GACH7E,EAAA,MAAA0B,WAAA1B,EAAA,MAAAwG;CAPH,IAAAE,cAAoBF,IASnBG;CAAA,AAAA3G,EAAA,QAAA0B,YAKEiF,KAAA3G,EAAA,OAFD2G,MAAAC,MAAAC,kBAAA;EACOnF,UAASoF,OAAQ/C,MAAIqC,aAAW;CAAC,GACvCpG,EAAA,MAAA0B,WAAA1B,EAAA,MAAA2G;CAHH,IAAAI,aAAmBJ,IAKlBK;CAAA,AAAAhH,EAAA,QAAAkD,kBAYE8D,MAAAhH,EAAA,OATDgH,OAAAC,SAAA;EACE,IAAAC,SAAehE,gBAAeiE,MAAMC,QAAOrB,IAACsB,eAAmBpC,QAAKlB,IAAE,GACtEnE,WAAiB0H,GAAQJ,UAAUA,QAAMK,SAAiBC,SAAG;EAG7D7G,AADAF,oBAAoB,EAAI,GACxBE,mBAAmB;GAAAhB,WACNoE;GAAEnE;EAEf,CAAC;CAAC,GACHI,EAAA,MAAAkD,iBAAAlD,EAAA,MAAAgH;CAVH,IAAAS,gBAAsBT,KAarBU;CAAA,AAAA1H,EAAA,QAAAwF,qBAAAxF,EAAA,QAAA0B,aAGCgG,MAAA,OAAAC,SAAA;EACE,IAAA;GAGEnC,AAFA3E,iBAAiB,EAAI,GACrB,MAAMa,UAASkG,OAAQ7D,IAAE,GACzByB,kBAAkB;EAAC,SAAAqC,KAAA;GAEnB9G,eAAe+G,GAAG;EAAC;EAErBjH,iBAAiB,EAAK;CAAC,GACxBb,EAAA,MAAAwF,mBAAAxF,EAAA,MAAA0B,WAAA1B,EAAA,MAAA0H,OAAAA,MAAA1H,EAAA;CAVH,IAAA+H,sBAA4BL,KAY3BG;CAAA,AAAA7H,EAAA,QAAAqB,cAAArB,EAAA,QAAA0B,aAAA1B,EAAA,QAAAuC,mBAAAvC,EAAA,QAAA2C,mBAAA3C,EAAA,QAAAwB,aAGCqG,OAAAG,MAAAC,eAAA;EAOE,IANKvG,UAASoF,OAAQ/C,MAAI,EAAAtC,QAChBwG,WACV,CAAC,GAIGA,eAAe,QAAM;GACvBzG,UAAU,MAAM;GAEhB,IAAA0G,YAAgB7G,WAAW0C,IAAE;GAE7B,IAAI,CAACW,WAAO;GAQZnC,AANAI,gBAAgB;IAAAkC,WACHH,UAAOI,OAAOC,MAAYC,SAA1B;IAAkCsB,QACrC;IAAWjB,UACTX,UAAOW,YAAP;GACZ,CAAC,GAED9C,gBAAgBwB,IAAE;EAAC;CACpB,GACF/D,EAAA,MAAAqB,YAAArB,EAAA,MAAA0B,WAAA1B,EAAA,MAAAuC,iBAAAvC,EAAA,MAAA2C,iBAAA3C,EAAA,MAAAwB,WAAAxB,EAAA,MAAA6H,OAAAA,MAAA7H,EAAA;CAvBH,IAAAmI,qBAA2BN,KAyB1BO;CAAA,AAAApI,EAAA,QAAA0B,YAKE0G,MAAApI,EAAA,OAFDoI,OAAAC,MAAAC,aAAA;EACO5G,UAAS6G,MAAOxE,MAAIuE,QAAQ;CAAC,GACnCtI,EAAA,MAAA0B,WAAA1B,EAAA,MAAAoI;CAHH,IAAAI,uBAA6BJ,KAK5BK;CAAA,AAAAzI,EAAA,QAAAqC,cAAArC,EAAA,QAAA0C,gBAAA1C,EAAA,QAAA2C,mBAEsC8F,YAAA;EAKrC,AAAI/F,gBAAAL,cACFM,gBAAgB,IAAI;CACrB,GACF3C,EAAA,MAAAqC,YAAArC,EAAA,MAAA0C,cAAA1C,EAAA,MAAA2C,iBAAA3C,EAAA,MAAAyI,OAAAA,MAAAzI,EAAA;CARD,IAAA0I,qBAA2BD,KAQoBE;CAAA,AAAA3I,EAAA,QAAA4I,OAAAC,IAAA,2BAAA,KAEhBF,OAAAG,YAAA;EAE7B5H,AADAF,QAAO+H,UAAWD,SAClB5H,eAAe4H,OAAO;CAAC,GACxB9I,EAAA,MAAA2I,OAAAA,MAAA3I,EAAA;CAHD,IAAAgJ,aAAmBL,KAGbM;CAAA,AAAAjJ,EAAA,QAAA0I,qBAYHO,MAAAjJ,EAAA,OATDiJ,OAAAC,UAAA;EAME,AAFEA,MAAKpE,kBAAmBsE,eAAeF,MAAKpE,QAAqBuE,aAAC,cAAc,KAGhFX,mBAAmB;CACpB,GACF1I,EAAA,MAAA0I,oBAAA1I,EAAA,MAAAiJ;CAAA,IAAAK;CAVHhM,AAUG0C,EAAA,QAAA4I,OAAAC,IAAA,2BAAA,KACDS,YAAM,CAACtI,QAAO+H,OAAQ,GAAC/I,EAAA,MAAAsJ,OAAAA,MAAAtJ,EAAA,KAXzB1C,qBACE2L,KAUAK,GACF;CAEA,IAAA,CAAAC,iBAAAC,sBAA8CzL,SAAS,EAAK,GAAC0L;CAAA,AAAAzJ,EAAA,QAAAuJ,mBAAAvJ,EAAA,QAAAG,QAAAH,EAAA,QAAA0C,cAAA4D,UAAAtG,EAAA,QAAAiD,uBACnDwG,YAAA;EACJF,yBAAmBpJ,SAAS,WAS/B,OAPDqJ,mBAAmB,EAAI,GACnB9G,cAAY4D,WAAa,SAC3BrD,oBAAmByG,YAAa,cAAc,IACrC3H,kBAAiBgH,UAC1B9F,oBAAmByG,YAAa,MAAM,IAEtCzG,oBAAmByG,YAAa,iBAAiB,SAE5C;GACLzG,oBAAmB0G,eAAgB;EAAC;CACrC,GACF3J,EAAA,MAAAuJ,iBAAAvJ,EAAA,MAAAG,MAAAH,EAAA,MAAA0C,cAAA4D,QAAAtG,EAAA,MAAAiD,qBAAAjD,EAAA,MAAAyJ,OAAAA,MAAAzJ,EAAA;CAA0B,IAAA4J,MAAAlH,cAAY4D,QAAQuD;CAd/CjM,AAc+CoC,EAAA,QAAAuJ,mBAAAvJ,EAAA,QAAAG,QAAAH,EAAA,QAAA4J,OAAA5J,EAAA,QAAAiD,uBAA5C4G,MAAA;EAACN;EAAiBpJ;EAAMyJ;EAAsB3G;CAAmB,GAACjD,EAAA,MAAAuJ,iBAAAvJ,EAAA,MAAAG,MAAAH,EAAA,MAAA4J,KAAA5J,EAAA,MAAAiD,qBAAAjD,EAAA,MAAA6J,OAAAA,MAAA7J,EAAA,KAdrEpC,UAAU6L,KAcPI,GAAkE;CAAC,IAAAC,KAAAC;CAGtEnM,AAHsEoC,EAAA,QAAAqB,cAAArB,EAAA,QAAAkG,oBAAAlG,EAAA,QAAAoD,WAAApD,EAAA,QAAA6B,0BAAA7B,EAAA,QAAAuC,mBAAAvC,EAAA,QAAAwB,aAAAxB,EAAA,QAAA8C,aAG5DgH,YAAA;EAGR,IAAAE,oBAA0B3I,WAAWU,kBAAiBgH,WAAjB,EAA+B;EAEpE,AAAI,CAAC3F,WAAD4G,qBAAA,CAAkC9H,4BAA2B6G,YAE/DvH,UAAUwI,kBAAiBvI,UAAjB,MAAkC,GAE5CyE,iBAAiB;GAAArB,WACJmF,kBAAiBlF,OAAOC,MAAYC,SAApC;GAA4CsB,QAC/C;GAAKjB,UACH2E,kBAAiB3E,YAAjB;EACZ,CAAC,GAGD4E,4BAAsB;GACpB1H,gBAAgByH,kBAAiB/E,GAAI;EAAC,CACvC,GAED/C,4BAA2B6G,UAAW,IACtChH,kBAAiBgH,UAAWlF,KAAAA,GAE5BhC,yBAAyB,GAEzBiB,UAASoH,sBAAuB;CACjC,GACAH,MAAA;EACD1I;EACA6E;EACA9C;EACAvB;EACAU;EACAf;EACAsB;CAAS,GACV9C,EAAA,MAAAqB,YAAArB,EAAA,MAAAkG,kBAAAlG,EAAA,MAAAoD,SAAApD,EAAA,MAAA6B,wBAAA7B,EAAA,MAAAuC,iBAAAvC,EAAA,MAAAwB,WAAAxB,EAAA,MAAA8C,WAAA9C,EAAA,MAAA8J,KAAA9J,EAAA,MAAA+J,QAAAD,MAAA9J,EAAA,KAAA+J,MAAA/J,EAAA,MAnCDpC,UAAUkM,KA2BPC,GAQF;CAAC,IAAAI;CAAAC,KAAA;EAGA,IAAIjK,SAAS,YAAT4C,YAA+B;GAAA,IAAAsH;GACjCF,AADiCnK,EAAA,QAAA+C,cAAA/C,EAAA,QAAAiD,oBAAAqH,uBAAAtK,EAAA,QAAAiD,oBAAAsH,yBAE/BF,MAAA,oBAAC,qBAAD;IACQtH,MAAAA;IACU,gBAAAE,oBAAmBqH;IACjB,kBAAArH,oBAAmBsH;GAAsB,CAAA,GAC3DvK,EAAA,MAAA+C,YAAA/C,EAAA,MAAAiD,oBAAAqH,qBAAAtK,EAAA,MAAAiD,oBAAAsH,uBAAAvK,EAAA,MAAAqK,OAAAA,MAAArK,EAAA,KALJmK,MACEE;GADF,MAAAD;EAMC;EAGHD,MAAO;CAAI;CAXb,IAAAK,iBAAuBL,KAiBrBE;CAAA,AAAArK,EAAA,QAAAwF,qBAAAxF,EAAA,QAAAU,mBAAAV,EAAA,QAAAc,eAAAd,EAAA,QAAAY,iBAAAZ,EAAA,QAAA+H,uBAAA/H,EAAA,QAAAQ,oBAIG6J,MAAA3J,mBAAAF,oBACC,oBAAC,qBAAD;EAAoB,GACdE;EACGI,OAAAA;EACEF,SAAAA;EACA4E,SAAAA;EACEuC,WAAAA;CAAmB,CAAA,GAEjC/H,EAAA,MAAAwF,mBAAAxF,EAAA,MAAAU,iBAAAV,EAAA,MAAAc,aAAAd,EAAA,MAAAY,eAAAZ,EAAA,MAAA+H,qBAAA/H,EAAA,MAAAQ,kBAAAR,EAAA,MAAAqK,OAAAA,MAAArK,EAAA;CAYS,IAAAyK,MAAA,CAAC7H,aAAW8H;CAAA,AAAA1K,EAAA,QAAAwD,oBAAAxD,EAAA,QAAA0D,wBAAA1D,EAAA,QAAAG,QAAAH,EAAA,QAAAyB,UAGlBiJ,MAAA,oBAAC,yBAAD;EACWhH,SAAAA;EACKF,cAAAA;EACR/B,MAAAA;EACAtB;CAAI,CAAA,GACVH,EAAA,MAAAwD,kBAAAxD,EAAA,MAAA0D,sBAAA1D,EAAA,MAAAG,MAAAH,EAAA,MAAAyB,QAAAzB,EAAA,MAAA0K,OAAAA,MAAA1K,EAAA;CAAA,IAAA2K;CAAA,AAAA3K,EAAA,QAAA6C,gBAAA7C,EAAA,QAAAyK,OAAAzK,EAAA,QAAA0K,OAVJC,MAAA,oBAAC,2BAAD;EACa9H,WAAAA;EACL,MAAA4H;EACI,WAAA;EAEVC,UAAAA;CALwB,CAAA,GAWE1K,EAAA,MAAA6C,cAAA7C,EAAA,MAAAyK,KAAAzK,EAAA,MAAA0K,KAAA1K,EAAA,MAAA2K,OAAAA,MAAA3K,EAAA;CAAA,IAAA4K;CAAA,AAAA5K,EAAA,QAAAiC,oBAC8C2I,MAAA5K,EAAA,OAAzE4K,MAAA3I,qBAAqB,oBAAC,wBAAD,EAA+BA,OAAAA,kBAAiB,CAAA,GAAIjC,EAAA,MAAAiC,mBAAAjC,EAAA,MAAA4K;CAAA,IAAAC;CAAA,AAAA7K,EAAA,QAAAwK,kBAAAxK,EAAA,QAAAoB,SAAAY,SAAAhC,EAAA,QAAAkD,mBAAAlD,EAAA,QAAAmB,eAAAnB,EAAA,QAAAwE,kBAAAxE,EAAA,QAAAsF,qBAAAtF,EAAA,SAAA+G,cAAA/G,EAAA,SAAAuG,yBAAAvG,EAAA,SAAAkG,oBAAAlG,EAAA,SAAAwI,wBAAAxI,EAAA,SAAA0G,eAAA1G,EAAA,SAAAmI,sBAAAnI,EAAA,SAAAsB,qBAAAtB,EAAA,SAAAoD,WAAApD,EAAA,SAAAuB,kBAAAvB,EAAA,SAAAG,QAAAH,EAAA,SAAAyH,iBAAAzH,EAAA,SAAA0C,gBAAA1C,EAAA,SAAAyB,UACzEoJ,MAAA1J,eACC,oBAAC,cAAD;EACkBqJ;EACNtH,UAAAA;EACG/B;EACN,OAAAC,SAAQY;EACNoB;EACO7B;EACVpB;EACMqE,YAAAA;EACGc,eAAAA;EACLmC,UAAAA;EACFV,QAAAA;EACWR,mBAAAA;EACLL,cAAAA;EACIsC,kBAAAA;EACT9B,SAAAA;EACOyB,gBAAAA;EACN7G,UAAAA;EACIoB;EACNjB;CAAM,CAAA,GAEjBzB,EAAA,MAAAwK,gBAAAxK,EAAA,MAAAoB,SAAAY,OAAAhC,EAAA,MAAAkD,iBAAAlD,EAAA,MAAAmB,aAAAnB,EAAA,MAAAwE,gBAAAxE,EAAA,MAAAsF,mBAAAtF,EAAA,OAAA+G,YAAA/G,EAAA,OAAAuG,uBAAAvG,EAAA,OAAAkG,kBAAAlG,EAAA,OAAAwI,sBAAAxI,EAAA,OAAA0G,aAAA1G,EAAA,OAAAmI,oBAAAnI,EAAA,OAAAsB,mBAAAtB,EAAA,OAAAoD,SAAApD,EAAA,OAAAuB,gBAAAvB,EAAA,OAAAG,MAAAH,EAAA,OAAAyH,eAAAzH,EAAA,OAAA0C,cAAA1C,EAAA,OAAAyB,QAAAzB,EAAA,OAAA6K,OAAAA,MAAA7K,EAAA;CAAA,IAAA8K;CAAA,AAAA9K,EAAA,SAAA0I,sBAAA1I,EAAA,SAAA2K,OAAA3K,EAAA,SAAA4K,OAAA5K,EAAA,SAAA6K,OA3CHC,MAAA,qBAAC,MAAD;EACY,WAAA;EACJ,MAAA;EACC,QAAA;EACEpC,SAAAA;EACA,UAAA;EACJM,KAAAA;EANP,UAAA;GAQE2B;GAYCC;GACAC;EArBE;KA4CE7K,EAAA,OAAA0I,oBAAA1I,EAAA,OAAA2K,KAAA3K,EAAA,OAAA4K,KAAA5K,EAAA,OAAA6K,KAAA7K,EAAA,OAAA8K,OAAAA,MAAA9K,EAAA;CAAA,IAAA+K;CACE,OADF/K,EAAA,SAAAqK,OAAArK,EAAA,SAAA8K,OAvDTC,MAAA,qBAAC,UAAD,EAAA,UAAA,CACGV,KAUDS,GAXO,EAAA,CAAA,GAwDE9K,EAAA,OAAAqK,KAAArK,EAAA,OAAA8K,KAAA9K,EAAA,OAAA+K,OAAAA,MAAA/K,EAAA,MAxDX+K;AAwDW;AAzYf,SAAA9E,MAAA+E,GAAA;CAAA,OAuHuBtM,uBAAuBsM,EAAC3D,aAAc;AAAC"}
|
|
1
|
+
{"version":3,"file":"CommentsInspector-73iBuuk4.js","names":["Box","Card","Stack","Text","useTranslation","commentsLocaleNamespace","CommentsInspectorError","t0","$","_c","error","t","t1","t2","t3","message","t4","CheckmarkIcon","ChevronDownIcon","CloseIcon","Card","Flex","Menu","Text","forwardRef","useCallback","styled","Button","MenuButton","MenuItem","useTranslation","commentsLocaleNamespace","CommentStatus","CommentsUIMode","Root","position","zIndex","lineHeight","CommentsInspectorHeaderProps","onClose","onViewChange","view","mode","CommentsInspectorHeader","props","ref","$","_c","t","t0","handleSetOpenView","t1","handleSetResolvedView","t2","t3","t4","t5","t6","Symbol","for","width","t7","undefined","t8","t9","t10","t11","t12","content","t13","t14","t15","t16","placement","t17","t18","t19","t20","t21","t22","t23","t24","Flex","Layer","useClickOutsideEvent","useLayer","useToast","PathUtils","Fragment","useCallback","useEffect","useMemo","useRef","useState","styled","DocumentInspectorProps","useTranslation","useCurrentUser","useAddonDataset","CommentDeleteDialog","CommentsList","CommentsOnboardingPopover","CommentsUpsellPanel","CommentsSelectedPath","isTextSelectionComment","useComments","useCommentsEnabled","useCommentsOnboarding","useCommentsScroll","useCommentsSelectedPath","useCommentsTelemetry","useCommentsUpsell","commentsLocaleNamespace","CommentBaseCreatePayload","CommentReactionOption","CommentStatus","CommentsUIMode","CommentUpdatePayload","CommentsInspectorError","CommentsInspectorHeader","CommentToDelete","commentId","isParent","RootLayer","CommentsInspector","props","$","_c","enabled","mode","t0","CommentsInspectorInner","t","onClose","showDeleteDialog","setShowDeleteDialog","commentToDelete","setCommentToDelete","deleteLoading","setDeleteLoading","deleteError","setDeleteError","rootRef","rootElement","setRootElement","currentUser","comments","getComment","isCreatingDataset","mentionOptions","setStatus","status","operation","selectedCommentId","getCommentLink","onClearSelectedComment","onPathOpen","commentIdParamRef","error","addonDatasetError","didScrollToCommentFromParam","pushToast","push","isTopLayer","boundaryElement","scrollToComment","scrollToField","scrollToInlineComment","selectedPath","setSelectedPath","isDismissed","setDismissed","telemetry","upsellData","telemetryLogs","upsellTelemetryLogs","currentComments","data","loading","t1","nextView","commentListViewChanged","handleChangeView","t2","handleCloseInspector","t3","bb0","undefined","t4","id","navigator","clipboard","writeText","catch","closable","title","commentLinkCopied","copyLink","handleCopyLink","id_0","comment","create","type","fieldPath","target","path","field","_id","message","parentCommentId","reactions","threadId","handleCreateRetry","t5","closeDeleteDialog","t6","open","nextPath","fromString","isInlineComment","filter","c","some","_temp","handlePathSelect","t7","nextComment","payload","origin","handleNewThreadCreate","t8","nextComment_0","handleReply","t9","id_1","nextComment_1","update","handleEdit","t10","id_2","parent","find","c_0","parentComment","Boolean","replies","length","onDeleteStart","t11","id_3","remove","t12","err","handleDeleteConfirm","id_4","nextStatus","comment_0","handleStatusChange","t13","id_5","reaction","react","handleReactionSelect","t14","handleDeselectPath","t15","Symbol","for","element","current","setRootRef","t16","event","isPTETarget","HTMLElement","hasAttribute","t17","loggedTelemetry","setLoggedTelemetry","t18","panelViewed","panelDismissed","t19","t20","t21","t22","commentToScrollTo","requestAnimationFrame","commentViewedFromLink","t23","bb1","t24","panelPrimaryClicked","panelSecondaryClicked","beforeListNode","t25","t26","t27","t28","t29","t30","t31","x"],"sources":["../src/core/comments/plugin/inspector/CommentsInspectorError.tsx","../src/core/comments/plugin/inspector/CommentsInspectorHeader.tsx","../src/core/comments/plugin/inspector/CommentsInspector.tsx"],"sourcesContent":["import {Box, Card, Stack, Text} from '@sanity/ui'\n\nimport {useTranslation} from '../../../i18n'\nimport {commentsLocaleNamespace} from '../../i18n'\n\nexport function CommentsInspectorError({error}: {error: Error}) {\n const {t} = useTranslation(commentsLocaleNamespace)\n\n return (\n <Box padding={2}>\n <Card paddingX={2} paddingY={3} tone=\"critical\" border radius={3}>\n <Stack space={3}>\n <Text size={1} weight=\"medium\">\n {t('inspector-error.title')}\n </Text>\n <Text size={1} muted>\n {error.message}\n </Text>\n </Stack>\n </Card>\n </Box>\n )\n}\n","import {CheckmarkIcon} from '@sanity/icons/Checkmark'\nimport {ChevronDownIcon} from '@sanity/icons/ChevronDown'\nimport {CloseIcon} from '@sanity/icons/Close'\nimport {Card, Flex, Menu, Text} from '@sanity/ui'\nimport {forwardRef, useCallback} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Button, MenuButton, MenuItem} from '../../../../ui-components'\nimport {useTranslation} from '../../../i18n'\nimport {commentsLocaleNamespace} from '../../i18n'\nimport {type CommentStatus, type CommentsUIMode} from '../../types'\n\nconst Root = styled(Card)({\n position: 'relative',\n zIndex: '1',\n lineHeight: '0',\n})\n\ninterface CommentsInspectorHeaderProps {\n onClose: () => void\n onViewChange: (view: CommentStatus) => void\n view: CommentStatus\n mode: CommentsUIMode\n}\n\nexport const CommentsInspectorHeader = forwardRef(function CommentsInspectorHeader(\n props: CommentsInspectorHeaderProps,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {t} = useTranslation(commentsLocaleNamespace)\n const {onClose, onViewChange, view, mode} = props\n\n const handleSetOpenView = useCallback(() => onViewChange('open'), [onViewChange])\n const handleSetResolvedView = useCallback(() => onViewChange('resolved'), [onViewChange])\n\n return (\n <Root ref={ref}>\n <Flex padding={2}>\n <Flex align=\"center\" flex={1} gap={2} paddingY={2} padding={3}>\n <Text as=\"h1\" size={1} weight=\"medium\">\n {t('feature-name')}\n </Text>\n </Flex>\n\n <Flex flex=\"none\" padding={1} gap={2}>\n <MenuButton\n id=\"comment-status-menu-button\"\n button={\n <Button\n text={\n view === 'open'\n ? t('status-filter.status-open')\n : t('status-filter.status-resolved')\n }\n mode=\"bleed\"\n iconRight={ChevronDownIcon}\n />\n }\n menu={\n <Menu style={{width: '180px'}}>\n <MenuItem\n iconRight={view === 'open' ? CheckmarkIcon : undefined}\n onClick={handleSetOpenView}\n text={t('status-filter.status-open-full')}\n />\n <MenuItem\n iconRight={view === 'resolved' ? CheckmarkIcon : undefined}\n onClick={handleSetResolvedView}\n text={t('status-filter.status-resolved-full')}\n tooltipProps={\n mode === 'upsell'\n ? {content: t('status-filter.status-resolved-full-upsell')}\n : undefined\n }\n disabled={mode === 'upsell'}\n />\n </Menu>\n }\n popover={{placement: 'bottom-end'}}\n />\n\n <Button\n aria-label={t('close-pane-button-text-aria-label')}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n tooltipProps={{content: t('close-pane-button-text')}}\n />\n </Flex>\n </Flex>\n </Root>\n )\n})\n","import {Flex, Layer, useClickOutsideEvent, useLayer, useToast} from '@sanity/ui'\nimport * as PathUtils from '@sanity/util/paths'\nimport {Fragment, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {type DocumentInspectorProps} from '../../../config'\nimport {useTranslation} from '../../../i18n'\nimport {useCurrentUser} from '../../../store'\nimport {useAddonDataset} from '../../../studio/addonDataset'\nimport {\n CommentDeleteDialog,\n CommentsList,\n CommentsOnboardingPopover,\n CommentsUpsellPanel,\n} from '../../components'\nimport {type CommentsSelectedPath} from '../../context'\nimport {isTextSelectionComment} from '../../helpers'\nimport {\n useComments,\n useCommentsEnabled,\n useCommentsOnboarding,\n useCommentsScroll,\n useCommentsSelectedPath,\n useCommentsTelemetry,\n useCommentsUpsell,\n} from '../../hooks'\nimport {commentsLocaleNamespace} from '../../i18n'\nimport {\n type CommentBaseCreatePayload,\n type CommentReactionOption,\n type CommentStatus,\n type CommentsUIMode,\n type CommentUpdatePayload,\n} from '../../types'\nimport {CommentsInspectorError} from './CommentsInspectorError'\nimport {CommentsInspectorHeader} from './CommentsInspectorHeader'\n\ninterface CommentToDelete {\n commentId: string\n isParent: boolean\n}\n\nconst RootLayer = styled(Layer)`\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n`\n\nexport function CommentsInspector(props: DocumentInspectorProps) {\n const {enabled, mode} = useCommentsEnabled()\n\n if (!enabled) return null\n\n // We wrap the comments inspector in a Layer in order to know when the comments inspector\n // is the top layer (that is, if there is e.g. a popover open). This is used to determine\n // if we should deselect the selected path when clicking outside the comments inspector.\n return (\n <RootLayer>\n <CommentsInspectorInner {...props} mode={mode} />\n </RootLayer>\n )\n}\n\nfunction CommentsInspectorInner(\n props: DocumentInspectorProps & {\n mode: CommentsUIMode\n },\n) {\n const {t} = useTranslation(commentsLocaleNamespace)\n const {onClose, mode} = props\n const [showDeleteDialog, setShowDeleteDialog] = useState<boolean>(false)\n const [commentToDelete, setCommentToDelete] = useState<CommentToDelete | null>(null)\n const [deleteLoading, setDeleteLoading] = useState<boolean>(false)\n const [deleteError, setDeleteError] = useState<Error | null>(null)\n\n const rootRef = useRef<HTMLDivElement | null>(null)\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n\n const currentUser = useCurrentUser()\n const {\n comments,\n getComment,\n isCreatingDataset,\n mentionOptions,\n setStatus,\n status,\n operation,\n selectedCommentId,\n getCommentLink,\n onClearSelectedComment,\n onPathOpen,\n } = useComments()\n const commentIdParamRef = useRef<string | undefined>(selectedCommentId)\n const {error: addonDatasetError} = useAddonDataset()\n const didScrollToCommentFromParam = useRef<boolean>(false)\n\n const pushToast = useToast().push\n const {isTopLayer} = useLayer()\n\n const {scrollToComment, scrollToField, scrollToInlineComment} = useCommentsScroll({\n boundaryElement: rootElement,\n })\n const {selectedPath, setSelectedPath} = useCommentsSelectedPath()\n const {isDismissed, setDismissed} = useCommentsOnboarding()\n const telemetry = useCommentsTelemetry()\n\n const {upsellData, telemetryLogs: upsellTelemetryLogs} = useCommentsUpsell()\n\n const currentComments = useMemo(() => comments.data[status], [comments, status])\n\n const {loading} = comments\n\n const handleChangeView = useCallback(\n (nextView: CommentStatus) => {\n setStatus(nextView)\n setSelectedPath(null)\n\n telemetry.commentListViewChanged(nextView)\n },\n [setSelectedPath, setStatus, telemetry],\n )\n\n const handleCloseInspector = useCallback(() => {\n onClose()\n setSelectedPath(null)\n }, [onClose, setSelectedPath])\n\n const handleCopyLink = useMemo(() => {\n if (!getCommentLink) return undefined\n\n const copyLink = (id: string) => {\n navigator.clipboard.writeText(getCommentLink(id)).catch(() => {\n pushToast({\n closable: true,\n status: 'error',\n title: t('copy-link-error-message'),\n })\n })\n\n telemetry.commentLinkCopied()\n }\n\n return copyLink\n }, [getCommentLink, pushToast, t, telemetry])\n\n const handleCreateRetry = useCallback(\n (id: string) => {\n const comment = getComment(id)\n if (!comment) return\n\n void operation.create({\n type: 'field',\n fieldPath: comment.target.path?.field || '',\n id: comment._id,\n message: comment.message,\n parentCommentId: comment.parentCommentId,\n reactions: comment.reactions || [],\n status: comment.status,\n threadId: comment.threadId,\n })\n },\n [getComment, operation],\n )\n\n const closeDeleteDialog = useCallback(() => {\n if (deleteLoading) return\n setShowDeleteDialog(false)\n setCommentToDelete(null)\n }, [deleteLoading])\n\n const handlePathSelect = useCallback(\n (nextPath: CommentsSelectedPath) => {\n setSelectedPath(nextPath)\n\n if (nextPath?.fieldPath) {\n const path = PathUtils.fromString(nextPath.fieldPath)\n onPathOpen?.(path)\n\n scrollToField(nextPath.fieldPath)\n\n const isInlineComment = comments.data.open\n .filter((c) => c.threadId === nextPath?.threadId)\n .some((x) => isTextSelectionComment(x.parentComment))\n\n if (isInlineComment && nextPath.threadId) {\n scrollToInlineComment(nextPath.threadId)\n }\n }\n },\n [comments.data.open, onPathOpen, scrollToField, scrollToInlineComment, setSelectedPath],\n )\n\n const handleNewThreadCreate = useCallback(\n (nextComment: CommentBaseCreatePayload) => {\n const fieldPath = nextComment?.payload?.fieldPath || ''\n\n void operation.create({\n type: 'field',\n fieldPath,\n message: nextComment.message,\n parentCommentId: nextComment.parentCommentId,\n reactions: nextComment.reactions,\n status: nextComment.status,\n threadId: nextComment.threadId,\n })\n\n setSelectedPath({\n fieldPath,\n origin: 'inspector',\n threadId: nextComment.threadId,\n })\n },\n [operation, setSelectedPath],\n )\n\n const handleReply = useCallback(\n (nextComment: CommentBaseCreatePayload) => {\n void operation.create({\n ...nextComment,\n type: 'field',\n fieldPath: nextComment?.payload?.fieldPath || '',\n })\n },\n [operation],\n )\n\n const handleEdit = useCallback(\n (id: string, nextComment: CommentUpdatePayload) => {\n void operation.update(id, nextComment)\n },\n [operation],\n )\n\n const onDeleteStart = useCallback(\n (id: string) => {\n const parent = currentComments.find((c) => c.parentComment?._id === id)\n const isParent = Boolean(parent && parent?.replies?.length > 0)\n\n setShowDeleteDialog(true)\n setCommentToDelete({\n commentId: id,\n isParent,\n })\n },\n\n [currentComments],\n )\n\n const handleDeleteConfirm = useCallback(\n async (id: string) => {\n try {\n setDeleteLoading(true)\n await operation.remove(id)\n closeDeleteDialog()\n } catch (err) {\n setDeleteError(err)\n }\n setDeleteLoading(false)\n },\n [closeDeleteDialog, operation],\n )\n\n const handleStatusChange = useCallback(\n (id: string, nextStatus: CommentStatus) => {\n void operation.update(id, {\n status: nextStatus,\n })\n\n // If the comment is being opened, we want to change to the \"open\" view\n // and scroll to the comment\n if (nextStatus === 'open') {\n setStatus('open')\n\n const comment = getComment(id)\n\n if (!comment) return\n\n setSelectedPath({\n fieldPath: comment.target.path?.field || null,\n origin: 'inspector',\n threadId: comment.threadId || null,\n })\n\n scrollToComment(id)\n }\n },\n [getComment, operation, scrollToComment, setSelectedPath, setStatus],\n )\n\n const handleReactionSelect = useCallback(\n (id: string, reaction: CommentReactionOption) => {\n void operation.react(id, reaction)\n },\n [operation],\n )\n\n const handleDeselectPath = useCallback(() => {\n // Clear the selected path when:\n // - Clicking outside the inspector when it's the top layer\n // - The target is not a slate editor string. This is needed because we do not want to\n // frequently deselect the selected path when clicking inside the editor.\n if (selectedPath && isTopLayer) {\n setSelectedPath(null)\n }\n }, [isTopLayer, selectedPath, setSelectedPath])\n\n const setRootRef = useCallback((element: HTMLDivElement | null) => {\n rootRef.current = element\n setRootElement(element)\n }, [])\n\n useClickOutsideEvent(\n (event) => {\n // Clear the selected path when clicking outside the comments inspector.\n // We do this only when the comments inspector is the top layer.\n const isPTETarget =\n event.target instanceof HTMLElement && event.target?.hasAttribute('data-pt-text')\n\n if (!isPTETarget) {\n handleDeselectPath()\n }\n },\n () => [rootRef.current],\n )\n\n const [loggedTelemetry, setLoggedTelemetry] = useState(false)\n useEffect(() => {\n if (loggedTelemetry || mode !== 'upsell') return undefined\n // oxlint-disable-next-line react/react-compiler\n setLoggedTelemetry(true)\n if (selectedPath?.origin === 'form') {\n upsellTelemetryLogs.panelViewed('field_action')\n } else if (commentIdParamRef.current) {\n upsellTelemetryLogs.panelViewed('link')\n } else {\n upsellTelemetryLogs.panelViewed('document_action')\n }\n return () => {\n upsellTelemetryLogs.panelDismissed()\n }\n }, [loggedTelemetry, mode, selectedPath?.origin, upsellTelemetryLogs])\n\n // Handle scroll to comment from URL param\n useEffect(() => {\n // Make sure that the comment exists before we try to scroll to it.\n // We can't solely rely on the comment id from the url since the comment might not be loaded yet.\n const commentToScrollTo = getComment(commentIdParamRef.current || '')\n\n if (!loading && commentToScrollTo && !didScrollToCommentFromParam.current) {\n // Make sure we have the correct status set before we scroll to the comment\n setStatus(commentToScrollTo.status || 'open')\n\n handlePathSelect({\n fieldPath: commentToScrollTo.target.path?.field || null,\n origin: 'url',\n threadId: commentToScrollTo.threadId || null,\n })\n\n // Defer the comment scroll to prevent React batching from overwriting the field scroll\n requestAnimationFrame(() => {\n scrollToComment(commentToScrollTo._id)\n })\n\n didScrollToCommentFromParam.current = true\n commentIdParamRef.current = undefined\n\n onClearSelectedComment?.()\n\n telemetry.commentViewedFromLink()\n }\n }, [\n getComment,\n handlePathSelect,\n loading,\n onClearSelectedComment,\n scrollToComment,\n setStatus,\n telemetry,\n ])\n\n const beforeListNode = useMemo(() => {\n if (mode === 'upsell' && upsellData) {\n return (\n <CommentsUpsellPanel\n data={upsellData}\n onPrimaryClick={upsellTelemetryLogs.panelPrimaryClicked}\n onSecondaryClick={upsellTelemetryLogs.panelSecondaryClicked}\n />\n )\n }\n\n return null\n }, [\n mode,\n upsellTelemetryLogs.panelPrimaryClicked,\n upsellTelemetryLogs.panelSecondaryClicked,\n upsellData,\n ])\n\n return (\n <Fragment>\n {commentToDelete && showDeleteDialog && (\n <CommentDeleteDialog\n {...commentToDelete}\n error={deleteError}\n loading={deleteLoading}\n onClose={closeDeleteDialog}\n onConfirm={handleDeleteConfirm}\n />\n )}\n\n <Flex\n direction=\"column\"\n flex={1}\n height=\"fill\"\n onClick={handleDeselectPath}\n overflow=\"hidden\"\n ref={setRootRef}\n >\n <CommentsOnboardingPopover\n onDismiss={setDismissed}\n open={!isDismissed}\n placement=\"left-start\"\n >\n <CommentsInspectorHeader\n onClose={handleCloseInspector}\n onViewChange={handleChangeView}\n view={status}\n mode={mode}\n />\n </CommentsOnboardingPopover>\n {addonDatasetError && <CommentsInspectorError error={addonDatasetError} />}\n {currentUser && (\n <CommentsList\n beforeListNode={beforeListNode}\n comments={currentComments}\n currentUser={currentUser}\n error={comments.error}\n loading={loading}\n mentionOptions={mentionOptions}\n mode={mode}\n onCopyLink={handleCopyLink}\n onCreateRetry={handleCreateRetry}\n onDelete={onDeleteStart}\n onEdit={handleEdit}\n onNewThreadCreate={handleNewThreadCreate}\n onPathSelect={handlePathSelect}\n onReactionSelect={handleReactionSelect}\n onReply={handleReply}\n onStatusChange={handleStatusChange}\n readOnly={isCreatingDataset}\n selectedPath={selectedPath}\n status={status}\n />\n )}\n </Flex>\n </Fragment>\n )\n}\n"],"mappings":";;;;;;;;;;;AAKA,SAAOM,uBAAAC,IAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAAgC,EAAAC,UAAAH,IACrC,EAAAI,MAAYP,eAAeC,uBAAuB,GAACO;CAAA,AAAAJ,EAAA,OAAAG,IAOdC,KAAAJ,EAAA,MAA1BI,KAAAD,EAAE,uBAAuB,GAACH,EAAA,KAAAG,GAAAH,EAAA,KAAAI;CAAA,IAAAC;CAAA,AAAAL,EAAA,OAAAI,KACtBC,KAAAL,EAAA,MAFPK,KAAA,oBAAC,MAAD;EAAY,MAAA;EAAU,QAAA;EACnBD,UAAAA;CADE,CAAA,GAEEJ,EAAA,KAAAI,IAAAJ,EAAA,KAAAK;CAAA,IAAAC;CAAA,AAAAN,EAAA,OAAAE,MAAAK,UAGAD,KAAAN,EAAA,MAFPM,KAAA,oBAAC,MAAD;EAAY,MAAA;EAAG,OAAA;EACZJ,UAAAA,MAAKK;CADH,CAAA,GAEEP,EAAA,KAAAE,MAAAK,SAAAP,EAAA,KAAAM;CAAA,IAAAE;CAGP,OAHOR,EAAA,OAAAK,MAAAL,EAAA,OAAAM,MARbE,KAAA,oBAAC,KAAD;EAAc,SAAA;EACZ,UAAA,oBAAC,MAAD;GAAgB,UAAA;GAAa,UAAA;GAAQ,MAAA;GAAW,QAAA;GAAe,QAAA;GAC7D,UAAA,qBAAC,OAAD;IAAc,OAAA;IAAd,UAAA,CACEH,IAGAC,EAJI;;EADH,CAAA;CADH,CAAA,GAWEN,EAAA,KAAAK,IAAAL,EAAA,KAAAM,IAAAN,EAAA,KAAAQ,MAAAA,KAAAR,EAAA,IAXNQ;AAWM;ACRV,MAAMkB,OAAOR,uBAAON,IAAI,CAAC,CAAA,WAAA;;;AAAC,CAAA,CAAA,CAAA;CACxBe,UAAU;CACVC,QAAQ;CACRC,YAAY;AACd,CAAC,GASYM,0BAA0BnB,WAAW,SAAAoB,OAAAC,KAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAIhD,EAAAC,MAAYlB,eAAeC,uBAAuB,GAClD,EAAAQ,SAAAC,cAAAC,MAAAC,SAA4CE,OAAKK;CAAA,AAAAH,EAAA,OAAAN,eAEeS,KAAAH,EAAA,MAA1BG,WAAMT,aAAa,MAAM,GAACM,EAAA,KAAAN,cAAAM,EAAA,KAAAG;CAAhE,IAAAC,oBAA0BD,IAAuDE;CAAA,AAAAL,EAAA,OAAAN,eACTW,KAAAL,EAAA,MAA9BK,WAAMX,aAAa,UAAU,GAACM,EAAA,KAAAN,cAAAM,EAAA,KAAAK;CAAxE,IAAAC,wBAA8BD,IAA2DE;CAAA,AAAAP,EAAA,OAAAE,IAO7DK,KAAAP,EAAA,MAAjBO,KAAAL,EAAE,cAAc,GAACF,EAAA,KAAAE,GAAAF,EAAA,KAAAO;CAAA,IAAAC;CAAA,AAAAR,EAAA,OAAAO,KAEfC,KAAAR,EAAA,MAJPQ,KAAA,oBAAC,MAAD;EAAY,OAAA;EAAe,MAAA;EAAQ,KAAA;EAAa,UAAA;EAAY,SAAA;EAC1D,UAAA,oBAAC,MAAD;GAAS,IAAA;GAAW,MAAA;GAAU,QAAA;GAC3BD,UAAAA;EADE,CAAA;CADF,CAAA,GAIEP,EAAA,KAAAO,IAAAP,EAAA,KAAAQ;CAAA,IAAAC;CAAA,AAAAT,EAAA,OAAAE,KAAAF,EAAA,OAAAL,QAQGc,KACIP,EADJP,SAAS,SACH,8BACA,+BAA+B,GAACK,EAAA,KAAAE,GAAAF,EAAA,KAAAL,MAAAK,EAAA,MAAAS,MAAAA,KAAAT,EAAA;CAAA,IAAAU;CAAA,AAAAV,EAAA,QAAAS,KAIxCC,KAAAV,EAAA,OARFU,KAAA,oBAAC,UAAD;EAEI,MAAAD;EAIG,MAAA;EACMrC,WAAAA;CAAe,CAAA,GAC1B4B,EAAA,MAAAS,IAAAT,EAAA,MAAAU;CAAA,IAAAC;CAAA,AAAAX,EAAA,QAAAY,OAAAC,IAAA,2BAAA,KAGWF,KAAA,EAAAG,OAAQ,QAAO,GAACd,EAAA,MAAAW,MAAAA,KAAAX,EAAA;CAEd,IAAAe,KAAApB,SAAS,SAATxB,gBAAA6C,KAAAA,GAA2CC;CAAA,AAAAjB,EAAA,QAAAE,IAEbe,KAAAjB,EAAA,OAAnCiB,KAAAf,EAAE,gCAAgC,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAAiB;CAAA,IAAAC;CAAA,AAAAlB,EAAA,QAAAI,qBAAAJ,EAAA,QAAAe,MAAAf,EAAA,QAAAiB,MAH3CC,KAAA,oBAAC,YAAD;EACa,WAAAH;EACFX,SAAAA;EACH,MAAAa;CAAmC,CAAA,GACzCjB,EAAA,MAAAI,mBAAAJ,EAAA,MAAAe,IAAAf,EAAA,MAAAiB,IAAAjB,EAAA,MAAAkB,MAAAA,KAAAlB,EAAA;CAEW,IAAAmB,MAAAxB,SAAS,aAATxB,gBAAA6C,KAAAA,GAA+CI;CAAA,AAAApB,EAAA,QAAAE,IAEbkB,MAAApB,EAAA,OAAvCoB,MAAAlB,EAAE,oCAAoC,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAAoB;CAAA,IAAAC;CAAA,AAAArB,EAAA,QAAAJ,QAAAI,EAAA,QAAAE,KAE3CmB,MAAAzB,SAAS,WAAT,EAAA0B,SACcpB,EAAE,2CAA2C,EAC/C,IAFZc,KAAAA,GAEahB,EAAA,MAAAJ,MAAAI,EAAA,MAAAE,GAAAF,EAAA,MAAAqB,OAAAA,MAAArB,EAAA;CAEL,IAAAuB,MAAA3B,SAAS,UAAQ4B;CAAA,AAAAxB,EAAA,QAAAM,yBAAAN,EAAA,QAAAmB,OAAAnB,EAAA,QAAAoB,OAAApB,EAAA,QAAAqB,OAAArB,EAAA,QAAAuB,OAT7BC,MAAA,oBAAC,YAAD;EACa,WAAAL;EACFb,SAAAA;EACH,MAAAc;EAEJ,cAAAC;EAIQ,UAAAE;CAAiB,CAAA,GAC3BvB,EAAA,MAAAM,uBAAAN,EAAA,MAAAmB,KAAAnB,EAAA,MAAAoB,KAAApB,EAAA,MAAAqB,KAAArB,EAAA,MAAAuB,KAAAvB,EAAA,MAAAwB,OAAAA,MAAAxB,EAAA;CAAA,IAAAyB;CAAA,AAAAzB,EAAA,QAAAwB,OAAAxB,EAAA,QAAAkB,MAhBJO,MAAA,qBAAC,MAAD;EAAa,OAAAd;EAAb,UAAA,CACEO,IAKAM,GANG;KAiBExB,EAAA,MAAAwB,KAAAxB,EAAA,MAAAkB,IAAAlB,EAAA,MAAAyB,OAAAA,MAAAzB,EAAA;CAAA,IAAA0B;CAAA,AAAA1B,EAAA,QAAAY,OAAAC,IAAA,2BAAA,KAEAa,MAAA,EAAAC,WAAY,aAAY,GAAC3B,EAAA,MAAA0B,OAAAA,MAAA1B,EAAA;CAAA,IAAA4B;CAAA,AAAA5B,EAAA,QAAAyB,OAAAzB,EAAA,QAAAU,MAjCpCkB,MAAA,oBAAC,cAAD;EACK,IAAA;EAED,QAAAlB;EAWA,MAAAe;EAmBO,SAAAC;CAAyB,CAAA,GAClC1B,EAAA,MAAAyB,KAAAzB,EAAA,MAAAU,IAAAV,EAAA,MAAA4B,OAAAA,MAAA5B,EAAA;CAAA,IAAA6B;CAAA,AAAA7B,EAAA,QAAAE,IAGkD2B,MAAA7B,EAAA,OAAtC6B,MAAA3B,EAAE,mCAAmC,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAA6B;CAAA,IAAAC;CAAA,AAAA9B,EAAA,QAAAE,IAIC4B,MAAA9B,EAAA,OAA3B8B,MAAA5B,EAAE,wBAAwB,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAA8B;CAAA,IAAAC;CAAA,AAAA/B,EAAA,QAAA8B,MAACC,MAAA/B,EAAA,OAAtC+B,MAAA,EAAAT,SAAUQ,IAA2B,GAAC9B,EAAA,MAAA8B,KAAA9B,EAAA,MAAA+B;CAAA,IAAAC;CAAA,AAAAhC,EAAA,QAAAP,WAAAO,EAAA,QAAA6B,OAAA7B,EAAA,QAAA+B,OALtDC,MAAA,oBAAC,UAAD;EACc,cAAAH;EACNxD,MAAAA;EACD,MAAA;EACIoB,SAAAA;EACK,cAAAsC;CAAsC,CAAA,GACpD/B,EAAA,MAAAP,SAAAO,EAAA,MAAA6B,KAAA7B,EAAA,MAAA+B,KAAA/B,EAAA,MAAAgC,OAAAA,MAAAhC,EAAA;CAAA,IAAAiC;CAAA,AAAAjC,EAAA,QAAA4B,OAAA5B,EAAA,QAAAgC,OA3CJC,MAAA,qBAAC,MAAD;EAAW,MAAA;EAAgB,SAAA;EAAQ,KAAA;EAAnC,UAAA,CACEL,KAoCAI,GArCG;KA4CEhC,EAAA,MAAA4B,KAAA5B,EAAA,MAAAgC,KAAAhC,EAAA,MAAAiC,OAAAA,MAAAjC,EAAA;CAAA,IAAAkC;CAAA,AAAAlC,EAAA,QAAAiC,OAAAjC,EAAA,QAAAQ,MAnDT0B,MAAA,qBAAC,MAAD;EAAe,SAAA;EAAf,UAAA,CACE1B,IAMAyB,GAPG;KAoDEjC,EAAA,MAAAiC,KAAAjC,EAAA,MAAAQ,IAAAR,EAAA,MAAAkC,OAAAA,MAAAlC,EAAA;CAAA,IAAAmC;CACF,OADEnC,EAAA,QAAAD,OAAAC,EAAA,QAAAkC,OArDTC,MAAA,oBAAC,MAAD;EAAWpC;EACTmC,UAAAA;CADG,CAAA,GAsDElC,EAAA,MAAAD,KAAAC,EAAA,MAAAkC,KAAAlC,EAAA,MAAAmC,OAAAA,MAAAnC,EAAA,KAtDPmC;AAsDO,CAEV,GClDK0C,YAAY7B,OAAOX,KAAK,CAAC,CAAA,WAAA;;;;AAO/B,SAAOyC,kBAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GACL,EAAAC,SAAAC,SAAwBvB,mBAAmB;CAE3C,IAAI,CAACsB,SAAO,OAAS;CAAI,IAAAE;CAQX,OARWJ,EAAA,OAAAG,QAAAH,EAAA,OAAAD,SAMvBK,KAAA,oBAAC,WAAD,EAAA,UACE,oBAAC,wBAAD;EAAuB,GAAKL;EAAaI;CAAI,CAAA,EADrC,CAAA,GAEEH,EAAA,KAAAG,MAAAH,EAAA,KAAAD,OAAAC,EAAA,KAAAI,MAAAA,KAAAJ,EAAA,IAFZI;AAEY;AAIhB,SAAAC,uBAAAN,OAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,GAKE,EAAAK,MAAYpC,eAAegB,uBAAuB,GAClD,EAAAqB,SAAAJ,SAAwBJ,OACxB,CAAAS,kBAAAC,uBAAgD1C,SAAkB,EAAK,GACvE,CAAA2C,iBAAAC,sBAA8C5C,SAAiC,IAAI,GACnF,CAAA6C,eAAAC,oBAA0C9C,SAAkB,EAAK,GACjE,CAAA+C,aAAAC,kBAAsChD,SAAuB,IAAI,GAEjEiD,UAAgBlD,OAA8B,IAAI,GAClD,CAAAmD,aAAAC,kBAAsCnD,SAAgC,IAAI,GAE1EoD,cAAoBhD,eAAe,GACnC,EAAAiD,UAAAC,YAAAC,mBAAAC,gBAAAC,WAAAC,QAAAC,WAAAC,mBAAAC,gBAAAC,wBAAAC,eAYInD,YAAY,GAChBoD,oBAA0BjE,OAA2B6D,iBAAiB,GACtE,EAAAK,OAAAC,sBAAmC7D,gBAAgB,GACnD8D,8BAAoCpE,OAAgB,EAAK,GAEzDqE,YAAkB3E,SAAS,CAAC,CAAA4E,MAC5B,EAAAC,eAAqB9E,SAAS,GAAC6C;CAAA,AAAAJ,EAAA,OAAAiB,cAI9Bb,KAAAJ,EAAA,MAFiFI,KAAA,EAAAkC,iBAC/DrB,YACnB,GAACjB,EAAA,KAAAiB,aAAAjB,EAAA,KAAAI;CAFD,IAAA,EAAAmC,iBAAAC,eAAAC,0BAAgE3D,kBAAkBsB,EAEjF,GACD,EAAAsC,cAAAC,oBAAwC5D,wBAAwB,GAChE,EAAA6D,aAAAC,iBAAoChE,sBAAsB,GAC1DiE,YAAkB9D,qBAAqB,GAEvC,EAAA+D,YAAAC,eAAAC,wBAAyDhE,kBAAkB,GAE3EiE,kBAAsC9B,SAAQ+B,KAAM1B,SAEpD,EAAA2B,YAAkBhC,UAAQiC;CAAA,AAAArD,EAAA,OAAA2C,mBAAA3C,EAAA,OAAAwB,aAAAxB,EAAA,OAAA8C,aAGxBO,MAAAC,aAAA;EAIER,AAHAtB,UAAU8B,QAAQ,GAClBX,gBAAgB,IAAI,GAEpBG,UAASS,uBAAwBD,QAAQ;CAAC,GAC3CtD,EAAA,KAAA2C,iBAAA3C,EAAA,KAAAwB,WAAAxB,EAAA,KAAA8C,WAAA9C,EAAA,KAAAqD,MAAAA,KAAArD,EAAA;CANH,IAAAwD,mBAAyBH,IAQxBI;CAAA,AAAAzD,EAAA,OAAAO,WAAAP,EAAA,OAAA2C,mBAEwCc,WAAA;EAEvCd,AADApC,QAAQ,GACRoC,gBAAgB,IAAI;CAAC,GACtB3C,EAAA,KAAAO,SAAAP,EAAA,KAAA2C,iBAAA3C,EAAA,KAAAyD,MAAAA,KAAAzD,EAAA;CAHD,IAAA0D,uBAA6BD,IAGCE;CAAAC,KAAA;EAG5B,IAAI,CAAChC,gBAAc;GAAE+B,KAAOE,KAAAA;GAAP,MAAAD;EAAgB;EAAA,IAAAE;EAcrCH,AAdqC3D,EAAA,OAAA4B,kBAAA5B,EAAA,QAAAmC,aAAAnC,EAAA,QAAAM,KAAAN,EAAA,QAAA8C,aAEpBgB,MAAAC,OAAA;GASfjB,AARAkB,UAASC,UAAUC,UAAWtC,eAAemC,EAAE,CAAC,CAAC,CAAAI,YAAO;IACtDhC,UAAU;KAAAiC,UACE;KAAI3C,QACN;KAAO4C,OACR/D,EAAE,yBAAyB;IACpC,CAAC;GAAC,CACH,GAEDwC,UAASwB,kBAAmB;EAAC,GAC9BtE,EAAA,KAAA4B,gBAAA5B,EAAA,MAAAmC,WAAAnC,EAAA,MAAAM,GAAAN,EAAA,MAAA8C,WAAA9C,EAAA,MAAA8D,MAAAA,KAAA9D,EAAA,KAED2D,KAAOY;CAAQ;CAfjB,IAAAC,iBAAuBb,IAgBsBG;CAAA,AAAA9D,EAAA,QAAAqB,cAAArB,EAAA,QAAA0B,aAG3CoC,MAAAW,SAAA;EACE,IAAAC,UAAgBrD,WAAW0C,IAAE;EACxBW,WAEAhD,UAASiD,OAAQ;GAAAC,MACd;GAAOC,WACFH,QAAOI,OAAOC,MAAYC,SAA1B;GAAgCjB,IACvCW,QAAOO;GAAIC,SACNR,QAAOQ;GAAQC,iBACPT,QAAOS;GAAgBC,WAC7BV,QAAOU,aAAP,CAAA;GAAuB3D,QAC1BiD,QAAOjD;GAAO4D,UACZX,QAAOW;EACnB,CAAC;CAAC,GACHrF,EAAA,MAAAqB,YAAArB,EAAA,MAAA0B,WAAA1B,EAAA,MAAA8D,MAAAA,KAAA9D,EAAA;CAfH,IAAAsF,oBAA0BxB,IAiBzByB;CAAA,AAAAvF,EAAA,QAAAY,gBAMA2E,KAAAvF,EAAA,OAJqCuF,WAAA;EAChC3E,kBACJH,oBAAoB,EAAK,GACzBE,mBAAmB,IAAI;CAAC,GACzBX,EAAA,MAAAY,eAAAZ,EAAA,MAAAuF;CAJD,IAAAC,oBAA0BD,IAIPE;CAAA,AAAAzF,EAAA,QAAAoB,SAAA+B,KAAAuC,QAAA1F,EAAA,QAAA8B,cAAA9B,EAAA,QAAAwC,iBAAAxC,EAAA,QAAAyC,yBAAAzC,EAAA,QAAA2C,mBAGjB8C,MAAAE,aAAA;EAGE,IAFAhD,gBAAgBgD,QAAQ,GAEpBA,UAAQd,WAAW;GACrB,IAAAE,OAAatH,UAASmI,WAAYD,SAAQd,SAAU;GASpD,AARA/C,aAAaiD,IAAI,GAEjBvC,cAAcmD,SAAQd,SAAU,GAERzD,SAAQ+B,KAAKuC,KAAKI,QAChCC,MAAOA,EAACV,aAAcM,UAAQN,QAAU,CAAC,CAAAW,KAC3CC,KAEJJ,KAAmBF,SAAQN,YAC7B5C,sBAAsBkD,SAAQN,QAAS;EACxC;CACF,GACFrF,EAAA,MAAAoB,SAAA+B,KAAAuC,MAAA1F,EAAA,MAAA8B,YAAA9B,EAAA,MAAAwC,eAAAxC,EAAA,MAAAyC,uBAAAzC,EAAA,MAAA2C,iBAAA3C,EAAA,MAAAyF,MAAAA,KAAAzF,EAAA;CAlBH,IAAAkG,mBAAyBT,IAoBxBU;CAAA,AAAAnG,EAAA,QAAA0B,aAAA1B,EAAA,QAAA2C,mBAGCwD,MAAAC,gBAAA;EACE,IAAAvB,YAAkBuB,aAAWC,SAAoBxB,aAA/B;EAYlBlC,AAVKjB,UAASiD,OAAQ;GAAAC,MACd;GAAOC;GAAAK,SAEJkB,YAAWlB;GAAQC,iBACXiB,YAAWjB;GAAgBC,WACjCgB,YAAWhB;GAAU3D,QACxB2E,YAAW3E;GAAO4D,UAChBe,YAAWf;EACvB,CAAC,GAED1C,gBAAgB;GAAAkC;GAAAyB,QAEN;GAAWjB,UACTe,YAAWf;EACvB,CAAC;CAAC,GACHrF,EAAA,MAAA0B,WAAA1B,EAAA,MAAA2C,iBAAA3C,EAAA,MAAAmG,MAAAA,KAAAnG,EAAA;CAnBH,IAAAuG,wBAA8BJ,IAqB7BK;CAAA,AAAAxG,EAAA,QAAA0B,YASE8E,KAAAxG,EAAA,OANDwG,MAAAC,kBAAA;EACO/E,UAASiD,OAAQ;GAAA,GACjByB;GAAWxB,MACR;GAAOC,WACFuB,eAAWC,SAAoBxB,aAA/B;EACb,CAAC;CAAC,GACH7E,EAAA,MAAA0B,WAAA1B,EAAA,MAAAwG;CAPH,IAAAE,cAAoBF,IASnBG;CAAA,AAAA3G,EAAA,QAAA0B,YAKEiF,KAAA3G,EAAA,OAFD2G,MAAAC,MAAAC,kBAAA;EACOnF,UAASoF,OAAQ/C,MAAIqC,aAAW;CAAC,GACvCpG,EAAA,MAAA0B,WAAA1B,EAAA,MAAA2G;CAHH,IAAAI,aAAmBJ,IAKlBK;CAAA,AAAAhH,EAAA,QAAAkD,kBAYE8D,MAAAhH,EAAA,OATDgH,OAAAC,SAAA;EACE,IAAAC,SAAehE,gBAAeiE,MAAMC,QAAOrB,IAACsB,eAAmBpC,QAAKlB,IAAE,GACtEnE,WAAiB0H,GAAQJ,UAAUA,QAAMK,SAAiBC,SAAG;EAG7D7G,AADAF,oBAAoB,EAAI,GACxBE,mBAAmB;GAAAhB,WACNoE;GAAEnE;EAEf,CAAC;CAAC,GACHI,EAAA,MAAAkD,iBAAAlD,EAAA,MAAAgH;CAVH,IAAAS,gBAAsBT,KAarBU;CAAA,AAAA1H,EAAA,QAAAwF,qBAAAxF,EAAA,QAAA0B,aAGCgG,MAAA,OAAAC,SAAA;EACE,IAAA;GAGEnC,AAFA3E,iBAAiB,EAAI,GACrB,MAAMa,UAASkG,OAAQ7D,IAAE,GACzByB,kBAAkB;EAAC,SAAAqC,KAAA;GAEnB9G,eAAe+G,GAAG;EAAC;EAErBjH,iBAAiB,EAAK;CAAC,GACxBb,EAAA,MAAAwF,mBAAAxF,EAAA,MAAA0B,WAAA1B,EAAA,MAAA0H,OAAAA,MAAA1H,EAAA;CAVH,IAAA+H,sBAA4BL,KAY3BG;CAAA,AAAA7H,EAAA,QAAAqB,cAAArB,EAAA,QAAA0B,aAAA1B,EAAA,QAAAuC,mBAAAvC,EAAA,QAAA2C,mBAAA3C,EAAA,QAAAwB,aAGCqG,OAAAG,MAAAC,eAAA;EAOE,IANKvG,UAASoF,OAAQ/C,MAAI,EAAAtC,QAChBwG,WACV,CAAC,GAIGA,eAAe,QAAM;GACvBzG,UAAU,MAAM;GAEhB,IAAA0G,YAAgB7G,WAAW0C,IAAE;GAE7B,IAAI,CAACW,WAAO;GAQZnC,AANAI,gBAAgB;IAAAkC,WACHH,UAAOI,OAAOC,MAAYC,SAA1B;IAAkCsB,QACrC;IAAWjB,UACTX,UAAOW,YAAP;GACZ,CAAC,GAED9C,gBAAgBwB,IAAE;EAAC;CACpB,GACF/D,EAAA,MAAAqB,YAAArB,EAAA,MAAA0B,WAAA1B,EAAA,MAAAuC,iBAAAvC,EAAA,MAAA2C,iBAAA3C,EAAA,MAAAwB,WAAAxB,EAAA,MAAA6H,OAAAA,MAAA7H,EAAA;CAvBH,IAAAmI,qBAA2BN,KAyB1BO;CAAA,AAAApI,EAAA,QAAA0B,YAKE0G,MAAApI,EAAA,OAFDoI,OAAAC,MAAAC,aAAA;EACO5G,UAAS6G,MAAOxE,MAAIuE,QAAQ;CAAC,GACnCtI,EAAA,MAAA0B,WAAA1B,EAAA,MAAAoI;CAHH,IAAAI,uBAA6BJ,KAK5BK;CAAA,AAAAzI,EAAA,QAAAqC,cAAArC,EAAA,QAAA0C,gBAAA1C,EAAA,QAAA2C,mBAEsC8F,YAAA;EAKrC,AAAI/F,gBAAAL,cACFM,gBAAgB,IAAI;CACrB,GACF3C,EAAA,MAAAqC,YAAArC,EAAA,MAAA0C,cAAA1C,EAAA,MAAA2C,iBAAA3C,EAAA,MAAAyI,OAAAA,MAAAzI,EAAA;CARD,IAAA0I,qBAA2BD,KAQoBE;CAAA,AAAA3I,EAAA,QAAA4I,OAAAC,IAAA,2BAAA,KAEhBF,OAAAG,YAAA;EAE7B5H,AADAF,QAAO+H,UAAWD,SAClB5H,eAAe4H,OAAO;CAAC,GACxB9I,EAAA,MAAA2I,OAAAA,MAAA3I,EAAA;CAHD,IAAAgJ,aAAmBL,KAGbM;CAAA,AAAAjJ,EAAA,QAAA0I,qBAYHO,MAAAjJ,EAAA,OATDiJ,OAAAC,UAAA;EAME,AAFEA,MAAKpE,kBAAmBsE,eAAeF,MAAKpE,QAAqBuE,aAAC,cAAc,KAGhFX,mBAAmB;CACpB,GACF1I,EAAA,MAAA0I,oBAAA1I,EAAA,MAAAiJ;CAAA,IAAAK;CAVHhM,AAUG0C,EAAA,QAAA4I,OAAAC,IAAA,2BAAA,KACDS,YAAM,CAACtI,QAAO+H,OAAQ,GAAC/I,EAAA,MAAAsJ,OAAAA,MAAAtJ,EAAA,KAXzB1C,qBACE2L,KAUAK,GACF;CAEA,IAAA,CAAAC,iBAAAC,sBAA8CzL,SAAS,EAAK,GAAC0L;CAAA,AAAAzJ,EAAA,QAAAuJ,mBAAAvJ,EAAA,QAAAG,QAAAH,EAAA,QAAA0C,cAAA4D,UAAAtG,EAAA,QAAAiD,uBACnDwG,YAAA;EACJF,yBAAmBpJ,SAAS,WAS/B,OAPDqJ,mBAAmB,EAAI,GACnB9G,cAAY4D,WAAa,SAC3BrD,oBAAmByG,YAAa,cAAc,IACrC3H,kBAAiBgH,UAC1B9F,oBAAmByG,YAAa,MAAM,IAEtCzG,oBAAmByG,YAAa,iBAAiB,SAE5C;GACLzG,oBAAmB0G,eAAgB;EAAC;CACrC,GACF3J,EAAA,MAAAuJ,iBAAAvJ,EAAA,MAAAG,MAAAH,EAAA,MAAA0C,cAAA4D,QAAAtG,EAAA,MAAAiD,qBAAAjD,EAAA,MAAAyJ,OAAAA,MAAAzJ,EAAA;CAA0B,IAAA4J,MAAAlH,cAAY4D,QAAQuD;CAd/CjM,AAc+CoC,EAAA,QAAAuJ,mBAAAvJ,EAAA,QAAAG,QAAAH,EAAA,QAAA4J,OAAA5J,EAAA,QAAAiD,uBAA5C4G,MAAA;EAACN;EAAiBpJ;EAAMyJ;EAAsB3G;CAAmB,GAACjD,EAAA,MAAAuJ,iBAAAvJ,EAAA,MAAAG,MAAAH,EAAA,MAAA4J,KAAA5J,EAAA,MAAAiD,qBAAAjD,EAAA,MAAA6J,OAAAA,MAAA7J,EAAA,KAdrEpC,UAAU6L,KAcPI,GAAkE;CAAC,IAAAC,KAAAC;CAGtEnM,AAHsEoC,EAAA,QAAAqB,cAAArB,EAAA,QAAAkG,oBAAAlG,EAAA,QAAAoD,WAAApD,EAAA,QAAA6B,0BAAA7B,EAAA,QAAAuC,mBAAAvC,EAAA,QAAAwB,aAAAxB,EAAA,QAAA8C,aAG5DgH,YAAA;EAGR,IAAAE,oBAA0B3I,WAAWU,kBAAiBgH,WAAjB,EAA+B;EAEpE,AAAI,CAAC3F,WAAD4G,qBAAA,CAAkC9H,4BAA2B6G,YAE/DvH,UAAUwI,kBAAiBvI,UAAjB,MAAkC,GAE5CyE,iBAAiB;GAAArB,WACJmF,kBAAiBlF,OAAOC,MAAYC,SAApC;GAA4CsB,QAC/C;GAAKjB,UACH2E,kBAAiB3E,YAAjB;EACZ,CAAC,GAGD4E,4BAAsB;GACpB1H,gBAAgByH,kBAAiB/E,GAAI;EAAC,CACvC,GAED/C,4BAA2B6G,UAAW,IACtChH,kBAAiBgH,UAAWlF,KAAAA,GAE5BhC,yBAAyB,GAEzBiB,UAASoH,sBAAuB;CACjC,GACAH,MAAA;EACD1I;EACA6E;EACA9C;EACAvB;EACAU;EACAf;EACAsB;CAAS,GACV9C,EAAA,MAAAqB,YAAArB,EAAA,MAAAkG,kBAAAlG,EAAA,MAAAoD,SAAApD,EAAA,MAAA6B,wBAAA7B,EAAA,MAAAuC,iBAAAvC,EAAA,MAAAwB,WAAAxB,EAAA,MAAA8C,WAAA9C,EAAA,MAAA8J,KAAA9J,EAAA,MAAA+J,QAAAD,MAAA9J,EAAA,KAAA+J,MAAA/J,EAAA,MAnCDpC,UAAUkM,KA2BPC,GAQF;CAAC,IAAAI;CAAAC,KAAA;EAGA,IAAIjK,SAAS,YAAT4C,YAA+B;GAAA,IAAAsH;GACjCF,AADiCnK,EAAA,QAAA+C,cAAA/C,EAAA,QAAAiD,oBAAAqH,uBAAAtK,EAAA,QAAAiD,oBAAAsH,yBAE/BF,MAAA,oBAAC,qBAAD;IACQtH,MAAAA;IACU,gBAAAE,oBAAmBqH;IACjB,kBAAArH,oBAAmBsH;GAAsB,CAAA,GAC3DvK,EAAA,MAAA+C,YAAA/C,EAAA,MAAAiD,oBAAAqH,qBAAAtK,EAAA,MAAAiD,oBAAAsH,uBAAAvK,EAAA,MAAAqK,OAAAA,MAAArK,EAAA,KALJmK,MACEE;GADF,MAAAD;EAMC;EAGHD,MAAO;CAAI;CAXb,IAAAK,iBAAuBL,KAiBrBE;CAAA,AAAArK,EAAA,QAAAwF,qBAAAxF,EAAA,QAAAU,mBAAAV,EAAA,QAAAc,eAAAd,EAAA,QAAAY,iBAAAZ,EAAA,QAAA+H,uBAAA/H,EAAA,QAAAQ,oBAIG6J,MAAA3J,mBAAAF,oBACC,oBAAC,qBAAD;EAAoB,GACdE;EACGI,OAAAA;EACEF,SAAAA;EACA4E,SAAAA;EACEuC,WAAAA;CAAmB,CAAA,GAEjC/H,EAAA,MAAAwF,mBAAAxF,EAAA,MAAAU,iBAAAV,EAAA,MAAAc,aAAAd,EAAA,MAAAY,eAAAZ,EAAA,MAAA+H,qBAAA/H,EAAA,MAAAQ,kBAAAR,EAAA,MAAAqK,OAAAA,MAAArK,EAAA;CAYS,IAAAyK,MAAA,CAAC7H,aAAW8H;CAAA,AAAA1K,EAAA,QAAAwD,oBAAAxD,EAAA,QAAA0D,wBAAA1D,EAAA,QAAAG,QAAAH,EAAA,QAAAyB,UAGlBiJ,MAAA,oBAAC,yBAAD;EACWhH,SAAAA;EACKF,cAAAA;EACR/B,MAAAA;EACAtB;CAAI,CAAA,GACVH,EAAA,MAAAwD,kBAAAxD,EAAA,MAAA0D,sBAAA1D,EAAA,MAAAG,MAAAH,EAAA,MAAAyB,QAAAzB,EAAA,MAAA0K,OAAAA,MAAA1K,EAAA;CAAA,IAAA2K;CAAA,AAAA3K,EAAA,QAAA6C,gBAAA7C,EAAA,QAAAyK,OAAAzK,EAAA,QAAA0K,OAVJC,MAAA,oBAAC,2BAAD;EACa9H,WAAAA;EACL,MAAA4H;EACI,WAAA;EAEVC,UAAAA;CALwB,CAAA,GAWE1K,EAAA,MAAA6C,cAAA7C,EAAA,MAAAyK,KAAAzK,EAAA,MAAA0K,KAAA1K,EAAA,MAAA2K,OAAAA,MAAA3K,EAAA;CAAA,IAAA4K;CAAA,AAAA5K,EAAA,QAAAiC,oBAC8C2I,MAAA5K,EAAA,OAAzE4K,MAAA3I,qBAAqB,oBAAC,wBAAD,EAA+BA,OAAAA,kBAAiB,CAAA,GAAIjC,EAAA,MAAAiC,mBAAAjC,EAAA,MAAA4K;CAAA,IAAAC;CAAA,AAAA7K,EAAA,QAAAwK,kBAAAxK,EAAA,QAAAoB,SAAAY,SAAAhC,EAAA,QAAAkD,mBAAAlD,EAAA,QAAAmB,eAAAnB,EAAA,QAAAwE,kBAAAxE,EAAA,QAAAsF,qBAAAtF,EAAA,SAAA+G,cAAA/G,EAAA,SAAAuG,yBAAAvG,EAAA,SAAAkG,oBAAAlG,EAAA,SAAAwI,wBAAAxI,EAAA,SAAA0G,eAAA1G,EAAA,SAAAmI,sBAAAnI,EAAA,SAAAsB,qBAAAtB,EAAA,SAAAoD,WAAApD,EAAA,SAAAuB,kBAAAvB,EAAA,SAAAG,QAAAH,EAAA,SAAAyH,iBAAAzH,EAAA,SAAA0C,gBAAA1C,EAAA,SAAAyB,UACzEoJ,MAAA1J,eACC,oBAAC,cAAD;EACkBqJ;EACNtH,UAAAA;EACG/B;EACN,OAAAC,SAAQY;EACNoB;EACO7B;EACVpB;EACMqE,YAAAA;EACGc,eAAAA;EACLmC,UAAAA;EACFV,QAAAA;EACWR,mBAAAA;EACLL,cAAAA;EACIsC,kBAAAA;EACT9B,SAAAA;EACOyB,gBAAAA;EACN7G,UAAAA;EACIoB;EACNjB;CAAM,CAAA,GAEjBzB,EAAA,MAAAwK,gBAAAxK,EAAA,MAAAoB,SAAAY,OAAAhC,EAAA,MAAAkD,iBAAAlD,EAAA,MAAAmB,aAAAnB,EAAA,MAAAwE,gBAAAxE,EAAA,MAAAsF,mBAAAtF,EAAA,OAAA+G,YAAA/G,EAAA,OAAAuG,uBAAAvG,EAAA,OAAAkG,kBAAAlG,EAAA,OAAAwI,sBAAAxI,EAAA,OAAA0G,aAAA1G,EAAA,OAAAmI,oBAAAnI,EAAA,OAAAsB,mBAAAtB,EAAA,OAAAoD,SAAApD,EAAA,OAAAuB,gBAAAvB,EAAA,OAAAG,MAAAH,EAAA,OAAAyH,eAAAzH,EAAA,OAAA0C,cAAA1C,EAAA,OAAAyB,QAAAzB,EAAA,OAAA6K,OAAAA,MAAA7K,EAAA;CAAA,IAAA8K;CAAA,AAAA9K,EAAA,SAAA0I,sBAAA1I,EAAA,SAAA2K,OAAA3K,EAAA,SAAA4K,OAAA5K,EAAA,SAAA6K,OA3CHC,MAAA,qBAAC,MAAD;EACY,WAAA;EACJ,MAAA;EACC,QAAA;EACEpC,SAAAA;EACA,UAAA;EACJM,KAAAA;EANP,UAAA;GAQE2B;GAYCC;GACAC;EArBE;KA4CE7K,EAAA,OAAA0I,oBAAA1I,EAAA,OAAA2K,KAAA3K,EAAA,OAAA4K,KAAA5K,EAAA,OAAA6K,KAAA7K,EAAA,OAAA8K,OAAAA,MAAA9K,EAAA;CAAA,IAAA+K;CACE,OADF/K,EAAA,SAAAqK,OAAArK,EAAA,SAAA8K,OAvDTC,MAAA,qBAAC,UAAD,EAAA,UAAA,CACGV,KAUDS,GAXO,EAAA,CAAA,GAwDE9K,EAAA,OAAAqK,KAAArK,EAAA,OAAA8K,KAAA9K,EAAA,OAAA+K,OAAAA,MAAA/K,EAAA,MAxDX+K;AAwDW;AAzYf,SAAA9E,MAAA+E,GAAA;CAAA,OAuHuBtM,uBAAuBsM,EAAC3D,aAAc;AAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bl as useReleasesStore } from "./core-
|
|
1
|
+
import { Bl as useReleasesStore } from "./core-DXpvoVLo.js";
|
|
2
2
|
import { useContext, useEffect, useState } from "react";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -82,4 +82,4 @@ function _temp4() {
|
|
|
82
82
|
}
|
|
83
83
|
export { useReleasesMetadataProvider as n, ReleasesMetadataProvider as t };
|
|
84
84
|
|
|
85
|
-
//# sourceMappingURL=ReleasesMetadataProvider-
|
|
85
|
+
//# sourceMappingURL=ReleasesMetadataProvider-CrlSGW8e.js.map
|
package/lib/{ReleasesMetadataProvider-Bh8czyeu.js.map → ReleasesMetadataProvider-CrlSGW8e.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReleasesMetadataProvider-
|
|
1
|
+
{"version":3,"file":"ReleasesMetadataProvider-CrlSGW8e.js","names":["useCallback","useContext","useEffect","useMemo","useState","useObservable","ReleasesMetadataContext","MetadataWrapper","ReleasesMetadata","useReleasesStore","ReleasesMetadataContextValue","state","addReleaseIdsToListener","slugs","removeReleaseIdsFromListener","DEFAULT_METADATA_STATE","data","error","loading","ReleasesMetadataProviderInner","t0","$","_c","children","t1","Symbol","for","listenerReleaseIds","setListenerReleaseIds","getMetadataStateForSlugs$","releasesMetadata","setReleasesMetadata","t2","map","_temp","memoObservable","observedResult","t3","t4","prevReleaseMetadata","t5","addReleaseIds","prevSlugs","filter","_temp2","t6","releaseIds","prevSlugs_0","nextSlugs","reduce","acc","slug_0","removedSlugs","accNextSlugs","includes","slug","t7","context","t8","ReleasesMetadataProvider","useReleasesMetadataProvider","contextValue","_temp3","_temp4","releaseId"],"sources":["../src/core/releases/contexts/ReleasesMetadataProvider.tsx"],"sourcesContent":["import {useCallback, useContext, useEffect, useMemo, useState} from 'react'\nimport {useObservable} from 'react-rx'\nimport {ReleasesMetadataContext} from 'sanity/_singletons'\n\nimport {type MetadataWrapper} from '../store/createReleaseMetadataAggregator'\nimport {type ReleasesMetadata} from '../store/useReleasesMetadata'\nimport {useReleasesStore} from '../store/useReleasesStore'\n\n/**\n * @internal\n */\nexport interface ReleasesMetadataContextValue {\n state: MetadataWrapper\n addReleaseIdsToListener: (slugs: string[]) => void\n removeReleaseIdsFromListener: (slugs: string[]) => void\n}\n\nconst DEFAULT_METADATA_STATE: MetadataWrapper = {\n data: null,\n error: null,\n loading: false,\n}\n\nconst ReleasesMetadataProviderInner = ({children}: {children: React.ReactNode}) => {\n const [listenerReleaseIds, setListenerReleaseIds] = useState<string[]>([])\n const {getMetadataStateForSlugs$} = useReleasesStore()\n const [releasesMetadata, setReleasesMetadata] = useState<Record<string, ReleasesMetadata> | null>(\n null,\n )\n\n const memoObservable = useMemo(\n () => getMetadataStateForSlugs$(listenerReleaseIds.map((slug) => slug)),\n [getMetadataStateForSlugs$, listenerReleaseIds],\n )\n\n const observedResult = useObservable(memoObservable) || DEFAULT_METADATA_STATE\n\n // patch metadata in local state\n useEffect(\n () =>\n // oxlint-disable-next-line react/react-compiler\n setReleasesMetadata((prevReleaseMetadata) => {\n if (!observedResult.data) return prevReleaseMetadata\n\n return {...prevReleaseMetadata, ...observedResult.data}\n }),\n [observedResult.data],\n )\n\n const addReleaseIdsToListener = useCallback((addReleaseIds: (string | undefined)[]) => {\n setListenerReleaseIds((prevSlugs) => [\n ...prevSlugs,\n ...addReleaseIds.filter((releaseId): releaseId is string => typeof releaseId === 'string'),\n ])\n }, [])\n\n const removeReleaseIdsFromListener = useCallback((releaseIds: string[]) => {\n setListenerReleaseIds((prevSlugs) => {\n const {nextSlugs} = prevSlugs.reduce<{removedSlugs: string[]; nextSlugs: string[]}>(\n (acc, slug) => {\n const {removedSlugs, nextSlugs: accNextSlugs} = acc\n /**\n * In cases where multiple consumers are listening to the same release id\n * the release id will appear multiple times in listenerReleaseIds array\n * removing should only remove 1 instance of the slug and retain all others\n */\n if (releaseIds.includes(slug) && !removedSlugs.includes(slug)) {\n return {removedSlugs: [...removedSlugs, slug], nextSlugs: accNextSlugs}\n }\n return {removedSlugs, nextSlugs: [...accNextSlugs, slug]}\n },\n {removedSlugs: [], nextSlugs: []},\n )\n return nextSlugs\n })\n }, [])\n\n const context = useMemo<{\n addReleaseIdsToListener: (slugs: string[]) => void\n removeReleaseIdsFromListener: (slugs: string[]) => void\n state: MetadataWrapper\n }>(\n () => ({\n addReleaseIdsToListener: addReleaseIdsToListener,\n removeReleaseIdsFromListener: removeReleaseIdsFromListener,\n state: {...observedResult, data: releasesMetadata},\n }),\n [addReleaseIdsToListener, releasesMetadata, observedResult, removeReleaseIdsFromListener],\n )\n\n return (\n <ReleasesMetadataContext.Provider value={context}>{children}</ReleasesMetadataContext.Provider>\n )\n}\n\nexport const ReleasesMetadataProvider = ({children}: {children: React.ReactNode}) => {\n const context = useContext(ReleasesMetadataContext)\n\n // Avoid mounting the provider if it's already provided by a parent\n if (context) return children\n return <ReleasesMetadataProviderInner>{children}</ReleasesMetadataProviderInner>\n}\n\nexport const useReleasesMetadataProvider = (): ReleasesMetadataContextValue => {\n const contextValue = useContext(ReleasesMetadataContext)\n\n return (\n contextValue || {\n state: DEFAULT_METADATA_STATE,\n addReleaseIdsToListener: () => null,\n removeReleaseIdsFromListener: () => null,\n }\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { u as Dialog$1 } from "./ui-components-CIbWmKVS.js";
|
|
2
|
-
import { Cs as UpsellDialog, Fp as isCardinalityOneRelease, Hi as useReleasesToolAvailable, Os as FEATURES, Ts as useUpsellData, Ya as useResourceCache, gl as useActiveReleases, ks as useFeatureEnabled, mt as useClient, np as useTranslation } from "./core-
|
|
3
|
-
import { t as ReleasesMetadataProvider } from "./ReleasesMetadataProvider-
|
|
2
|
+
import { Cs as UpsellDialog, Fp as isCardinalityOneRelease, Hi as useReleasesToolAvailable, Os as FEATURES, Ts as useUpsellData, Ya as useResourceCache, gl as useActiveReleases, ks as useFeatureEnabled, mt as useClient, np as useTranslation } from "./core-DXpvoVLo.js";
|
|
3
|
+
import { t as ReleasesMetadataProvider } from "./ReleasesMetadataProvider-CrlSGW8e.js";
|
|
4
4
|
import { useState } from "react";
|
|
5
5
|
import { BehaviorSubject, catchError, firstValueFrom, map, of, shareReplay, switchMap, tap, timer } from "rxjs";
|
|
6
6
|
import { c } from "react/compiler-runtime";
|
|
@@ -255,4 +255,4 @@ function ReleasesStudioLayout(props) {
|
|
|
255
255
|
}
|
|
256
256
|
export { ReleasesStudioLayout };
|
|
257
257
|
|
|
258
|
-
//# sourceMappingURL=ReleasesStudioLayout-
|
|
258
|
+
//# sourceMappingURL=ReleasesStudioLayout-DjYvlQPm.js.map
|