{
  "version": 3,
  "sources": ["../../../../src/lib/shapes/shared/TextLabel.tsx"],
  "sourcesContent": ["import {\n\tBox2d,\n\tTLDefaultColorStyle,\n\tTLDefaultFillStyle,\n\tTLDefaultFontStyle,\n\tTLDefaultHorizontalAlignStyle,\n\tTLDefaultSizeStyle,\n\tTLDefaultVerticalAlignStyle,\n\tTLShape,\n\tstopEventPropagation,\n} from '@bigbluebutton/editor'\nimport React from 'react'\nimport { useDefaultColorTheme } from './ShapeFill'\nimport { TextHelpers } from './TextHelpers'\nimport { LABEL_FONT_SIZES, TEXT_PROPS } from './default-shape-constants'\nimport { isLegacyAlign } from './legacyProps'\nimport { useEditableText } from './useEditableText'\n\nexport const TextLabel = React.memo(function TextLabel<\n\tT extends Extract<TLShape, { props: { text: string } }>\n>({\n\tid,\n\ttype,\n\ttext,\n\tsize,\n\tlabelColor,\n\tfont,\n\talign,\n\tverticalAlign,\n\twrap,\n\tbounds,\n}: {\n\tid: T['id']\n\ttype: T['type']\n\tsize: TLDefaultSizeStyle\n\tfont: TLDefaultFontStyle\n\tfill?: TLDefaultFillStyle\n\talign: TLDefaultHorizontalAlignStyle\n\tverticalAlign: TLDefaultVerticalAlignStyle\n\twrap?: boolean\n\ttext: string\n\tlabelColor: TLDefaultColorStyle\n\tbounds?: Box2d\n}) {\n\tconst {\n\t\trInput,\n\t\tisEmpty,\n\t\tisEditing,\n\t\thandleFocus,\n\t\thandleChange,\n\t\thandleKeyDown,\n\t\thandleBlur,\n\t\thandleInputPointerDown,\n\t\thandleDoubleClick,\n\t} = useEditableText(id, type, text)\n\n\tconst finalText = TextHelpers.normalizeTextForDom(text)\n\tconst hasText = finalText.length > 0\n\n\tconst legacyAlign = isLegacyAlign(align)\n\tconst theme = useDefaultColorTheme()\n\n\tif (!isEditing && !hasText) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"tl-text-label\"\n\t\t\tdata-font={font}\n\t\t\tdata-align={align}\n\t\t\tdata-hastext={!isEmpty}\n\t\t\tdata-isediting={isEditing}\n\t\t\tdata-textwrap={!!wrap}\n\t\t\tstyle={{\n\t\t\t\tjustifyContent: align === 'middle' || legacyAlign ? 'center' : align,\n\t\t\t\talignItems: verticalAlign === 'middle' ? 'center' : verticalAlign,\n\t\t\t\t...(bounds\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttop: bounds.minY,\n\t\t\t\t\t\t\tleft: bounds.minX,\n\t\t\t\t\t\t\twidth: bounds.width,\n\t\t\t\t\t\t\theight: bounds.height,\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t  }\n\t\t\t\t\t: {}),\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"tl-text-label__inner\"\n\t\t\t\tstyle={{\n\t\t\t\t\tfontSize: LABEL_FONT_SIZES[size],\n\t\t\t\t\tlineHeight: LABEL_FONT_SIZES[size] * TEXT_PROPS.lineHeight + 'px',\n\t\t\t\t\tminHeight: TEXT_PROPS.lineHeight + 32,\n\t\t\t\t\tminWidth: 0,\n\t\t\t\t\tcolor: theme[labelColor].solid,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"tl-text tl-text-content\" dir=\"ltr\">\n\t\t\t\t\t{finalText}\n\t\t\t\t</div>\n\t\t\t\t{isEditing && (\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tref={rInput}\n\t\t\t\t\t\tclassName=\"tl-text tl-text-input\"\n\t\t\t\t\t\tname=\"text\"\n\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\tautoComplete=\"false\"\n\t\t\t\t\t\tautoCapitalize=\"false\"\n\t\t\t\t\t\tautoCorrect=\"false\"\n\t\t\t\t\t\tautoSave=\"false\"\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\tplaceholder=\"\"\n\t\t\t\t\t\tspellCheck=\"true\"\n\t\t\t\t\t\twrap=\"off\"\n\t\t\t\t\t\tdir=\"auto\"\n\t\t\t\t\t\tdatatype=\"wysiwyg\"\n\t\t\t\t\t\tdefaultValue={text}\n\t\t\t\t\t\tonFocus={handleFocus}\n\t\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t\t\tonContextMenu={stopEventPropagation}\n\t\t\t\t\t\tonPointerDown={handleInputPointerDown}\n\t\t\t\t\t\tonDoubleClick={handleDoubleClick}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t)\n})\n"],
  "mappings": "AAwFG,SAUC,KAVD;AAxFH;AAAA,EASC;AAAA,OACM;AACP,OAAO,WAAW;AAClB,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB,kBAAkB;AAC7C,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAEzB,MAAM,YAAY,MAAM,KAAK,SAASA,WAE3C;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAYG;AACF,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,gBAAgB,IAAI,MAAM,IAAI;AAElC,QAAM,YAAY,YAAY,oBAAoB,IAAI;AACtD,QAAM,UAAU,UAAU,SAAS;AAEnC,QAAM,cAAc,cAAc,KAAK;AACvC,QAAM,QAAQ,qBAAqB;AAEnC,MAAI,CAAC,aAAa,CAAC,SAAS;AAC3B,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,gBAAc,CAAC;AAAA,MACf,kBAAgB;AAAA,MAChB,iBAAe,CAAC,CAAC;AAAA,MACjB,OAAO;AAAA,QACN,gBAAgB,UAAU,YAAY,cAAc,WAAW;AAAA,QAC/D,YAAY,kBAAkB,WAAW,WAAW;AAAA,QACpD,GAAI,SACD;AAAA,UACA,KAAK,OAAO;AAAA,UACZ,MAAM,OAAO;AAAA,UACb,OAAO,OAAO;AAAA,UACd,QAAQ,OAAO;AAAA,UACf,UAAU;AAAA,QACV,IACA,CAAC;AAAA,MACL;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAO;AAAA,YACN,UAAU,iBAAiB,IAAI;AAAA,YAC/B,YAAY,iBAAiB,IAAI,IAAI,WAAW,aAAa;AAAA,YAC7D,WAAW,WAAW,aAAa;AAAA,YACnC,UAAU;AAAA,YACV,OAAO,MAAM,UAAU,EAAE;AAAA,UAC1B;AAAA,UAEA;AAAA,gCAAC,SAAI,WAAU,2BAA0B,KAAI,OAC3C,qBACF;AAAA,YACC,aACA;AAAA,cAAC;AAAA;AAAA,gBACA,KAAK;AAAA,gBACL,WAAU;AAAA,gBACV,MAAK;AAAA,gBACL,UAAU;AAAA,gBACV,cAAa;AAAA,gBACb,gBAAe;AAAA,gBACf,aAAY;AAAA,gBACZ,UAAS;AAAA,gBACT,WAAS;AAAA,gBACT,aAAY;AAAA,gBACZ,YAAW;AAAA,gBACX,MAAK;AAAA,gBACL,KAAI;AAAA,gBACJ,UAAS;AAAA,gBACT,cAAc;AAAA,gBACd,SAAS;AAAA,gBACT,UAAU;AAAA,gBACV,WAAW;AAAA,gBACX,QAAQ;AAAA,gBACR,eAAe;AAAA,gBACf,eAAe;AAAA,gBACf,eAAe;AAAA;AAAA,YAChB;AAAA;AAAA;AAAA,MAEF;AAAA;AAAA,EACD;AAEF,CAAC;",
  "names": ["TextLabel"]
}
