{
  "version": 3,
  "sources": ["../../src/web/pages/project/useImplementColorSampler.tsx", "../../src/document/components/chrome/properties/codeComponentRows/LinkControlPropRow.tsx"],
  "sourcesContent": ["import { downloadDesktopApp } from \"@framerjs/app-shared\"\nimport type { ServiceChannel } from \"@framerjs/framer-services\"\nimport { ColorSampler } from \"@framerjs/framer-services\"\nimport type { ToastFn, ToasterAction } from \"@framerjs/fresco\"\nimport { useEffect } from \"react\"\n\n// EyeDropper API from https://wicg.github.io/eyedropper-api/\ndeclare global {\n\tinterface ColorSelectionResult {\n\t\tsRGBHex: string\n\t}\n\n\tinterface ColorSelectionOptions {\n\t\tsignal: AbortSignal\n\t}\n\n\tclass EyeDropper {\n\t\tconstructor()\n\t\topen(options?: ColorSelectionOptions): Promise<ColorSelectionResult>\n\t}\n\n\tinterface Window {\n\t\tEyeDropper?: typeof EyeDropper\n\t}\n}\n\nconst installDesktopToast: ToasterAction = {\n\ttype: \"add\",\n\tvariant: \"info\",\n\ticon: \"color-wheel\",\n\taction: {\n\t\ttitle: \"Install\",\n\t\tonClick: downloadDesktopApp,\n\t},\n\tprimaryText: \"Use latest desktop app\",\n\tsecondaryText: \"to sample colors.\",\n\tkey: \"install-desktop-app\",\n\tduration: 5000,\n\tshowCloseButton: \"never\",\n}\n\nexport function useImplementColorSampler({ channel, toast }: { channel: ServiceChannel | null; toast: ToastFn }): void {\n\tuseEffect(() => {\n\t\tif (!channel) return\n\n\t\tlet activeAbortController: AbortController | undefined\n\n\t\tconst colorSamplerImplementation = {\n\t\t\tasync sampleColor() {\n\t\t\t\t// See if we support the new EyeDropper API (Chrome 95 and up)\n\t\t\t\t// https://wicg.github.io/eyedropper-api/\n\t\t\t\tif (window.EyeDropper) {\n\t\t\t\t\tactiveAbortController?.abort()\n\t\t\t\t\tconst myController = new AbortController()\n\t\t\t\t\tactiveAbortController = myController\n\t\t\t\t\tconst eyeDropper = new window.EyeDropper()\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst color = (\n\t\t\t\t\t\t\tawait eyeDropper.open({ signal: myController.signal }).catch(error => {\n\t\t\t\t\t\t\t\t// did the user cancel selection?\n\t\t\t\t\t\t\t\tif (error?.name === \"AbortError\") return { sRGBHex: undefined }\n\t\t\t\t\t\t\t\tthrow error\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t).sRGBHex\n\t\t\t\t\t\treturn { color }\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif (activeAbortController === myController) {\n\t\t\t\t\t\t\tactiveAbortController = undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\ttoast(installDesktopToast)\n\t\t\t\treturn {}\n\t\t\t},\n\t\t}\n\n\t\tconst unregister = ColorSampler.on(channel).register(colorSamplerImplementation)\n\n\t\treturn () => {\n\t\t\tactiveAbortController?.abort()\n\t\t\tunregister()\n\t\t}\n\t}, [channel, toast])\n}\n", "import { AnnotationKey } from \"@framerjs/framer-runtime/crossorigin\"\nimport {\n\tIconCollectionItemNext,\n\tIconCollectionItemPrevious,\n\tIconPopupButtonLink,\n\tIconVariableLink,\n} from \"@framerjs/fresco\"\nimport { colors } from \"@framerjs/fresco/tokens\"\nimport { Mixed, isMixed } from \"@framerjs/shared\"\nimport { Dictionary } from \"app/dictionary.ts\"\nimport { useExperimentIsOn } from \"app/experiments.ts\"\nimport { type BaseEngine, useBaseEngine } from \"document/base-engine/BaseEngine.ts\"\nimport { PanelRow } from \"document/components/chrome/properties/rows/PanelRow.tsx\"\nimport { getLinkPopoutId } from \"document/components/utils/getFirstLinkControlRow.ts\"\nimport { trackLinkChanges } from \"document/components/utils/trackLinkChanges.ts\"\nimport type { NodeID } from \"document/models/CanvasTree/index.ts\"\nimport { randomID } from \"document/models/CanvasTree/nodes/NodeID.ts\"\nimport { isWebPageNode } from \"document/models/CanvasTree/nodes/utils/nodeCheck.ts\"\nimport type { ComputedValue } from \"document/models/CanvasTree/traits/ComputedValue.ts\"\nimport { createComputedValue } from \"document/models/CanvasTree/traits/ComputedValue.ts\"\nimport type { DynamicValue } from \"document/models/CanvasTree/traits/DynamicValue.ts\"\nimport { isDynamicValue } from \"document/models/CanvasTree/traits/DynamicValue.ts\"\nimport { createFetchDataValue } from \"document/models/CanvasTree/traits/FetchDataValue.ts\"\nimport { isVariableReference } from \"document/models/CanvasTree/traits/VariableReference.ts\"\nimport type { Link } from \"document/models/CanvasTree/traits/utils/Link.ts\"\nimport { createLink, isLink, isLinkEqual, isLinkToWebPage } from \"document/models/CanvasTree/traits/utils/Link.ts\"\nimport type { Reduced } from \"document/models/CanvasTree/traits/utils/Reduced.ts\"\nimport type { ReducedLinkControlProp } from \"document/models/controlProps/getReducedControlProps.ts\"\nimport { isVekterEngine } from \"document/useVekterEngine.ts\"\nimport { nextItemVariableId, previousItemVariableId } from \"document/utils/CollectionItemVariables.ts\"\nimport { ScopeType } from \"document/utils/scopeType.ts\"\nimport { useTitleForLink } from \"document/utils/useTitleForLink.ts\"\nimport type { LinkControlDescription } from \"library/render/types/PropertyControls.ts\"\nimport { ControlType } from \"library/render/types/PropertyControls.ts\"\nimport React, { useMemo } from \"react\"\nimport { getNestedVariableId } from \"utils/collectionReferenceUtils.ts\"\nimport { titleCase } from \"utils/titleCase.ts\"\nimport { isString, isUndefined } from \"utils/typeChecks.ts\"\nimport { IconAgentCollectionItemNext, IconAgentCollectionItemPrevious } from \"../../shared/AgentCollectionItemIcons.tsx\"\nimport { DynamicValueButtonFromContext } from \"../../shared/DynamicValueButtonFromContext.tsx\"\nimport { PopoutButtonPreviewIconWrapper } from \"../../shared/PopoutButtonPreviewIconWrapper.tsx\"\nimport { PopoutButtonWithPreview } from \"../../shared/PopoutButtonWithPreview.tsx\"\nimport { popoutWindow } from \"../../shared/PopoutWindow.tsx\"\nimport { createVariableInScope } from \"../utils/createVariableInScope.ts\"\nimport type { ControlPropChangeHandler } from \"./ControlPropRowChangeHandler.ts\"\nimport { LinkPopout } from \"./LinkPopout.tsx\"\nimport type { SupportsFetchDataValuesProps } from \"./WithSupportsFetchDataValuesProps.ts\"\nimport { supportedVariableTypesByControlType } from \"./utils/supportedVariableTypesByControlType.ts\"\n\nconst controlType = ControlType.Link\nconst allowedFileTypes = [\"*\"] as const\n\nfunction getComputedLinkPopoutId(controlKey: string): string {\n\treturn `computed-link-${controlKey}`\n}\n\ntype LinkControlPropRowProps = SupportsFetchDataValuesProps & {\n\tcontrolKey: string\n\tcontrol: LinkControlDescription\n\tcontrolProp: ReducedLinkControlProp\n\tonChange: ControlPropChangeHandler<ControlType.Link>\n\tonContextMenu?: (event: React.MouseEvent<HTMLElement>) => void\n\tsupportsFetchDataValues?: boolean\n\tsupportsComputedValues?: boolean\n\tsortable?: boolean\n\ttraitTypeKeys?: string[]\n\tsupportsVariables?: boolean\n\tonDelete?: VoidFunction\n}\n\nexport const LinkControlPropRow = React.memo(function LinkControlPropRow({\n\tcontrol,\n\tcontrolKey,\n\tcontrolProp,\n\tonChange: externalOnChange,\n\tonContextMenu,\n\tsortable,\n\ttraitTypeKeys,\n\tonDelete,\n\tsupportsVariables = false,\n\tsupportsComputedValues = false,\n\tsupportsFetchDataValues = false,\n\tnodeIds: externalNodeIds,\n}: LinkControlPropRowProps) {\n\tconst engine = useBaseEngine()\n\tconst agentExperimentEnabled = useExperimentIsOn(\"agent\")\n\n\tconst nodeIds = useMemo(() => externalNodeIds ?? [], [externalNodeIds])\n\n\tconst popoutId = useMemo(() => getLinkPopoutId(controlKey || randomID()), [controlKey])\n\n\tconst { value } = controlProp\n\tconst currentValue = isDynamicValue(value) || isLink(value) ? value : Mixed\n\n\tconst onChange = (newValue: Link | DynamicValue | undefined) => {\n\t\texternalOnChange(controlKey, current => ({ ...current, value: newValue }), nodeIds)\n\t\ttrackLinkChanges(currentValue, newValue)\n\t}\n\n\tconst getDefaultValue = (fallback?: string): string | undefined => {\n\t\tconst { defaultValue } = control\n\t\tif (isString(defaultValue)) return defaultValue\n\t\treturn fallback\n\t}\n\n\tconst resetToDefault = () => {\n\t\tconst defaultValue = getDefaultValue()\n\t\tif (isUndefined(defaultValue)) onChange(defaultValue)\n\t}\n\n\tconst handleDelete = () => {\n\t\tonChange(undefined)\n\t}\n\n\tconst onCreateVariable = engine.scheduler.wrapHandler((scopeId: NodeID) => {\n\t\tconst name = control.title || titleCase(controlKey)\n\t\tconst initialValue = isString(currentValue) ? currentValue : getDefaultValue(\"\")\n\t\tengine.beginUndoGroup()\n\t\tconst variableRef = createVariableInScope({\n\t\t\tengine,\n\t\t\tscopeId,\n\t\t\ttype: controlType,\n\t\t\tname,\n\t\t\tinitialValue,\n\t\t})\n\t\tif (variableRef) onChange(variableRef)\n\t\tengine.endUndoGroup()\n\t})\n\n\tconst onRemoveDynamicValue = engine.scheduler.wrapHandler(() => {\n\t\tif (!isDynamicValue(currentValue)) return\n\t\tonChange(undefined)\n\t})\n\n\tconst onSelectFetchDataValue = engine.scheduler.wrapHandler(() => {\n\t\tconst fetchValue = createFetchDataValue({\n\t\t\ttype: ControlType.Link,\n\t\t\tvalue: isLink(value) ? value : undefined,\n\t\t})\n\n\t\tconst computedValue = createComputedValue(ControlType.Link, fetchValue, [])\n\t\tonSelectComputedValue(computedValue)\n\n\t\treturn computedValue\n\t})\n\n\tconst onSelectComputedValue = engine.scheduler.wrapHandler((computedValue: ComputedValue) => {\n\t\tonChange(computedValue)\n\t\tpopoutWindow.navigation.presentPopout(getComputedLinkPopoutId(controlKey))\n\t})\n\n\tconst title = sortable ? undefined : control.title || titleCase(controlKey)\n\tconst defaultValue = getDefaultValue()\n\n\tconst isLinkSuggestion = !isVariableReference(currentValue) && !isLink(currentValue)\n\n\tconst linkTitle = useTitleForLink(engine, currentValue)\n\tconst linkIcon = getIconForLink(engine, currentValue, agentExperimentEnabled)\n\n\tconst resetToDefaultEnabled =\n\t\tisString(defaultValue) && isLink(value) && !isLinkEqual(value, createLink({ url: defaultValue }))\n\n\treturn (\n\t\t<PanelRow\n\t\t\ttitle={title}\n\t\t\tonContextMenu={onContextMenu}\n\t\t\tonResetToDefault={resetToDefault}\n\t\t\tresetToDefaultEnabled={resetToDefaultEnabled}\n\t\t\tvariableType={supportedVariableTypesByControlType[controlType]}\n\t\t\tallowedFileTypes={allowedFileTypes}\n\t\t\tvariableCreationType={controlType}\n\t\t\tonCreateVariable={onCreateVariable}\n\t\t\tonRemoveDynamicValue={onRemoveDynamicValue}\n\t\t\tdynamicValue={isDynamicValue(value) ? value : null}\n\t\t\tonSelectVariable={onChange}\n\t\t\ttraitTypeKeys={traitTypeKeys}\n\t\t\twithReorderControl={sortable}\n\t\t\treorderColumnCount={2}\n\t\t\tonDelete={onDelete}\n\t\t\tsupportsVariables={supportsVariables}\n\t\t\tsupportsComputedValues={supportsComputedValues}\n\t\t\tcomputedValuePopoutId={getComputedLinkPopoutId(controlKey)}\n\t\t\tonSelectComputedValue={onSelectComputedValue}\n\t\t\tsupportsFetchDataValues={supportsFetchDataValues}\n\t\t\tonSelectFetchDataValue={onSelectFetchDataValue}\n\t\t>\n\t\t\t{isDynamicValue(currentValue) ? (\n\t\t\t\t<DynamicValueButtonFromContext\n\t\t\t\t\ttitle={control.title || titleCase(controlKey)}\n\t\t\t\t\tvalue={currentValue}\n\t\t\t\t\toutputControl={control}\n\t\t\t\t\texpectedType={supportedVariableTypesByControlType[controlType]}\n\t\t\t\t\tallowedFileTypes={allowedFileTypes}\n\t\t\t\t\tpopoutId={getComputedLinkPopoutId(controlKey)}\n\t\t\t\t\tonRemove={onRemoveDynamicValue}\n\t\t\t\t\tonChangeDynamicValue={onChange}\n\t\t\t\t\tnodeIds={nodeIds}\n\t\t\t\t\tsupportsComputedValues={supportsComputedValues}\n\t\t\t\t\tsupportsFetchDataValues={supportsFetchDataValues}\n\t\t\t\t\tcontrolReferenceInfo={undefined}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<PopoutButtonWithPreview\n\t\t\t\t\tid={popoutId}\n\t\t\t\t\tsortable={sortable}\n\t\t\t\t\tpopout={\n\t\t\t\t\t\t<LinkPopout\n\t\t\t\t\t\t\tlink={isMixed(currentValue) ? undefined : currentValue}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\tsupportsVariables={supportsVariables}\n\t\t\t\t\t\t\tsupportsPageLinks={supportsPageLinks(engine)}\n\t\t\t\t\t\t\tsupportsSlugVariables={supportsVariables}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\tnavigationTitle={Dictionary.Link}\n\t\t\t\t\tdisplayDivider\n\t\t\t\t\ttitle={isMixed(currentValue) ? Dictionary.AddEllipsis : linkTitle}\n\t\t\t\t\tpreviewWithoutWrapper={agentExperimentEnabled}\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<LinkPopoutButtonPreview\n\t\t\t\t\t\t\tagentExperimentEnabled={agentExperimentEnabled}\n\t\t\t\t\t\t\tisSuggestion={isLinkSuggestion}\n\t\t\t\t\t\t\ticon={linkIcon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\tonDelete={isLink(currentValue) ? handleDelete : undefined}\n\t\t\t\t\ttitleColor={isLinkSuggestion ? colors.inputLabel : undefined}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</PanelRow>\n\t)\n})\n\nfunction LinkPopoutButtonPreview({\n\tagentExperimentEnabled,\n\tisSuggestion,\n\ticon,\n}: {\n\tagentExperimentEnabled: boolean\n\tisSuggestion: boolean\n\ticon: React.ReactNode\n}) {\n\tif (agentExperimentEnabled) {\n\t\tconst iconBackground = isSuggestion ? colors.swatchBackgroundPlaceholderForLink : colors.swatchBackgroundForLink\n\n\t\treturn <span style={{ display: \"flex\", marginLeft: 3, color: iconBackground }}>{icon ?? <IconVariableLink />}</span>\n\t}\n\n\treturn (\n\t\t<PopoutButtonPreviewIconWrapper\n\t\t\tbackground={isSuggestion ? colors.swatchBackgroundPlaceholderForLink : colors.swatchBackgroundForLink}\n\t\t>\n\t\t\t{icon ?? <IconPopupButtonLink />}\n\t\t</PopoutButtonPreviewIconWrapper>\n\t)\n}\n\nfunction supportsPageLinks(engine: BaseEngine) {\n\tif (!isVekterEngine(engine)) return true\n\n\tconst { scopeType } = engine.stores.scopeStore\n\tswitch (scopeType) {\n\t\tcase ScopeType.CanvasPage:\n\t\tcase ScopeType.DesignPage:\n\t\t\treturn false\n\t\tdefault:\n\t\t\treturn true\n\t}\n}\n\nfunction getIconForLink(\n\tengine: BaseEngine,\n\tlink: Reduced<Link | DynamicValue> | undefined,\n\tagentExperimentEnabled: boolean,\n) {\n\tif (!isLinkToWebPage(link)) return\n\n\tconst { webPageId, pathVariables } = link\n\tif (!pathVariables) return\n\n\tconst node = engine.tree.getNodeWithTrait(webPageId, isWebPageNode)\n\tif (!node) return\n\n\tconst dataDefinition = engine.componentLoader.dataForIdentifier(node.dataIdentifier)\n\tif (!dataDefinition) return\n\n\tconst slugKey = dataDefinition.annotations?.[AnnotationKey.FramerSlug]\n\tif (!slugKey) return\n\n\tconst pathVariable = pathVariables[slugKey]\n\tif (!isVariableReference(pathVariable)) return\n\n\tconst previousSlugId = getNestedVariableId(previousItemVariableId, slugKey)\n\tif (pathVariable.id === previousSlugId) {\n\t\tif (agentExperimentEnabled) return <IconAgentCollectionItemPrevious />\n\t\treturn <IconCollectionItemPrevious />\n\t}\n\n\tconst nextSlugId = getNestedVariableId(nextItemVariableId, slugKey)\n\tif (pathVariable.id === nextSlugId) {\n\t\tif (agentExperimentEnabled) return <IconAgentCollectionItemNext />\n\t\treturn <IconCollectionItemNext />\n\t}\n}\n"],
  "mappings": "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",
  "names": ["import_react", "React", "LinkControlPropRow", "defaultValue"]
}
