{"version":3,"file":"defaultProps.mjs","sources":["../../../../../../packages/components/drawings/src/defaultProps.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-10-18 10:40:15\n * @LastEditTime: 2022-02-18 23:30:28\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\drawings\\src\\defaultProps.ts\n */\n\nimport {\n  actionOptions,\n  billboardOptsDefault,\n  circleDrawingActionDefault,\n  circleDrawingDefault,\n  labelOptsDefault,\n  pointDrawingDefault,\n  pointOptsDefault,\n  polygonDrawingDefault,\n  polylineDrawingDefault,\n  rectangleDrawingDefault,\n  regularDrawingActionDefault,\n  regularDrawingDefault\n} from '@vue-cesium/composables/use-drawing/defaultOpts'\nimport { useDrawingFabProps } from '@vue-cesium/composables/use-drawing/props'\nimport { VcDrawingActiveEvt, VcDrawingDrawEvt, VcDrawingEditorEvt, VcDrawingMouseEvt, VcDrawingOpts } from '@vue-cesium/utils/drawing-types'\nimport type { VcActionTooltipProps, VcComponentInternalInstance, VcReadyObject } from '@vue-cesium/utils/types'\nimport { getDefaultOptionByProps } from '@vue-cesium/utils/util'\nimport type { PropType, ExtractPropTypes } from 'vue'\nimport { VcFabProps } from '../../ui'\n\nconst pointDrawingActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-drawing-point'\n})\n\nconst polylineDrawingActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-drawing-polyline'\n})\n\nconst polygonDrawingActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-drawing-polygon'\n})\n\nconst rectangleDrawingActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-drawing-rectangle'\n})\n\nconst pinDrawingActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-drawing-pin'\n})\n\nconst pinDrawingDefault: VcDrawingOpts = Object.assign({}, pointDrawingDefault, {\n  pointOpts: Object.assign({}, pointOptsDefault, {\n    show: false\n  }),\n  billboardOpts: billboardOptsDefault,\n  labelOpts: Object.assign({}, labelOptsDefault, {\n    pixelOffset: [0, -30],\n    verticalOrigin: 1\n  })\n})\n\nconst mainFabDefault = Object.assign({}, actionOptions, {\n  direction: 'right',\n  icon: 'vc-icons-drawing-button',\n  activeIcon: 'vc-icons-drawing-button',\n  verticalActionsAlign: 'center',\n  hideIcon: false,\n  persistent: false,\n  modelValue: true,\n  hideActionOnClick: false,\n  color: 'info'\n} as VcFabProps)\n\nexport const drawingType = ['pin', 'point', 'polyline', 'polygon', 'rectangle', 'regular', 'circle']\n\nconst isValidDrawingType = (drawings: string[]) => {\n  let flag = true\n  drawings.forEach(drawing => {\n    if (!drawingType.includes(drawing)) {\n      console.error(`VueCesium: unknown drawing type: ${drawing}`)\n      flag = false\n    }\n  })\n  return flag\n}\n\nconst drawingsProps = {\n  ...useDrawingFabProps,\n  drawings: {\n    type: Array as PropType<Array<'pin' | 'point' | 'polyline' | 'polygon' | 'rectangle' | 'regular' | 'circle'>>,\n    default: () => drawingType,\n    validator: isValidDrawingType\n  },\n  mainFabOpts: {\n    type: Object as PropType<VcActionTooltipProps & VcFabProps>,\n    default: () => mainFabDefault\n  },\n  pinActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => pinDrawingActionDefault\n  },\n  pinDrawingOpts: {\n    type: Object as PropType<VcDrawingOpts>,\n    default: () => pinDrawingDefault\n  },\n  pointActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => pointDrawingActionDefault\n  },\n  pointDrawingOpts: {\n    type: Object as PropType<VcDrawingOpts>,\n    default: () => pointDrawingDefault\n  },\n  polylineActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => polylineDrawingActionDefault\n  },\n  polylineDrawingOpts: {\n    type: Object as PropType<VcDrawingOpts>,\n    default: () => polylineDrawingDefault\n  },\n  polygonActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => polygonDrawingActionDefault\n  },\n  polygonDrawingOpts: {\n    type: Object as PropType<VcDrawingOpts>,\n    default: () => polygonDrawingDefault\n  },\n  rectangleActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => rectangleDrawingActionDefault\n  },\n  rectangleDrawingOpts: {\n    type: Object as PropType<VcDrawingOpts>,\n    default: () => rectangleDrawingDefault\n  },\n  circleActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => circleDrawingActionDefault\n  },\n  circleDrawingOpts: {\n    type: Object as PropType<VcDrawingOpts>,\n    default: () => circleDrawingDefault\n  },\n  regularActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => regularDrawingActionDefault\n  },\n  regularDrawingOpts: {\n    type: Object as PropType<VcDrawingOpts>,\n    default: () => regularDrawingDefault\n  }\n}\n\n// export type VcDrawingsProps = ExtractPropTypes<typeof drawingsProps>\nconst defaultOptions = getDefaultOptionByProps<VcDrawingsProps>(drawingsProps)\n\nexport {\n  drawingsProps,\n  defaultOptions,\n  pointDrawingActionDefault,\n  polylineDrawingActionDefault,\n  polygonDrawingActionDefault,\n  rectangleDrawingActionDefault,\n  pinDrawingActionDefault,\n  pinDrawingDefault,\n  mainFabDefault\n}\n\nexport type VcDrawingsProps = {\n  /**\n   * Specify the position of the VcDrawings.\n   * Default value: bottom-left\n   */\n  position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top' | 'right' | 'bottom' | 'left'\n  /**\n   * An array of two numbers to offset the VcDrawings horizontally and vertically in pixels.\n   * Default value: [0, 0]\n   */\n  offset?: [number, number]\n  /**\n   * Specify whether the drawing result is visible.\n   * Default value: true\n   */\n  show?: boolean\n  /**\n   * Specify the interactive drawing mode, 0 means continuous drawing, and 1 means drawing ends once.\n   * Default value: 1\n   */\n  mode?: number\n  /**\n   * Specify which drawing instances to load.\n   * Default value: ['pin', 'point', 'polyline', 'polygon', 'rectangle', 'regular', 'circle']\n   */\n  drawings?: Array<'pin' | 'point' | 'polyline' | 'polygon' | 'rectangle' | 'regular' | 'circle'>\n  /**\n   * Specify the color when the drawing instance is activated.\n   * Default value: positive\n   */\n  activeColor?: string\n  /**\n   * Specify whether the drawing result can be edited.\n   * Default value: false\n   */\n  editable?: boolean\n  /**\n   * Specify whether the drawing result object is attached to the ground or 3dtiles. Only polyline and polygon objects work.\n   * Default value: false\n   */\n  clampToGround?: boolean\n  /**\n   * Specify the style options of the floating action button of the VcMeasurements component.\n   */\n  mainFabOpts?: VcActionTooltipProps & VcFabProps\n  /**\n   * Specify the style options of the pin drawing action button.\n   */\n  pinActionOpts?: VcActionTooltipProps\n  /**\n   * Specify pin drawing options.\n   */\n  pinDrawingOpts?: VcDrawingOpts\n  /**\n   * Specify the style options of the point drawing action button.\n   */\n  pointActionOpts?: VcActionTooltipProps\n  /**\n   * Specify point drawing options.\n   */\n  pointDrawingOpts?: VcDrawingOpts\n  /**\n   * Specify the style options of the polyline drawing action button.\n   */\n  polylineActionOpts?: VcActionTooltipProps\n  /**\n   * Specify polyline drawing options.\n   */\n  polylineDrawingOpts?: VcDrawingOpts\n  /**\n   * Specify the style options of the polygon drawing action button.\n   */\n  polygonActionOpts?: VcActionTooltipProps\n  /**\n   * Specify polygon drawing options.\n   */\n  polygonDrawingOpts?: VcDrawingOpts\n  /**\n   * Specify the style options of the rectangle drawing action button.\n   */\n  rectangleActionOpts?: VcActionTooltipProps\n  /**\n   * Specify rectangle drawing options.\n   */\n  rectangleDrawingOpts?: VcDrawingOpts\n  /**\n   * Specify the style options of the circle drawing action button.\n   */\n  circleActionOpts?: VcActionTooltipProps\n  /**\n   * Specify circle drawing options.\n   */\n  circleDrawingOpts?: VcDrawingOpts\n  /**\n   * Specify the style options of the regular drawing action button.\n   */\n  regularActionOpts?: VcActionTooltipProps\n  /**\n   * Specify regular drawing options.\n   */\n  regularDrawingOpts?: VcDrawingOpts\n  /**\n   * Specify the style options of the clear action button.\n   */\n  clearActionOpts?: VcActionTooltipProps\n  /**\n   * Triggers before the VcDrawings is loaded.\n   */\n  onBeforeLoad?: (instance: VcComponentInternalInstance) => void\n  /**\n   * Triggers when the VcDrawings is successfully loaded.\n   */\n  onReady?: (readyObject: VcReadyObject) => void\n  /**\n   * Triggers when the VcDrawings is destroyed.\n   */\n  onDestroyed?: (instance: VcComponentInternalInstance) => void\n  /**\n   * Triggers when the measurement action is actived.\n   */\n  onActiveEvt?: (evt: VcDrawingActiveEvt, viewer: Cesium.Viewer) => void\n  /**\n   * \tTriggers when drawing.\n   */\n  onDrawEvt?: (evt: VcDrawingDrawEvt, viewer: Cesium.Viewer) => void\n  /**\n   * Triggers when the editor button is clicked.\n   */\n  onEditorEvt?: (evt: VcDrawingEditorEvt, viewer: Cesium.Viewer) => void\n  /**\n   * Triggers when the mouse is over or out on the drawing point.\n   */\n  onMouseEvt?: (evt: VcDrawingMouseEvt, viewer: Cesium.Viewer) => void\n  /**\n   * Triggers when the floating button is expanded or collapsed.\n   */\n  onFabUpdated: (value: boolean) => void\n}\n"],"names":[],"mappings":"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"}