roosterjs
Version:
A simple facade for all roosterjs code
1 lines • 131 kB
JavaScript
define(["React","ReactDOM","FluentUIReact","roosterjs"],((e,t,o,n)=>(()=>{"use strict";var a={9630:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getColorPickerDropDown=t.renderColorPicker=void 0;var n=o(8359),a=o(3553),i=o(5043),r=o(190),l=o(9185),f=(0,i.mergeStyleSets)({colorSquare:{width:"20px",height:"20px",margin:"4px",borderStyle:"solid",borderWidth:"2px","&:hover":{borderColor:"red"}},colorSquareBorder:{borderColor:"transparent"},colorSquareBorderWhite:{borderColor:"#bebebe"}});function s(e,t,o){var a=e.key,i=t[a].lightModeColor;return n.createElement("button",{onClick:function(t){return o(t,e)},title:e.text},n.createElement("div",{className:f.colorSquare+" "+("textColorWhite"==a||"backgroundColorWhite"==a?f.colorSquareBorderWhite:f.colorSquareBorder),style:{backgroundColor:i}}))}t.renderColorPicker=s,t.getColorPickerDropDown=function(e){return{items:"background"==e?a.BackgroundColorDropDownItems:r.TextColorDropDownItems,itemClassName:(0,l.getColorPickerItemClassName)(),allowLivePreview:!0,itemRender:"background"==e?function(e,t){return s(e,a.BackgroundColors,t)}:function(e,t){return s(e,r.TextColors,t)},commandBarSubMenuProperties:{className:(0,l.getColorPickerContainerClassName)()}}}},3399:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getColorPickerDropDown=t.getTextColorValue=t.getBackgroundColorValue=void 0;var n=o(3553);Object.defineProperty(t,"getBackgroundColorValue",{enumerable:!0,get:function(){return n.getBackgroundColorValue}});var a=o(190);Object.defineProperty(t,"getTextColorValue",{enumerable:!0,get:function(){return a.getTextColorValue}});var i=o(9630);Object.defineProperty(t,"getColorPickerDropDown",{enumerable:!0,get:function(){return i.getColorPickerDropDown}})},3553:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getBackgroundColorValue=t.BackgroundColorDropDownItems=t.BackgroundColors=void 0;var o={backgroundColorCyan:{lightModeColor:"#00ffff",darkModeColor:"#005357"},backgroundColorGreen:{lightModeColor:"#00ff00",darkModeColor:"#005e00"},backgroundColorYellow:{lightModeColor:"#ffff00",darkModeColor:"#383e00"},backgroundColorOrange:{lightModeColor:"#ff8000",darkModeColor:"#bf4c00"},backgroundColorRed:{lightModeColor:"#ff0000",darkModeColor:"#ff2711"},backgroundColorMagenta:{lightModeColor:"#ff00ff",darkModeColor:"#e700e8"},backgroundColorLightCyan:{lightModeColor:"#80ffff",darkModeColor:"#004c4f"},backgroundColorLightGreen:{lightModeColor:"#80ff80",darkModeColor:"#005400"},backgroundColorLightYellow:{lightModeColor:"#ffff80",darkModeColor:"#343c00"},backgroundColorLightOrange:{lightModeColor:"#ffc080",darkModeColor:"#77480b"},backgroundColorLightRed:{lightModeColor:"#ff8080",darkModeColor:"#bc454a"},backgroundColorLightMagenta:{lightModeColor:"#ff80ff",darkModeColor:"#aa2bad"},backgroundColorWhite:{lightModeColor:"#ffffff",darkModeColor:"#333333"},backgroundColorLightGray:{lightModeColor:"#cccccc",darkModeColor:"#535353"},backgroundColorGray:{lightModeColor:"#999999",darkModeColor:"#777777"},backgroundColorDarkGray:{lightModeColor:"#666666",darkModeColor:"#a0a0a0"},backgroundColorDarkerGray:{lightModeColor:"#333333",darkModeColor:"#cfcfcf"},backgroundColorBlack:{lightModeColor:"#000000",darkModeColor:"#ffffff"}};t.BackgroundColors=o,t.BackgroundColorDropDownItems={backgroundColorCyan:"Cyan",backgroundColorGreen:"Green",backgroundColorYellow:"Yellow",backgroundColorOrange:"Orange",backgroundColorRed:"Red",backgroundColorMagenta:"Magenta",backgroundColorLightCyan:"Light cyan",backgroundColorLightGreen:"Light green",backgroundColorLightYellow:"Light yellow",backgroundColorLightOrange:"Light orange",backgroundColorLightRed:"Light red",backgroundColorLightMagenta:"Light magenta",backgroundColorWhite:"White",backgroundColorLightGray:"Light gray",backgroundColorGray:"Gray",backgroundColorDarkGray:"Dark gray",backgroundColorDarkerGray:"Darker gray",backgroundColorBlack:"Black"},t.getBackgroundColorValue=function(e){return o[e]}},9185:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getColorPickerItemClassName=t.getColorPickerContainerClassName=void 0;var n=(0,o(5043).mergeStyleSets)({colorPickerContainer:{width:"192px",padding:"8px",overflow:"hidden","& ul":{width:"192px",overflow:"hidden"}},colorMenuItem:{display:"inline-block",width:"32px",height:"32px","& button":{padding:"0px",minWidth:"0px",background:"transparent",border:"none"}}});t.getColorPickerContainerClassName=function(){return n.colorPickerContainer},t.getColorPickerItemClassName=function(){return n.colorMenuItem}},190:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getTextColorValue=t.TextColorDropDownItems=t.TextColors=void 0;var o={textColorLightBlue:{lightModeColor:"#51a7f9",darkModeColor:"#0075c2"},textColorLightGreen:{lightModeColor:"#6fc040",darkModeColor:"#207a00"},textColorLightYellow:{lightModeColor:"#f5d427",darkModeColor:"#5d4d00"},textColorLightOrange:{lightModeColor:"#f3901d",darkModeColor:"#ab5500"},textColorLightRed:{lightModeColor:"#ed5c57",darkModeColor:"#df504d"},textColorLightPurple:{lightModeColor:"#b36ae2",darkModeColor:"#ab63da"},textColorBlue:{lightModeColor:"#0c64c0",darkModeColor:"#6da0ff"},textColorGreen:{lightModeColor:"#0c882a",darkModeColor:"#3da848"},textColorYellow:{lightModeColor:"#dcbe22",darkModeColor:"#6d5c00"},textColorOrange:{lightModeColor:"#de6a19",darkModeColor:"#d3610c"},textColorRed:{lightModeColor:"#c82613",darkModeColor:"#ff6847"},textColorPurple:{lightModeColor:"#763e9b",darkModeColor:"#d394f9"},textColorDarkBlue:{lightModeColor:"#174e86",darkModeColor:"#93b8f9"},textColorDarkGreen:{lightModeColor:"#0f5c1a",darkModeColor:"#7fc57b"},textColorDarkYellow:{lightModeColor:"#c3971d",darkModeColor:"#946f00"},textColorDarkOrange:{lightModeColor:"#be5b17",darkModeColor:"#de7633"},textColorDarkRed:{lightModeColor:"#861106",darkModeColor:"#ff9b7c"},textColorDarkPurple:{lightModeColor:"#5e327c",darkModeColor:"#dea9fd"},textColorDarkerBlue:{lightModeColor:"#002451",darkModeColor:"#cedbff"},textColorDarkerGreen:{lightModeColor:"#06400c",darkModeColor:"#a3da9b"},textColorDarkerYellow:{lightModeColor:"#a37519",darkModeColor:"#b5852a"},textColorDarkerOrange:{lightModeColor:"#934511",darkModeColor:"#ef935c"},textColorDarkerRed:{lightModeColor:"#570606",darkModeColor:"#ffc0b1"},textColorDarkerPurple:{lightModeColor:"#3b204d",darkModeColor:"#eecaff"},textColorWhite:{lightModeColor:"#ffffff",darkModeColor:"#333333"},textColorLightGray:{lightModeColor:"#cccccc",darkModeColor:"#535353"},textColorGray:{lightModeColor:"#999999",darkModeColor:"#777777"},textColorDarkGray:{lightModeColor:"#666666",darkModeColor:"#a0a0a0"},textColorDarkerGray:{lightModeColor:"#333333",darkModeColor:"#cfcfcf"},textColorBlack:{lightModeColor:"#000000",darkModeColor:"#ffffff"}};t.TextColors=o,t.TextColorDropDownItems={textColorLightBlue:"Light blue",textColorLightGreen:"Light green",textColorLightYellow:"Light yellow",textColorLightOrange:"Light orange",textColorLightRed:"Light red",textColorLightPurple:"Light purple",textColorBlue:"Blue",textColorGreen:"Green",textColorYellow:"Yellow",textColorOrange:"Orange",textColorRed:"Red",textColorPurple:"Purple",textColorDarkBlue:"Dark blue",textColorDarkGreen:"Dark green",textColorDarkYellow:"Dark yellow",textColorDarkOrange:"Dark orange",textColorDarkRed:"Dark red",textColorDarkPurple:"Dark purple",textColorDarkerBlue:"Darker blue",textColorDarkerGreen:"Darker green",textColorDarkerYellow:"Darker yellow",textColorDarkerOrange:"Darker orange",textColorDarkerRed:"Darker red",textColorDarkerPurple:"Darker purple",textColorWhite:"White",textColorLightGray:"Light gray",textColorGray:"Gray",textColorDarkGray:"Dark gray",textColorDarkerGray:"Darker gray",textColorBlack:"Black"},t.getTextColorValue=function(e){return o[e]}},659:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getLocalizedString=t.createUIUtilities=void 0;var n=o(6461);Object.defineProperty(t,"createUIUtilities",{enumerable:!0,get:function(){return n.createUIUtilities}});var a=o(7433);Object.defineProperty(t,"getLocalizedString",{enumerable:!0,get:function(){return a.getLocalizedString}})},6461:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createUIUtilities=void 0;var n=o(8359),a=o(3497),i=o(5043),r=o(5043);t.createUIUtilities=function(e,t){return{renderComponent:function(o){var l=e.ownerDocument,f=l.createElement("div");return l.body.appendChild(f),a.render(n.createElement(r.WindowProvider,{window:l.defaultView},n.createElement(i.ThemeProvider,{theme:t},o)),f),function(){a.unmountComponentAtNode(f),l.body.removeChild(f)}},isRightToLeft:function(){var t;return"rtl"==(e&&(null===(t=e.ownerDocument.defaultView)||void 0===t?void 0:t.getComputedStyle(e).direction))}}}},7433:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getLocalizedString=void 0,t.getLocalizedString=function(e,t,o){var n=null==e?void 0:e[t];return"function"==typeof n?n():"string"==typeof n?n:o}},2271:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.renderReactComponent=void 0,t.renderReactComponent=function(e,t){if(e)return e.renderComponent(t);throw new Error("UIUtilities is required but not provided. Please call ReactEditorPlugin.setUIUtilities() to set a valid uiUtilities object")}},1930:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createTableEditMenuProvider=t.createImageEditMenuProvider=t.createListEditMenuProvider=t.createContextMenuProvider=t.createContextMenuPlugin=void 0;var n=o(2477);Object.defineProperty(t,"createContextMenuPlugin",{enumerable:!0,get:function(){return n.createContextMenuPlugin}});var a=o(8413);Object.defineProperty(t,"createContextMenuProvider",{enumerable:!0,get:function(){return a.createContextMenuProvider}});var i=o(5067);Object.defineProperty(t,"createListEditMenuProvider",{enumerable:!0,get:function(){return i.createListEditMenuProvider}});var r=o(8718);Object.defineProperty(t,"createImageEditMenuProvider",{enumerable:!0,get:function(){return r.createImageEditMenuProvider}});var l=o(3503);Object.defineProperty(t,"createTableEditMenuProvider",{enumerable:!0,get:function(){return l.createTableEditMenuProvider}})},8718:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createImageEditMenuProvider=void 0;var n=o(8413),a=o(5331),i=o(5331),r=o(4441),l={key:"menuNameImageAltText",unlocalizedText:"Add alternate text",onClick:function(e,t,o,n,i){var l=o,f=l.alt;(0,r.showInputDialog)(i,"menuNameImageAltText","Add alternate text",{altText:{labelKey:null,unlocalizedLabel:null,initValue:f}},n).then((function(e){t.focus(),t.setDOMSelection({type:"image",image:l}),e&&(0,a.setImageAltText)(t,e.altText)}))}},f={menuNameImageSizeBestFit:0,menuNameImageSizeSmall:.25,menuNameImageSizeMedium:.5,menuNameImageSizeOriginal:1},s={key:"menuNameImageResize",unlocalizedText:"Size",subItems:{menuNameImageSizeBestFit:"Best fit",menuNameImageSizeSmall:"Small",menuNameImageSizeMedium:"Medium",menuNameImageSizeOriginal:"Original"},onClick:function(e,t,o){var n,r=t.getDOMSelection();if(r&&"image"===r.type){var l=null!==(n=f[e])&&void 0!==n?n:0;if(l>0){var s=r.image;!function(e,t,o,n){(0,a.formatImageWithContentModel)(e,"resizeImage",(function(e){(0,i.updateImageMetadata)(e,(function(a){var i=Object.assign({naturalWidth:o,naturalHeight:n,leftPercent:0,rightPercent:0,topPercent:0,bottomPercent:0,angleRad:0},a),r=Math.max(10,i.naturalWidth*(1-i.leftPercent-i.rightPercent)*t),l=Math.max(10,i.naturalHeight*(1-i.topPercent-i.bottomPercent)*t);return i.widthPx=r,i.heightPx=l,e.format.width=r+"px",e.format.height=l+"px",i}))}))}(t,l,s.naturalWidth,s.naturalHeight)}else!function(e){(0,a.formatImageWithContentModel)(e,"resizeImage",(function(e){(0,i.updateImageMetadata)(e,(function(){return null})),delete e.format.width,delete e.format.height,e.format.maxWidth="100%"}))}(t)}}},m={key:"menuNameImageRotate",unlocalizedText:"Rotate image",subItems:{menuNameImageRotateLeft:"Left",menuNameImageRotateRight:"Right"},shouldShow:function(e,t,o){return!!(null==o?void 0:o.isOperationAllowed("rotate"))&&o.canRegenerateImage(t)},onClick:function(e,t,o,n,a,i){switch(e){case"menuNameImageRotateLeft":null==i||i.rotateImage(-Math.PI/2);break;case"menuNameImageRotateRight":null==i||i.rotateImage(Math.PI/2)}}},c={key:"menuNameImageFlip",unlocalizedText:"Flip image",subItems:{menuNameImageRotateFlipHorizontally:"Flip Horizontally",menuNameImageRotateFlipVertically:"Flip Vertically"},shouldShow:function(e,t,o){return!!(null==o?void 0:o.isOperationAllowed("rotate"))&&o.canRegenerateImage(t)},onClick:function(e,t,o,n,a,i){switch(e){case"menuNameImageRotateFlipHorizontally":null==i||i.flipImage("horizontal");break;case"menuNameImageRotateFlipVertically":null==i||i.flipImage("vertical")}}},u={key:"menuNameImageCrop",unlocalizedText:"Crop image",shouldShow:function(e,t,o){return!!(null==o?void 0:o.isOperationAllowed("crop"))&&o.canRegenerateImage(t)},onClick:function(e,t,o,n,a,i){null==i||i.cropImage()}},d={key:"menuNameImageRemove",unlocalizedText:"Remove image",onClick:function(e,t,o){!function(e){e.formatContentModel((function(e){var t=!1;return(0,i.iterateSelections)(e,(function(e,o,n,a){null==a||a.forEach((function(e){if("Image"==e.segmentType&&"Paragraph"==(null==n?void 0:n.blockType)){var o=n.segments.indexOf(e);o>=0&&((0,i.mutateBlock)(n).segments.splice(o,1),t=!0)}}))})),t}),{apiName:"DeleteImage"})}(t)}},g={key:"menuNameImageCopy",unlocalizedText:"Copy image",onClick:function(e,t){var o;null===(o=t.getDocument())||void 0===o||o.execCommand("copy")}},j={key:"menuNameImageCut",unlocalizedText:"Cut image",onClick:function(e,t){var o;null===(o=t.getDocument())||void 0===o||o.execCommand("cut")}};function h(e,t){var o=e.getDOMSelection();return"image"===(null==o?void 0:o.type)&&!!o.image}t.createImageEditMenuProvider=function(e,t){return(0,n.createContextMenuProvider)("imageEdit",[l,s,u,d,m,c,g,j],t,h,e)}},5067:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createListEditMenuProvider=void 0;var n=o(8413),a=o(5331),i=o(5331),r=o(4441),l={key:"menuNameListNumberReset",unlocalizedText:"Restart at 1",onClick:function(e,t,o){(0,i.setListStartNumber)(t,1)}},f={key:"menuNameListNumberEdit",unlocalizedText:"Set numbering value",onClick:function(e,t,o,n,l){var f=s(t,o);if(f){for(var m=f.list,c=f.li,u=m.start,d=m.firstChild;d&&d!==c;d=d.nextSibling)(0,a.isNodeOfType)(d,"ELEMENT_NODE")&&(0,a.isElementOfType)(d,"li")&&(u+=1);(0,r.showInputDialog)(l,"menuNameListNumberEdit","Set numbering value",{value:{labelKey:"dialogTextSetListNumber",unlocalizedLabel:"Set value to",initValue:u.toString()}},n).then((function(e){if(t.focus(),e){var o=parseInt(e.value);o>0&&o!=u&&(0,i.setListStartNumber)(t,Math.floor(o))}}))}}};function s(e,t){var o=e.getDOMHelper(),n=o.findClosestElementAncestor(t,"LI"),a=n&&o.findClosestElementAncestor(n,"ol");return(null==a?void 0:a.isContentEditable)?{list:a,li:n}:null}t.createListEditMenuProvider=function(e){return(0,n.createContextMenuProvider)("listEdit",[l,f],e,(function(e,t){return!!s(e,t)}))}},3503:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createTableEditMenuProvider=void 0;var n=o(1635),a=o(8413),i=o(5331),r=o(9630),l=o(9185),f=o(3553),s={menuNameTableInsertAbove:"insertAbove",menuNameTableInsertBelow:"insertBelow",menuNameTableInsertLeft:"insertLeft",menuNameTableInsertRight:"insertRight",menuNameTableDeleteTable:"deleteTable",menuNameTableDeleteColumn:"deleteColumn",menuNameTableDeleteRow:"deleteRow",menuNameTableMergeAbove:"mergeAbove",menuNameTableMergeBelow:"mergeBelow",menuNameTableMergeLeft:"mergeLeft",menuNameTableMergeRight:"mergeRight",menuNameTableMergeCells:"mergeCells",menuNameTableSplitHorizontally:"splitHorizontally",menuNameTableSplitVertically:"splitVertically",menuNameTableAlignLeft:"alignCellLeft",menuNameTableAlignCenter:"alignCellCenter",menuNameTableAlignRight:"alignCellRight",menuNameTableAlignTop:"alignCellTop",menuNameTableAlignMiddle:"alignCellMiddle",menuNameTableAlignBottom:"alignCellBottom",menuNameTableAlignTableLeft:"alignLeft",menuNameTableAlignTableCenter:"alignCenter",menuNameTableAlignTableRight:"alignRight"},m=(0,n.__assign)((0,n.__assign)({},f.BackgroundColors),{menuNameTableCellShade:null});function c(e,t){var o=s[e];o&&(0,i.editTable)(t,o)}var u={key:"menuNameTableInsert",unlocalizedText:"Insert",subItems:{menuNameTableInsertAbove:"Insert above",menuNameTableInsertBelow:"Insert below",menuNameTableInsertLeft:"Insert left",menuNameTableInsertRight:"Insert right"},onClick:c},d={key:"menuNameTableDelete",unlocalizedText:"Delete",subItems:{menuNameTableDeleteColumn:"Delete column",menuNameTableDeleteRow:"Delete row",menuNameTableDeleteTable:"Delete table"},onClick:c},g={key:"menuNameTableMerge",unlocalizedText:"Merge",subItems:{menuNameTableMergeAbove:"Merge above",menuNameTableMergeBelow:"Merge below",menuNameTableMergeLeft:"Merge left",menuNameTableMergeRight:"Merge right","-":"-",menuNameTableMergeCells:"Merge selected cells"},onClick:c},j={key:"menuNameTableSplit",unlocalizedText:"Split",subItems:{menuNameTableSplitHorizontally:"Split horizontally",menuNameTableSplitVertically:"Split vertically"},onClick:c},h={key:"menuNameTableAlign",unlocalizedText:"Align cell",subItems:{menuNameTableAlignLeft:"Align left",menuNameTableAlignCenter:"Align center",menuNameTableAlignRight:"Align right","-":"-",menuNameTableAlignTop:"Align top",menuNameTableAlignMiddle:"Align middle",menuNameTableAlignBottom:"Align bottom"},onClick:c},p={key:"menuNameTableAlignTable",unlocalizedText:"Align table",subItems:{menuNameTableAlignTableLeft:"Align left",menuNameTableAlignTableCenter:"Align center",menuNameTableAlignTableRight:"Align right"},onClick:c},b={key:"menuNameTableCellShade",unlocalizedText:"Shading",subItems:f.BackgroundColorDropDownItems,onClick:function(e,t){(0,i.setTableCellShade)(t,m[e].lightModeColor)},itemRender:function(e,t){return(0,r.renderColorPicker)(e,m,t)},itemClassName:(0,l.getColorPickerItemClassName)(),commandBarSubMenuProperties:{className:(0,l.getColorPickerContainerClassName)()}};t.createTableEditMenuProvider=function(e){return(0,a.createContextMenuProvider)("tableEdit",[u,d,g,j,h,p,b],e,(function(e,t){return!!function(e,t){var o=e.getDOMHelper(),n=o.findClosestElementAncestor(t,"TD,TH"),a=n&&o.findClosestElementAncestor(n,"table");return(null==a?void 0:a.isContentEditable)?{table:a,td:n}:null}(e,t)}))}},2477:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createContextMenuPlugin=void 0;var n=o(1635),a=o(8359),i=o(5331),r=o(5043),l=o(2271),f=function(e){function t(){var t=e.call(this,{render:function(e,o,n){var i=function(e){var t=0;return e.map((function(e){return e||{name:"-",key:"divider_"+(t++).toString()}}))}(o);i.length>0&&(t.disposer=(0,l.renderReactComponent)(t.uiUtilities,a.createElement(r.ContextualMenu,{target:e,onDismiss:n,items:i})))},dismiss:function(e){var o;null===(o=t.disposer)||void 0===o||o.call(t),t.disposer=null}})||this;return t.uiUtilities=null,t.disposer=null,t}return(0,n.__extends)(t,e),t.prototype.setUIUtilities=function(e){this.uiUtilities=e},t}(i.ContextMenuPluginBase);t.createContextMenuPlugin=function(){return new f}},8413:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createContextMenuProvider=void 0;var n=o(1635),a=o(7433),i=o(5331),r=function(){function e(e,t,o,n,a){this.menuName=e,this.items=t,this.strings=o,this.shouldAddMenuItems=n,this.context=a,this.editor=null,this.targetNode=null,this.uiUtilities=null}return e.prototype.getName=function(){return this.menuName},e.prototype.initialize=function(e){this.editor=e},e.prototype.dispose=function(){this.editor=null},e.prototype.getContextMenuItems=function(e){var t,o=this,n=this.editor;return this.targetNode=e,n&&(null===(t=this.shouldAddMenuItems)||void 0===t?void 0:t.call(this,n,e))?this.items.filter((function(t){return!t.shouldShow||t.shouldShow(n,e,o.context)})).map((function(t){return o.convertMenuItems(t,e)})):[]},e.prototype.setUIUtilities=function(e){this.uiUtilities=e},e.prototype.convertMenuItems=function(e,t){var o,r=this,l=this.editor&&(null===(o=e.getSelectedId)||void 0===o?void 0:o.call(e,this.editor,t));return{key:e.key,data:e,text:(0,a.getLocalizedString)(this.strings,e.key,e.unlocalizedText),ariaLabel:(0,a.getLocalizedString)(this.strings,e.key,e.unlocalizedText),onClick:function(){return r.onClick(e,e.key)},iconProps:e.iconProps,subMenuProps:e.subItems?(0,n.__assign)({onItemClick:function(t,o){return o&&r.onClick(e,o.data)},items:(0,i.getObjectKeys)(e.subItems).map((function(t){var o;return{key:t,data:t,text:(0,a.getLocalizedString)(r.strings,t,null===(o=e.subItems)||void 0===o?void 0:o[t]),className:e.itemClassName,onRender:e.itemRender?function(o){var n;return null===(n=e.itemRender)||void 0===n?void 0:n.call(e,o,(function(){return r.onClick(e,t)}))}:void 0,iconProps:t==l?{iconName:"Checkmark"}:void 0}}))},e.commandBarSubMenuProperties||{}):void 0}},e.prototype.onClick=function(e,t){this.editor&&this.targetNode&&this.uiUtilities&&e.onClick(t,this.editor,this.targetNode,this.strings,this.uiUtilities,this.context)},e}();t.createContextMenuProvider=function(e,t,o,n,a){return new r(e,t,o,n,a)}},4674:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EmojiIcon=void 0;var n=o(1635),a=o(8359),i=o(5043);t.EmojiIcon=function(e){var t,o=e.emoji,r=e.onClick,l=e.isSelected,f=e.onMouseOver,s=e.onFocus,m=e.strings,c=e.id,u=e.classNames,d=o.description&&m[o.description];return a.createElement("button",(0,n.__assign)({id:c,role:"option",className:(0,i.css)(u.emoji,(t={},t[u.emojiSelected]=l,t)),onClick:r,onMouseOver:f,onFocus:s,"data-is-focusable":!0,"aria-label":d,"aria-selected":l},function(e){return(t=e||{})?Object.keys(t).reduce((function(e,o){return(0===(n=o).indexOf("data-")||0===n.indexOf("aria-"))&&(e[o]=t[o]),e;var n}),{}):t;var t}(e)),o.codePoint||"…")}},991:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EmojiNavBar=void 0;var n=o(8359),a=o(5043),i=o(7792),r=o(5043),l=o(5331),f=o(5043),s=o(5043);t.EmojiNavBar=function(e){var t=e.currentSelected,o=e.getTabId,m=e.strings,c=void 0===m?{}:m,u=e.classNames,d=(0,l.getObjectKeys)(i.EmojiList),g=function(t){e.onClick&&e.onClick(t)};return n.createElement("div",{className:u.navBar,role:"tablist"},n.createElement(r.FocusZone,{direction:r.FocusZoneDirection.horizontal},d.map((function(e,r){var l,m=e===t,j=c[e];return n.createElement(s.TooltipHost,{hostClassName:u.navBarTooltip,content:j,key:e},n.createElement("button",{className:(0,a.css)(u.navBarButton,(l={},l[u.selected]=m,l)),key:e,onClick:g.bind(onclick,e),id:null==o?void 0:o(e),role:"tab","aria-selected":m,"aria-label":j,"data-is-focusable":"true","aria-posinset":r+1,tabIndex:0,"aria-setsize":d.length},n.createElement(f.Icon,{iconName:i.EmojiFabricIconCharacterMap[e]})))}))))}},2407:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.showEmojiPane=void 0;var n=o(1635),a=o(8359),i=o(5043),r=o(7792),l=o(5043),f=o(4674),s=o(991),m=o(9776),c=o(5043),u=o(659),d=o(5043),g=o(239),j=o(5043),h=o(5043),p=[l.KeyCodes.up,l.KeyCodes.down],b=[l.KeyCodes.left,l.KeyCodes.right,l.KeyCodes.up,l.KeyCodes.down,l.KeyCodes.home,l.KeyCodes.end],y={isBeakVisible:!0,beakWidth:16,gapSpace:0,setInitialFocus:!0,doNotLayer:!1,directionalHint:i.DirectionalHint.bottomCenter},v="aria-activedescendant",D=a.forwardRef((function(e,t){var o,d,D,k=(0,n.__read)(a.useState(0),2),w=k[0],K=k[1],S=(0,n.__read)(a.useState("Quick"),2),P=S[0],x=S[1],M=(0,n.__read)(a.useState(r.CommonEmojis),2),B=M[0],N=M[1],_=(0,n.__read)(a.useState("People"),2),T=_[0],O=_[1],I=(0,n.__read)(a.useState(":"),2),E=I[0],L=I[1],R=(0,n.__read)(a.useState(""),2),z=R[0],F=R[1],A=(0,h.useTheme)(),H=C(A),U="EmojiPane"+e.baseId,G=a.useCallback((function(e,t){t||(t="Horizontal"),"Vertical"===t&&-1!==w&&(e*=7);var o=w+e,n=B.length;return o>=0&&o<n?(K(o),o):-1}),[w]),W=a.useCallback((function(e,t){return null==e?"":(t&&(e=e.substr(1)),e.trim())}),[]),q=a.useCallback((function(e){var t=B[e];return t?Z(t):null}),[B]),V=a.useCallback((function(){return B[w]}),[B,w]),J=a.useCallback((function(e){var t=W(e,!0),o=0===t.length?"Full":"Partial";K("Full"===o?-1:0),x(o),N(Q(t,o)),L(e),F(t)}),[P]),Y=a.useCallback((function(e){var t=W(e,!1);K(0),N(Q(t,P)),L(e)}),[w,E,B]),Q=a.useCallback((function(t,o){var n="Quick"===o;if(!t)return n?B:r.EmojiList[T];var a=(0,g.searchEmojis)(t,e.strings);return n?a.slice(0,5).concat([r.MoreEmoji]):a}),[P,T,B]),Z=a.useCallback((function(e){return e?U+"-"+e.key:""}),[U]);a.useImperativeHandle(t,(function(){return{navigate:G,getEmojiElementIdByIndex:q,showFullPicker:J,getSearchResult:Q,setSearch:Y,getSelectedEmoji:V,normalizeSearchText:W,getEmojiIconId:Z}}),[G,q,J,Q,Y,Z,V,W]);var X=function(e){D=e.target},$=function(e){e&&e.which===l.KeyCodes.enter&&w>=0&&B&&B.length>0&&le(e,B[w])},ee=function(e){if(e&&!(b.indexOf(e.which)<0)){if(e.preventDefault(),e.stopPropagation(),e.which===l.KeyCodes.home)return K(0),void(d.scrollTop=0);if(e.which===l.KeyCodes.end)return K(B.length-1),void(d.scrollTop=d.scrollHeight);var t=p.indexOf(e.which)<0?"Horizontal":"Vertical",o=G(e.which===l.KeyCodes.left||e.which===l.KeyCodes.up?-1:1,t);if(o>-1){var n="Full"===P?5:6,a=Math.floor(o/7),i=d.scrollTop,r=40*a;if(i<=r&&i+40*n>=r+40)return;d.scrollTop=40*a}}},te=function(t,o){var n=e.strings;return o.map((function(e,i){return a.createElement(f.EmojiIcon,{strings:n,id:Z(e),key:e.key,onMouseOver:function(){return K(i)},onFocus:function(){return K(i)},emoji:e,classNames:H,isSelected:t===i,onClick:function(t){return le(t,e)},"aria-posinset":t+1,"aria-setsize":o.length})}))},oe=function(e){d=e},ne=function(e){var t=e;N(r.EmojiList[t]),O(t)},ae=function(t){return"family_"+t+"_"+e.baseId},ie=function(t){if(e.searchDisabled&&t&&t.focus(),D){D.removeAttribute(v);var o=Z(V());o&&setTimeout((function(){return D.setAttribute(v,o)}),0)}},re=function(e,t){if("string"==typeof t){var o=W(t,!1),n=0===o.length?"Full":"Partial";K("Full"===n?-1:0),N(Q(o,P)),F(t),x(n)}},le=function(t,o){t.stopPropagation(),t.preventDefault(),e.onSelect&&e.onSelect(o,E)};return a.createElement(a.Fragment,null,function(e,t,r,f,d){return"Quick"===P?function(e,t,o){var r=e.strings,f=V(),s=f?"#"+Z(f):void 0,m=(null==f?void 0:f.description)?r[f.description]:void 0,c=te(t,o);return a.createElement("div",{id:U,role:"listbox"},c,a.createElement("div",{id:U,role:"listbox",className:(0,l.css)(H.quickPicker,H.roosterEmojiPane)},a.createElement(i.Callout,(0,n.__assign)({},y,{role:"tooltip",target:s,hidden:!m||!c,className:H.tooltip}),m)))}(e,t,d):function(e,t,i,r,l){var f,d=e.searchDisabled,g=e.searchBoxString,h=Z(V()),p=((f={})["aria-autocomplete"]="list",f["aria-expanded"]="true",f["aria-haspopup"]="listbox",f["aria-owns"]=U,f);return h&&(p[v]=h),a.createElement("div",{className:H.roosterEmojiPane},!d&&a.createElement(j.TextField,(0,n.__assign)({role:"combobox",componentRef:function(e){return function(e){e&&(null==(o=e)?void 0:o.value)&&(o.focus(),o.setSelectionStart(o.value.length))}(e)},value:i,onChange:re,inputClassName:H.emojiTextInput,onKeyPress:$,onKeyDown:ee,onFocus:X,placeholder:(0,u.getLocalizedString)(g,"emojiSearchPlaceholder","Search..."),ariaLabel:(0,u.getLocalizedString)(g,"emojiSearchInputAriaLabel","Search...")},p)),"Full"===P?function(e,t,o,i){var r=e.strings,l=e.hideStatusBar,f=e.navBarProps,u=e.statusBarProps,d=i&&i.length>0;return a.createElement("div",{className:H.fullList},a.createElement("div",{className:H.fullListBody,"data-is-scrollable":!0,tabIndex:-1,ref:oe},a.createElement(s.EmojiNavBar,(0,n.__assign)({strings:r},f,{onClick:ne,currentSelected:o,getTabId:ae,classNames:H})),a.createElement("div",{role:"tabpanel","aria-labelledby":ae(o)},a.createElement("div",null,a.createElement(c.FocusZone,{id:U,role:"listbox",className:H.fullListContent,ref:ie},te(t,i))))),!l&&a.createElement(m.EmojiStatusBar,(0,n.__assign)({classNames:H,strings:r},u,{hasResult:d,emoji:V()})))}(e,t,r,l):function(e,t,o){var i=e.strings,r=e.hideStatusBar,l=e.statusBarProps,f=o&&o.length>0;return a.createElement("div",null,a.createElement("div",{className:H.partialList,"data-is-scrollable":!0,tabIndex:-1,ref:oe},a.createElement(c.FocusZone,{id:U,role:"listbox",className:H.fullListContent,ref:ie},te(t,o))),!r&&a.createElement(m.EmojiStatusBar,(0,n.__assign)({classNames:H,strings:i},l,{hasResult:f,emoji:V()})))}(e,t,l))}(e,t,r,f,d)}(e,w,z,T,B))}));t.showEmojiPane=function(e,t,o,n,i){return a.createElement(D,{ref:o,baseId:n,searchBoxString:i,strings:t,onSelect:e})};var k=function(){return 245..toString()+"px"},C=(0,l.memoizeFunction)((function(e){var t=e.palette,o={quickPicker:{overflowY:"hidden",":after":{content:"",position:"absolute",left:"0px",top:"0px",bottom:"0px",right:"0px",zIndex:1,borderWidth:"1px",borderStyle:"solid",borderColor:"rgb(255, 255, 255)",borderImage:"initial",outline:"rgb(102, 102, 102) solid 1px"}},tooltip:{padding:"8px"},emojiTextInput:{padding:"6px"},partialList:{maxHeight:k(),overflow:"hidden",overflowY:"scroll"},fullListContent:{width:282..toString()+"px"},fullListBody:{maxHeight:k(),overflow:"hidden",overflowY:"scroll",height:k()},fullList:{position:"relative"},roosterEmojiPane:{padding:"1px",background:t.white},emoji:{fontSize:"18px",width:"40px",height:"40px",border:"0",position:"relative",background:t.white,transition:"backgorund 0.5s ease-in-out"},emojiSelected:{background:t.neutralLight},navBar:{top:"-1px",zIndex:10,position:"sticky"},navBarTooltip:{display:"inline-block"},navBarButton:{height:"40px",width:"40px",border:"0",borderBottom:"solid 1px",padding:0,marginBottom:0,display:"inline-block",color:t.themeDark,background:t.white,"&:hover":{cursor:"default"}},selected:{borderBottom:"2px solid",borderBottomColor:t.themeDark},statusBar:{borderTop:"solid 1px",height:"50px",overflow:"hidden",position:"relative",background:t.white},statusBarIcon:{padding:"4px",fontSize:"25px",display:"inline-block",fontStyle:"normal",fontWeight:"normal",lineHeight:"40px"},statusBarDetailsContainer:{padding:"0 4px",lineHeight:"50px",position:"absolute",display:"inline-block",left:"40px",right:"0",top:"0"},statusBarDetails:{fontWeight:"bold",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},statusBarNoResultDetailsContainer:{lineHeight:"50px",position:"absolute",display:"inline-block",top:"0",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",left:"0",padding:"0 8px"}};return(0,d.mergeStyleSets)(o)}))},9776:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EmojiStatusBar=void 0;var n=o(8359),a=o(5043);t.EmojiStatusBar=function(e){var t=e.emoji,o=e.strings,i=e.hasResult,r=e.classNames;if(!i){var l=o.emjDNoSuggetions;return n.createElement("div",{className:r.statusBar},n.createElement("div",{style:{display:"none"},"aria-live":"polite"},l),n.createElement("div",{className:r.statusBarNoResultDetailsContainer},n.createElement(a.TooltipHost,{content:l,overflowMode:a.TooltipOverflowMode.Parent},n.createElement("span",{role:"alert"},l))))}var f=t?t.codePoint:"",s=(null==t?void 0:t.description)?o[t.description]:"";return n.createElement("div",{className:r.statusBar},n.createElement("i",{className:r.statusBarIcon,role:"presentation","aria-hidden":"true"},f),n.createElement("div",{className:r.statusBarDetailsContainer},n.createElement("div",{className:r.statusBarDetails},n.createElement(a.TooltipHost,{content:s,overflowMode:a.TooltipOverflowMode.Parent},s))))}},2222:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.showEmojiCallout=void 0;var n=o(1635),a=o(8359),i=o(5043),r=o(2271),l=o(2407),f=a.forwardRef((function(e,t){var o=e.cursorRect,r=e.strings,f=e.onSelectFromPane,s=e.onHideCallout,m=e.searchBoxString,c=e.dismiss,u=e.paneRef,d=e.baseId,g=(0,n.__read)(a.useState(!0),2),j=g[0],h=g[1];a.useImperativeHandle(t,(function(){return{dismiss:c}}),[c]);var p={x:o.left,y:(o.top+o.bottom)/2},b=(o.bottom-o.top)/2+5;j||s();var y=a.useCallback((function(){h(!1),c()}),[c]);return a.createElement(a.Fragment,null,j&&a.createElement(i.Callout,{target:p,directionalHint:i.DirectionalHint.bottomAutoEdge,isBeakVisible:!1,gapSpace:b,onDismiss:y},(0,l.showEmojiPane)(f,r,u,d,m)))}));t.showEmojiCallout=function(e,t,o,n,i,l,s,m,c){var u=null;u=(0,r.renderReactComponent)(e,a.createElement(f,{ref:l,cursorRect:t,strings:o,onSelectFromPane:n,paneRef:i,onHideCallout:s,searchBoxString:c,baseId:m,dismiss:function(){null==u||u(),u=null}}))}},1772:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createEmojiPlugin=void 0;var n=o(4487);Object.defineProperty(t,"createEmojiPlugin",{enumerable:!0,get:function(){return n.createEmojiPlugin}})},4487:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createEmojiPlugin=void 0;var n=o(1635),a=o(8359),i=o(5043),r=o(7792),l=o(2222),f=o(5331),s=o(5331),m=o(669),c=/([\u0023-\u0039][\u20e3]|[\ud800-\udbff][\udc00-\udfff]|[\u00a9-\u00ae]|[\u2122-\u3299])*([:;][^:]*)/,u=/[\s\u00A0\u200B\u3000]+([^\s\u00A0\u200B\u3000]*)$/i,d=function(){function e(e){var t=this;this.searchBoxStrings=e,this.editor=null,this.eventHandledOnKeyDown=!1,this.canUndoEmoji=!1,this.isSuggesting=!1,this.paneRef=a.createRef(),this.timer=null,this.uiUtilities=null,this.emojiCalloutRef=a.createRef(),this.baseId=0,this.onHideCallout=function(){return t.setIsSuggesting(!1)},this.onSelectFromPane=function(e,o){var n;e!==r.MoreEmoji?t.insertEmoji(e,o):null===(n=t.paneRef.current)||void 0===n||n.showFullPicker(o)},this.strings=(0,n.__assign)((0,n.__assign)((0,n.__assign)({},m.EmojiDescriptionStrings),m.EmojiKeywordStrings),m.EmojiFamilyStrings)}return e.prototype.setUIUtilities=function(e){this.uiUtilities=e},e.prototype.getName=function(){return"Emoji"},e.prototype.dispose=function(){var e;this.setIsSuggesting(!1),null===(e=this.emojiCalloutRef.current)||void 0===e||e.dismiss(),this.editor=null,this.baseId=0},e.prototype.initialize=function(e){this.editor=e},e.prototype.onPluginEvent=function(e){this.editor&&("keyDown"===e.eventType?(this.eventHandledOnKeyDown=!1,this.isSuggesting?this.onKeyDownSuggestingDomEvent(this.editor,e):"Backspace"===e.rawEvent.key&&this.canUndoEmoji&&((0,f.undo)(this.editor),this.handleEventOnKeyDown(e),this.canUndoEmoji=!1)):"keyUp"!==e.eventType||(0,s.isModifierKey)(e.rawEvent)?"mouseUp"===e.eventType&&(this.canUndoEmoji=!1,this.setIsSuggesting(!1)):this.isSuggesting?this.onKeyUpSuggestingDomEvent(this.editor,e):this.onKeyUpDomEvent(this.editor,e))},e.prototype.onKeyDownSuggestingDomEvent=function(e,t){var o,n,a=this.getWordBeforeCursor(e);switch(t.rawEvent.key){case"Enter":var i=null===(o=this.paneRef.current)||void 0===o?void 0:o.getSelectedEmoji();if(!i||!a||this.tryShowFullPicker(t,i,a))break;this.insertEmoji(i,a),this.handleEventOnKeyDown(t);break;case"ArrowLeft":case"ArrowRight":null===(n=this.paneRef.current)||void 0===n||n.navigate("ArrowLeft"===t.rawEvent.key?-1:1),this.handleEventOnKeyDown(t);break;case"Escape":this.setIsSuggesting(!1),this.handleEventOnKeyDown(t)}},e.prototype.tryShowFullPicker=function(e,t,o){var n;return t===r.MoreEmoji&&(this.handleEventOnKeyDown(e),null===(n=this.paneRef.current)||void 0===n||n.showFullPicker(o),!0)},e.prototype.onKeyUpSuggestingDomEvent=function(e,t){var o,n,a,r;if(!this.eventHandledOnKeyDown){this.timer&&(1===t.rawEvent.key.length&&t.rawEvent.which!==i.KeyCodes.space||t.rawEvent.which===i.KeyCodes.backspace)&&(null===(n=null===(o=this.editor)||void 0===o?void 0:o.getDocument().defaultView)||void 0===n||n.clearTimeout(this.timer),this.timer=null,null===(a=this.emojiCalloutRef.current)||void 0===a||a.dismiss());var l=this.getWordBeforeCursor(e);l&&this.paneRef?null===(r=this.paneRef.current)||void 0===r||r.setSearch(l):this.setIsSuggesting(!1)}},e.prototype.onKeyUpDomEvent=function(e,t){this.eventHandledOnKeyDown||186!==t.rawEvent.which&&59!==t.rawEvent.which||":"!==this.getWordBeforeCursor(e)||this.setIsSuggesting(!0)},e.prototype.getCallout=function(){var e,t=null===(e=this.editor)||void 0===e?void 0:e.getDOMSelection(),o="range"==(null==t?void 0:t.type)?t.range.startContainer:null,n=(0,s.isNodeOfType)(o,"ELEMENT_NODE")?o:null==o?void 0:o.parentElement,a=null==n?void 0:n.getBoundingClientRect();this.uiUtilities&&a&&(this.baseId++,(0,l.showEmojiCallout)(this.uiUtilities,a,this.strings,this.onSelectFromPane,this.paneRef,this.emojiCalloutRef,this.onHideCallout,this.baseId,this.searchBoxStrings))},e.prototype.setIsSuggesting=function(e){var t;this.isSuggesting!==e&&(this.isSuggesting=e,this.isSuggesting?this.getCallout():this.emojiCalloutRef&&(null===(t=this.emojiCalloutRef.current)||void 0===t||t.dismiss()))},e.prototype.insertEmoji=function(e,t){var o;t&&this.editor&&e.codePoint&&(this.editor.formatContentModel((function(o){return(0,s.iterateSelections)(o,(function(o,n,a,i){if("Paragraph"==(null==a?void 0:a.blockType)&&1==(null==i?void 0:i.length)&&"SelectionMarker"==i[0].segmentType){var r=a.segments.indexOf(i[0]),l=a.segments[r-1];"Text"==(null==l?void 0:l.segmentType)&&l.text.endsWith(t)&&(0,s.mutateSegment)(a,l,(function(o){o.text=o.text.substring(0,o.text.length-t.length)+e.codePoint}))}return!0})),!0})),null===(o=this.emojiCalloutRef.current)||void 0===o||o.dismiss())},e.prototype.getWordBeforeCursor=function(e){var t=null;e.formatContentModel((function(e){return(0,s.iterateSelections)(e,(function(e,o,n,a){if("Paragraph"==(null==n?void 0:n.blockType)&&1==(null==a?void 0:a.length)&&"SelectionMarker"==a[0].segmentType){var i=n.segments.indexOf(a[0]),r=n.segments[i-1];if("Text"==(null==r?void 0:r.segmentType)){var l=u.exec(r.text);t=2==(null==l?void 0:l.length)?l[1]:r.text}}return!0})),!1}));var o=t?c.exec(t):null;return o&&o.length>2&&o[0]===t?o[2]:null},e.prototype.handleEventOnKeyDown=function(e){this.eventHandledOnKeyDown=!0,e.rawEvent.preventDefault(),e.rawEvent.stopImmediatePropagation()},e}();t.createEmojiPlugin=function(e){return new d(e)}},669:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EmojiFamilyStrings=t.EmojiKeywordStrings=t.EmojiDescriptionStrings=void 0,t.EmojiDescriptionStrings={emjDMore:"More",emjDNoSuggestions:"No suggestions found",emjD0270a:"Raised fist",emjD0270b:"Raised hand",emjD0270c:"Victory hand",emjD02764:"Red heart",emjD1f440:"Eyes",emjD1f442:"Ear",emjD1f443:"Nose",emjD1f444:"Mouth",emjD1f445:"Tongue",emjD1f446:"Up-pointing backhand index finger",emjD1f447:"Down-pointing backhand index finger",emjD1f448:"Left-pointing backhand index finger",emjD1f449:"Right-pointing backhand index finger",emjD1f44a:"Fist bump",emjD1f44b:"Waving hand",emjD1f44c:"OK hand",emjD1f44d:"Thumbs up",emjD1f44e:"Thumbs down",emjD1f44f:"Clapping hands",emjD1f450:"Open hands",emjD1f590:"Raised hand with fingers splayed",emjD1f595:"Middle finger",emjD1f596:"Raised hand with part between middle and ring fingers",emjD1f464:"Bust in silhouette",emjD1f466:"Boy",emjD1f467:"Girl",emjD1f468:"Man",emjD1f469:"Woman",emjD1f46a:"Family",emjD1f46b:"Man and woman holding hands",emjD1f46e:"Police officer",emjD1f46f:"Woman with bunny ears",emjD1f470:"Bride with veil",emjD1f471:"Person with blond hair",emjD1f472:"Man with gua pi mao",emjD1f473:"Man with turban",emjD1f474:"Older man",emjD1f475:"Older woman",emjD1f476:"Baby",emjD1f477:"Construction worker",emjD1f481:"Information desk person",emjD1f482:"Guardsman",emjD1f48b:"Kiss mark",emjD1f493:"Beating heart",emjD1f494:"Broken heart",emjD1f495:"Two hearts",emjD1f496:"Sparkling heart",emjD1f497:"Growing heart",emjD1f498:"Heart with arrow",emjD1f499:"Blue heart",emjD1f49a:"Green heart",emjD1f49b:"Yellow heart",emjD1f49c:"Purple heart",emjD1f49d:"Heart with ribbon",emjD1f49e:"Revolving hearts",emjD1f49f:"Heart decoration",emjD1f601:"Grinning face with smiling eyes",emjD1f602:"Face with tears of joy",emjD1f603:"Smiling face with open mouth",emjD1f604:"Smiling face with open mouth and smiling eyes",emjD1f605:"Smiling face with open mouth and cold sweat",emjD1f606:"Smiling face with open mouth and tightly closed eyes",emjD1f607:"Smiling face with halo",emjD1f608:"Smiling face with horns",emjD1f609:"Winking face",emjD1f60a:"Smiling face with smiling eyes",emjD1f60b:"Face savoring delicious food",emjD1f60c:"Relieved face",emjD1f60d:"Smiling face with heart-shaped eyes",emjD1f60e:"Smiling face with sunglasses",emjD1f60f:"Smirking face",emjD1f610:"Neutral face",emjD1f612:"Unamused face",emjD1f613:"Face with cold sweat",emjD1f614:"Pensive face",emjD1f616:"Confounded face",emjD1f618:"Face throwing a kiss",emjD1f61a:"Kissing face with closed eyes",emjD1f61c:"Face with stuck-out tongue and winking eye",emjD1f61d:"Face with stuck-out tongue and tightly closed eyes",emjD1f61e:"Disappointed face",emjD1f620:"Angry face",emjD1f621:"Pouting face",emjD1f622:"Crying face",emjD1f623:"Persevering face",emjD1f624:"Face with look of triumph",emjD1f625:"Disappointed but relieved face",emjD1f628:"Fearful face",emjD1f629:"Weary face",emjD1f62a:"Sleepy face",emjD1f62b:"Tired face",emjD1f62d:"Loudly crying face",emjD1f630:"Face with open mouth and cold sweat",emjD1f631:"Face screaming in fear",emjD1f632:"Astonished face",emjD1f633:"Flushed face",emjD1f635:"Dizzy face",emjD1f636:"Face without mouth",emjD1f637:"Face with medical mask",emjD1f645:"Face with No Good gesture",emjD1f646:"Face with OK gesture",emjD1f647:"Person bowing deeply",emjD1f648:"See-no-evil monkey",emjD1f649:"Hear-no-evil monkey",emjD1f641:"Slightly frowning face",emjD1f642:"Slightly smiling face",emjD1f64a:"Speak-no-evil monkey",emjD1f64b:"Happy person raising one hand",emjD1f64c:"Person raising both hands in celebration",emjD1f64d:"Person frowning",emjD1f64e:"Person with pouting face",emjD1f64f:"Person with folded hands",emjD02600:"Sun with rays",emjD02601:"Cloud",emjD02614:"Umbrella with rain drops",emjD0267b:"Recycling symbol",emjD026c4:"Snowman without snow",emjD026c5:"Sun behind cloud",emjD02728:"Sparkles",emjD02733:"Eight-spoked asterisk",emjD02734:"Eight-pointed star",emjD02744:"Snowflake",emjD02747:"Sparkle",emjD02b50:"White medium star",emjD1f300:"Cyclone",emjD1f301:"Foggy",emjD1f302:"Closed umbrella",emjD1f303:"Night with stars",emjD1f304:"Sunrise over mountains",emjD1f305:"Sunrise",emjD1f306:"Cityscape at dusk",emjD1f307:"Sunset over buildings",emjD1f308:"Rainbow",emjD1f309:"Bridge at night",emjD1f30a:"Water wave",emjD1f30b:"Volcano",emjD1f30c:"Milky Way",emjD1f311:"New moon",emjD1f313:"First quarter moon",emjD1f314:"Waxing gibbous moon",emjD1f315:"Full moon",emjD1f319:"Crescent moon",emjD1f31b:"First quarter moon with face",emjD1f31f:"Glowing star",emjD1f320:"Shooting star",emjD1f330:"Chestnut",emjD1f331:"Seedling",emjD1f334:"Palm tree",emjD1f335:"Cactus",emjD1f337:"Tulip",emjD1f338:"Cherry blossom",emjD1f339:"Rose",emjD1f33a:"Hibiscus",emjD1f33b:"Sunflower",emjD1f33c:"Blossom",emjD1f33d:"Ear of corn",emjD1f33e:"Ear of rice",emjD1f33f:"Herb",emjD1f340:"Four leaf clover",emjD1f341:"Maple leaf",emjD1f342:"Fallen leaf",emjD1f343:"Leaf fluttering in wind",emjD1f344:"Mushroom",emjD1f40c:"Snail",emjD1f40d:"Snake",emjD1f40e:"Horse",emjD1f411:"Sheep",emjD1f412:"Monkey",emjD1f414:"Chicken",emjD1f417:"Boar",emjD1f418:"Elephant",emjD1f419:"Octopus",emjD1f41a:"Spiral shell",emjD1f41b:"Bug",emjD1f41c:"Ant",emjD1f41d:"Honeybee",emjD1f41e:"Ladybug",emjD1f41f:"Fish",emjD1f420:"Tropical fish",emjD1f421:"Blowfish",emjD1f422:"Turtle",emjD1f423:"Hatching chick",emjD1f424:"Baby chick",emjD1f425:"Front-facing baby chick",emjD1f426:"Bird",emjD1f427:"Penguin",emjD1f428:"Koala",emjD1f429:"Poodle",emjD1f42b:"Bactrian camel",emjD1f42c:"Dolphin",emjD1f42d:"Mouse face",emjD1f42e:"Cow face",emjD1f42f:"Tiger face",emjD1f430:"Rabbit face",emjD1f431:"Cat face",emjD1f432:"Dragon face",emjD1f433:"Spouting whale",emjD1f434:"Horse face",emjD1f435:"Monkey face",emjD1f436:"Dog face",emjD1f437:"Pig face",emjD1f438:"Frog face",emjD1f439:"Hamster face",emjD1f43a:"Wolf face",emjD1f43b:"Bear face",emjD1f43c:"Panda face",emjD1f43d:"Pig nose",emjD1f43e:"Paw prints",emjD1f638:"Grinning cat face with smiling eyes",emjD1f639:"Cat face with tears of joy",emjD1f63a:"Smiling cat face with open mouth",emjD1f63b:"Smiling cat face with heart-shaped eyes",emjD1f63c:"Cat face with wry smile",emjD1f63d:"Kissing cat face with closed eyes",emjD1f63e:"Pouting cat face",emjD1f63f:"Crying cat face",emjD1f640:"Weary cat face",emjD0260e:"Telephone",emjD026bd:"Soccer ball",emjD026be:"Baseball",emjD1f004:"Mahjong tile red dragon",emjD1f380:"Ribbon",emjD1f381:"Wrapped present",emjD1f382:"Birthday cake",emjD1f383:"Jack-o-lantern",emjD1f384:"Christmas tree",emjD1f385:"Father Christmas",emjD1f386:"Fireworks",emjD1f387:"Firework sparkler",emjD1f388:"Balloon",emjD1f389:"Party popper",emjD1f38a:"Confetti ball",emjD1f38b:"Tanabata tree",emjD1f38c:"Crossed flags",emjD1f38d:"Pine decoration",emjD1f38e:"Japanese dolls",emjD1f38f:"Carp streamer",emjD1f390:"Wind chime",emjD1f391:"Moon-viewing ceremony",emjD1f392:"School backpack",emjD1f393:"Graduation cap",emjD1f3a0:"Carousel horse",emjD1f3a1:"Ferris wheel",emjD1f3a2:"Roller coaster",emjD1f3a3:"Fishing pole and fish",emjD1f3a4:"Microphone",emjD1f3a5:"Movie camera",emjD1f3a6:"Cinema",emjD1f3a7:"Headphones",emjD1f3a8:"Artist palette",emjD1f3a9:"Top hat",emjD1f3aa:"Circus tent",emjD1f3ab:"Ticket",emjD1f3ac:"Clapper board",emjD1f3ad:"Performing arts",emjD1f3ae:"Video game",emjD1f3af:"Direct hit",emjD1f3b0:"Slot machine",emjD1f3b1:"Billiards",emjD1f3b2:"Game die",emjD1f3b3:"Bowling",emjD1f3b4:"Flower playing cards",emjD1f3b5:"Musical note",emjD1f3b6:"Multiple musical notes",emjD1f3b7:"Saxophone",emjD1f3b8:"Guitar",emjD1f3b9:"Musical keyboard",emjD1f3ba:"Trumpet",emjD1f3bb:"Violin",emjD1f3bc:"Musical score",emjD1f3bd:"Running shirt with sash",emjD1f3be:"Tennis racquet and ball",emjD1f3bf:"Ski and ski boot",emjD1f3c0:"Basketball and hoop",emjD1f3c1:"Checkered flag",emjD1f3c2:"Snowboarder",emjD1f3c3:"Runner",emjD1f3c4:"Surfer",emjD1f3c6:"Trophy",emjD1f3c8:"American football",emjD1f3ca:"Swimmer",emjD1f478:"Princess",emjD1f479:"Japanese ogre",emjD1f47a:"Japanese goblin",emjD1f47b:"Ghost",emjD1f47c:"Baby angel",emjD1f47d:"Extraterrestrial alien",emjD1f47e:"Alien monster",emjD1f47f:"Imp",emjD1f480:"Skull",emjD1f483:"Dancer",emjD1f484:"Lipstick",emjD1f485:"Nail polish",emjD1f486:"Face massage",emjD1f487:"Haircut",emjD1f488:"Barber pole",emjD1f489:"Syringe",emjD1f48a:"Pill",emjD1f48c:"Love letter",emjD1f48d:"Ring",emjD1f48e:"Gemstone",emjD1f48f:"Kiss",emjD1f490:"Bouquet",emjD1f491:"Couple with heart",emjD1f492:"Wedding",emjD1f4f7:"Camera",emjD1f4f9:"Video camera",emjD1f4fa:"Television",emjD1f4fb:"Radio",emjD1f4fc:"Videocassette",emjD02615:"Hot beverage",emjD02702:"Scissors",emjD02709:"Envelope",emjD0270f:"Pencil",emjD02712:"Nib",emjD1f345:"Tomato",emjD1f346:"Eggplant",emjD1f347:"Grapes",emjD1f348:"Melon",emjD1f349:"Watermelon",emjD1f34a:"Tangerine",emjD1f34c:"Banana",emjD1f34d:"Pineapple",emjD1f34e:"Red apple",emjD1f34f:"Green apple",emjD1f351:"Peach",emjD1f352:"Cherries",emjD1f353:"Strawberry",emjD1f354:"Hamburger",emjD1f355:"Slice of pizza",emjD1f356:"Meat on bone",emjD1f357:"Poultry leg",emjD1f358:"Rice cracker",emjD1f359:"Rice ball",emjD1f35a:"Cooked rice",emjD1f35b:"Curry and rice",emjD1f35c:"Steaming bowl",emjD1f35d:"Spaghetti",emjD1f35e:"Bread",emjD1f35f:"French fries",emjD1f360:"Roasted sweet potato",emjD1f361:"Dango",emjD1f362:"Oden",emjD1f363:"Sushi",emjD1f364:"Fried shrimp",emjD1f365:"Fish cake with swirl design",emjD1f366:"Soft ice cream",emjD1f367:"Shaved ice",emjD1f368:"Ice cream",emjD1f369:"Doughnut",emjD1f36a:"Cookie",emjD1f36b:"Chocolate bar",emjD1f36c:"Candy",emjD1f36d:"Lollipop",emjD1f36e:"Custard",emjD1f36f:"Honey pot",emjD1f370:"Shortcake",emjD1f371:"Bento box",emjD1f372:"Pot of food",emjD1f373:"Cooking",emjD1f374:"Fork and knife",emjD1f375:"Teacup without handle",emjD1f376:"Sake bottle and cup",emjD1f377:"Wine glass",emjD1f378:"Cocktail glass",emjD1f379:"Tropical drink",emjD1f37a:"Beer mug",emjD1f37b:"Clinking beer mugs",emjD1f451:"Crown",emjD1f452:"Woman's hat",emjD1f453:"Eyeglasses",emjD1f454:"Necktie",emjD1f455:"T-shirt",emjD1f456:"Jeans",emjD1f457:"Dress",emjD1f458:"Kimono",emjD1f459:"Bikini",emjD1f45a:"Woman's clothes",emjD1f45b:"Purse",emjD1f45c:"Handbag",emjD1f45d:"Pouch",emjD1f45e:"Man's shoe",emjD1f45f:"Athletic shoe",emjD1f460:"High-heeled shoe",emjD1f461:"Woman's sandal",emjD1f462:"Woman's boots",emjD1f463:"Footprints",emjD1f4ba:"Seat",emjD1f4bb:"Personal computer",emjD1f4bc:"Briefcase",emjD1f4bd:"Minidisc",emjD1f4be:"Floppy disk",emjD1f4bf:"Optical disc",emjD1f4c0:"DVD",emjD1f4c1:"File folder",emjD1f4c2:"Open file folder",emjD1f4c3:"Page with curl",emjD1f4c4:"Page facing up",emjD1f4c5:"Calendar",emjD1f4c6:"Tear-off calendar",emjD1f4c7:"Card index",emjD1f4c8:"Chart with upward trend",emjD1f4c9:"Chart with downward trend",emjD1f4ca:"Bar chart",emjD1f4cb:"Clipboard",emjD1f4cc:"Pushpin",emjD1f4cd:"Round pushpin",emjD1f4ce:"Paper clip",emjD1f4cf:"Straight ruler",emjD1f4d0:"Triangular ruler",emjD1f4d1:"Bookmark tabs",emjD1f4d2:"Ledger",emjD1f4d3:"Notebook",emjD1f4d4:"Notebook with decorative cover",emjD1f4d5:"Closed book",emjD1f4d6:"Open book",emjD1f4d7:"Green book",emjD1f4d8:"Blue book",emjD1f4d9:"Orange book",emjD1f4da:"Books",emjD1f4db:"Name badge",emjD1f4dc:"Scroll",emjD1f4dd:"Memo",emjD1f4de:"Telephone receiver",emjD1f4df:"Pager",emjD1f4e0:"Fax machine",emjD1f4e1:"Satellite antenna",emjD1f4e2:"Public address loudspeaker",emjD1f4e3:"Cheering megaphone",emjD1f4e4:"Outbox tray",emjD1f4e5:"Inbox tray",emjD1f4e6:"Package",emjD1f4e7:"Email",emjD1f4e8:"Incoming envelope",emjD1f4e9:"Envelope with downward-facing arrow above",emjD1f4ea:"Closed mailbox with lowered flag",emjD1f4eb:"Closed mailbox with raised flag",emjD1f4ee:"Postbox",emjD1f4f0:"Newspaper",emjD1f4f1:"Mobile phone",emjD1f4f2:"Mobile phone with right-facing arrow at left",emjD1f4f3:"Vibration mode",emjD1f4f4:"Mobile phone off",emjD1f4f6:"Antenna with bars",emjD1f525:"Fire",emjD1f526:"Flashlight",emjD1f527:"Wrench",emjD1f528:"Hammer",emjD1f529:"Nut and bolt",emjD1f52a:"Hocho",emjD1f52b:"Pistol",emjD1f52e:"Crystal ball",emjD1f52f:"Six-pointed star with middle dot",emjD1f531:"Trident emblem",emjD1f550:"Clock face one o'clock",emjD1f551:"Clock face two o'clock",emjD1f552:"Clock face three o'clock",emjD1f553:"Clock face four o'clock",emjD1f554:"Clock face five o'clock",emjD1f555:"Clock face six o'clock",emjD1f556:"Clock face seven o'cl