{
  "version": 3,
  "sources": ["../../src/shapes/TLGeoShape.ts"],
  "sourcesContent": ["import { defineMigrations } from '@bigbluebutton/store'\nimport { T } from '@bigbluebutton/validate'\nimport { StyleProp } from '../styles/StyleProp'\nimport { DefaultColorStyle, DefaultLabelColorStyle } from '../styles/TLColorStyle'\nimport { DefaultDashStyle } from '../styles/TLDashStyle'\nimport { DefaultFillStyle } from '../styles/TLFillStyle'\nimport { DefaultFontStyle } from '../styles/TLFontStyle'\nimport {\n\tDefaultHorizontalAlignStyle,\n\tTLDefaultHorizontalAlignStyle,\n} from '../styles/TLHorizontalAlignStyle'\nimport { DefaultSizeStyle } from '../styles/TLSizeStyle'\nimport { DefaultVerticalAlignStyle } from '../styles/TLVerticalAlignStyle'\nimport { ShapePropsType, TLBaseShape } from './TLBaseShape'\n\n/** @public */\nexport const GeoShapeGeoStyle = StyleProp.defineEnum('tldraw:geo', {\n\tdefaultValue: 'rectangle',\n\tvalues: [\n\t\t'cloud',\n\t\t'rectangle',\n\t\t'ellipse',\n\t\t'triangle',\n\t\t'diamond',\n\t\t'pentagon',\n\t\t'hexagon',\n\t\t'octagon',\n\t\t'star',\n\t\t'rhombus',\n\t\t'rhombus-2',\n\t\t'oval',\n\t\t'trapezoid',\n\t\t'arrow-right',\n\t\t'arrow-left',\n\t\t'arrow-up',\n\t\t'arrow-down',\n\t\t'x-box',\n\t\t'check-box',\n\t],\n})\n\n/** @public */\nexport type TLGeoShapeGeoStyle = T.TypeOf<typeof GeoShapeGeoStyle>\n\n/** @public */\nexport const geoShapeProps = {\n\tgeo: GeoShapeGeoStyle,\n\tlabelColor: DefaultLabelColorStyle,\n\tcolor: DefaultColorStyle,\n\tfill: DefaultFillStyle,\n\tdash: DefaultDashStyle,\n\tsize: DefaultSizeStyle,\n\tfont: DefaultFontStyle,\n\talign: DefaultHorizontalAlignStyle,\n\tverticalAlign: DefaultVerticalAlignStyle,\n\turl: T.string,\n\tw: T.nonZeroNumber,\n\th: T.nonZeroNumber,\n\tgrowY: T.positiveNumber,\n\ttext: T.string,\n}\n\n/** @public */\nexport type TLGeoShapeProps = ShapePropsType<typeof geoShapeProps>\n\n/** @public */\nexport type TLGeoShape = TLBaseShape<'geo', TLGeoShapeProps>\n\nconst Versions = {\n\tAddUrlProp: 1,\n\tAddLabelColor: 2,\n\tRemoveJustify: 3,\n\tAddCheckBox: 4,\n\tAddVerticalAlign: 5,\n\tMigrateLegacyAlign: 6,\n\tAddCloud: 7,\n} as const\n\nexport { Versions as GeoShapeVersions }\n\n/** @internal */\nexport const geoShapeMigrations = defineMigrations({\n\tcurrentVersion: Versions.AddCloud,\n\tmigrators: {\n\t\t[Versions.AddUrlProp]: {\n\t\t\tup: (shape) => {\n\t\t\t\treturn { ...shape, props: { ...shape.props, url: '' } }\n\t\t\t},\n\t\t\tdown: (shape) => {\n\t\t\t\tconst { url: _, ...props } = shape.props\n\t\t\t\treturn { ...shape, props }\n\t\t\t},\n\t\t},\n\t\t[Versions.AddLabelColor]: {\n\t\t\tup: (record) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t...record.props,\n\t\t\t\t\t\tlabelColor: 'black',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: (record) => {\n\t\t\t\tconst { labelColor: _, ...props } = record.props\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t\tprops,\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[Versions.RemoveJustify]: {\n\t\t\tup: (shape) => {\n\t\t\t\tlet newAlign = shape.props.align\n\t\t\t\tif (newAlign === 'justify') {\n\t\t\t\t\tnewAlign = 'start'\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t...shape,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t...shape.props,\n\t\t\t\t\t\talign: newAlign,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: (shape) => {\n\t\t\t\treturn { ...shape }\n\t\t\t},\n\t\t},\n\t\t[Versions.AddCheckBox]: {\n\t\t\tup: (shape) => {\n\t\t\t\treturn { ...shape }\n\t\t\t},\n\t\t\tdown: (shape) => {\n\t\t\t\treturn {\n\t\t\t\t\t...shape,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t...shape.props,\n\t\t\t\t\t\tgeo: shape.props.geo === 'check-box' ? 'rectangle' : shape.props.geo,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[Versions.AddVerticalAlign]: {\n\t\t\tup: (shape) => {\n\t\t\t\treturn {\n\t\t\t\t\t...shape,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t...shape.props,\n\t\t\t\t\t\tverticalAlign: 'middle',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: (shape) => {\n\t\t\t\tconst { verticalAlign: _, ...props } = shape.props\n\t\t\t\treturn {\n\t\t\t\t\t...shape,\n\t\t\t\t\tprops,\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[Versions.MigrateLegacyAlign]: {\n\t\t\tup: (shape) => {\n\t\t\t\tlet newAlign: TLDefaultHorizontalAlignStyle\n\t\t\t\tswitch (shape.props.align) {\n\t\t\t\t\tcase 'start':\n\t\t\t\t\t\tnewAlign = 'start-legacy'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\tnewAlign = 'end-legacy'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tnewAlign = 'middle-legacy'\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...shape,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t...shape.props,\n\t\t\t\t\t\talign: newAlign,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: (shape) => {\n\t\t\t\tlet oldAlign: TLDefaultHorizontalAlignStyle\n\t\t\t\tswitch (shape.props.align) {\n\t\t\t\t\tcase 'start-legacy':\n\t\t\t\t\t\toldAlign = 'start'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'end-legacy':\n\t\t\t\t\t\toldAlign = 'end'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'middle-legacy':\n\t\t\t\t\t\toldAlign = 'middle'\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\toldAlign = shape.props.align\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...shape,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t...shape.props,\n\t\t\t\t\t\talign: oldAlign,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[Versions.AddCloud]: {\n\t\t\tup: (shape) => {\n\t\t\t\treturn shape\n\t\t\t},\n\t\t\tdown: (shape) => {\n\t\t\t\tif (shape.props.geo === 'cloud') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...shape,\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t...shape.props,\n\t\t\t\t\t\t\tgeo: 'rectangle',\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n})\n"],
  "mappings": "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",
  "names": []
}
