{"version":3,"file":"Location.stories.jsx","sourceRoot":"","sources":["../../../src/core/Location/Location.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable demo-patterns/direct-default-args-reference */\nimport type { Meta, StoryFn } from '@storybook/react';\nimport { useState, useEffect, useCallback } from 'react';\n\nimport {\n  LocationDisplay,\n  LocationInput,\n  LocationView,\n  getCoords,\n  debounce,\n  isValueACoordinate,\n  Flex\n} from '@pega/cosmos-react-core';\nimport type {\n  LatLng,\n  LocationDisplayProps,\n  LocationInputProps,\n  LocationViewProps,\n  Pin\n} from '@pega/cosmos-react-core';\n\nimport { PinContent } from './Location.mocks';\nimport { MAPS_STORAGE_KEY } from './MapsProvider.mock';\n\nexport default {\n  title: 'Core/Location',\n  component: LocationInput,\n  argTypes: {\n    apiKey: { control: { type: 'text' } }\n  },\n  args: {\n    apiKey: window.sessionStorage.getItem(MAPS_STORAGE_KEY)\n  }\n} as Meta;\n\ntype LocationDemoStoryProps = LocationInputProps &\n  LocationViewProps & {\n    showAdditionalInfo?: boolean;\n  };\n\nexport const LocationDemo: StoryFn<LocationDemoStoryProps> = (args: LocationDemoStoryProps) => {\n  const [value, setValue] = useState('Boston, MA');\n  const [locationObj, setLocationObj] = useState<LatLng | undefined>({\n    latitude: 42.3601,\n    longitude: -71.0589\n  });\n\n  const handleClick = ({ latitude, longitude }: { latitude: number; longitude: number }) => {\n    setLocationObj({ latitude, longitude });\n  };\n\n  return (\n    <LocationInput\n      defaultToCurrentLocation={args.defaultToCurrentLocation}\n      onlyCoordinates={args.onlyCoordinates}\n      value={value}\n      label={args.label}\n      labelHidden={args.labelHidden}\n      info={args.info}\n      onChange={inputValue => {\n        setValue(inputValue);\n      }}\n      onSelect={selectedValueObj => {\n        if (args.onlyCoordinates || !selectedValueObj.name) {\n          setValue(`${selectedValueObj.latitude}, ${selectedValueObj.longitude}`);\n        } else if (selectedValueObj.address) {\n          setValue(`${selectedValueObj.name}, ${selectedValueObj.address}`);\n        } else {\n          setValue(selectedValueObj.name);\n        }\n        if (selectedValueObj.latitude && selectedValueObj.longitude) {\n          setLocationObj({\n            latitude: selectedValueObj.latitude,\n            longitude: selectedValueObj.longitude\n          });\n        }\n      }}\n      status={args.status}\n      required={args.required}\n      disabled={args.disabled}\n      readOnly={args.readOnly}\n      map={{\n        location: locationObj,\n        zoomLevel: args.zoomLevel,\n        onClick: handleClick,\n        height: '25rem'\n      }}\n    />\n  );\n};\n\nLocationDemo.args = {\n  defaultToCurrentLocation: false,\n  label: 'Location',\n  labelHidden: false,\n  info: undefined,\n  zoomLevel: 13,\n  status: undefined,\n  required: false,\n  disabled: false,\n  readOnly: false,\n  onlyCoordinates: false\n};\n\nLocationDemo.argTypes = {\n  defaultToCurrentLocation: { control: { type: 'boolean' } },\n  label: { control: { type: 'text' } },\n  labelHidden: { control: { type: 'boolean' } },\n  info: { control: { type: 'text', label: 'Helper text' } },\n  zoomLevel: { control: { type: 'number' } },\n  status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n  required: { control: { type: 'boolean' } },\n  disabled: { control: { type: 'boolean' } },\n  readOnly: { control: { type: 'boolean' } },\n  onlyCoordinates: { control: { type: 'boolean' } }\n};\n\nexport const MultiLocationDemo: StoryFn<{\n  hightlightedPinIndex: number;\n  drawRoute: boolean;\n}> = (args: { hightlightedPinIndex: number; drawRoute: boolean }) => {\n  const [pins, setPins] = useState<Pin[]>([\n    {\n      latitude: 50.026617,\n      longitude: 19.952037,\n      content: <PinContent key='50.026617, 19.952037' content='50.026617, 19.952037' mockFetching />\n    },\n    {\n      latitude: 50.027849,\n      longitude: 19.93081,\n      content: <PinContent key='50.027849, 19.93081' content='50.027849, 19.93081' />\n    },\n    {\n      latitude: 50.051263,\n      longitude: 19.929474,\n      content: <PinContent key='50.051263, 19.929474' content='50.051263, 19.929474' />\n    }\n  ]);\n  const [value, setValue] = useState('');\n\n  useEffect(() => {\n    if (!pins[args.hightlightedPinIndex]) return;\n    setPins(prev => {\n      prev.forEach(p => {\n        p.selected = false;\n      });\n      prev[args.hightlightedPinIndex].selected = true;\n      return [...prev];\n    });\n  }, [args.hightlightedPinIndex]);\n\n  return (\n    <Flex container={{ direction: 'column', gap: 1 }}>\n      <LocationInput\n        value={value}\n        onChange={setValue}\n        onSelect={selected => {\n          if (selected.latitude && selected.longitude) {\n            const pin: Pin = {\n              latitude: selected.latitude,\n              longitude: selected.longitude\n            };\n            setPins(prev => [...prev, pin]);\n          }\n        }}\n      />\n      <LocationView drawRoute={args.drawRoute} pins={pins} centerMapOnChange />\n    </Flex>\n  );\n};\n\nMultiLocationDemo.args = {\n  drawRoute: true,\n  hightlightedPinIndex: 0\n};\n\nMultiLocationDemo.argTypes = {\n  drawRoute: { control: { type: 'boolean' } },\n  hightlightedPinIndex: { control: { type: 'number' } }\n};\n\ninterface LocationInputStoryProps extends LocationInputProps {\n  showAdditionalInfo?: boolean;\n}\n\nexport const LocationInputDemo: StoryFn<LocationInputStoryProps> = (\n  args: LocationInputStoryProps\n) => {\n  const [value, setValue] = useState('');\n\n  return (\n    <LocationInput\n      defaultToCurrentLocation={args.defaultToCurrentLocation}\n      label={args.label}\n      labelHidden={args.labelHidden}\n      info={args.info}\n      value={value}\n      onChange={inputValue => {\n        setValue(inputValue);\n        args.onChange?.(inputValue);\n      }}\n      onSelect={selectedValueObj => {\n        if (isValueACoordinate(`${selectedValueObj.latitude}, ${selectedValueObj.longitude}`)) {\n          setValue(\n            selectedValueObj.name\n              ? `${selectedValueObj.name}, ${selectedValueObj.address}`\n              : `${selectedValueObj.latitude}, ${selectedValueObj.longitude}`\n          );\n          args.onSelect?.(selectedValueObj);\n        }\n      }}\n      additionalInfo={\n        args.showAdditionalInfo\n          ? args.additionalInfo ?? {\n              content: 'Please enter your location'\n            }\n          : undefined\n      }\n      status={args.status}\n      required={args.required}\n      disabled={args.disabled}\n      readOnly={args.readOnly}\n    />\n  );\n};\n\nLocationInputDemo.args = {\n  defaultToCurrentLocation: false,\n  label: 'Location',\n  labelHidden: false,\n  info: 'Enter some location',\n  status: undefined,\n  required: false,\n  disabled: false,\n  readOnly: false,\n  showAdditionalInfo: false\n};\n\nLocationInputDemo.argTypes = {\n  defaultToCurrentLocation: { control: { type: 'boolean' } },\n  label: { control: { type: 'text' } },\n  labelHidden: { control: { type: 'boolean' } },\n  info: { control: { type: 'text', label: 'Helper text' } },\n  status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n  required: { control: { type: 'boolean' } },\n  disabled: { control: { type: 'boolean' } },\n  readOnly: { control: { type: 'boolean' } },\n  showAdditionalInfo: { control: { type: 'boolean' } }\n};\n\ninterface LocationViewDemoProps extends LocationViewProps {\n  location?: string;\n}\n\nexport const LocationViewDemo: StoryFn<LocationViewDemoProps> = (args: LocationViewDemoProps) => {\n  const [coords, setCoords] = useState<LatLng>();\n  const [loading, setLoading] = useState(false);\n\n  const resolveCoords = useCallback(\n    debounce(async (location?: LocationViewDemoProps['location']) => {\n      if (location) {\n        setLoading(true);\n        setCoords(await getCoords(location));\n        setLoading(false);\n      } else {\n        setCoords(undefined);\n      }\n    }, 500),\n    []\n  );\n\n  useEffect(() => {\n    resolveCoords(args.location);\n  }, [args.location]);\n\n  return (\n    <LocationView\n      pins={coords ? [coords] : []}\n      centerMapOnChange={args.centerMapOnChange}\n      zoomLevel={args.zoomLevel}\n      height={args.height}\n      onClick={setCoords}\n      loading={loading}\n    />\n  );\n};\n\nLocationViewDemo.args = {\n  location: '',\n  centerMapOnChange: true,\n  zoomLevel: 13,\n  height: '25rem'\n};\n\nLocationViewDemo.argTypes = {\n  location: { control: { type: 'text' } },\n  centerMapOnChange: { control: { type: 'boolean' } },\n  zoomLevel: { control: { type: 'number' } },\n  height: { control: { type: 'text' } }\n};\n\nexport const LocationDisplayDemo: StoryFn<LocationDisplayProps> = (args: LocationDisplayProps) => (\n  <LocationDisplay\n    value={args.value}\n    zoomLevel={args.zoomLevel}\n    height={args.height}\n    variant={args.variant}\n    displayText={args.displayText}\n  />\n);\n\nLocationDisplayDemo.args = {\n  value: 'current',\n  displayText: 'Come visit Boston!',\n  zoomLevel: 13,\n  height: '25rem',\n  variant: 'text-map'\n};\n\nLocationDisplayDemo.argTypes = {\n  value: { control: { type: 'text' } },\n  zoomLevel: { control: { type: 'number' } },\n  height: { control: { type: 'text' } },\n  variant: { options: ['text-map', 'map', 'text'], control: { type: 'select' } },\n  displayText: { control: { type: 'text' } }\n};\n"]}