(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[5164],{ /***/ 89724: /***/ (function(module) { function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } module.exports = _inheritsLoose; /***/ }), /***/ 73271: /***/ (function(module, exports, __webpack_require__) { /* module decorator */ module = __webpack_require__.nmd(module); !function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black","Block quote":"Block quote",Blue:"Blue",Bold:"Bold","Break text":"Break text","Bulleted List":"Bulleted List",Cancel:"Cancel","Cannot determine a category for the uploaded file.":"Cannot determine a category for the uploaded file.","Cannot upload file:":"Cannot upload file:","Caption for image: %0":"Caption for image: %0","Caption for the image":"Caption for the image","Centered image":"Centered image","Change image text alternative":"Change image text alternative","Choose heading":"Choose heading",Column:"Column","Could not insert image at the current position.":"Could not insert image at the current position.","Could not obtain resized image URL.":"Could not obtain resized image URL.","Decrease indent":"Decrease indent","Delete column":"Delete column","Delete row":"Delete row","Dim grey":"Dim grey",Downloadable:"Downloadable","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Edit link":"Edit link","Editor block content toolbar":"Editor block content toolbar","Editor contextual toolbar":"Editor contextual toolbar","Editor editing area: %0":"Editor editing area: %0","Editor toolbar":"Editor toolbar","Enter image caption":"Enter image caption","Full size image":"Full size image",Green:"Green",Grey:"Grey","Header column":"Header column","Header row":"Header row",Heading:"Heading","Heading 1":"Heading 1","Heading 2":"Heading 2","Heading 3":"Heading 3","Heading 4":"Heading 4","Heading 5":"Heading 5","Heading 6":"Heading 6","Image toolbar":"Image toolbar","image widget":"image widget","In line":"In line","Increase indent":"Increase indent","Insert column left":"Insert column left","Insert column right":"Insert column right","Insert image":"Insert image","Insert image or file":"Insert image or file","Insert media":"Insert media","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Insert row above":"Insert row above","Insert row below":"Insert row below","Insert table":"Insert table","Inserting image failed":"Inserting image failed",Italic:"Italic","Left aligned image":"Left aligned image","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Link:"Link","Link URL":"Link URL","Media URL":"Media URL","media widget":"media widget","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Merge cell right":"Merge cell right","Merge cell up":"Merge cell up","Merge cells":"Merge cells",Next:"Next","Numbered List":"Numbered List","Open file manager":"Open file manager","Open in a new tab":"Open in a new tab","Open link in new tab":"Open link in new tab","Open media in new tab":"Open media in new tab",Orange:"Orange",Paragraph:"Paragraph","Paste the media URL in the input.":"Paste the media URL in the input.",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Rich Text Editor":"Rich Text Editor","Rich Text Editor. Editing area: %0":"Rich Text Editor. Editing area: %0","Right aligned image":"Right aligned image",Row:"Row",Save:"Save","Select all":"Select all","Select column":"Select column","Select row":"Select row","Selecting resized image failed":"Selecting resized image failed","Show more items":"Show more items","Side image":"Side image","Split cell horizontally":"Split cell horizontally","Split cell vertically":"Split cell vertically","Table toolbar":"Table toolbar","Text alternative":"Text alternative","The URL must not be empty.":"The URL must not be empty.","This link has no URL":"This link has no URL","This media URL is not supported.":"This media URL is not supported.","Tip: Paste the URL into the content to embed faster.":"Tip: Paste the URL into the content to embed faster.","Toggle caption off":"Toggle caption off","Toggle caption on":"Toggle caption on",Turquoise:"Turquoise",Undo:"Undo",Unlink:"Unlink","Upload failed":"Upload failed","Upload in progress":"Upload in progress",White:"White","Widget toolbar":"Widget toolbar","Wrap text":"Wrap text",Yellow:"Yellow"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})), /*! * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. */ function(t,e){ true?module.exports=e():0}(self,(()=>(()=>{"use strict";var t={3062:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-content blockquote{border-left:5px solid #ccc;font-style:italic;margin-left:0;margin-right:0;overflow:hidden;padding-left:1.5em;padding-right:1.5em}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}","",{version:3,sources:["webpack://./../ckeditor5-block-quote/theme/blockquote.css"],names:[],mappings:"AAKA,uBAWC,0BAAsC,CADtC,iBAAkB,CAFlB,aAAc,CACd,cAAe,CAPf,eAAgB,CAIhB,kBAAmB,CADnB,mBAOD,CAEA,gCACC,aAAc,CACd,2BACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content blockquote {\n\t/* See #12 */\n\toverflow: hidden;\n\n\t/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */\n\tpadding-right: 1.5em;\n\tpadding-left: 1.5em;\n\n\tmargin-left: 0;\n\tmargin-right: 0;\n\tfont-style: italic;\n\tborder-left: solid 5px hsl(0, 0%, 80%);\n}\n\n.ck-content[dir="rtl"] blockquote {\n\tborder-left: 0;\n\tborder-right: solid 5px hsl(0, 0%, 80%);\n}\n'],sourceRoot:""}]);const a=s},7657:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-block-toolbar-button{transform:translateX(calc(var(--ck-spacing-large)*-1))}","",{version:3,sources:["webpack://./theme/theme.css"],names:[],mappings:"AAMA,4BACC,sDACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Give the block toolbar button some space, moving it a few pixels away from the editable area. */\n.ck.ck-block-toolbar-button {\n\ttransform: translateX( calc(-1 * var(--ck-spacing-large)) );\n}\n"],sourceRoot:""}]);const a=s},903:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;pointer-events:none;position:relative}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) transparent transparent transparent;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:"";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}',"",{version:3,sources:["webpack://./../ckeditor5-clipboard/theme/clipboard.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css"],names:[],mappings:"AASC,8DACC,cAAe,CAEf,mBAAoB,CADpB,iBAOD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CCzBF,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEAIC,gDAAiD,CADjD,sDAAuD,CAFvD,2DAA8D,CAI9D,gBAAiB,CAHjB,wDAqBD,CAfC,yEAWC,sFAAuF,CAEvF,kBAAmB,CADnB,qKAA0K,CAX1K,UAAW,CAIX,aAAc,CAFd,QAAS,CAIT,QAAS,CADT,iBAAkB,CAElB,wDAA2D,CAE3D,0BAA2B,CAR3B,OAYD,CA2DF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\tdisplay: inline;\n\t\tposition: relative;\n\t\tpointer-events: none;\n\n\t\t& span {\n\t\t\tposition: absolute;\n\t\t\twidth: 0;\n\t\t}\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\t& > .ck-widget__selection-handle {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > .ck-widget__type-around {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-clipboard-drop-target-dot-width: 12px;\n\t--ck-clipboard-drop-target-dot-height: 8px;\n\t--ck-clipboard-drop-target-color: var(--ck-color-focus-border)\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\t& span {\n\t\t\tbottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\t\t\tbackground: var(--ck-clipboard-drop-target-color);\n\t\t\tmargin-left: -1px;\n\n\t\t\t/* The triangle above the marker */\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 50%;\n\t\t\t\ttop: calc(var(--ck-clipboard-drop-target-dot-height) * -.5);\n\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tborder-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;\n\t\t\t\tborder-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t// Horizontal drop target (between blocks).\n\t& .ck.ck-clipboard-drop-target-position {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\ttext-align: initial;\n\n\t\t& .ck-clipboard-drop-target__line {\n\t\t\tposition: absolute;\n\t\t\twidth: 100%;\n\t\t\theight: 0;\n\t\t\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\t\t\tmargin-top: -1px;\n\n\t\t\t&::before {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: calc(-1 * var(--ck-clipboard-drop-target-dot-size));\n\t\t\t\ttop: 0;\n\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tborder-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);\n\t\t\t\tborder-width: var(--ck-clipboard-drop-target-dot-size) 0 var(--ck-clipboard-drop-target-dot-size) calc(2 * var(--ck-clipboard-drop-target-dot-size));\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tright: calc(-1 * var(--ck-clipboard-drop-target-dot-size));\n\t\t\t\ttop: 0;\n\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tborder-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;\n\t\t\t\tborder-width: var(--ck-clipboard-drop-target-dot-size) calc(2 * var(--ck-clipboard-drop-target-dot-size)) var(--ck-clipboard-drop-target-dot-size) 0;\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\t\t}\n\t}\n\t*/\n\n\t/*\n\t * Styles of the widget that it a drop target.\n\t */\n\t& .ck-widget.ck-clipboard-drop-target-range {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\tzoom: 0.6;\n\t\toutline: none !important;\n\t}\n}\n'],sourceRoot:""}]);const a=s},4717:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck .ck-placeholder,.ck.ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text);cursor:text}","",{version:3,sources:["webpack://./../ckeditor5-engine/theme/placeholder.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css"],names:[],mappings:"AAMA,uCAEC,iBAWD,CATC,qDAIC,8BAA+B,CAF/B,MAAO,CAKP,mBAAoB,CANpB,iBAAkB,CAElB,OAKD,CAKA,wCACC,YACD,CAQD,iCACC,iBACD,CC5BC,qDAEC,6CAA8C,CAD9C,WAED",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder,\n.ck .ck-placeholder {\n\tposition: relative;\n\n\t&::before {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tcontent: attr(data-placeholder);\n\n\t\t/* See ckeditor/ckeditor5#469. */\n\t\tpointer-events: none;\n\t}\n}\n\n/* See ckeditor/ckeditor5#1987. */\n.ck.ck-read-only .ck-placeholder {\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n\n/*\n * Rules for the `ck-placeholder` are loaded before the rules for `ck-reset_all` in the base CKEditor 5 DLL build.\n * This fix overwrites the incorrectly set `position: static` from `ck-reset_all`.\n * See https://github.com/ckeditor/ckeditor5/issues/11418.\n */\n.ck.ck-reset_all .ck-placeholder {\n\tposition: relative;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder, .ck .ck-placeholder {\n\t&::before {\n\t\tcursor: text;\n\t\tcolor: var(--ck-color-engine-placeholder-text);\n\t}\n}\n"],sourceRoot:""}]);const a=s},9315:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}","",{version:3,sources:["webpack://./../ckeditor5-engine/theme/renderer.css"],names:[],mappings:"AAMA,qDACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Elements marked by the Renderer as hidden should be invisible in the editor. */\n.ck.ck-editor__editable span[data-ck-unsafe-element] {\n\tdisplay: none;\n}\n"],sourceRoot:""}]);const a=s},8733:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}","",{version:3,sources:["webpack://./../ckeditor5-heading/theme/heading.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css"],names:[],mappings:"AAKA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-heading_heading1 {\n\tfont-size: 20px;\n}\n\n.ck.ck-heading_heading2 {\n\tfont-size: 17px;\n}\n\n.ck.ck-heading_heading3 {\n\tfont-size: 14px;\n}\n\n.ck[class*="ck-heading_heading"] {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Resize dropdown's button label. */\n.ck.ck-dropdown.ck-heading-dropdown {\n\t& .ck-dropdown__button .ck-button__label {\n\t\twidth: 8em;\n\t}\n\n\t& .ck-dropdown__panel .ck-list__item {\n\t\tmin-width: 18em;\n\t}\n}\n"],sourceRoot:""}]);const a=s},3508:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image-inline.ck-widget_selected,.ck.ck-editor__editable .image.ck-widget_selected{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/image.css"],names:[],mappings:"AAMC,mBAEC,UAAW,CADX,aAAc,CAOd,gBAAkB,CAGlB,cAAe,CARf,iBAuBD,CAbC,uBAEC,aAAc,CAGd,aAAc,CAGd,cAAe,CAGf,cACD,CAGD,0BAYC,sBAAuB,CANvB,mBAAoB,CAGpB,cAoBD,CAdC,kCACC,YACD,CAGA,gEAGC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAWA,2GACC,SAUD,CAHC,qEACC,YACD,CAOA,0FACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content {\n\t& .image {\n\t\tdisplay: table;\n\t\tclear: both;\n\t\ttext-align: center;\n\n\t\t/* Make sure there is some space between the content and the image. Center image by default. */\n\t\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\t \tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\t\tmargin: 0.9em auto;\n\n\t\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\n\t\tmin-width: 50px;\n\n\t\t& img {\n\t\t\t/* Prevent unnecessary margins caused by line-height (see #44). */\n\t\t\tdisplay: block;\n\n\t\t\t/* Center the image if its width is smaller than the content\'s width. */\n\t\t\tmargin: 0 auto;\n\n\t\t\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\n\t\t\tmax-width: 100%;\n\n\t\t\t/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */\n\t\t\tmin-width: 100%\n\t\t}\n\t}\n\n\t& .image-inline {\n\t\t/*\n\t\t * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).\n\t\t * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.\n\t\t * This strange behavior does not happen with inline-flex.\n\t\t */\n\t\tdisplay: inline-flex;\n\n\t\t/* While being resized, don\'t allow the image to exceed the width of the editing root. */\n\t\tmax-width: 100%;\n\n\t\t/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */\n\t\talign-items: flex-start;\n\n\t\t/* When the picture is present it must act as a flex container to let the img resize properly */\n\t\t& picture {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t/* When the picture is present, it must act like a resizable img. */\n\t\t& picture,\n\t\t& img {\n\t\t\t/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */\n\t\t\tflex-grow: 1;\n\t\t\tflex-shrink: 1;\n\n\t\t\t/* Prevents overflowing the editing root boundaries when an inline image is very wide. */\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Inhertit the content styles padding of the
in case the integration overrides `text-align: center`\n\t * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native\n\t * caret does, and not at the edge of
.\n\t */\n\t& .image > figcaption.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the image caption placeholder doesn\'t overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\n\t/*\n\t * Make sure the selected inline image always stays on top of its siblings.\n\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\n\t */\n\t& .image.ck-widget_selected {\n\t\tz-index: 1;\n\t}\n\n\t& .image-inline.ck-widget_selected {\n\t\tz-index: 1;\n\n\t\t/*\n\t\t * Make sure the native browser selection style is not displayed.\n\t\t * Inline image widgets have their own styles for the selected state and\n\t\t * leaving this up to the browser is asking for a visual collision.\n\t\t */\n\t\t& ::selection {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/* The inline image nested in the table should have its original size if not resized.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline img {\n\t\t\tmax-width: none;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},2640:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highligted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highligted-background)}to{background-color:var(--ck-color-image-caption-background)}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imagecaption.css"],names:[],mappings:"AAKA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,mDACD,CAGA,8BAKC,yDAA0D,CAH1D,mBAAoB,CAEpB,wCAAyC,CAHzC,qBAAsB,CAMtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,qBAMD,CAGA,qEACC,iDACD,CAEA,sCACC,GACC,oEACD,CAEA,GACC,yDACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-image-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-image-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-image-caption-highligted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .image > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: bottom;\n\tword-break: break-word;\n\tcolor: var(--ck-color-image-caption-text);\n\tbackground-color: var(--ck-color-image-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {\n\tanimation: ck-image-caption-highlight .6s ease-out;\n}\n\n@keyframes ck-image-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-image-caption-highligted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-image-caption-background);\n\t}\n}\n"],sourceRoot:""}]);const a=s},5083:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image-style-block-align-left,.ck-content .image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image-style-align-left,.ck-content .image-style-align-right{clear:none}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content p+.image-style-align-left,.ck-content p+.image-style-align-right,.ck-content p+.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imagestyle.css"],names:[],mappings:"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAMC,qFAEC,oDACD,CAIA,yEAEC,UACD,CAEA,8BACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,sCACC,gBAAiB,CACjB,iBACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAEA,2CAEC,gBAAiB,CADjB,cAED,CAEA,0CACC,aAAc,CACd,iBACD,CAGA,6GAGC,YACD,CAGC,mGAGC,kDAAmD,CADnD,+CAED,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-image-style-spacing: 1.5em;\n\t--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\n}\n\n.ck-content {\n\t/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback\n\tconfirming successful application of the style if image width exceeds the editor's size.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9342 */\n\t& .image-style-block-align-left,\n\t& .image-style-block-align-right {\n\t\tmax-width: calc(100% - var(--ck-image-style-spacing));\n\t}\n\n\t/* Allows displaying multiple floating images in the same line.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */\n\t& .image-style-align-left,\n\t& .image-style-align-right {\n\t\tclear: none;\n\t}\n\n\t& .image-style-side {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t\tmax-width: 50%;\n\t}\n\n\t& .image-style-align-left {\n\t\tfloat: left;\n\t\tmargin-right: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-align-center {\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t}\n\n\t& .image-style-align-right {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-block-align-right {\n\t\tmargin-right: 0;\n\t\tmargin-left: auto;\n\t}\n\n\t& .image-style-block-align-left {\n\t\tmargin-left: 0;\n\t\tmargin-right: auto;\n\t}\n\n\t/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */\n\t& p + .image-style-align-left,\n\t& p + .image-style-align-right,\n\t& p + .image-style-side {\n\t\tmargin-top: 0;\n\t}\n\n\t& .image-inline {\n\t\t&.image-style-align-left,\n\t\t&.image-style-align-right {\n\t\t\tmargin-top: var(--ck-inline-image-style-spacing);\n\t\t\tmargin-bottom: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-left {\n\t\t\tmargin-right: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-right {\n\t\t\tmargin-left: var(--ck-inline-image-style-spacing);\n\t\t}\n\t}\n}\n\n.ck.ck-splitbutton {\n\t/* The button should display as a regular drop-down if the action button\n\tis forced to fire the same action as the arrow button. */\n\t&.ck-splitbutton_flatten {\n\t\t&:hover,\n\t\t&.ck-splitbutton_open {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-background);\n\n\t\t\t\t&::after {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.ck-splitbutton_open:hover {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-hover-background);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},4036:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.ck-image-upload-complete-icon:after{content:"";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',"",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadicon.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css"],names:[],mappings:"AAKA,+BAUC,iBAAkB,CATlB,aAAc,CACd,iBAAkB,CAOlB,sCAAwC,CADxC,oCAAsC,CAGtC,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BAWC,sBAA4B,CAN5B,0BAAgC,CADhC,qCAAuC,CADvC,wEAA0E,CAD1E,uDAAwD,CAMxD,oDAAuD,CAWvD,oFAAuF,CAlBvF,SAAU,CAgBV,eAAgB,CAChB,mFA0BD,CAtBC,qCAgBC,mBAAsB,CADtB,sBAAyB,CAEzB,4BAA6B,CAH7B,4CAA6C,CAF7C,sFAAuF,CADvF,oFAAqF,CASrF,qBAAsB,CAdtB,QAAS,CAJT,QAAS,CAGT,SAAU,CADV,OAAQ,CAKR,mCAAoC,CACpC,yBAA0B,CAH1B,OAcD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GAGC,QAAS,CAFT,SAAU,CACV,OAED,CACA,IAEC,QAAS,CADT,UAED,CACA,GAGC,YAAc,CAFd,SAAU,CACV,UAED,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-image-upload-complete-icon {\n\tdisplay: block;\n\tposition: absolute;\n\n\t/*\n\t * Smaller images should have the icon closer to the border.\n\t * Match the icon position with the linked image indicator brought by the link image feature.\n\t */\n\ttop: min(var(--ck-spacing-medium), 6%);\n\tright: min(var(--ck-spacing-medium), 6%);\n\tborder-radius: 50%;\n\tz-index: 1;\n\n\t&::after {\n\t\tcontent: "";\n\t\tposition: absolute;\n\t}\n}\n','/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-image-upload-icon: hsl(0, 0%, 100%);\n\t--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);\n\n\t/* Match the icon size with the linked image indicator brought by the link image feature. */\n\t--ck-image-upload-icon-size: 20;\n\t--ck-image-upload-icon-width: 2px;\n\t--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck-image-upload-complete-icon {\n\topacity: 0;\n\tbackground: var(--ck-color-image-upload-icon-background);\n\tanimation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;\n\tanimation-fill-mode: forwards, forwards;\n\tanimation-duration: 500ms, 500ms;\n\n\t/* To make animation scalable. */\n\tfont-size: calc(1px * var(--ck-image-upload-icon-size));\n\n\t/* Hide completed upload icon after 3 seconds. */\n\tanimation-delay: 0ms, 3000ms;\n\n\t/*\n\t * Use CSS math to simulate container queries.\n\t * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t */\n\toverflow: hidden;\n\twidth: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\theight: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\n\t/* This is check icon element made from border-width mixed with animations. */\n\t&::after {\n\t\t/* Because of border transformation we need to "hard code" left position. */\n\t\tleft: 25%;\n\n\t\ttop: 50%;\n\t\topacity: 0;\n\t\theight: 0;\n\t\twidth: 0;\n\n\t\ttransform: scaleX(-1) rotate(135deg);\n\t\ttransform-origin: left top;\n\t\tborder-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\t\tborder-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\n\t\tanimation-name: ck-upload-complete-icon-check;\n\t\tanimation-duration: 500ms;\n\t\tanimation-delay: 500ms;\n\t\tanimation-fill-mode: forwards;\n\n\t\t/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */\n\t\tbox-sizing: border-box;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-show {\n\tfrom {\n\t\topacity: 0;\n\t}\n\n\tto {\n\t\topacity: 1;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-hide {\n\tfrom {\n\t\topacity: 1;\n\t}\n\n\tto {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-check {\n\t0% {\n\t\topacity: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t}\n\t33% {\n\t\twidth: 0.3em;\n\t\theight: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t\twidth: 0.3em;\n\t\theight: 0.45em;\n\t}\n}\n'],sourceRoot:""}]);const a=s},3773:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',"",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadloader.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css"],names:[],mappings:"AAKA,kCAGC,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAEvB,MAAO,CALP,iBAAkB,CAIlB,KAOD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCAAyC,CACzC,8CACD,CAEA,iCAGC,QAAS,CADT,UAgBD,CAbC,8CACC,sGACD,CAEA,qCAOC,4DACD,CAGD,kCAEC,WAAY,CADZ,UAWD,CARC,yCAMC,yDAA0D,CAH1D,iBAAkB,CAElB,kCAAmC,CADnC,8DAA+D,CAF/D,+CAAgD,CADhD,8CAMD,CAGD,wCACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-upload-placeholder-loader {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 0;\n\tleft: 0;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: relative;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);\n\t--ck-upload-placeholder-loader-size: 32px;\n\t--ck-upload-placeholder-image-aspect-ratio: 2.8;\n}\n\n.ck .ck-image-upload-placeholder {\n\t/* We need to control the full width of the SVG gray background. */\n\twidth: 100%;\n\tmargin: 0;\n\n\t&.image-inline {\n\t\twidth: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) );\n\t}\n\n\t& img {\n\t\t/*\n\t\t * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short.\n\t\t * There's nothing special about this number except that it should make the image placeholder look like\n\t\t * a real image during this short period after the upload started and before the image was read from the\n\t\t * file system (and a rich preview was loaded).\n\t\t */\n\t\taspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);\n\t}\n}\n\n.ck .ck-upload-placeholder-loader {\n\twidth: 100%;\n\theight: 100%;\n\n\t&::before {\n\t\twidth: var(--ck-upload-placeholder-loader-size);\n\t\theight: var(--ck-upload-placeholder-loader-size);\n\t\tborder-radius: 50%;\n\t\tborder-top: 3px solid var(--ck-color-upload-placeholder-loader);\n\t\tborder-right: 2px solid transparent;\n\t\tanimation: ck-upload-placeholder-loader 1s linear infinite;\n\t}\n}\n\n@keyframes ck-upload-placeholder-loader {\n\tto {\n\t\ttransform: rotate( 360deg );\n\t}\n}\n"],sourceRoot:""}]);const a=s},3689:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadprogress.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css"],names:[],mappings:"AAMC,qEAEC,iBACD,CAGA,uGAIC,MAAO,CAFP,iBAAkB,CAClB,KAED,CCRC,yFACC,oBACD,CAID,uGAIC,gDAAiD,CAFjD,UAAW,CAGX,oBAAuB,CAFvB,OAGD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\tposition: relative;\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\t/* Showing animation. */\n\t\t&.ck-appear {\n\t\t\tanimation: fadeIn 700ms;\n\t\t}\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\theight: 2px;\n\t\twidth: 0;\n\t\tbackground: var(--ck-color-upload-bar-background);\n\t\ttransition: width 100ms;\n\t}\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n"],sourceRoot:""}]);const a=s},1905:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/textalternativeform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-text-alternative-form {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},9773:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/link.css"],names:[],mappings:"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCAEC,gDAAiD,CADjD,WAAY,CAEZ,iBAAkB,CAClB,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Class added to span element surrounding currently selected link. */\n.ck .ck-link_selected {\n\tbackground: var(--ck-color-link-selected-background);\n\n\t/* Give linked inline images some outline to let the user know they are also part of the link. */\n\t& span.image-inline {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);\n\t}\n}\n\n/*\n * Classes used by the "fake visual selection" displayed in the content when an input\n * in the link UI has focus (the browser does not render the native selection in this state).\n */\n.ck .ck-fake-link-selection {\n\tbackground: var(--ck-color-link-fake-selection);\n}\n\n/* A collapsed fake visual selection. */\n.ck .ck-fake-link-selection_collapsed {\n\theight: 100%;\n\tborder-right: 1px solid var(--ck-color-base-text);\n\tmargin-right: -1px;\n\toutline: solid 1px hsla(0, 0%, 100%, .5);\n}\n'],sourceRoot:""}]);const a=s},2347:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{max-width:100%;min-width:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}","",{version:3,sources:["webpack://./../ckeditor5-link/theme/linkactions.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css"],names:[],mappings:"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCIA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EAEC,kCAAmC,CAEnC,cAAe,CAIf,+BAAgC,CAChC,aAAc,CARd,kCAAmC,CASnC,iBAAkB,CAPlB,sBAYD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDtDD,oCC0DC,wDACC,8DAMD,CAJC,0EAEC,cAAe,CADf,WAED,CAGD,gJAME,aAEF,CDzED",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-link-actions__preview {\n\t\tdisplay: inline-block;\n\n\t\t& .ck-button__label {\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-link-actions__preview {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\t& .ck-button.ck-link-actions__preview {\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\n\t\t& .ck-button__label {\n\t\t\tpadding: 0 var(--ck-spacing-medium);\n\t\t\tcolor: var(--ck-color-link-default);\n\t\t\ttext-overflow: ellipsis;\n\t\t\tcursor: pointer;\n\n\t\t\t/* Match the box model of the link editor form\'s input so the balloon\n\t\t\tdoes not change width when moving between actions and the form. */\n\t\t\tmax-width: var(--ck-input-width);\n\t\t\tmin-width: 3em;\n\t\t\ttext-align: center;\n\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t\t&,\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\tbackground: none;\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&:focus {\n\t\t\t& .ck-button__label {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-button:not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-button:not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\t& .ck-button.ck-link-actions__preview {\n\t\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n\n\t\t\t& .ck-button__label {\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},7754:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{min-width:var(--ck-input-width);padding:0}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical>.ck-button{border-radius:0;margin:0;padding:var(--ck-spacing-standard);width:50%}.ck.ck-link-form_layout-vertical>.ck-button:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form_layout-vertical>.ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:var(--ck-spacing-standard) var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}","",{version:3,sources:["webpack://./../ckeditor5-link/theme/linkform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css"],names:[],mappings:"AAOA,iBACC,YAiBD,CAfC,2BACC,YACD,CCNA,oCDCD,iBAQE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CCfD,CDuBD,iCACC,aAYD,CALE,wHAEC,mCACD,CE/BF,iCAEC,+BAAgC,CADhC,SAgDD,CA7CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CAIC,eAAgB,CAFhB,QAAS,CADT,kCAAmC,CAEnC,SAkBD,CAfC,wDACC,gDACD,CARD,4GAeE,aAMF,CAJE,mEACC,kDACD,CAKF,6CACC,yDAUD,CARC,wEACC,SAAU,CACV,UAKD,CAHC,8EACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-form {\n\tdisplay: flex;\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tdisplay: block;\n\n\t/*\n\t * Whether the form is in the responsive mode or not, if there are decorator buttons\n\t * keep the top margin of action buttons medium.\n\t */\n\t& .ck-button {\n\t\t&.ck-button-save,\n\t\t&.ck-button-cancel {\n\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tpadding: 0;\n\tmin-width: var(--ck-input-width);\n\n\t& .ck-labeled-field-view {\n\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);\n\n\t\t& .ck-input-text {\n\t\t\tmin-width: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t& > .ck-button {\n\t\tpadding: var(--ck-spacing-standard);\n\t\tmargin: 0;\n\t\twidth: 50%;\n\t\tborder-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: 0;\n\n\t\t\t&:last-of-type {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */\n\t& .ck.ck-list {\n\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-large);\n\n\t\t& .ck-button.ck-switchbutton {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\n\t\t\t&:hover {\n\t\t\t\tbackground: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},4652:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-content .media{clear:both;display:block;margin:.9em 0;min-width:15em}","",{version:3,sources:["webpack://./../ckeditor5-media-embed/theme/mediaembed.css"],names:[],mappings:"AAKA,mBAGC,UAAW,CASX,aAAc,CAJd,aAAe,CAQf,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .media {\n\t/* Don\'t allow floated content overlap the media.\n\thttps://github.com/ckeditor/ckeditor5-media-embed/issues/53 */\n\tclear: both;\n\n\t/* Make sure there is some space between the content and the media. */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em 0;\n\n\t/* Make sure media is not overriden with Bootstrap default `flex` value.\n\tSee: https://github.com/ckeditor/ckeditor5/issues/1373. */\n\tdisplay: block;\n\n\t/* Give the media some minimal width in the content to prevent them\n\tfrom being "squashed" in tight spaces, e.g. in table cells (#44) */\n\tmin-width: 15em;\n}\n'],sourceRoot:""}]);const a=s},7442:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck-media__wrapper .ck-media__placeholder{align-items:center;display:flex;flex-direction:column}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{display:block;overflow:hidden}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{background:var(--ck-color-base-foreground);padding:calc(var(--ck-spacing-standard)*3)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{background-position:50%;background-size:cover;height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);min-width:var(--ck-media-embed-placeholder-icon-size)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{height:100%;width:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);font-style:italic;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*="open.spotify.com"]{max-height:380px;max-width:300px}.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Im0yMDYuNDc3IDI2MC45LTI4Ljk4NyAyOC45ODdhNS4yMTggNS4yMTggMCAwIDAgMy43OCAxLjYxaDQ5LjYyMWMxLjY5NCAwIDMuMTktLjc5OCA0LjE0Ni0yLjAzN3oiIGZpbGw9IiM1Yzg4YzUiLz48cGF0aCBkPSJNMjI2Ljc0MiAyMjIuOTg4Yy05LjI2NiAwLTE2Ljc3NyA3LjE3LTE2Ljc3NyAxNi4wMTQuMDA3IDIuNzYyLjY2MyA1LjQ3NCAyLjA5MyA3Ljg3NS40My43MDMuODMgMS40MDggMS4xOSAyLjEwNy4zMzMuNTAyLjY1IDEuMDA1Ljk1IDEuNTA4LjM0My40NzcuNjczLjk1Ny45ODggMS40NCAxLjMxIDEuNzY5IDIuNSAzLjUwMiAzLjYzNyA1LjE2OC43OTMgMS4yNzUgMS42ODMgMi42NCAyLjQ2NiAzLjk5IDIuMzYzIDQuMDk0IDQuMDA3IDguMDkyIDQuNiAxMy45MTR2LjAxMmMuMTgyLjQxMi41MTYuNjY2Ljg3OS42NjcuNDAzLS4wMDEuNzY4LS4zMTQuOTMtLjc5OS42MDMtNS43NTYgMi4yMzgtOS43MjkgNC41ODUtMTMuNzk0Ljc4Mi0xLjM1IDEuNjczLTIuNzE1IDIuNDY1LTMuOTkgMS4xMzctMS42NjYgMi4zMjgtMy40IDMuNjM4LTUuMTY5LjMxNS0uNDgyLjY0NS0uOTYyLjk4OC0xLjQzOS4zLS41MDMuNjE3LTEuMDA2Ljk1LTEuNTA4LjM1OS0uNy43Ni0xLjQwNCAxLjE5LTIuMTA3IDEuNDI2LTIuNDAyIDItNS4xMTQgMi4wMDQtNy44NzUgMC04Ljg0NC03LjUxMS0xNi4wMTQtMTYuNzc2LTE2LjAxNHoiIGZpbGw9IiNkZDRiM2UiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PGVsbGlwc2Ugcnk9IjUuNTY0IiByeD0iNS44MjgiIGN5PSIyMzkuMDAyIiBjeD0iMjI2Ljc0MiIgZmlsbD0iIzgwMmQyNyIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMTkwLjMwMSAyMzcuMjgzYy00LjY3IDAtOC40NTcgMy44NTMtOC40NTcgOC42MDZzMy43ODYgOC42MDcgOC40NTcgOC42MDdjMy4wNDMgMCA0LjgwNi0uOTU4IDYuMzM3LTIuNTE2IDEuNTMtMS41NTcgMi4wODctMy45MTMgMi4wODctNi4yOSAwLS4zNjItLjAyMy0uNzIyLS4wNjQtMS4wNzloLTguMjU3djMuMDQzaDQuODVjLS4xOTcuNzU5LS41MzEgMS40NS0xLjA1OCAxLjk4Ni0uOTQyLjk1OC0yLjAyOCAxLjU0OC0zLjkwMSAxLjU0OC0yLjg3NiAwLTUuMjA4LTIuMzcyLTUuMjA4LTUuMjk5IDAtMi45MjYgMi4zMzItNS4yOTkgNS4yMDgtNS4yOTkgMS4zOTkgMCAyLjYxOC40MDcgMy41ODQgMS4yOTNsMi4zODEtMi4zOGMwLS4wMDItLjAwMy0uMDA0LS4wMDQtLjAwNS0xLjU4OC0xLjUyNC0zLjYyLTIuMjE1LTUuOTU1LTIuMjE1em00LjQzIDUuNjYuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0ibTIxNS4xODQgMjUxLjkyOS03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVhNS4yMzMgNS4yMzMgMCAwIDAgLjQ0OS0yLjEyM3YtMzEuMTY1Yy0uNDY5LjY3NS0uOTM0IDEuMzQ5LTEuMzgyIDIuMDA1LS43OTIgMS4yNzUtMS42ODIgMi42NC0yLjQ2NSAzLjk5LTIuMzQ3IDQuMDY1LTMuOTgyIDguMDM4LTQuNTg1IDEzLjc5NC0uMTYyLjQ4NS0uNTI3Ljc5OC0uOTMuNzk5LS4zNjMtLjAwMS0uNjk3LS4yNTUtLjg3OS0uNjY3di0uMDEyYy0uNTkzLTUuODIyLTIuMjM3LTkuODItNC42LTEzLjkxNC0uNzgzLTEuMzUtMS42NzMtMi43MTUtMi40NjYtMy45OS0xLjEzNy0xLjY2Ni0yLjMyNy0zLjQtMy42MzctNS4xNjlsLS4wMDItLjAwM3oiIGZpbGw9IiNjM2MzYzMiLz48cGF0aCBkPSJtMjEyLjk4MyAyNDguNDk1LTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOCA1LjIzOGgxLjAxNWwzNS42NjYtMzUuNjY2YTEzNi4yNzUgMTM2LjI3NSAwIDAgMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAgMC0uOTg5LTEuNDQgMzUuMTI3IDM1LjEyNyAwIDAgMC0uOTUtMS41MDhjLS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJtMjExLjk5OCAyNjEuMDgzLTYuMTUyIDYuMTUxIDI0LjI2NCAyNC4yNjRoLjc4MWE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OVptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OVoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzNabTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1Wk00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MDAgNDAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIHN0eWxlPSJmaWxsOiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}',"",{version:3,sources:["webpack://./../ckeditor5-media-embed/theme/mediaembedediting.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaembedediting.css"],names:[],mappings:"AAMC,0CAGC,kBAAmB,CAFnB,YAAa,CACb,qBAcD,CAXC,sEAEC,cAAe,CAEf,iBAMD,CAJC,wGAEC,aAAc,CADd,eAED,CAWD,6kBACC,YACD,CAYF,2LACC,mBACD,CC1CA,MACC,0CAA2C,CAE3C,mDAA4D,CAC5D,2EACD,CAEA,mBACC,aA+FD,CA7FC,0CAEC,0CAA2C,CAD3C,0CA6BD,CA1BC,uEAIC,uBAA2B,CAC3B,qBAAsB,CAHtB,kDAAmD,CACnD,qCAAsC,CAFtC,qDAUD,CAJC,gFAEC,WAAY,CADZ,UAED,CAGD,4EACC,sDAAuD,CAGvD,iBAAkB,CADlB,iBAAkB,CAElB,sBAAuB,CAHvB,kBAUD,CALC,kFACC,4DAA6D,CAC7D,cAAe,CACf,yBACD,CAIF,wDAEC,gBAAiB,CADjB,eAED,CAEA,4UAIC,wvGACD,CAEA,2EACC,kBAaD,CAXC,wGACC,orBACD,CAEA,6GACC,UAKD,CAHC,mHACC,UACD,CAIF,4EACC,2DAcD,CAZC,yGACC,4jHACD,CAGA,8GACC,aAKD,CAHC,oHACC,UACD,CAIF,6EAEC,iDAaD,CAXC,0GACC,wiCACD,CAEA,+GACC,aAKD,CAHC,qHACC,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-media__wrapper {\n\t& .ck-media__placeholder {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\n\t\t& .ck-media__placeholder__url {\n\t\t\t/* Otherwise the URL will overflow when the content is very narrow. */\n\t\t\tmax-width: 100%;\n\n\t\t\tposition: relative;\n\n\t\t\t& .ck-media__placeholder__url__text {\n\t\t\t\toverflow: hidden;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"],\n\t&[data-oembed-url*="google.com/maps"],\n\t&[data-oembed-url*="goo.gl/maps"],\n\t&[data-oembed-url*="maps.google.com"],\n\t&[data-oembed-url*="maps.app.goo.gl"],\n\t&[data-oembed-url*="facebook.com"],\n\t&[data-oembed-url*="instagram.com"] {\n\t\t& .ck-media__placeholder__icon * {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/* Disable all mouse interaction as long as the editor is not read–only.\n https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */\n.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) {\n\tpointer-events: none;\n}\n\n/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident).\n https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */\n.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder {\n\tpointer-events: none;\n}\n','/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-media-embed-placeholder-icon-size: 3em;\n\n\t--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);\n\t--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);\n}\n\n.ck-media__wrapper {\n\tmargin: 0 auto;\n\n\t& .ck-media__placeholder {\n\t\tpadding: calc( 3 * var(--ck-spacing-standard) );\n\t\tbackground: var(--ck-color-base-foreground);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tmin-width: var(--ck-media-embed-placeholder-icon-size);\n\t\t\theight: var(--ck-media-embed-placeholder-icon-size);\n\t\t\tmargin-bottom: var(--ck-spacing-large);\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: cover;\n\n\t\t\t& .ck-icon {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text);\n\t\t\twhite-space: nowrap;\n\t\t\ttext-align: center;\n\t\t\tfont-style: italic;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text-hover);\n\t\t\t\tcursor: pointer;\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="open.spotify.com"] {\n\t\tmax-width: 300px;\n\t\tmax-height: 380px;\n\t}\n\n\t&[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon {\n\t\tbackground-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);\n\t}\n\n\t&[data-oembed-url*="facebook.com"] .ck-media__placeholder {\n\t\tbackground: hsl(220, 46%, 48%);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(220, 100%, 90%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="instagram.com"] .ck-media__placeholder {\n\t\tbackground: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%));\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);\n\t\t}\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(302, 100%, 94%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder {\n\t\t/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */\n\t\tbackground: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) );\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(201, 100%, 86%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},9292:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-media-form{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./../ckeditor5-media-embed/theme/mediaform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,kBAEC,sBAAuB,CADvB,YAAa,CAEb,kBAAmB,CACnB,gBAqBD,CAnBC,yCACC,oBACD,CAEA,4BACC,YACD,CCbA,oCDCD,kBAeE,cAUF,CARE,yCACC,eACD,CAEA,6BACC,cACD,CCtBD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-media-form {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},1613:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/inserttable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css"],names:[],mappings:"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,qCACC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAUD,CARC,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-insert-table-dropdown__grid {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-insert-table-dropdown-padding: 10px;\n\t--ck-insert-table-dropdown-box-height: 11px;\n\t--ck-insert-table-dropdown-box-width: 12px;\n\t--ck-insert-table-dropdown-box-margin: 1px;\n}\n\n.ck .ck-insert-table-dropdown__grid {\n\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\n\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\n\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\n}\n\n.ck .ck-insert-table-dropdown__label {\n\ttext-align: center;\n}\n\n.ck .ck-insert-table-dropdown-grid-box {\n\tmin-width: var(--ck-insert-table-dropdown-box-width);\n\tmin-height: var(--ck-insert-table-dropdown-box-height);\n\tmargin: var(--ck-insert-table-dropdown-box-margin);\n\tborder: 1px solid var(--ck-color-base-border);\n\tborder-radius: 1px;\n\toutline: none;\n\ttransition: none;\n\n\t&:focus {\n\t\tbox-shadow: none;\n\t}\n\n\t&.ck-on {\n\t\tborder-color: var(--ck-color-focus-border);\n\t\tbackground: var(--ck-color-focus-outer-shadow);\n\t}\n}\n\n"],sourceRoot:""}]);const a=s},6306:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/table.css"],names:[],mappings:"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,0BAA+B,CAD/B,eAED,CAMF,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .table {\n\t/* Give the table widget some air and center it horizontally */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em auto;\n\tdisplay: table;\n\n\t& table {\n\t\t/* The table cells should have slight borders */\n\t\tborder-collapse: collapse;\n\t\tborder-spacing: 0;\n\n\t\t/* Table width and height are set on the parent
. Make sure the table inside stretches\n\t\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\t/* The outer border of the table should be slightly darker than the inner lines.\n\t\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\n\t\tborder: 1px double hsl(0, 0%, 70%);\n\n\t\t& td,\n\t\t& th {\n\t\t\tmin-width: 2em;\n\t\t\tpadding: .4em;\n\n\t\t\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it\'s not necessary here.\n\t\t\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\n\t\t\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\n\t\t\tborder: 1px solid hsl(0, 0%, 75%);\n\t\t}\n\n\t\t& th {\n\t\t\tfont-weight: bold;\n\t\t\tbackground: hsla(0, 0%, 0%, 5%);\n\t\t}\n\t}\n}\n\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\nwhen content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\n.ck-content[dir="rtl"] .table th {\n\ttext-align: right;\n}\n\n.ck-content[dir="ltr"] .table th {\n\ttext-align: left;\n}\n\n.ck-editor__editable .ck-table-bogus-paragraph {\n\t/*\n\t * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.\n\t * See https://github.com/ckeditor/ckeditor5/issues/6062.\n\t */\n\tdisplay: inline-block;\n\n\t/*\n\t * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.\n\t * See https://github.com/ckeditor/ckeditor5/issues/9117.\n\t */\n\twidth: 100%;\n}\n'],sourceRoot:""}]);const a=s},3881:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-color-table-focused-cell-background:rgba(158,201,250,.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-table-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css"],names:[],mappings:"AAKA,MACC,6DACD,CAKE,8QAGC,wDAAyD,CAKzD,iBAAkB,CAClB,8CAA+C,CAC/C,mBACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-table-focused-cell-background: hsla(212, 90%, 80%, .3);\n}\n\n.ck-widget.table {\n\t& td,\n\t& th {\n\t\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\n\t\t&.ck-editor__nested-editable:focus {\n\t\t\t/* A very slight background to highlight the focused cell */\n\t\t\tbackground: var(--ck-color-table-focused-cell-background);\n\n\t\t\t/* Fixes the problem where surrounding cells cover the focused cell's border.\n\t\t\tIt does not fix the problem in all places but the UX is improved.\n\t\t\tSee https://github.com/ckeditor/ckeditor5-table/issues/29. */\n\t\t\tborder-style: none;\n\t\t\toutline: 1px solid var(--ck-color-focus-border);\n\t\t\toutline-offset: -1px; /* progressive enhancement - no IE support */\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},6945:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',"",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css"],names:[],mappings:"AAKA,MACC,wDACD,CAGC,0IAKC,gBAAiB,CAFjB,uBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,4BACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);\n}\n\n.ck.ck-editor__editable .table table {\n\t& td.ck-editor__editable_selected,\n\t& th.ck-editor__editable_selected {\n\t\tposition: relative;\n\t\tcaret-color: transparent;\n\t\toutline: unset;\n\t\tbox-shadow: unset;\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tpointer-events: none;\n\t\t\tbackground-color: var(--ck-table-selected-cell-background);\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t}\n\n\t\t& ::selection,\n\t\t&:focus {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t/*\n\t\t * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9491.\n\t\t */\n\t\t& .ck-widget {\n\t\t\toutline: unset;\n\n\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},4906:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;justify-content:left;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{-webkit-appearance:none;border:1px solid transparent;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:var(--ck-spacing-small);margin-right:calc(var(--ck-spacing-small)*-1)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{color:var(--ck-color-button-on-color)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/button/button.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAOA,6BAMC,kBAAmB,CADnB,mBAAoB,CAEpB,oBAAqB,CAHrB,iBAAkB,CCFlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDkBD,CAdC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEjBD,6BCAC,oDD4ID,CCzIE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CDfD,6BEDC,eF6ID,CA5IA,wIEGE,qCFyIF,CA5IA,6BA6BC,uBAAwB,CANxB,4BAA6B,CAjB7B,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAuID,CA7GC,oFGhCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHqCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAYD,CAbA,6FAIE,mCASF,CAbA,6FAQE,oCAKF,CAbA,yEAWC,eAAiB,CACjB,UACD,CAIC,oIIrFD,oDJyFC,CAOA,gLKhGD,kCLkGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAQE,mCAAoC,CADpC,6CAGF,CAKA,mHACC,WACD,CAID,yCC/HA,+CDmIA,CChIC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CDgHA,yCAGC,qCACD,CAEA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC/IC,mDDoJD,CCjJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CDgID,2CAIC,wCACD,CAEA,uCAEC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-unselectable;\n\n\tposition: relative;\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: left;\n\n\t& .ck-button__label {\n\t\tdisplay: none;\n\t}\n\n\t&.ck-button_with-text {\n\t\t& .ck-button__label {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t/* Center the icon horizontally in a button without text. */\n\t&:not(.ck-button_with-text) {\n\t\tjustify-content: center;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-button-colors --ck-color-button-default;\n\t@mixin ck-rounded-corners;\n\n\twhite-space: nowrap;\n\tcursor: default;\n\tvertical-align: middle;\n\tpadding: var(--ck-spacing-tiny);\n\ttext-align: center;\n\n\t/* A very important piece of styling. Go to variable declaration to learn more. */\n\tmin-width: var(--ck-ui-component-min-height);\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Normalize the height of the line. Removing this will break consistent height\n\tamong text and text-less buttons (with icons). */\n\tline-height: 1;\n\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t/* Avoid flickering when the foucs border shows up. */\n\tborder: 1px solid transparent;\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\n\t-webkit-appearance: none;\n\n\t&:active,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t/* Allow icon coloring using the text "color" property. */\n\t& .ck-button__icon {\n\t\t& use,\n\t\t& use * {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\n\t& .ck-button__label {\n\t\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\t\tfont-size: inherit;\n\t\tfont-weight: inherit;\n\t\tcolor: inherit;\n\t\tcursor: inherit;\n\n\t\t/* Must be consistent with .ck-icon\'s vertical align. Otherwise, buttons with and\n\t\twithout labels (but with icons) have different sizes in Chrome */\n\t\tvertical-align: middle;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& .ck-button__keystroke {\n\t\tcolor: inherit;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t}\n\n\t\tfont-weight: bold;\n\t\topacity: .7;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t&.ck-disabled {\n\t\t&:active,\n\t\t&:focus {\n\t\t\t/* The disabled button should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t\t& .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t& .ck-button__keystroke {\n\t\t\topacity: .3;\n\t\t}\n\t}\n\n\t&.ck-button_with-text {\n\t\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-button_with-keystroke {\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__label {\n\t\t\tflex-grow: 1;\n\t\t}\n\t}\n\n\t/* A style of the button which is currently on, e.g. its feature is active. */\n\t&.ck-on {\n\t\t@mixin ck-button-colors --ck-color-button-on;\n\n\t\tcolor: var(--ck-color-button-on-color);\n\t}\n\n\t&.ck-button-save {\n\t\tcolor: var(--ck-color-button-save);\n\t}\n\n\t&.ck-button-cancel {\n\t\tcolor: var(--ck-color-button-cancel);\n\t}\n}\n\n/* A style of the button which handles the primary action. */\n.ck.ck-button-action,\na.ck.ck-button-action {\n\t@mixin ck-button-colors --ck-color-button-action;\n\n\tcolor: var(--ck-color-button-action-text);\n}\n\n.ck.ck-button-bold,\na.ck.ck-button-bold {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements a button of given background color.\n *\n * @param {String} $background - Background color of the button.\n * @param {String} $border - Border color of the button.\n */\n@define-mixin ck-button-colors $prefix {\n\tbackground: var($(prefix)-background);\n\n\t&:not(.ck-disabled) {\n\t\t&:hover {\n\t\t\tbackground: var($(prefix)-hover-background);\n\t\t}\n\n\t\t&:active {\n\t\t\tbackground: var($(prefix)-active-background);\n\t\t}\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t&.ck-disabled {\n\t\tbackground: var($(prefix)-disabled-background);\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const a=s},5332:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:calc(1.07692em + 1px);--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px);--ck-switch-button-inner-hover-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{background:var(--ck-color-switch-button-off-background);border:1px solid transparent;transition:background .4s ease,box-shadow .2s ease-in-out,outline .2s ease-in-out;width:var(--ck-switch-button-toggle-width)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);height:var(--ck-switch-button-toggle-inner-size);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:var(--ck-switch-button-inner-hover-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton:focus{border-color:transparent;box-shadow:none;outline:none}.ck.ck-button.ck-switchbutton:focus .ck-button__toggle{box-shadow:0 0 0 1px var(--ck-color-base-background),0 0 0 5px var(--ck-color-focus-outer-shadow);outline:var(--ck-focus-ring);outline-offset:1px}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var( --ck-switch-button-translation ))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var( --ck-switch-button-translation )*-1))}.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton:active{background:transparent}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/button/switchbutton.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAGC,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDC3BA,eDmEA,CAxCA,yICvBC,qCD+DD,CAxCA,2DAKE,gBAmCF,CAxCA,2DAUE,iBA8BF,CAxCA,iDAkBC,uDAAwD,CAFxD,4BAA6B,CAD7B,iFAAsF,CAEtF,0CAuBD,CApBC,2EC/CD,eD0DC,CAXA,6LC3CA,qCAAsC,CD6CpC,8CASF,CAXA,2EAOC,yDAA0D,CAD1D,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAMD,CAEA,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DEvEA,kCFyEA,CAGA,oCACC,wBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAIA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,2DAMF,CAXA,2FASE,oEAEF,CAKF,gFACC,sBACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-button.ck-switchbutton {\n\t& .ck-button__toggle {\n\t\tdisplay: block;\n\n\t\t& .ck-button__toggle__inner {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\nof the component, floating–point numbers have been used which, for the default font size\n(see: --ck-font-size-base), will generate simple integers. */\n:root {\n\t/* 34px at 13px font-size */\n\t--ck-switch-button-toggle-width: 2.6153846154em;\n\t/* 14px at 13px font-size */\n\t--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);\n\t--ck-switch-button-translation: calc(\n\t\tvar(--ck-switch-button-toggle-width) -\n\t\tvar(--ck-switch-button-toggle-inner-size) -\n\t\t2px /* Border */\n\t);\n\t--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\n}\n\n.ck.ck-button.ck-switchbutton {\n\t& .ck-button__label {\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-right: calc(2 * var(--ck-spacing-large));\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-left: calc(2 * var(--ck-spacing-large));\n\t\t}\n\t}\n\n\t& .ck-button__toggle {\n\t\t@mixin ck-rounded-corners;\n\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Make sure the toggle is always to the right as far as possible. */\n\t\t\tmargin-left: auto;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Make sure the toggle is always to the left as far as possible. */\n\t\t\tmargin-right: auto;\n\t\t}\n\n\t\t/* Apply some smooth transition to the box-shadow and border. */\n\t\t/* Gently animate the background color of the toggle switch */\n\t\ttransition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;\n\t\tborder: 1px solid transparent;\n\t\twidth: var(--ck-switch-button-toggle-width);\n\t\tbackground: var(--ck-color-switch-button-off-background);\n\n\t\t& .ck-button__toggle__inner {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-radius: calc(.5 * var(--ck-border-radius));\n\t\t\t}\n\n\t\t\twidth: var(--ck-switch-button-toggle-inner-size);\n\t\t\theight: var(--ck-switch-button-toggle-inner-size);\n\t\t\tbackground: var(--ck-color-switch-button-inner-background);\n\n\t\t\t/* Gently animate the inner part of the toggle switch */\n\t\t\ttransition: all 300ms ease;\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground: var(--ck-color-switch-button-off-hover-background);\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\tbox-shadow: var(--ck-switch-button-inner-hover-shadow);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-button__toggle {\n\t\t@mixin ck-disabled;\n\t}\n\n\t/* Overriding default .ck-button:focus styles + an outline around the toogle */\n\t&:focus {\n\t\tborder-color: transparent;\n\t\toutline: none;\n\t\tbox-shadow: none;\n\n\t\t& .ck-button__toggle {\n\t\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);\n\t\t\toutline-offset: 1px;\n\t\t\toutline: var(--ck-focus-ring);\n\t\t}\n\t}\n\n\t&.ck-on {\n\t\t& .ck-button__toggle {\n\t\t\tbackground: var(--ck-color-switch-button-on-background);\n\n\t\t\t&:hover {\n\t\t\t\tbackground: var(--ck-color-switch-button-on-hover-background);\n\t\t\t}\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\t/*\n\t\t\t\t* Move the toggle switch to the right. It will be animated.\n\t\t\t\t*/\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\ttransform: translateX( var( --ck-switch-button-translation ) );\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Regular buttons get a backgound when active. Switch buttons announce that through the switch toggle instead */\n\t&:active, &.ck-on:active {\n\t\tbackground: transparent;\n\t}\n\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const a=s},6781:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#166fd4}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-color-grid-tile-size)}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile.ck-color-table__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile .ck.ck-icon{color:var(--ck-color-color-grid-check-icon);display:none}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/colorgrid/colorgrid.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css"],names:[],mappings:"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBAOC,QAAS,CALT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CACV,8BAA+B,CAL/B,oCAyCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,4DACC,gDACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-color-grid {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-grid-tile-size: 24px;\n\n\t/* Not using global colors here because these may change but some colors in a pallette\n\t * require special treatment. For instance, this ensures no matter what the UI text color is,\n\t * the check icon will look good on the black color tile. */\n\t--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);\n}\n\n.ck.ck-color-grid {\n\tgrid-gap: 5px;\n\tpadding: 8px;\n}\n\n.ck.ck-color-grid__tile {\n\twidth: var(--ck-color-grid-tile-size);\n\theight: var(--ck-color-grid-tile-size);\n\tmin-width: var(--ck-color-grid-tile-size);\n\tmin-height: var(--ck-color-grid-tile-size);\n\tpadding: 0;\n\ttransition: .2s ease box-shadow;\n\tborder: 0;\n\n\t&.ck-disabled {\n\t\tcursor: unset;\n\t\ttransition: unset;\n\t}\n\n\t&.ck-color-table__color-tile_bordered {\n\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\n\t}\n\n\t& .ck.ck-icon {\n\t\tdisplay: none;\n\t\tcolor: var(--ck-color-color-grid-check-icon);\n\t}\n\n\t&.ck-on {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\n\n\t\t& .ck.ck-icon {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t&.ck-on,\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\t/* Disable the default .ck-button\'s border ring. */\n\t\tborder: 0;\n\t}\n\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\n\t}\n}\n\n.ck.ck-color-grid__label {\n\tpadding: 0 var(--ck-spacing-standard);\n}\n'],sourceRoot:""}]);const a=s},5485:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-dropdown__panel{display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-modal)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{bottom:auto;top:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-modal) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{overflow:hidden;text-overflow:ellipsis;width:7em}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/dropdown.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eH8GD,CA5BA,qFG9EE,qCH0GF,CA5BA,uBAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CE1FT,oCAA8B,CF6F9B,cAmBD,CAfC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-dropdown-max-width: 75vw;\n}\n\n.ck.ck-dropdown {\n\tdisplay: inline-block;\n\tposition: relative;\n\n\t& .ck-dropdown__arrow {\n\t\tpointer-events: none;\n\t\tz-index: var(--ck-z-default);\n\t}\n\n\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\n\t& .ck-button.ck-dropdown__button {\n\t\twidth: 100%;\n\t}\n\n\t& .ck-dropdown__panel {\n\t\tdisplay: none;\n\t\tz-index: var(--ck-z-modal);\n\t\tmax-width: var(--ck-dropdown-max-width);\n\n\t\tposition: absolute;\n\n\t\t&.ck-dropdown__panel-visible {\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_n,\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_nme {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-dropdown__panel_se,\n\t\t&.ck-dropdown__panel_sw,\n\t\t&.ck-dropdown__panel_smw,\n\t\t&.ck-dropdown__panel_sme,\n\t\t&.ck-dropdown__panel_s {\n\t\t\t/*\n\t\t\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\n\t\t\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\n\t\t\t */\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_se {\n\t\t\tleft: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_sw {\n\t\t\tright: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_s,\n\t\t&.ck-dropdown__panel_n {\n\t\t\t/* Positioning panels relative to the center of the button */\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_smw {\n\t\t\t/* Positioning panels relative to the middle-west of the button */\n\t\t\tleft: 75%;\n\t\t\ttransform: translateX(-75%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nme,\n\t\t&.ck-dropdown__panel_sme {\n\t\t\t/* Positioning panels relative to the middle-east of the button */\n\t\t\tleft: 25%;\n\t\t\ttransform: translateX(-25%);\n\t\t}\n\t}\n}\n\n/*\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\n * See https://github.com/ckeditor/ckeditor5/issues/7874\n */\n.ck.ck-toolbar .ck-dropdown__panel {\n\tz-index: calc( var(--ck-z-modal) + 1 );\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-dropdown {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-dropdown__arrow {\n\t\twidth: var(--ck-dropdown-arrow-size);\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-dropdown__arrow {\n\t\t\tright: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-dropdown__arrow {\n\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-dropdown__arrow {\n\t\t@mixin ck-disabled;\n\t}\n\n\t& .ck-button.ck-dropdown__button {\n\t\t@mixin ck-dir ltr {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t/* #23 */\n\t\t& .ck-button__label {\n\t\t\twidth: 7em;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t\t&.ck-disabled .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\n\t\t&.ck-on {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t&.ck-dropdown__button_label-width_auto .ck-button__label {\n\t\t\twidth: auto;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\n\t\t&.ck-off:active,\n\t\t&.ck-on:active {\n\t\t\tbox-shadow: none;\n\t\t\t\n\t\t\t&:focus {\n\t\t\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-dropdown__panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\n\t/* Make sure the panel is at least as wide as the drop-down\'s button. */\n\tmin-width: 100%;\n\n\t/* Disabled corner border radius to be consistent with the .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-dropdown__panel_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},3949:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBAIF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-dropdown .ck-dropdown__panel .ck-list {\n\t/* Disabled radius of top-left border to be consistent with .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t/* Make sure the button belonging to the first/last child of the list goes well with the\n\tborder radius of the entire panel. */\n\t& .ck-list__item {\n\t\t&:first-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\n\t\t&:last-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},7686:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:"";height:100%;position:absolute;width:1px}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/splitbutton.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAMC,oIAKE,gCAAiC,CADjC,6BASF,CAbA,oIAWE,+BAAgC,CADhC,4BAGF,CAEA,0CAGC,eAiBD,CApBA,oDAQE,+BAAgC,CADhC,4BAaF,CApBA,oDAcE,gCAAiC,CADjC,6BAOF,CAHC,8CACC,mCACD,CASA,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGC,kLACC,SACD,CAIA,kLACC,UACD,CAMF,uCC7EA,eDuFA,CAVA,qHCzEC,qCDmFD,CARE,qKACC,2BACD,CAEA,mKACC,4BACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-splitbutton {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-splitbutton__action:focus {\n\t\tz-index: calc(var(--ck-z-default) + 1);\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\n\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\n}\n\n.ck.ck-splitbutton {\n\t/*\n\t * Note: ck-rounded and ck-dir mixins don\'t go together (because they both use @nest).\n\t */\n\t&:hover > .ck-splitbutton__action,\n\t&.ck-splitbutton_open > .ck-splitbutton__action {\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the action button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the action button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\t}\n\n\t& > .ck-splitbutton__arrow {\n\t\t/* It\'s a text-less button and since the icon is positioned absolutely in such situation,\n\t\tit must get some arbitrary min-width. */\n\t\tmin-width: unset;\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the arrow button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the arrow button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t& svg {\n\t\t\twidth: var(--ck-dropdown-arrow-size);\n\t\t}\n\t}\n\n\t/* When the split button is "open" (the arrow is on) or being hovered, it should get some styling\n\tas a whole. The background of both buttons should stand out and there should be a visual\n\tseparation between both buttons. */\n\t&.ck-splitbutton_open,\n\t&:hover {\n\t\t/* When the split button hovered as a whole, not as individual buttons. */\n\t\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\n\t\t\tbackground: var(--ck-color-split-button-hover-background);\n\t\t}\n\n\t\t/* Splitbutton separator needs to be set with the ::after pseudoselector\n\t\tto display properly the borders on focus */\n\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\tcontent: \'\';\n\t\t\tposition: absolute;\n\t\t\twidth: 1px;\n\t\t\theight: 100%;\n\t\t\tbackground-color: var(--ck-color-split-button-hover-border);\n\t\t}\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tleft: -1px;\n\t\t\t}\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tright: -1px;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Don\'t round the bottom left and right corners of the buttons when "open"\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-splitbutton_open {\n\t\t@mixin ck-rounded-corners {\n\t\t\t& > .ck-splitbutton__action {\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t}\n\n\t\t\t& > .ck-splitbutton__arrow {\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},7339:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/toolbardropdown.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css"],names:[],mappings:"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-toolbar-dropdown-max-width: 60vw;\n}\n\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\n\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\n\twidth: max-content;\n\tmax-width: var(--ck-toolbar-dropdown-max-width);\n\n\t& .ck-button {\n\t\t&:focus {\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-toolbar-dropdown .ck-toolbar {\n\tborder: 0;\n}\n"],sourceRoot:""}]);const a=s},9688:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-base-foreground)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-base-foreground)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,4BAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,mDACD,CAIA,gEACC,gDACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_focus.css";\n@import "../../mixins/_button.css";\n\n:root {\n\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\n}\n\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\n\t@mixin ck-rounded-corners;\n\n\t&.ck-focused {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t}\n}\n\n.ck.ck-editor__editable_inline {\n\toverflow: auto;\n\tpadding: 0 var(--ck-spacing-standard);\n\tborder: 1px solid transparent;\n\n\t&[dir="ltr"] {\n\t\ttext-align: left;\n\t}\n\n\t&[dir="rtl"] {\n\t\ttext-align: right;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\n\t& > *:first-child {\n\t\tmargin-top: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\n\t& > *:last-child {\n\t\t/*\n\t\t * This value should match with the default margins of the block elements (like .media or .image)\n\t\t * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).\n\t\t */\n\t\tmargin-bottom: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\n\t&.ck-blurred ::selection {\n\t\tbackground: var(--ck-color-editable-blur-selection);\n\t}\n}\n\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"] {\n\t&::after {\n\t\tborder-bottom-color: var(--ck-color-base-foreground);\n\t}\n}\n\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"] {\n\t&::after {\n\t\tborder-top-color: var(--ck-color-base-foreground);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},8847:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}:root{--ck-form-header-height:38px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}.ck.ck-form__header .ck-form__header__label{font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/formheader/formheader.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css"],names:[],mappings:"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BACD,CCNA,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAQD,CAHC,4CACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form__header {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\talign-items: center;\n\tjustify-content: space-between;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-form-header-height: 38px;\n}\n\n.ck.ck-form__header {\n\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\n\theight: var(--ck-form-header-height);\n\tline-height: var(--ck-form-header-height);\n\tborder-bottom: 1px solid var(--ck-color-base-border);\n\n\t& .ck-form__header__label {\n\t\tfont-weight: bold;\n\t}\n}\n"],sourceRoot:""}]);const a=s},6574:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{font-size:.8333350694em;height:var(--ck-icon-size);width:var(--ck-icon-size);will-change:transform}.ck.ck-icon,.ck.ck-icon *{color:inherit;cursor:inherit}.ck.ck-icon :not([fill]){fill:currentColor}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/icon/icon.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css"],names:[],mappings:"AAKA,YACC,qBACD,CCFA,MACC,0EACD,CAEA,YAKC,uBAAwB,CAHxB,0BAA2B,CAD3B,yBAA0B,CAY1B,qBAcD,CAZC,0BARA,aAAc,CAGd,cAgBA,CAJC,yBAEC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-icon {\n\tvertical-align: middle;\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\n}\n\n.ck.ck-icon {\n\twidth: var(--ck-icon-size);\n\theight: var(--ck-icon-size);\n\n\t/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */\n\tfont-size: .8333350694em;\n\n\tcolor: inherit;\n\n\t/* Inherit cursor style (#5). */\n\tcursor: inherit;\n\n\t/* This will prevent blurry icons on Firefox. See #340. */\n\twill-change: transform;\n\n\t& * {\n\t\t/* Inherit cursor style (#5). */\n\t\tcursor: inherit;\n\n\t\t/* Allows dynamic coloring of the icons. */\n\t\tcolor: inherit;\n\n\t\t&:not([fill]) {\n\t\t\t/* Needed by FF. */\n\t\t\tfill: currentColor;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},4879:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{border-radius:0}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aCLC,eD2CD,CAtCA,iECDE,qCDuCF,CAtCA,aAGC,2CAA4C,CAC5C,6CAA8C,CAK9C,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DA0BD,CAxBC,mBEnBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YFuBA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BG/BD,oDHkCC,CAGD,sBAEC,sCAAuC,CADvC,+CAMD,CAHC,4BGzCD,iDH2CC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-input-width: 18em;\n\n\t/* Backward compatibility. */\n\t--ck-input-text-width: var(--ck-input-width);\n}\n\n.ck.ck-input {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-input-background);\n\tborder: 1px solid var(--ck-color-input-border);\n\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\n\tmin-width: var(--ck-input-width);\n\n\t/* This is important to stay of the same height as surrounding buttons */\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\n\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t&[readonly] {\n\t\tborder: 1px solid var(--ck-color-input-disabled-border);\n\t\tbackground: var(--ck-color-input-disabled-background);\n\t\tcolor: var(--ck-color-input-disabled-text);\n\n\t\t&:focus {\n\t\t\t/* The read-only input should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\tborder-color: var(--ck-color-input-error-border);\n\t\tanimation: ck-input-shake .3s ease both;\n\n\t\t&:focus {\n\t\t\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\n\t\t}\n\t}\n}\n\n@keyframes ck-input-shake {\n\t20% {\n\t\ttransform: translateX(-2px);\n\t}\n\n\t40% {\n\t\ttransform: translateX(2px);\n\t}\n\n\t60% {\n\t\ttransform: translateX(-1px);\n\t}\n\n\t80% {\n\t\ttransform: translateX(1px);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},3662:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/label/label.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css"],names:[],mappings:"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tdisplay: block;\n}\n\n.ck.ck-voice-label {\n\tdisplay: none;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);const a=s},2577:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-spacing-medium),calc(var(--ck-font-size-base)*.6)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-spacing-medium)*-1),calc(var(--ck-font-size-base)*.6)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,yEACD,CAEA,0BCHC,eD4GD,CAzGA,2FCCE,qCDwGF,CAtGC,mEACC,UAmCD,CAjCC,gFACC,KA+BD,CAhCA,0FAIE,MA4BF,CAhCA,0FAQE,OAwBF,CAhCA,gFAiBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAP9C,mBAAoB,CAYpB,sBAAuB,CARvB,6DAA+D,CAH/D,oBAAqB,CAgBrB,+JAID,CAQA,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,oUAGE,wFAYF,CAfA,oUAOE,iGAQF,CAfA,gTAaC,sBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CAKA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-labeled-field-view {\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\tdisplay: flex;\n\t\tposition: relative;\n\t}\n\n\t& .ck.ck-label {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\n\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\n\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\n}\n\n.ck.ck-labeled-field-view {\n\t@mixin ck-rounded-corners;\n\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\twidth: 100%;\n\n\t\t& > .ck.ck-label {\n\t\t\ttop: 0px;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: 0px;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: 0px;\n\t\t\t}\n\n\t\t\tpointer-events: none;\n\t\t\ttransform-origin: 0 0;\n\n\t\t\t/* By default, display the label scaled down above the field. */\n\t\t\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\n\n\t\t\tbackground: var(--ck-color-labeled-field-label-background);\n\t\t\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\n\t\t\tline-height: initial;\n\t\t\tfont-weight: normal;\n\n\t\t\t/* Prevent overflow when the label is longer than the input */\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\n\t\t\tmax-width: 100%;\n\n\t\t\ttransition:\n\t\t\t\ttransform var(--ck-labeled-field-view-transition),\n\t\t\t\tpadding var(--ck-labeled-field-view-transition),\n\t\t\t\tbackground var(--ck-labeled-field-view-transition);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\n\t\t& .ck-input:not([readonly]) + .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t& .ck-labeled-field-view__status {\n\t\tfont-size: var(--ck-font-size-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\n\t\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\n\t\tThe status could be very long. */\n\t\twhite-space: normal;\n\n\t\t&.ck-labeled-field-view__status_error {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t/* Disabled fields and fields that have no focus should fade out. */\n\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\tcolor: var(--ck-color-input-disabled-text);\n\t}\n\n\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-disabled.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t@mixin ck-dir ltr {\n\t\t\ttransform: translate(var(--ck-spacing-medium), calc(0.6 * var(--ck-font-size-base))) scale(1);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttransform: translate(calc(-1 * var(--ck-spacing-medium)), calc(0.6 * var(--ck-font-size-base))) scale(1);\n\t\t}\n\n\t\t/* Compensate for the default translate position. */\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\n\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\n\n\t/* Make sure dropdown\' background color in any of dropdown\'s state does not collide with labeled field. */\n\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\n\t\tbackground: transparent;\n\t}\n\n\t/* When the dropdown is "empty", the labeled field label replaces its label. */\n\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\n\t\topacity: 0;\n\t}\n\n\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},1046:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{background:var(--ck-color-list-background);list-style-type:none}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{border-radius:0;min-height:unset;padding:calc(var(--ck-line-height-base)*.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*.4*var(--ck-font-size-base));text-align:left;width:100%}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(var(--ck-line-height-base)*1.2*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-switchbutton):not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;width:100%}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/list/list.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEfD,YCEC,eDGD,CALA,+DCME,qCDDF,CALA,YAIC,0CAA2C,CAD3C,oBAED,CAEA,kBACC,cAAe,CACf,cA2DD,CAzDC,6BAIC,eAAgB,CAHhB,gBAAiB,CAQjB,iIAEiE,CARjE,eAAgB,CADhB,UAwCD,CA7BC,+CAEC,yEACD,CAEA,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,iFACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,uBAGC,sCAAuC,CAFvC,UAAW,CACX,UAED",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-list {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t& .ck-list__item,\n\t& .ck-list__separator {\n\t\tdisplay: block;\n\t}\n\n\t/* Make sure that whatever child of the list item gets focus, it remains on the\n\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\n\tadjacent list items. */\n\t& .ck-list__item > *:focus {\n\t\tposition: relative;\n\t\tz-index: var(--ck-z-default);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n\n.ck.ck-list {\n\t@mixin ck-rounded-corners;\n\n\tlist-style-type: none;\n\tbackground: var(--ck-color-list-background);\n}\n\n.ck.ck-list__item {\n\tcursor: default;\n\tmin-width: 12em;\n\n\t& .ck-button {\n\t\tmin-height: unset;\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t\tborder-radius: 0;\n\n\t\t/* List items should have the same height. Use absolute units to make sure it is so\n\t\t because e.g. different heading styles may have different height\n\t\t https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\tpadding:\n\t\t\tcalc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base))\n\t\t\tcalc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));\n\n\t\t& .ck-button__label {\n\t\t\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\t\tline-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base));\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-button-on-background);\n\t\t\tcolor: var(--ck-color-list-button-on-text);\n\n\t\t\t&:active {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-on-background-focus);\n\t\t\t}\n\n\t\t\t&:focus:not(.ck-switchbutton):not(.ck-disabled) {\n\t\t\t\tborder-color: var(--ck-color-base-background);\n\t\t\t}\n\t\t}\n\n\t\t&:hover:not(.ck-disabled) {\n\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t}\n\t}\n\n\t/* It\'s unnecessary to change the background/text of a switch toggle; it has different ways\n\tof conveying its state (like the switcher) */\n\t& .ck-switchbutton {\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-background);\n\t\t\tcolor: inherit;\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t\t\tcolor: inherit;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-list__separator {\n\theight: 1px;\n\twidth: 100%;\n\tbackground: var(--ck-color-base-border);\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},8793:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:"";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-border-width:1px;--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{background:var(--ck-color-panel-background);border:var(--ck-balloon-border-width) solid var(--ck-color-panel-border);box-shadow:var(--ck-drop-shadow),0 0;min-height:15px}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent;margin-top:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow));margin-bottom:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;margin-bottom:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_e]:after,.ck.ck-balloon-panel[class*=arrow_e]:before{border-width:var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_e]:before{border-color:transparent transparent transparent var(--ck-color-panel-border);margin-right:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_e]:after{border-color:transparent transparent transparent var(--ck-color-panel-background);margin-right:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_w]:after,.ck.ck-balloon-panel[class*=arrow_w]:before{border-width:var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0}.ck.ck-balloon-panel[class*=arrow_w]:before{border-color:transparent var(--ck-color-panel-border) transparent transparent;margin-left:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_w]:after{border-color:transparent var(--ck-color-panel-background) transparent transparent;margin-left:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before{margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);right:calc(var(--ck-balloon-arrow-height)*-1);top:50%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before{left:calc(var(--ck-balloon-arrow-height)*-1);margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);top:50%}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/balloonpanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCLC,eDmMD,CA9LA,iFCDE,qCD+LF,CA9LA,qBAMC,2CAA4C,CAC5C,wEAAyE,CEdzE,oCAA8B,CFW9B,eA0LD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,kDACD,CAEA,2CACC,iFAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,iEAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,iFAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,oDACD,CAEA,2CACC,iFAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,mDACD,CAEA,2CACC,iFAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* Make sure the balloon arrow does not float over its children. */\n\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\n}\n\n.ck.ck-balloon-panel {\n\tdisplay: none;\n\tposition: absolute;\n\n\tz-index: var(--ck-z-modal);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tposition: absolute;\n\t\t}\n\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_visible {\n\t\tdisplay: block;\n\t}\n}\n','/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-border-width: 1px;\n\t--ck-balloon-arrow-offset: 2px;\n\t--ck-balloon-arrow-height: 10px;\n\t--ck-balloon-arrow-half-width: 8px;\n\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\n}\n\n.ck.ck-balloon-panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\n\t\t\tmargin-top: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\n\t\t\tmargin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: var(--ck-color-panel-border) transparent transparent;\n\t\t\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\n\t\t\tmargin-bottom: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\n\t\t\tmargin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_e"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-border);\n\t\t\tmargin-right: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-background);\n\t\t\tmargin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_w"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent var(--ck-color-panel-border) transparent transparent;\n\t\t\tmargin-left: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent var(--ck-color-panel-background) transparent transparent;\n\t\t\tmargin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_n {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_ne {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_s {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_se {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_smw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nmw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_e {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_w {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},4650:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/balloonrotator.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css"],names:[],mappings:"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\n */\n.ck .ck-balloon-rotator__content .ck-toolbar {\n\tjustify-content: center;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tbackground: var(--ck-color-toolbar-background);\n\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\n\tpadding: 0 var(--ck-spacing-small);\n\n\t/* Let's keep similar appearance to `ck-toolbar`. */\n\t& > * {\n\t\tmargin-right: var(--ck-spacing-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t/* Gives counter more breath than buttons. */\n\t& .ck-balloon-rotator__counter {\n\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t/* We need to use smaller margin because of previous button's right margin. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n.ck .ck-balloon-rotator__content {\n\n\t/* Disable default annotation shadow inside rotator with fake panels. */\n\t& .ck.ck-annotation-wrapper {\n\t\tbox-shadow: none;\n\t}\n}\n"],sourceRoot:""}]);const a=s},7676:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/fakepanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-fake-panel {\n\tposition: absolute;\n\n\t/* Fake panels should be placed under main balloon content. */\n\tz-index: calc(var(--ck-z-modal) - 1);\n}\n\n.ck .ck-fake-panel div {\n\tposition: absolute;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tz-index: 2;\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tz-index: 1;\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-fake-panel-offset-horizontal: 6px;\n\t--ck-balloon-fake-panel-offset-vertical: 6px;\n}\n\n/* Let\'s use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\n.ck .ck-fake-panel div {\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: 1px solid var(--ck-color-panel-border);\n\tborder-radius: var(--ck-border-radius);\n\n\twidth: 100%;\n\theight: 100%;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\n\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\n}\n.ck .ck-fake-panel div:nth-child( 3 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\n}\n\n/* If balloon is positioned above element, we need to move fake panel to the top. */\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\n\t--ck-balloon-fake-panel-offset-vertical: -6px;\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},5868:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-modal)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/stickypanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\tz-index: var(--ck-z-modal); /* #315 */\n\t\tposition: fixed;\n\t\ttop: 0;\n\t}\n\n\t& .ck-sticky-panel__content_sticky_bottom-limit {\n\t\ttop: auto;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\t@mixin ck-drop-shadow;\n\n\t\tborder-width: 0 1px 1px;\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},6764:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/responsive-form/responsiveform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css"],names:[],mappings:"AAQC,mCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,yCACC,YACD,CCdA,oCDoBE,wCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,8CACC,YACD,CC9BF,CCAD,qDACC,kDACD,CAEA,uBACC,+BAmED,CAjEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,oCA8CF,CA5CE,8CACC,wDAWD,CATC,6DACC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAKA,0DACC,kDACD,CAGD,iGAIC,eAAgB,CADhB,kCAAmC,CADnC,kCAmBD,CAfC,yHACC,gDACD,CARD,0OAeE,aAMF,CAJE,+IACC,kDACD,CDpEH",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck-vertical-form .ck-button {\n\t&::after {\n\t\tcontent: "";\n\t\twidth: 0;\n\t\tposition: absolute;\n\t\tright: -1px;\n\t\ttop: -1px;\n\t\tbottom: -1px;\n\t\tz-index: 1;\n\t}\n\n\t&:focus::after {\n\t\tdisplay: none;\n\t}\n}\n\n.ck.ck-responsive-form {\n\t@mixin ck-media-phone {\n\t\t& .ck-button {\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\tposition: absolute;\n\t\t\t\tright: -1px;\n\t\t\t\ttop: -1px;\n\t\t\t\tbottom: -1px;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t&:focus::after {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck-vertical-form > .ck-button:nth-last-child(2)::after {\n\tborder-right: 1px solid var(--ck-color-base-border);\n}\n\n.ck.ck-responsive-form {\n\tpadding: var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& > :not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& > :not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tpadding: 0;\n\t\twidth: calc(.8 * var(--ck-input-width));\n\n\t\t& .ck-labeled-field-view {\n\t\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) 0;\n\n\t\t\t& .ck-input-text {\n\t\t\t\tmin-width: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t/* Let the long error messages wrap in the narrow form. */\n\t\t\t& .ck-labeled-field-view__error {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\t\t}\n\n\t\t/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\t&::after {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\n\t\t& > .ck-button:nth-last-child(1),\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\tpadding: var(--ck-spacing-standard);\n\t\t\tmargin-top: var(--ck-spacing-large);\n\t\t\tborder-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},9695:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/toolbar/blocktoolbar.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css"],names:[],mappings:"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-block-toolbar-button {\n\tposition: absolute;\n\tz-index: var(--ck-z-default);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-block-toolbar-button: var(--ck-color-text);\n\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\n}\n\n.ck.ck-block-toolbar-button {\n\tcolor: var(--ck-color-block-toolbar-button);\n\tfont-size: var(--ck-block-toolbar-size);\n}\n"],sourceRoot:""}]);const a=s},5542:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);border:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;background:var(--ck-color-toolbar-border);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border-radius:0;margin:0;width:100%}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/toolbar/toolbar.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eDoGD,CAvGA,qECOE,qCDgGF,CAvGA,eAGC,6CAA8C,CAE9C,+CAAgD,CADhD,iCAmGD,CAhGC,yCACC,kBAAmB,CAGnB,yCAA0C,CAO1C,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAjGF,qCAqGE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\talign-items: center;\n\n\t& > .ck-toolbar__items {\n\t\tdisplay: flex;\n\t\tflex-flow: row wrap;\n\t\talign-items: center;\n\t\tflex-grow: 1;\n\n\t}\n\n\t& .ck.ck-toolbar__separator {\n\t\tdisplay: inline-block;\n\n\t\t/*\n\t\t * A leading or trailing separator makes no sense (separates from nothing on one side).\n\t\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\n\t\t * moved to another toolbar in the dropdown.\n\t\t */\n\t\t&:first-child,\n\t\t&:last-child {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\tflex-basis: 100%;\n\t}\n\n\t&.ck-toolbar_grouping > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t&.ck-toolbar_vertical > .ck-toolbar__items {\n\t\tflex-direction: column;\n\t}\n\n\t&.ck-toolbar_floating > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t& > .ck-dropdown__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-toolbar-background);\n\tpadding: 0 var(--ck-spacing-small);\n\tborder: 1px solid var(--ck-color-toolbar-border);\n\n\t& .ck.ck-toolbar__separator {\n\t\talign-self: stretch;\n\t\twidth: 1px;\n\t\tmin-width: 1px;\n\t\tbackground: var(--ck-color-toolbar-border);\n\n\t\t/*\n\t\t * These margins make the separators look better in balloon toolbars (when aligned with the "tip").\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\n\t\t */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\theight: 0;\n\t}\n\n\t& > .ck-toolbar__items {\n\t\t& > *:not(.ck-toolbar__line-break) {\n\t\t\t/* (#11) Separate toolbar items. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t/* Don\'t display a separator after an empty items container, for instance,\n\t\twhen all items were grouped */\n\t\t&:empty + .ck.ck-toolbar__separator {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/* Make sure items wrapped to the next line have v-spacing */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t&.ck-toolbar_vertical {\n\t\t/* Items in a vertical toolbar span the entire width. */\n\t\tpadding: 0;\n\n\t\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\n\t\t& > .ck-toolbar__items > .ck {\n\t\t\t/* Items in a vertical toolbar should span the horizontal space. */\n\t\t\twidth: 100%;\n\n\t\t\t/* Items in a vertical toolbar should have no margin. */\n\t\t\tmargin: 0;\n\n\t\t\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t&.ck-toolbar_compact {\n\t\t/* No spacing around items. */\n\t\tpadding: 0;\n\n\t\t& > .ck-toolbar__items > * {\n\t\t\t/* Compact toolbar items have no spacing between them. */\n\t\t\tmargin: 0;\n\n\t\t\t/* "Middle" children should have no rounded corners. */\n\t\t\t&:not(:first-child):not(:last-child) {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/*\n\t\t * Dropdown button has asymmetric padding to fit the arrow.\n\t\t * This button has no arrow so let\'s revert that padding back to normal.\n\t\t */\n\t\t& > .ck.ck-button.ck-dropdown__button {\n\t\t\tpadding-left: var(--ck-spacing-tiny);\n\t\t}\n\t}\n\n\t/* A drop-down containing the nested toolbar with configured items. */\n\t& .ck-toolbar__nested-toolbar-dropdown {\n\t\t/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */\n\t\t& > .ck-dropdown__panel {\n\t\t\tmin-width: auto;\n\t\t}\n\n\t\t& > .ck-button > .ck-button__label {\n\t\t\tmax-width: 7em;\n\t\t\twidth: auto;\n\t\t}\n\t}\n\n\t@nest .ck-toolbar-container & {\n\t\tborder: 0;\n\t}\n}\n\n/* stylelint-disable */\n\n/*\n * Styles for RTL toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="rtl"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="rtl"] {\n\t& > .ck-toolbar__items > .ck {\n\t\tmargin-right: 0;\n\t}\n\n\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\n\t\t/* (#11) Separate toolbar items. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-left: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n/*\n * Styles for LTR toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="ltr"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="ltr"] {\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-right: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n}\n\n/* stylelint-enable */\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},3332:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-balloon-panel.ck-tooltip{--ck-balloon-border-width:0px;--ck-balloon-arrow-offset:0px;--ck-balloon-arrow-half-width:4px;--ck-balloon-arrow-height:4px;--ck-color-panel-background:var(--ck-color-tooltip-background);padding:0 var(--ck-spacing-medium);pointer-events:none;z-index:calc(var(--ck-z-modal) + 100)}.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text{color:var(--ck-color-tooltip-text);font-size:.9em;line-height:1.5}.ck.ck-balloon-panel.ck-tooltip{box-shadow:none}.ck.ck-balloon-panel.ck-tooltip:before{display:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/tooltip/tooltip.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css"],names:[],mappings:"AAKA,gCCGC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,8DAA+D,CAE/D,kCAAmC,CDPnC,mBAAoB,CAEpB,qCACD,CCMC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAbD,gCAgBC,eAMD,CAHC,uCACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t/* Keep tooltips transparent for any interactions. */\n\tpointer-events: none;\n\n\tz-index: calc( var(--ck-z-modal) + 100 );\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t--ck-balloon-border-width: 0px;\n\t--ck-balloon-arrow-offset: 0px;\n\t--ck-balloon-arrow-half-width: 4px;\n\t--ck-balloon-arrow-height: 4px;\n\t--ck-color-panel-background: var(--ck-color-tooltip-background);\n\n\tpadding: 0 var(--ck-spacing-medium);\n\n\t& .ck-tooltip__text {\n\t\tfont-size: .9em;\n\t\tline-height: 1.5;\n\t\tcolor: var(--ck-color-tooltip-text);\n\t}\n\n\t/* Reset balloon panel styles */\n\tbox-shadow: none;\n\n\t/* Hide the default shadow of the .ck-balloon-panel tip */\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n'],sourceRoot:""}]);const a=s},4793:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-hidden{display:none!important}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{box-sizing:border-box;height:auto;position:static;width:auto}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999)}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#939393;--ck-color-switch-button-off-hover-background:#7d7d7d;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#4d9d30;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:var(--ck-color-base-border);--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:var(--ck-color-base-border);--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-button-on-color);--ck-color-list-button-on-background-focus:var(--ck-color-button-on-color);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-background);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{word-wrap:break-word;background:transparent;border:0;margin:0;padding:0;text-decoration:none;transition:none;vertical-align:middle}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/globals/_hidden.css","webpack://./../ckeditor5-ui/theme/globals/_reset.css","webpack://./../ckeditor5-ui/theme/globals/_zindex.css","webpack://./../ckeditor5-ui/theme/globals/_transition.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css"],names:[],mappings:"AAQA,WAGC,sBACD,CCPA,2EAGC,qBAAsB,CAEtB,WAAY,CACZ,eAAgB,CAFhB,UAGD,CCPA,MACC,gBAAiB,CACjB,4CACD,CCAA,oDAEC,yBACD,CCNA,MACC,kCAAmD,CACnD,+BAAoD,CACpD,8BAAkD,CAClD,8BAAuD,CACvD,6BAAmD,CACnD,yBAA+C,CAC/C,8BAAsD,CACtD,oCAA4D,CAC5D,6BAAkD,CAIlD,mDAA4D,CAC5D,qEAA+E,CAC/E,qCAA4D,CAC5D,qDAA8D,CAC9D,gDAAyD,CACzD,yCAAqD,CACrD,sCAAsD,CACtD,4CAA0D,CAC1D,sCAAsD,CAItD,gDAAuD,CACvD,kDAAiE,CACjE,mDAAkE,CAClE,yDAA8D,CAE9D,uCAA6D,CAC7D,6CAAoE,CACpE,8CAAoE,CACpE,gDAAiE,CACjE,kCAAyD,CAGzD,+DAAsE,CACtE,iDAAsE,CACtE,kDAAsE,CACtE,oDAAoE,CACpE,6DAAsE,CAEtE,8BAAoD,CACpD,gCAAqD,CAErD,+CAA8D,CAC9D,qDAAiE,CACjE,+EAAqF,CACrF,oDAAuE,CACvE,yEAA8E,CAC9E,oDAAgE,CAIhE,oEAA2E,CAC3E,4DAAoE,CAIpE,2DAAoE,CACpE,mDAA6D,CAC7D,wDAAgE,CAChE,+CAA0D,CAC1D,4CAA2D,CAC3D,4DAAoE,CACpE,sCAAsD,CAItD,0DAAmE,CACnE,uFAA6F,CAC7F,oEAA2E,CAC3E,0EAA+E,CAC/E,8DAAsE,CAItE,2DAAoE,CACpE,mDAA6D,CAI7D,6DAAsE,CACtE,qDAA+D,CAI/D,uDAAgE,CAChE,uDAAiE,CAIjE,0CAAyD,CAIzD,wCAA2D,CAI3D,+BAAoD,CACpD,uDAAmE,CACnE,kDAAgE,CCnGhE,wBAAyB,CCAzB,0CAA2C,CAK3C,gGAAiG,CAKjG,4GAA6G,CAK7G,sGAAuG,CAKvG,sDAAuD,CCvBvD,wBAAyB,CACzB,6BAA8B,CAC9B,wDAA6D,CAE7D,yBAA0B,CAC1B,2BAA4B,CAC5B,yBAA0B,CAC1B,wBAAyB,CACzB,0BAA2B,CCJ3B,kCJmGD,CI7FA,2EAaC,oBAAqB,CANrB,sBAAuB,CADvB,QAAS,CAFT,QAAS,CACT,SAAU,CAGV,oBAAqB,CAErB,eAAgB,CADhB,qBAKD,CAKA,8DAGC,wBAAyB,CAEzB,0BAA2B,CAG3B,WAAY,CACZ,UAAW,CALX,iGAAkG,CAElG,eAAgB,CAChB,kBAGD,CAGC,qDACC,gBACD,CAEA,mDAEC,sBACD,CAEA,qDACC,oBACD,CAEA,mLAGC,WACD,CAEA,iNAGC,cACD,CAEA,qDAEC,yBAAoC,CADpC,YAED,CAEA,qEAGC,QAAQ,CADR,SAED,CAMD,8BAEC,gBACD,CCnFA,MACC,sBAAuB,CCAvB,gEAAiE,CAKjE,0DAA2D,CAK3D,wEAAyE,CCbzE,uBAA8B,CAC9B,mDAA2D,CAC3D,4CAAkD,CAClD,oDAA4D,CAC5D,mDAA2D,CAC3D,kDAA2D,CAC3D,yDFFD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which hides an element in DOM.\n */\n.ck-hidden {\n\t/* Override selector specificity. Otherwise, all elements with some display\n\tstyle defined will override this one, which is not a desired result. */\n\tdisplay: none !important;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\tbox-sizing: border-box;\n\twidth: auto;\n\theight: auto;\n\tposition: static;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-z-default: 1;\n\t--ck-z-modal: calc( var(--ck-z-default) + 999 );\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class that disables all transitions of the element and its children.\n */\n.ck-transitions-disabled,\n.ck-transitions-disabled * {\n\ttransition: none !important;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-base-foreground: \t\t\t\t\t\t\t\thsl(0, 0%, 98%);\n\t--ck-color-base-background: \t\t\t\t\t\t\t\thsl(0, 0%, 100%);\n\t--ck-color-base-border: \t\t\t\t\t\t\t\t\thsl(220, 6%, 81%);\n\t--ck-color-base-action: \t\t\t\t\t\t\t\t\thsl(104, 50.2%, 42.5%);\n\t--ck-color-base-focus: \t\t\t\t\t\t\t\t\t\thsl(209, 92%, 70%);\n\t--ck-color-base-text: \t\t\t\t\t\t\t\t\t\thsl(0, 0%, 20%);\n\t--ck-color-base-active: \t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\t--ck-color-base-active-focus:\t\t\t\t\t\t\t\thsl(218.2, 100%, 52.5%);\n\t--ck-color-base-error:\t\t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t/* -- Generic colors ------------------------------------------------------------------------ */\n\n\t--ck-color-focus-border-coordinates: \t\t\t\t\t\t218, 81.8%, 56.9%;\n\t--ck-color-focus-border: \t\t\t\t\t\t\t\t\thsl(var(--ck-color-focus-border-coordinates));\n\t--ck-color-focus-outer-shadow:\t\t\t\t\t\t\t\thsl(212.4, 89.3%, 89%);\n\t--ck-color-focus-disabled-shadow:\t\t\t\t\t\t\thsla(209, 90%, 72%,.3);\n\t--ck-color-focus-error-shadow:\t\t\t\t\t\t\t\thsla(9,100%,56%,.3);\n\t--ck-color-text: \t\t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-shadow-drop: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.15);\n\t--ck-color-shadow-drop-active:\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.2);\n\t--ck-color-shadow-inner: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Buttons ------------------------------------------------------------------------------- */\n\n\t--ck-color-button-default-background: \t\t\t\t\t\ttransparent;\n\t--ck-color-button-default-hover-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-active-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-disabled-background: \t\t\t\ttransparent;\n\n\t--ck-color-button-on-background: \t\t\t\t\t\t\thsl(212, 100%, 97.1%);\n\t--ck-color-button-on-hover-background: \t\t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-active-background: \t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-disabled-background: \t\t\t\t\thsl(211, 15%, 95%);\n\t--ck-color-button-on-color:\t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\n\n\t--ck-color-button-action-background: \t\t\t\t\t\tvar(--ck-color-base-action);\n\t--ck-color-button-action-hover-background: \t\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-active-background: \t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-disabled-background: \t\t\t\thsl(104, 44%, 58%);\n\t--ck-color-button-action-text: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t--ck-color-button-save: \t\t\t\t\t\t\t\t\thsl(120, 100%, 27%);\n\t--ck-color-button-cancel: \t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t--ck-color-switch-button-off-background:\t\t\t\t\thsl(0, 0%, 57.6%);\n\t--ck-color-switch-button-off-hover-background:\t\t\t\thsl(0, 0%, 49%);\n\t--ck-color-switch-button-on-background:\t\t\t\t\t\tvar(--ck-color-button-action-background);\n\t--ck-color-switch-button-on-hover-background:\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-switch-button-inner-background:\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-switch-button-inner-shadow:\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Dropdown ------------------------------------------------------------------------------ */\n\n\t--ck-color-dropdown-panel-background: \t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-dropdown-panel-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Input --------------------------------------------------------------------------------- */\n\n\t--ck-color-input-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-input-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-error-border:\t\t\t\t\t\t\t\tvar(--ck-color-base-error);\n\t--ck-color-input-text: \t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-input-disabled-background: \t\t\t\t\t\thsl(0, 0%, 95%);\n\t--ck-color-input-disabled-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-disabled-text: \t\t\t\t\t\t\thsl(0, 0%, 46%);\n\n\t/* -- List ---------------------------------------------------------------------------------- */\n\n\t--ck-color-list-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-list-button-hover-background: \t\t\t\t\tvar(--ck-color-button-default-hover-background);\n\t--ck-color-list-button-on-background: \t\t\t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-background-focus: \t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-text:\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Panel --------------------------------------------------------------------------------- */\n\n\t--ck-color-panel-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-panel-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Toolbar ------------------------------------------------------------------------------- */\n\n\t--ck-color-toolbar-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-toolbar-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Tooltip ------------------------------------------------------------------------------- */\n\n\t--ck-color-tooltip-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-tooltip-text: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Engine -------------------------------------------------------------------------------- */\n\n\t--ck-color-engine-placeholder-text: \t\t\t\t\t\thsl(0, 0%, 44%);\n\n\t/* -- Upload -------------------------------------------------------------------------------- */\n\n\t--ck-color-upload-bar-background:\t\t \t\t\t\t\thsl(209, 92%, 70%);\n\n\t/* -- Link -------------------------------------------------------------------------------- */\n\n\t--ck-color-link-default:\t\t\t\t\t\t\t\t\thsl(240, 100%, 47%);\n\t--ck-color-link-selected-background:\t\t\t\t\t\thsla(201, 100%, 56%, 0.1);\n\t--ck-color-link-fake-selection:\t\t\t\t\t\t\t\thsla(201, 100%, 56%, 0.3);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * An opacity value of disabled UI item.\n\t */\n\t--ck-disabled-opacity: .5;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * The geometry of the of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow-geometry: 0 0 0 3px;\n\n\t/**\n\t * A visual style of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when disabled).\n\t */\n\t--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when has errors).\n\t */\n\t--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);\n\n\t/**\n\t * A visual style of focused element's border or outline.\n\t */\n\t--ck-focus-ring: 1px solid var(--ck-color-focus-border);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-font-size-base: 13px;\n\t--ck-line-height-base: 1.84615;\n\t--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\n\n\t--ck-font-size-tiny: 0.7em;\n\t--ck-font-size-small: 0.75em;\n\t--ck-font-size-normal: 1em;\n\t--ck-font-size-big: 1.4em;\n\t--ck-font-size-large: 1.8em;\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* This is super-important. This is **manually** adjusted so a button without an icon\n\tis never smaller than a button with icon, additionally making sure that text-less buttons\n\tare perfect squares. The value is also shared by other components which should stay "in-line"\n\twith buttons. */\n\t--ck-ui-component-min-height: 2.3em;\n}\n\n/**\n * Resets an element, ignoring its children.\n */\n.ck.ck-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* Do not include inheritable rules here. */\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tbackground: transparent;\n\ttext-decoration: none;\n\tvertical-align: middle;\n\ttransition: none;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */\n\tword-wrap: break-word;\n}\n\n/**\n * Resets an element AND its children.\n */\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* These are rule inherited by all children elements. */\n\tborder-collapse: collapse;\n\tfont: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);\n\tcolor: var(--ck-color-text);\n\ttext-align: left;\n\twhite-space: nowrap;\n\tcursor: auto;\n\tfloat: none;\n}\n\n.ck-reset_all {\n\t& .ck-rtl *:not(.ck-reset_all-excluded *) {\n\t\ttext-align: right;\n\t}\n\n\t& iframe:not(.ck-reset_all-excluded *) {\n\t\t/* For IE */\n\t\tvertical-align: inherit;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *) {\n\t\twhite-space: pre-wrap;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *),\n\t& input[type="text"]:not(.ck-reset_all-excluded *),\n\t& input[type="password"]:not(.ck-reset_all-excluded *) {\n\t\tcursor: text;\n\t}\n\n\t& textarea[disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="text"][disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="password"][disabled]:not(.ck-reset_all-excluded *) {\n\t\tcursor: default;\n\t}\n\n\t& fieldset:not(.ck-reset_all-excluded *) {\n\t\tpadding: 10px;\n\t\tborder: 2px groove hsl(255, 7%, 88%);\n\t}\n\n\t& button:not(.ck-reset_all-excluded *)::-moz-focus-inner {\n\t\t/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */\n\t\tpadding: 0;\n\t\tborder: 0\n\t}\n}\n\n/**\n * Default UI rules for RTL languages.\n */\n.ck[dir="rtl"],\n.ck[dir="rtl"] .ck {\n\ttext-align: right;\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Default border-radius value.\n */\n:root{\n\t--ck-border-radius: 2px;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * A visual style of element's inner shadow (i.e. input).\n\t */\n\t--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;\n\n\t/**\n\t * A visual style of element's drop shadow (i.e. panel).\n\t */\n\t--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);\n\n\t/**\n\t * A visual style of element's active shadow (i.e. comment or suggestion).\n\t */\n\t--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-spacing-unit: \t\t\t\t\t\t0.6em;\n\t--ck-spacing-large: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 1.5);\n\t--ck-spacing-standard: \t\t\t\t\tvar(--ck-spacing-unit);\n\t--ck-spacing-medium: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.8);\n\t--ck-spacing-small: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.5);\n\t--ck-spacing-tiny: \t\t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.3);\n\t--ck-spacing-extra-tiny: \t\t\t\tcalc(var(--ck-spacing-unit) * 0.16);\n}\n"],sourceRoot:""}]);const a=s},3488:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{background-color:var(--ck-color-widget-editable-focus-background);border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{background-color:var(--ck-color-widget-hover-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{background-color:var(--ck-color-focus-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}","",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widget.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CCjFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,yBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAUD,CARC,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAWD,CAPC,yGAKC,iEAAkE,CCnCnE,2BAA2B,CCF3B,qCAA8B,CDC9B,YDqCA,CAIA,4EAKC,4BAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAgCD,CAnBC,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAWD,CANC,kHACC,SAAU,CAGV,+DACD,CAID,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-resizer: var(--ck-color-focus-border);\n\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\n\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\n\n\t--ck-resizer-border-radius: var(--ck-border-radius);\n\t--ck-resizer-tooltip-offset: 10px;\n\t--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);\n}\n\n.ck .ck-widget {\n\t/* This is neccessary for type around UI to be positioned properly. */\n\tposition: relative;\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n\n\t& .ck-widget__selection-handle {\n\t\tposition: absolute;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the icon in not a subject to font-size or line-height to avoid\n\t\t\tunnecessary spacing around it. */\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n\n\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n}\n\n.ck .ck-size-view {\n\tbackground: var(--ck-color-resizer-tooltip-background);\n\tcolor: var(--ck-color-resizer-tooltip-text);\n\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\n\tborder-radius: var(--ck-resizer-border-radius);\n\tfont-size: var(--ck-font-size-tiny);\n\tdisplay: block;\n\tpadding: 0 var(--ck-spacing-small);\n\theight: var(--ck-resizer-tooltip-height);\n\tline-height: var(--ck-resizer-tooltip-height);\n\n\t&.ck-orientation-top-left,\n\t&.ck-orientation-top-right,\n\t&.ck-orientation-bottom-right,\n\t&.ck-orientation-bottom-left,\n\t&.ck-orientation-above-center {\n\t\tposition: absolute;\n\t}\n\n\t&.ck-orientation-top-left {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-top-right {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-right {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-left {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t/* Class applied if the widget is too small to contain the size label */\n\t&.ck-orientation-above-center {\n\t\ttop: calc(var(--ck-resizer-tooltip-height) * -1);\n\t\tleft: 50%;\n\t\ttransform: translate(-50%);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n\n:root {\n\t--ck-widget-outline-thickness: 3px;\n\t--ck-widget-handler-icon-size: 16px;\n\t--ck-widget-handler-animation-duration: 200ms;\n\t--ck-widget-handler-animation-curve: ease;\n\n\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\n\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\n\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\n\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\n}\n\n.ck .ck-widget {\n\toutline-width: var(--ck-widget-outline-thickness);\n\toutline-style: solid;\n\toutline-color: transparent;\n\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\n\t}\n\n\t&:hover {\n\t\toutline-color: var(--ck-color-widget-hover-border);\n\t}\n}\n\n.ck .ck-editor__nested-editable {\n\tborder: 1px solid transparent;\n\n\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\n\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\n\t&.ck-editor__nested-editable_focused,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\n\t\tbackground-color: var(--ck-color-widget-editable-focus-background);\n\t}\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t& .ck-widget__selection-handle {\n\t\tpadding: 4px;\n\t\tbox-sizing: border-box;\n\n\t\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\n\t\tbackground-color: transparent;\n\t\topacity: 0;\n\n\t\t/* Transition:\n\t\t * background-color for the .ck-widget_selected state change,\n\t\t * visibility for hiding the handler,\n\t\t * opacity for the proper look of the icon when the handler disappears. */\n\t\ttransition:\n\t\t\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t/* Make only top corners round. */\n\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\n\t\t/* Place the drag handler outside the widget wrapper. */\n\t\ttransform: translateY(-100%);\n\t\tleft: calc(0px - var(--ck-widget-outline-thickness));\n\t\ttop: 0;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\n\t\t\twidth: var(--ck-widget-handler-icon-size);\n\t\t\theight: var(--ck-widget-handler-icon-size);\n\t\t\tcolor: var(--ck-color-widget-drag-handler-icon-color);\n\n\t\t\t/* The "selected" part of the icon is invisible by default */\n\t\t\t& .ck-icon__selected-indicator {\n\t\t\t\topacity: 0;\n\n\t\t\t\t/* Note: The animation is longer on purpose. Simply feels better. */\n\t\t\t\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\n\t\t\t}\n\t\t}\n\n\t\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\n\t\t&:hover .ck-icon .ck-icon__selected-indicator {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\topacity: 1;\n\t\tbackground-color: var(--ck-color-widget-hover-border);\n\t}\n\n\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\t& > .ck-widget__selection-handle {\n\t\t\topacity: 1;\n\t\t\tbackground-color: var(--ck-color-focus-border);\n\n\t\t\t/* When the widget is selected, notify the user using the proper look of the icon. */\n\t\t\t& .ck-icon .ck-icon__selected-indicator {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* In a RTL environment, align the selection handler to the right side of the widget */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\n\tleft: auto;\n\tright: calc(0px - var(--ck-widget-outline-thickness));\n}\n\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\n.ck.ck-editor__editable.ck-read-only .ck-widget {\n\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\n\ttransition: none;\n\n\t&:not(.ck-widget_selected) {\n\t\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\n\t\t *\n\t\t * Leave the unit because this custom property is used in calc() by other features.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\n\t\t */\n\t\t--ck-widget-outline-thickness: 0px;\n\t}\n\n\t&.ck-widget_with-selection-handle {\n\t\t& .ck-widget__selection-handle,\n\t\t& .ck-widget__selection-handle:hover {\n\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t}\n\t}\n}\n\n/* Style the widget when it\'s selected but the editable it belongs to lost focus. */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck.ck-editor__editable.ck-blurred .ck-widget {\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline-color: var(--ck-color-widget-blurred-border);\n\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t& > .ck-widget__selection-handle,\n\t\t\t& > .ck-widget__selection-handle:hover {\n\t\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\n\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\n\tIn fact, anything with overflow: hidden.\n\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\n\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},8506:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}","",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widgetresize.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css"],names:[],mappings:"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget_with-resizer {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n}\n\n.ck .ck-widget__resizer {\n\tdisplay: none;\n\tposition: absolute;\n\n\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\n\tpointer-events: none;\n\n\tleft: 0;\n\ttop: 0;\n}\n\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\n\t& > .ck-widget__resizer {\n\t\tdisplay: block;\n\t}\n}\n\n.ck .ck-widget__resizer__handle {\n\tposition: absolute;\n\n\t/* Resizers are the only UI elements that should interfere with a pointer device. */\n\tpointer-events: all;\n\n\t&.ck-widget__resizer__handle-top-left,\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tcursor: nwse-resize;\n\t}\n\n\t&.ck-widget__resizer__handle-top-right,\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tcursor: nesw-resize;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-resizer-size: 10px;\n\n\t/* Set the resizer with a 50% offset. */\n\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\n\t--ck-resizer-border-width: 1px;\n}\n\n.ck .ck-widget__resizer {\n\toutline: 1px solid var(--ck-color-resizer);\n}\n\n.ck .ck-widget__resizer__handle {\n\twidth: var(--ck-resizer-size);\n\theight: var(--ck-resizer-size);\n\tbackground: var(--ck-color-focus-border);\n\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\n\tborder-radius: var(--ck-resizer-border-radius);\n\n\t&.ck-widget__resizer__handle-top-left {\n\t\ttop: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-top-right {\n\t\ttop: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n}\n"],sourceRoot:""}]);const a=s},4921:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:"";display:block;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);width:var(--ck-widget-type-around-button-size)}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widgettypearound.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css"],names:[],mappings:"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAkDD,CA1CC,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAoBD,CAdC,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DAcD,CARE,kEACC,oDACD,CAEA,8DACC,wDACD,CAUF,uKAvED,SAAU,CACV,mBAwEC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,uEAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,oCAAwC,CARxC,mBAUD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAlJD,SAAU,CACV,mBAmJC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAlMF,SAAU,CACV,mBAmME,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\tz-index: var(--ck-z-default);\n\n\t\t& svg {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\tz-index: calc(var(--ck-z-default) + 2);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_before {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tleft: min(10%, 30px);\n\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_after {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tright: min(10%, 30px);\n\n\t\t\ttransform: translateY(50%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 1px;\n\t\t\tleft: 1px;\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\n\t/*\n\t * When the widget is hovered the "fake caret" would normally be narrower than the\n\t * extra outline displayed around the widget. Let\'s extend the "fake caret" to match\n\t * the full width of the widget.\n\t */\n\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\n\t\tright: calc( -1 * var(--ck-widget-outline-thickness) );\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n}\n\n/*\n * Integration with the read-only mode of the editor.\n */\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the restricted editing mode (feature) of the editor.\n */\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\n */\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\n\tdisplay: none;\n}\n','/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-widget-type-around-button-size: 20px;\n\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\n\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\n\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\n\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\n\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\n\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\n}\n\n@define-mixin ck-widget-type-around-button-visible {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n@define-mixin ck-widget-type-around-button-hidden {\n\topacity: 0;\n\tpointer-events: none;\n}\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\twidth: var(--ck-widget-type-around-button-size);\n\t\theight: var(--ck-widget-type-around-button-size);\n\t\tbackground: var(--ck-color-widget-type-around-button);\n\t\tborder-radius: 100px;\n\t\ttransition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t@mixin ck-widget-type-around-button-hidden;\n\n\t\t& svg {\n\t\t\twidth: 10px;\n\t\t\theight: 8px;\n\t\t\ttransform: translate(-50%,-50%);\n\t\t\ttransition: transform .5s ease;\n\t\t\tmargin-top: 1px;\n\n\t\t\t& * {\n\t\t\t\tstroke-dasharray: 10;\n\t\t\t\tstroke-dashoffset: 0;\n\n\t\t\t\tfill: none;\n\t\t\t\tstroke: var(--ck-color-widget-type-around-button-icon);\n\t\t\t\tstroke-width: 1.5px;\n\t\t\t\tstroke-linecap: round;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t}\n\n\t\t\t& line {\n\t\t\t\tstroke-dasharray: 7;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t/*\n\t\t\t * Display the "sonar" around the button when hovered.\n\t\t\t */\n\t\t\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\n\n\t\t\t/*\n\t\t\t * Animate active button\'s icon.\n\t\t\t */\n\t\t\t& svg {\n\t\t\t\t& polyline {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-dash 2s linear;\n\t\t\t\t}\n\n\t\t\t\t& line {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Show type around buttons when the widget gets selected or being hovered.\n\t */\n\t&.ck-widget_selected,\n\t&:hover {\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-visible;\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\n\t * and still can be hovered).\n\t */\n\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\tbackground: var(--ck-color-widget-type-around-button-hover);\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\tbackground: var(--ck-color-widget-type-around-button-active);\n\n\t\t&::after {\n\t\t\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\tborder-radius: 100px;\n\t\t\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the "before" button when the widget has a selection handle. Because some space\n\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\n\t */\n\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\n\t\tmargin-left: 20px;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& .ck-widget__type-around__fake-caret {\n\t\tpointer-events: none;\n\t\theight: 1px;\n\t\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\n\n\t\t/*\n\t\t * The semi-transparent-outline+background combo improves the contrast\n\t\t * when the background underneath the fake caret is dark.\n\t\t */\n\t\toutline: solid 1px hsla(0, 0%, 100%, .5);\n\t\tbackground: var(--ck-color-base-text);\n\t}\n\n\t/*\n\t * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t * Despite the widget being physically selected in the model, its outline should disappear.\n\t */\n\t&.ck-widget_selected {\n\t\t&.ck-widget_type-around_show-fake-caret_before,\n\t\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t\toutline-color: transparent;\n\t\t}\n\t}\n\n\t&.ck-widget_type-around_show-fake-caret_before,\n\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t/*\n\t\t * When the "fake caret" is visible we simulate that the widget is not selected\n\t\t * (despite being physically selected), so the outline color should be for the\n\t\t * unselected widget.\n\t\t */\n\t\t&.ck-widget_selected:hover {\n\t\t\toutline-color: var(--ck-color-widget-hover-border);\n\t\t}\n\n\t\t/*\n\t\t * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\n\t\t */\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\n\t\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\n\t\t */\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t&.ck-widget_selected,\n\t\t\t&.ck-widget_selected:hover {\n\t\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\t\topacity: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\n\t\t * hide the resize UI because it creates too much noise. It can be visible when the user\n\t\t * hovers the widget, though.\n\t\t */\n\t\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\n\t\t\topacity: 0\n\t\t}\n\t}\n}\n\n/*\n * Styles for the "before" button when the widget has a selection handle in an RTL environment.\n * The selection handler is aligned to the right side of the widget so there is no need to create\n * additional space for it next to the "before" button.\n */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\n\tmargin-left: 0;\n\tmargin-right: 20px;\n}\n\n/*\n * Hide type around buttons when the widget is selected as a child of a selected\n * nested editable (e.g. mulit-cell table selection).\n *\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\n */\n.ck-editor__nested-editable.ck-editor__editable_selected {\n\t& .ck-widget {\n\t\t&.ck-widget_selected,\n\t\t&:hover {\n\t\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\n */\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\n\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\n\n\t& svg * {\n\t\tstroke: hsl(0,0%,60%);\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-dash {\n\t0% {\n\t\tstroke-dashoffset: 10;\n\t}\n\t20%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-tip-dash {\n\t0%, 20% {\n\t\tstroke-dashoffset: 7;\n\t}\n\t40%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-button-sonar {\n\t0% {\n\t\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n\t50% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\n\t}\n\t100% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n}\n\n@keyframes ck-widget-type-around-fake-caret-pulse {\n\t0% {\n\t\topacity: 1;\n\t}\n\t49% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t99% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n'],sourceRoot:""}]);const a=s},2609:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,o){"string"==typeof t&&(t=[[null,t,""]]);var i={};if(o)for(var r=0;r{function e(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null==n)return;var o,i,r=[],s=!0,a=!1;try{for(n=n.call(t);!(s=(o=n.next()).done)&&(r.push(o.value),!e||r.length!==e);s=!0);}catch(t){a=!0,i=t}finally{try{s||null==n.return||n.return()}finally{if(a)throw i}}return r}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return n(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return Array.from(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return n(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n{var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),s=[];function a(t){for(var e=-1,n=0;n{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nc=void 0;var o={};return(()=>{n.d(o,{default:()=>iC});const t=function(){return function t(){t.called=!0}};class e{constructor(e,n){this.source=e,this.name=n,this.path=[],this.stop=t(),this.off=t()}}const i=new Array(256).fill("").map(((t,e)=>("0"+e.toString(16)).slice(-2)));function r(){const t=4294967296*Math.random()>>>0,e=4294967296*Math.random()>>>0,n=4294967296*Math.random()>>>0,o=4294967296*Math.random()>>>0;return"e"+i[t>>0&255]+i[t>>8&255]+i[t>>16&255]+i[t>>24&255]+i[e>>0&255]+i[e>>8&255]+i[e>>16&255]+i[e>>24&255]+i[n>>0&255]+i[n>>8&255]+i[n>>16&255]+i[n>>24&255]+i[o>>0&255]+i[o>>8&255]+i[o>>16&255]+i[o>>24&255]}const s={get(t="normal"){return"number"!=typeof t?this[t]||this.normal:t},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function a(t,e){const n=s.get(e.priority);for(let o=0;o{if("object"==typeof e&&null!==e){if(n.has(e))return`[object ${e.constructor.name}]`;n.add(e)}return e},i=e?` ${JSON.stringify(e,o)}`:"",r=h(t);return t+i+r}(t,n)),this.name="CKEditorError",this.context=e,this.data=n}is(t){return"CKEditorError"===t}static rethrowUnexpectedError(t,e){if(t.is&&t.is("CKEditorError"))throw t;const n=new c(t.message,e);throw n.stack=t.stack,n}}function l(t,e){console.warn(...u(t,e))}function d(t,e){console.error(...u(t,e))}function h(t){return`\nRead more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#error-${t}`}function u(t,e){const n=h(t);return e?[t,e,n]:[t,n]}const g="35.2.1",m="object"==typeof window?window:n.g;if(m.CKEDITOR_VERSION)throw new c("ckeditor-duplicated-modules",null);m.CKEDITOR_VERSION=g;const p=Symbol("listeningTo"),f=Symbol("emitterId"),k=Symbol("delegations");function b(t){return class extends t{on(t,e,n){this.listenTo(this,t,e,n)}once(t,e,n){let o=!1;this.listenTo(this,t,((t,...n)=>{o||(o=!0,t.off(),e.call(this,t,...n))}),n)}off(t,e){this.stopListening(this,t,e)}listenTo(t,e,n,o={}){let i,r;this[p]||(this[p]={});const s=this[p];A(t)||_(t);const a=A(t);(i=s[a])||(i=s[a]={emitter:t,callbacks:{}}),(r=i.callbacks[e])||(r=i.callbacks[e]=[]),r.push(n),function(t,e,n,o,i){e._addEventListener?e._addEventListener(n,o,i):t._addEventListener.call(e,n,o,i)}(this,t,e,n,o)}stopListening(t,e,n){const o=this[p];let i=t&&A(t);const r=o&&i?o[i]:void 0,s=r&&e?r.callbacks[e]:void 0;if(!(!o||t&&!r||e&&!s))if(n){E(this,t,e,n);-1!==s.indexOf(n)&&(1===s.length?delete r.callbacks[e]:E(this,t,e,n))}else if(s){for(;n=s.pop();)E(this,t,e,n);delete r.callbacks[e]}else if(r){for(e in r.callbacks)this.stopListening(t,e);delete o[i]}else{for(i in o)this.stopListening(o[i].emitter);delete this[p]}}fire(t,...n){try{const o=t instanceof e?t:new e(this,t),i=o.name;let r=y(this,i);if(o.path.push(this),r){const t=[o,...n];r=Array.from(r);for(let e=0;e{this[k]||(this[k]=new Map),t.forEach((t=>{const o=this[k].get(t);o?o.set(e,n):this[k].set(t,new Map([[e,n]]))}))}}}stopDelegating(t,e){if(this[k])if(t)if(e){const n=this[k].get(t);n&&n.delete(e)}else this[k].delete(t);else this[k].clear()}_addEventListener(t,e,n){!function(t,e){const n=C(t);if(n[e])return;let o=e,i=null;const r=[];for(;""!==o&&!n[o];)n[o]={callbacks:[],childEvents:[]},r.push(n[o]),i&&n[o].childEvents.push(i),i=o,o=o.substr(0,o.lastIndexOf(":"));if(""!==o){for(const t of r)t.callbacks=n[o].callbacks.slice();n[o].childEvents.push(i)}}(this,t);const o=v(this,t),i={callback:e,priority:s.get(n.priority)};for(const t of o)a(t,i)}_removeEventListener(t,e){const n=v(this,t);for(const t of n)for(let n=0;n-1?y(t,e.substr(0,e.lastIndexOf(":"))):null}function x(t,n,o){for(let[i,r]of t){r?"function"==typeof r&&(r=r(n.name)):r=n.name;const t=new e(n.source,r);t.path=[...n.path],i.fire(t,...o)}}function E(t,e,n,o){e._removeEventListener?e._removeEventListener(n,o):t._removeEventListener.call(e,n,o)}["on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{b[t]=w.prototype[t]}));const D=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},I=Symbol("observableProperties"),M=Symbol("boundObservables"),T=Symbol("boundProperties"),S=Symbol("decoratedMethods"),N=Symbol("decoratedOriginal");function B(t){return class extends t{set(t,e){if(D(t))return void Object.keys(t).forEach((e=>{this.set(e,t[e])}),this);z(this);const n=this[I];if(t in this&&!n.has(t))throw new c("observable-set-cannot-override",this);Object.defineProperty(this,t,{enumerable:!0,configurable:!0,get:()=>n.get(t),set(e){const o=n.get(t);let i=this.fire(`set:${t}`,t,e,o);void 0===i&&(i=e),o===i&&n.has(t)||(n.set(t,i),this.fire(`change:${t}`,t,i,o))}}),this[t]=e}bind(...t){if(!t.length||!R(t))throw new c("observable-bind-wrong-properties",this);if(new Set(t).size!==t.length)throw new c("observable-bind-duplicate-properties",this);z(this);const e=this[T];t.forEach((t=>{if(e.has(t))throw new c("observable-bind-rebind",this)}));const n=new Map;return t.forEach((t=>{const o={property:t,to:[]};e.set(t,o),n.set(t,o)})),{to:L,toMany:O,_observable:this,_bindProperties:t,_to:[],_bindings:n}}unbind(...t){if(!this[I])return;const e=this[T],n=this[M];if(t.length){if(!R(t))throw new c("observable-unbind-wrong-properties",this);t.forEach((t=>{const o=e.get(t);o&&(o.to.forEach((([t,e])=>{const i=n.get(t),r=i[e];r.delete(o),r.size||delete i[e],Object.keys(i).length||(n.delete(t),this.stopListening(t,"change"))})),e.delete(t))}))}else n.forEach(((t,e)=>{this.stopListening(e,"change")})),n.clear(),e.clear()}decorate(t){z(this);const e=this[t];if(!e)throw new c("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:t});this.on(t,((t,n)=>{t.return=e.apply(this,n)})),this[t]=function(...e){return this.fire(t,e)},this[t][N]=e,this[S]||(this[S]=[]),this[S].push(t)}stopListening(t,e,n){if(!t&&this[S]){for(const t of this[S])this[t]=this[t][N];delete this[S]}w.prototype.stopListening.call(this,t,e,n)}}}const P=B(w);function z(t){t[I]||(Object.defineProperty(t,I,{value:new Map}),Object.defineProperty(t,M,{value:new Map}),Object.defineProperty(t,T,{value:new Map}))}function L(...t){const e=function(...t){if(!t.length)throw new c("observable-bind-to-parse-error",null);const e={to:[]};let n;"function"==typeof t[t.length-1]&&(e.callback=t.pop());return t.forEach((t=>{if("string"==typeof t)n.properties.push(t);else{if("object"!=typeof t)throw new c("observable-bind-to-parse-error",null);n={observable:t,properties:[]},e.to.push(n)}})),e}(...t),n=Array.from(this._bindings.keys()),o=n.length;if(!e.callback&&e.to.length>1)throw new c("observable-bind-to-no-callback",this);if(o>1&&e.callback)throw new c("observable-bind-to-extra-callback",this);var i;e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==o)throw new c("observable-bind-to-properties-length",this);t.properties.length||(t.properties=this._bindProperties)})),this._to=e.to,e.callback&&(this._bindings.get(n[0]).callback=e.callback),i=this._observable,this._to.forEach((t=>{const e=i[M];let n;e.get(t.observable)||i.listenTo(t.observable,"change",((o,r)=>{n=e.get(t.observable)[r],n&&n.forEach((t=>{j(i,t.property)}))}))})),function(t){let e;t._bindings.forEach(((n,o)=>{t._to.forEach((i=>{e=i.properties[n.callback?0:t._bindProperties.indexOf(o)],n.to.push([i.observable,e]),function(t,e,n,o){const i=t[M],r=i.get(n),s=r||{};s[o]||(s[o]=new Set);s[o].add(e),r||i.set(n,s)}(t._observable,n,i.observable,e)}))}))}(this),this._bindProperties.forEach((t=>{j(this._observable,t)}))}function O(t,e,n){if(this._bindings.size>1)throw new c("observable-bind-to-many-not-one-binding",this);this.to(...function(t,e){const n=t.map((t=>[t,e]));return Array.prototype.concat.apply([],n)}(t,e),n)}function R(t){return t.every((t=>"string"==typeof t))}function j(t,e){const n=t[T].get(e);let o;n.callback?o=n.callback.apply(t,n.to.map((t=>t[0][t[1]]))):(o=n.to[0],o=o[0][o[1]]),Object.prototype.hasOwnProperty.call(t,e)?t[e]=o:t.set(e,o)}function F(t,...e){e.forEach((e=>{const n=Object.getOwnPropertyNames(e),o=Object.getOwnPropertySymbols(e);n.concat(o).forEach((n=>{if(n in t.prototype)return;if("function"==typeof e&&("length"==n||"name"==n||"prototype"==n))return;const o=Object.getOwnPropertyDescriptor(e,n);o.enumerable=!1,Object.defineProperty(t.prototype,n,o)}))}))}["set","bind","unbind","decorate","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{B[t]=P.prototype[t]}));class V{constructor(t){this.editor=t,this.set("isEnabled",!0),this._disableStack=new Set}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on("set:isEnabled",H,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off("set:isEnabled",H),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function H(t){t.return=!1,t.stop()}F(V,B);class U{constructor(t){this.editor=t,this.set("value",void 0),this.set("isEnabled",!1),this.affectsData=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",(()=>{this.refresh()})),this.on("execute",(t=>{this.isEnabled||t.stop()}),{priority:"high"}),this.listenTo(t,"change:isReadOnly",((t,e,n)=>{n&&this.affectsData?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}))}refresh(){this.isEnabled=!0}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on("set:isEnabled",W,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off("set:isEnabled",W),this.refresh())}execute(){}destroy(){this.stopListening()}}function W(t){t.return=!1,t.stop()}F(U,B);class G extends U{constructor(t){super(t),this._childCommandsDefinitions=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return!!e&&e.execute(t)}registerChildCommand(t,e={priority:"normal"}){a(this._childCommandsDefinitions,{command:t,priority:e.priority}),t.on("change:isEnabled",(()=>this._checkEnabled())),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const t=this._childCommandsDefinitions.find((({command:t})=>t.isEnabled));return t&&t.command}}const q="object"==typeof __webpack_require__.g&&__webpack_require__.g&&__webpack_require__.g.Object===Object&&__webpack_require__.g;var $="object"==typeof self&&self&&self.Object===Object&&self;const Y=q||$||Function("return this")();const K=Y.Symbol;var Q=Object.prototype,Z=Q.hasOwnProperty,J=Q.toString,X=K?K.toStringTag:void 0;const tt=function(t){var e=Z.call(t,X),n=t[X];try{t[X]=void 0;var o=!0}catch(t){}var i=J.call(t);return o&&(e?t[X]=n:delete t[X]),i};var et=Object.prototype.toString;const nt=function(t){return et.call(t)};var ot=K?K.toStringTag:void 0;const it=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":ot&&ot in Object(t)?tt(t):nt(t)};const rt=function(t,e){return function(n){return t(e(n))}};const st=rt(Object.getPrototypeOf,Object);const at=function(t){return null!=t&&"object"==typeof t};var ct=Function.prototype,lt=Object.prototype,dt=ct.toString,ht=lt.hasOwnProperty,ut=dt.call(Object);const gt=function(t){if(!at(t)||"[object Object]"!=it(t))return!1;var e=st(t);if(null===e)return!0;var n=ht.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&dt.call(n)==ut};const mt=function(){this.__data__=[],this.size=0};const pt=function(t,e){return t===e||t!=t&&e!=e};const ft=function(t,e){for(var n=t.length;n--;)if(pt(t[n][0],e))return n;return-1};var kt=Array.prototype.splice;const bt=function(t){var e=this.__data__,n=ft(e,t);return!(n<0)&&(n==e.length-1?e.pop():kt.call(e,n,1),--this.size,!0)};const wt=function(t){var e=this.__data__,n=ft(e,t);return n<0?void 0:e[n][1]};const _t=function(t){return ft(this.__data__,t)>-1};const At=function(t,e){var n=this.__data__,o=ft(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this};function Ct(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991};var Be={};Be["[object Float32Array]"]=Be["[object Float64Array]"]=Be["[object Int8Array]"]=Be["[object Int16Array]"]=Be["[object Int32Array]"]=Be["[object Uint8Array]"]=Be["[object Uint8ClampedArray]"]=Be["[object Uint16Array]"]=Be["[object Uint32Array]"]=!0,Be["[object Arguments]"]=Be["[object Array]"]=Be["[object ArrayBuffer]"]=Be["[object Boolean]"]=Be["[object DataView]"]=Be["[object Date]"]=Be["[object Error]"]=Be["[object Function]"]=Be["[object Map]"]=Be["[object Number]"]=Be["[object Object]"]=Be["[object RegExp]"]=Be["[object Set]"]=Be["[object String]"]=Be["[object WeakMap]"]=!1;const Pe=function(t){return at(t)&&Ne(t.length)&&!!Be[it(t)]};const ze=function(t){return function(e){return t(e)}};var Le= true&&exports&&!exports.nodeType&&exports,Oe=Le&&"object"=="object"&&module&&!module.nodeType&&module,Re=Oe&&Oe.exports===Le&&q.process;const je=function(){try{var t=Oe&&Oe.require&&Oe.require("util").types;return t||Re&&Re.binding&&Re.binding("util")}catch(t){}}();var Fe=je&&je.isTypedArray;const Ve=Fe?ze(Fe):Pe;var He=Object.prototype.hasOwnProperty;const Ue=function(t,e){var n=ye(t),o=!n&&ve(t),i=!n&&!o&&Me(t),r=!n&&!o&&!i&&Ve(t),s=n||o||i||r,a=s?be(t.length,String):[],c=a.length;for(var l in t)!e&&!He.call(t,l)||s&&("length"==l||i&&("offset"==l||"parent"==l)||r&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Se(l,c))||a.push(l);return a};var We=Object.prototype;const Ge=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||We)};const qe=rt(Object.keys,Object);var $e=Object.prototype.hasOwnProperty;const Ye=function(t){if(!Ge(t))return qe(t);var e=[];for(var n in Object(t))$e.call(t,n)&&"constructor"!=n&&e.push(n);return e};const Ke=function(t){return null!=t&&Ne(t.length)&&!It(t)};const Qe=function(t){return Ke(t)?Ue(t):Ye(t)};const Ze=function(t,e){return t&&ke(e,Qe(e),t)};const Je=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e};var Xe=Object.prototype.hasOwnProperty;const tn=function(t){if(!D(t))return Je(t);var e=Ge(t),n=[];for(var o in t)("constructor"!=o||!e&&Xe.call(t,o))&&n.push(o);return n};const en=function(t){return Ke(t)?Ue(t,!0):tn(t)};const nn=function(t,e){return t&&ke(e,en(e),t)};var on= true&&exports&&!exports.nodeType&&exports,rn=on&&"object"=="object"&&module&&!module.nodeType&&module,sn=rn&&rn.exports===on?Y.Buffer:void 0,an=sn?sn.allocUnsafe:void 0;const cn=function(t,e){if(e)return t.slice();var n=t.length,o=an?an(n):new t.constructor(n);return t.copy(o),o};const ln=function(t,e){var n=-1,o=t.length;for(e||(e=Array(o));++n{this._setToTarget(t,o,e[o],n)}))}}function mo(t){return ho(t,po)}function po(t){return uo(t)?t:void 0}function fo(t){return!(!t||!t[Symbol.iterator])}class ko extends w{constructor(t={},e={}){super();const n=fo(t);if(n||(e=t),this._items=[],this._itemMap=new Map,this._idProperty=e.idProperty||"id",this._bindToExternalToInternalMap=new WeakMap,this._bindToInternalToExternalMap=new WeakMap,this._skippedIndexesFromExternal=[],n)for(const e of t)this._items.push(e),this._itemMap.set(this._getItemIdBeforeAdding(e),e)}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(t,e){return this.addMany([t],e)}addMany(t,e){if(void 0===e)e=this._items.length;else if(e>this._items.length||e<0)throw new c("collection-add-item-invalid-index",this);let n=0;for(const o of t){const t=this._getItemIdBeforeAdding(o),i=e+n;this._items.splice(i,0,o),this._itemMap.set(t,o),this.fire("add",o,i),n++}return this.fire("change",{added:t,removed:[],index:e}),this}get(t){let e;if("string"==typeof t)e=this._itemMap.get(t);else{if("number"!=typeof t)throw new c("collection-get-invalid-arg",this);e=this._items[t]}return e||null}has(t){if("string"==typeof t)return this._itemMap.has(t);{const e=t[this._idProperty];return e&&this._itemMap.has(e)}}getIndex(t){let e;return e="string"==typeof t?this._itemMap.get(t):t,e?this._items.indexOf(e):-1}remove(t){const[e,n]=this._remove(t);return this.fire("change",{added:[],removed:[e],index:n}),e}map(t,e){return this._items.map(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const t=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection)throw new c("collection-bind-to-rebind",this);return this._bindToCollection=t,{as:t=>{this._setUpBindToBinding((e=>new t(e)))},using:t=>{"function"==typeof t?this._setUpBindToBinding(t):this._setUpBindToBinding((e=>e[t]))}}}_setUpBindToBinding(t){const e=this._bindToCollection,n=(n,o,i)=>{const r=e._bindToCollection==this,s=e._bindToInternalToExternalMap.get(o);if(r&&s)this._bindToExternalToInternalMap.set(o,s),this._bindToInternalToExternalMap.set(s,o);else{const n=t(o);if(!n)return void this._skippedIndexesFromExternal.push(i);let r=i;for(const t of this._skippedIndexesFromExternal)i>t&&r--;for(const t of e._skippedIndexesFromExternal)r>=t&&r++;this._bindToExternalToInternalMap.set(o,n),this._bindToInternalToExternalMap.set(n,o),this.add(n,r);for(let t=0;t{const o=this._bindToExternalToInternalMap.get(e);o&&this.remove(o),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((t,e)=>(ne&&t.push(e),t)),[])}))}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){if(n=t[e],"string"!=typeof n)throw new c("collection-add-invalid-id",this);if(this.get(n))throw new c("collection-add-item-already-exists",this)}else t[e]=n=r();return n}_remove(t){let e,n,o,i=!1;const r=this._idProperty;if("string"==typeof t?(n=t,o=this._itemMap.get(n),i=!o,o&&(e=this._items.indexOf(o))):"number"==typeof t?(e=t,o=this._items[e],i=!o,o&&(n=o[r])):(o=t,n=o[r],e=this._items.indexOf(o),i=-1==e||!this._itemMap.get(n)),i)throw new c("collection-remove-404",this);this._items.splice(e,1),this._itemMap.delete(n);const s=this._bindToInternalToExternalMap.get(o);return this._bindToInternalToExternalMap.delete(o),this._bindToExternalToInternalMap.delete(s),this.fire("remove",o,e),[o,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}class bo{constructor(t,e=[],n=[]){this._context=t,this._plugins=new Map,this._availablePlugins=new Map;for(const t of e)t.pluginName&&this._availablePlugins.set(t.pluginName,t);this._contextPlugins=new Map;for(const[t,e]of n)this._contextPlugins.set(t,e),this._contextPlugins.set(e,t),t.pluginName&&this._availablePlugins.set(t.pluginName,t)}*[Symbol.iterator](){for(const t of this._plugins)"function"==typeof t[0]&&(yield t)}get(t){const e=this._plugins.get(t);if(!e){let e=t;throw"function"==typeof t&&(e=t.pluginName||t.name),new c("plugincollection-plugin-not-loaded",this._context,{plugin:e})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const o=this,i=this._context;!function t(e,n=new Set){e.forEach((e=>{a(e)&&(n.has(e)||(n.add(e),e.pluginName&&!o._availablePlugins.has(e.pluginName)&&o._availablePlugins.set(e.pluginName,e),e.requires&&t(e.requires,n)))}))}(t),u(t);const r=[...function t(e,n=new Set){return e.map((t=>a(t)?t:o._availablePlugins.get(t))).reduce(((e,o)=>n.has(o)?e:(n.add(o),o.requires&&(u(o.requires,o),t(o.requires,n).forEach((t=>e.add(t)))),e.add(o))),new Set)}(t.filter((t=>!d(t,e))))];!function(t,e){for(const n of e){if("function"!=typeof n)throw new c("plugincollection-replace-plugin-invalid-type",null,{pluginItem:n});const e=n.pluginName;if(!e)throw new c("plugincollection-replace-plugin-missing-name",null,{pluginItem:n});if(n.requires&&n.requires.length)throw new c("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:e});const i=o._availablePlugins.get(e);if(!i)throw new c("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:e});const r=t.indexOf(i);if(-1===r){if(o._contextPlugins.has(i))return;throw new c("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:e})}if(i.requires&&i.requires.length)throw new c("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:e});t.splice(r,1,n),o._availablePlugins.set(e,n)}}(r,n);const s=function(t){return t.map((t=>{const e=o._contextPlugins.get(t)||new t(i);return o._add(t,e),e}))}(r);return g(s,"init").then((()=>g(s,"afterInit"))).then((()=>s));function a(t){return"function"==typeof t}function l(t){return a(t)&&t.isContextPlugin}function d(t,e){return e.some((e=>e===t||(h(t)===e||h(e)===t)))}function h(t){return a(t)?t.pluginName||t.name:t}function u(t,n=null){t.map((t=>a(t)?t:o._availablePlugins.get(t)||t)).forEach((t=>{!function(t,e){if(a(t))return;if(e)throw new c("plugincollection-soft-required",i,{missingPlugin:t,requiredBy:h(e)});throw new c("plugincollection-plugin-not-found",i,{plugin:t})}(t,n),function(t,e){if(!l(e))return;if(l(t))return;throw new c("plugincollection-context-required",i,{plugin:h(t),requiredBy:h(e)})}(t,n),function(t,n){if(!n)return;if(!d(t,e))return;throw new c("plugincollection-required",i,{plugin:h(t),requiredBy:h(n)})}(t,n)}))}function g(t,e){return t.reduce(((t,n)=>n[e]?o._contextPlugins.has(n)?t:t.then(n[e].bind(n)):t),Promise.resolve())}}destroy(){const t=[];for(const[,e]of this)"function"!=typeof e.destroy||this._contextPlugins.has(e)||t.push(e.destroy());return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(n){if(this._plugins.has(n))throw new c("plugincollection-plugin-name-conflict",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t});this._plugins.set(n,e)}}}function wo(t){return Array.isArray(t)?t:[t]}let _o;F(bo,b);try{_o={window,document}}catch(t){_o={window:{},document:{}}}const Ao=_o;function Co(t,e,n=1){if("number"!=typeof n)throw new c("translation-service-quantity-not-a-number",null,{quantity:n});const o=Object.keys(Ao.window.CKEDITOR_TRANSLATIONS).length;1===o&&(t=Object.keys(Ao.window.CKEDITOR_TRANSLATIONS)[0]);const i=e.id||e.string;if(0===o||!function(t,e){return!!Ao.window.CKEDITOR_TRANSLATIONS[t]&&!!Ao.window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}(t,i))return 1!==n?e.plural:e.string;const r=Ao.window.CKEDITOR_TRANSLATIONS[t].dictionary,s=Ao.window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>1===t?0:1),a=r[i];if("string"==typeof a)return a;return a[Number(s(n))]}Ao.window.CKEDITOR_TRANSLATIONS||(Ao.window.CKEDITOR_TRANSLATIONS={});const vo=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function yo(t){return vo.includes(t)?"rtl":"ltr"}class xo{constructor(t={}){this.uiLanguage=t.uiLanguage||"en",this.contentLanguage=t.contentLanguage||this.uiLanguage,this.uiLanguageDirection=yo(this.uiLanguage),this.contentLanguageDirection=yo(this.contentLanguage),this.t=(t,e)=>this._t(t,e)}get language(){return console.warn("locale-deprecated-language-property: The Locale#language property has been deprecated and will be removed in the near future. Please use #uiLanguage and #contentLanguage properties instead."),this.uiLanguage}_t(t,e=[]){e=wo(e),"string"==typeof t&&(t={string:t});const n=!!t.plural?e[0]:1;return function(t,e){return t.replace(/%(\d+)/g,((t,n)=>nt.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(t,e){if(this._contextOwner)throw new c("context-addeditor-private-context");this.editors.add(t),e&&(this._contextOwner=t)}_removeEditor(t){return this.editors.has(t)&&this.editors.remove(t),this._contextOwner===t?this.destroy():Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names())["plugins","removePlugins","extraPlugins"].includes(e)||(t[e]=this.config.get(e));return t}static create(t){return new Promise((e=>{const n=new this(t);e(n.initPlugins().then((()=>n)))}))}}class Do{constructor(t){this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}F(Do,B);class Io{is(){throw new Error("is() method is abstract")}}function Mo(t,e){const n=Math.min(t.length,e.length);for(let o=0;ot.data.length)throw new c("view-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.data.length)throw new c("view-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(t={}){const e=[];let n=t.includeSelf?this.textNode:this.parent;for(;null!==n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}}function Po(t){return fo(t)?new Map(t):function(t){const e=new Map;for(const n in t)e.set(n,t[n]);return e}(t)}Bo.prototype.is=function(t){return"$textProxy"===t||"view:$textProxy"===t||"textProxy"===t||"view:textProxy"===t};class zo{constructor(...t){this._patterns=[],this.add(...t)}add(...t){for(let e of t)("string"==typeof e||e instanceof RegExp)&&(e={name:e}),this._patterns.push(e)}match(...t){for(const e of t)for(const t of this._patterns){const n=Lo(e,t);if(n)return{element:e,pattern:t,match:n}}return null}matchAll(...t){const e=[];for(const n of t)for(const t of this._patterns){const o=Lo(n,t);o&&e.push({element:n,pattern:t,match:o})}return e.length>0?e:null}getElementName(){if(1!==this._patterns.length)return null;const t=this._patterns[0],e=t.name;return"function"==typeof t||!e||e instanceof RegExp?null:e}}function Lo(t,e){if("function"==typeof e)return e(t);const n={};return e.name&&(n.name=function(t,e){if(t instanceof RegExp)return!!e.match(t);return t===e}(e.name,t.name),!n.name)||e.attributes&&(n.attributes=function(t,e){const n=new Set(e.getAttributeKeys());gt(t)?(void 0!==t.style&&l("matcher-pattern-deprecated-attributes-style-key",t),void 0!==t.class&&l("matcher-pattern-deprecated-attributes-class-key",t)):(n.delete("style"),n.delete("class"));return Oo(t,n,(t=>e.getAttribute(t)))}(e.attributes,t),!n.attributes)||e.classes&&(n.classes=function(t,e){return Oo(t,e.getClassNames(),(()=>{}))}(e.classes,t),!n.classes)||e.styles&&(n.styles=function(t,e){return Oo(t,e.getStyleNames(!0),(t=>e.getStyle(t)))}(e.styles,t),!n.styles)?null:n}function Oo(t,e,n){const o=function(t){if(Array.isArray(t))return t.map((t=>gt(t)?(void 0!==t.key&&void 0!==t.value||l("matcher-pattern-missing-key-or-value",t),[t.key,t.value]):[t,!0]));if(gt(t))return Object.entries(t);return[[t,!0]]}(t),i=Array.from(e),r=[];if(o.forEach((([t,e])=>{i.forEach((o=>{(function(t,e){return!0===t||t===e||t instanceof RegExp&&e.match(t)})(t,o)&&function(t,e,n){if(!0===t)return!0;const o=n(e);return t===o||t instanceof RegExp&&!!String(o).match(t)}(e,o,n)&&r.push(o)}))})),o.length&&!(r.lengthi?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var r=Array(i);++o0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}};const vi=Ci(_i);const yi=function(t,e){return vi(bi(t,e,pi),t+"")};const xi=function(t,e,n){if(!D(n))return!1;var o=typeof e;return!!("number"==o?Ke(n)&&Se(e,n.length):"string"==o&&e in n)&&pt(n[e],t)};const Ei=function(t){return yi((function(e,n){var o=-1,i=n.length,r=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(r=t.length>3&&"function"==typeof r?(i--,r):void 0,s&&xi(n[0],n[1],s)&&(r=i<3?void 0:r,i=1),e=Object(e);++oe===t));return Array.isArray(e)}set(t,e){if(D(t))for(const[e,n]of Object.entries(t))this._styleProcessor.toNormalizedForm(e,n,this._styles);else this._styleProcessor.toNormalizedForm(t,e,this._styles)}remove(t){const e=Ni(t);si(this._styles,e),delete this._styles[t],this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){return this.isEmpty?"":this._getStylesEntries().map((t=>t.join(":"))).sort().join(";")+";"}getAsString(t){if(this.isEmpty)return;if(this._styles[t]&&!D(this._styles[t]))return this._styles[t];const e=this._styleProcessor.getReducedForm(t,this._styles).find((([e])=>e===t));return Array.isArray(e)?e[1]:void 0}getStyleNames(t=!1){if(this.isEmpty)return[];if(t)return this._styleProcessor.getStyleNames(this._styles);return this._getStylesEntries().map((([t])=>t))}clear(){this._styles={}}_getStylesEntries(){const t=[],e=Object.keys(this._styles);for(const n of e)t.push(...this._styleProcessor.getReducedForm(n,this._styles));return t}_cleanEmptyObjectsOnPath(t){const e=t.split(".");if(!(e.length>1))return;const n=e.splice(0,e.length-1).join("."),o=ai(this._styles,n);if(!o)return;!Array.from(Object.keys(o)).length&&this.remove(n)}}class Si{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(t,e,n){if(D(e))Bi(n,Ni(t),e);else if(this._normalizers.has(t)){const o=this._normalizers.get(t),{path:i,value:r}=o(e);Bi(n,i,r)}else Bi(n,t,e)}getNormalized(t,e){if(!t)return Di({},e);if(void 0!==e[t])return e[t];if(this._extractors.has(t)){const n=this._extractors.get(t);if("string"==typeof n)return ai(e,n);const o=n(t,e);if(o)return o}return ai(e,Ni(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(void 0===n)return[];if(this._reducers.has(t)){return this._reducers.get(t)(n)}return[[t,n]]}getStyleNames(t){const e=Array.from(this._consumables.keys()).filter((e=>{const n=this.getNormalized(e,t);return n&&"object"==typeof n?Object.keys(n).length:n})),n=new Set([...e,...Object.keys(t)]);return Array.from(n.values())}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e)this._mapStyleNames(n,[t])}_mapStyleNames(t,e){this._consumables.has(t)||this._consumables.set(t,[]),this._consumables.get(t).push(...e)}}function Ni(t){return t.replace("-",".")}function Bi(t,e,n){let o=n;D(n)&&(o=Di({},ai(t,e),n)),Mi(t,e,o)}class Pi extends So{constructor(t,e,n,o){if(super(t),this.name=e,this._attrs=function(t){const e=Po(t);for(const[t,n]of e)null===n?e.delete(t):"string"!=typeof n&&e.set(t,String(n));return e}(n),this._children=[],o&&this._insertChild(0,o),this._classes=new Set,this._attrs.has("class")){const t=this._attrs.get("class");zi(this._classes,t),this._attrs.delete("class")}this._styles=new Ti(this.document.stylesProcessor),this._attrs.has("style")&&(this._styles.setTo(this._attrs.get("style")),this._attrs.delete("style")),this._customProperties=new Map,this._unsafeAttributesToRender=[]}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes.size>0&&(yield"class"),this._styles.isEmpty||(yield"style"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield["class",this.getAttribute("class")]),this._styles.isEmpty||(yield["style",this.getAttribute("style")])}getAttribute(t){if("class"==t)return this._classes.size>0?[...this._classes].join(" "):void 0;if("style"==t){const t=this._styles.toString();return""==t?void 0:t}return this._attrs.get(t)}hasAttribute(t){return"class"==t?this._classes.size>0:"style"==t?!this._styles.isEmpty:this._attrs.has(t)}isSimilar(t){if(!(t instanceof Pi))return!1;if(this===t)return!0;if(this.name!=t.name)return!1;if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size)return!1;for(const[e,n]of this._attrs)if(!t._attrs.has(e)||t._attrs.get(e)!==n)return!1;for(const e of this._classes)if(!t._classes.has(e))return!1;for(const e of this._styles.getStyleNames())if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e))return!1;return!0}hasClass(...t){for(const e of t)if(!this._classes.has(e))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t)if(!this._styles.has(e))return!1;return!0}findAncestor(...t){const e=new zo(...t);let n=this.parent;for(;n&&!n.is("documentFragment");){if(e.match(n))return n;n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(","),e=this._styles.toString(),n=Array.from(this._attrs).map((t=>`${t[0]}="${t[1]}"`)).sort().join(" ");return this.name+(""==t?"":` class="${t}"`)+(e?` style="${e}"`:"")+(""==n?"":` ${n}`)}shouldRenderUnsafeAttribute(t){return this._unsafeAttributesToRender.includes(t)}_clone(t=!1){const e=[];if(t)for(const n of this.getChildren())e.push(n._clone(t));const n=new this.constructor(this.document,this.name,this._attrs,e);return n._classes=new Set(this._classes),n._styles.set(this._styles.getNormalized()),n._customProperties=new Map(this._customProperties),n.getFillerOffset=this.getFillerOffset,n._unsafeAttributesToRender=this._unsafeAttributesToRender,n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange("children",this);let n=0;const o=function(t,e){if("string"==typeof e)return[new No(t,e)];fo(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new No(t,e):e instanceof Bo?new No(t,e.data):e))}(this.document,e);for(const e of o)null!==e.parent&&e._remove(),e.parent=this,e.document=this.document,this._children.splice(t,0,e),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n0&&(this._classes.clear(),!0):"style"==t?!this._styles.isEmpty&&(this._styles.clear(),!0):this._attrs.delete(t)}_addClass(t){this._fireChange("attributes",this);for(const e of wo(t))this._classes.add(e)}_removeClass(t){this._fireChange("attributes",this);for(const e of wo(t))this._classes.delete(e)}_setStyle(t,e){this._fireChange("attributes",this),gt(t)?this._styles.set(t):this._styles.set(t,e)}_removeStyle(t){this._fireChange("attributes",this);for(const e of wo(t))this._styles.remove(e)}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function zi(t,e){const n=e.split(/\s+/);t.clear(),n.forEach((e=>t.add(e)))}Pi.prototype.is=function(t,e){return e?e===this.name&&("element"===t||"view:element"===t):"element"===t||"view:element"===t||"node"===t||"view:node"===t};class Li extends Pi{constructor(...t){super(...t),this.getFillerOffset=Oi}}function Oi(){const t=[...this.getChildren()],e=t[this.childCount-1];if(e&&e.is("element","br"))return this.childCount;for(const e of t)if(!e.is("uiElement"))return null;return this.childCount}Li.prototype.is=function(t,e){return e?e===this.name&&("containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class Ri extends(B(Li)){constructor(...t){super(...t);const e=t[0];this.set("isReadOnly",!1),this.set("isFocused",!1),this.bind("isReadOnly").to(e),this.bind("isFocused").to(e,"isFocused",(t=>t&&e.selection.editableElement==this)),this.listenTo(e.selection,"change",(()=>{this.isFocused=e.isFocused&&e.selection.editableElement==this}))}destroy(){this.stopListening()}}Ri.prototype.is=function(t,e){return e?e===this.name&&("editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};const ji=Symbol("rootName");class Fi extends Ri{constructor(t,e){super(t,e),this.rootName="main"}get rootName(){return this.getCustomProperty(ji)}set rootName(t){this._setCustomProperty(ji,t)}set _name(t){this.name=t}}Fi.prototype.is=function(t,e){return e?e===this.name&&("rootElement"===t||"view:rootElement"===t||"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"rootElement"===t||"view:rootElement"===t||"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class Vi{constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new c("view-tree-walker-no-start-position",null);if(t.direction&&"forward"!=t.direction&&"backward"!=t.direction)throw new c("view-tree-walker-unknown-direction",t.startPosition,{direction:t.direction});this.boundaries=t.boundaries||null,t.startPosition?this.position=Hi._createAt(t.startPosition):this.position=Hi._createAt(t.boundaries["backward"==t.direction?"end":"start"]),this.direction=t.direction||"forward",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(t){let e,n,o;do{o=this.position,({done:e,value:n}=this.next())}while(!e&&t(n));e||(this.position=o)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&t.offset===n.childCount)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0,value:void 0};let o;if(n instanceof No){if(t.isAtEnd)return this.position=Hi._createAfter(n),this._next();o=n.data[t.offset]}else o=n.getChild(t.offset);if(o instanceof Pi)return this.shallow?t.offset++:t=new Hi(o,0),this.position=t,this._formatReturnValue("elementStart",o,e,t,1);if(o instanceof No){if(this.singleCharacters)return t=new Hi(o,0),this.position=t,this._next();{let n,i=o.data.length;return o==this._boundaryEndParent?(i=this.boundaries.end.offset,n=new Bo(o,0,i),t=Hi._createAfter(n)):(n=new Bo(o,0,o.data.length),t.offset++),this.position=t,this._formatReturnValue("text",n,e,t,i)}}if("string"==typeof o){let o;if(this.singleCharacters)o=1;else{o=(n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length)-t.offset}const i=new Bo(n,t.offset,o);return t.offset+=o,this.position=t,this._formatReturnValue("text",i,e,t,o)}return t=Hi._createAfter(n),this.position=t,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",n,e,t)}_previous(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&0===t.offset)return{done:!0,value:void 0};if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset)return{done:!0,value:void 0};let o;if(n instanceof No){if(t.isAtStart)return this.position=Hi._createBefore(n),this._previous();o=n.data[t.offset-1]}else o=n.getChild(t.offset-1);if(o instanceof Pi)return this.shallow?(t.offset--,this.position=t,this._formatReturnValue("elementStart",o,e,t,1)):(t=new Hi(o,o.childCount),this.position=t,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",o,e,t));if(o instanceof No){if(this.singleCharacters)return t=new Hi(o,o.data.length),this.position=t,this._previous();{let n,i=o.data.length;if(o==this._boundaryStartParent){const e=this.boundaries.start.offset;n=new Bo(o,e,o.data.length-e),i=n.data.length,t=Hi._createBefore(n)}else n=new Bo(o,0,o.data.length),t.offset--;return this.position=t,this._formatReturnValue("text",n,e,t,i)}}if("string"==typeof o){let o;if(this.singleCharacters)o=1;else{const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;o=t.offset-e}t.offset-=o;const i=new Bo(n,t.offset,o);return this.position=t,this._formatReturnValue("text",i,e,t,o)}return t=Hi._createBefore(n),this.position=t,this._formatReturnValue("elementStart",n,e,t,1)}_formatReturnValue(t,e,n,o,i){return e instanceof Bo&&(e.offsetInText+e.data.length==e.textNode.data.length&&("forward"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?n=Hi._createAfter(e.textNode):(o=Hi._createAfter(e.textNode),this.position=o)),0===e.offsetInText&&("backward"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?n=Hi._createBefore(e.textNode):(o=Hi._createBefore(e.textNode),this.position=o))),{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}}class Hi extends Io{constructor(t,e){super(),this.parent=t,this.offset=e}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const t=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;for(;!(t instanceof Ri);){if(!t.parent)return null;t=t.parent}return t}getShiftedBy(t){const e=Hi._createAt(this),n=e.offset+t;return e.offset=n<0?0:n,e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new Vi(e);return n.skip(t),n.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(t){const e=this.getAncestors(),n=t.getAncestors();let o=0;for(;e[o]==n[o]&&e[o];)o++;return 0===o?null:e[o-1]}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return"before"==this.compareWith(t)}isAfter(t){return"after"==this.compareWith(t)}compareWith(t){if(this.root!==t.root)return"different";if(this.isEqual(t))return"same";const e=this.parent.is("node")?this.parent.getPath():[],n=t.parent.is("node")?t.parent.getPath():[];e.push(this.offset),n.push(t.offset);const o=Mo(e,n);switch(o){case"prefix":return"before";case"extension":return"after";default:return e[o]0?new this(n,o):new this(o,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is("$textProxy")?t.offsetSize:1;return this._createFromPositionAndShift(Hi._createBefore(t),e)}}function Wi(t){return!(!t.item.is("attributeElement")&&!t.item.is("uiElement"))}function Gi(t){let e=0;for(const n of t)e++;return e}Ui.prototype.is=function(t){return"range"===t||"view:range"===t};class qi extends(b(Io)){constructor(...t){super(),this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",t.length&&this.setTo(...t)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.end:t.start).clone()}get focus(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.start:t.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const t of this._ranges)yield t.clone()}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake)return!1;if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel)return!1;if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const o of t._ranges)if(e.isEqual(o)){n=!0;break}if(!n)return!1}return!0}isSimilar(t){if(this.isBackward!=t.isBackward)return!1;const e=Gi(this.getRanges());if(e!=Gi(t.getRanges()))return!1;if(0==e)return!0;for(let e of this.getRanges()){e=e.getTrimmed();let n=!1;for(let o of t.getRanges())if(o=o.getTrimmed(),e.start.isEqual(o.start)&&e.end.isEqual(o.end)){n=!0;break}if(!n)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(...t){let[e,n,o]=t;if("object"==typeof n&&(o=n,n=void 0),null===e)this._setRanges([]),this._setFakeOptions(o);else if(e instanceof qi||e instanceof $i)this._setRanges(e.getRanges(),e.isBackward),this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel});else if(e instanceof Ui)this._setRanges([e],o&&o.backward),this._setFakeOptions(o);else if(e instanceof Hi)this._setRanges([new Ui(e)]),this._setFakeOptions(o);else if(e instanceof So){const t=!!o&&!!o.backward;let i;if(void 0===n)throw new c("view-selection-setto-required-second-parameter",this);i="in"==n?Ui._createIn(e):"on"==n?Ui._createOn(e):new Ui(Hi._createAt(e,n)),this._setRanges([i],t),this._setFakeOptions(o)}else{if(!fo(e))throw new c("view-selection-setto-not-selectable",this);this._setRanges(e,o&&o.backward),this._setFakeOptions(o)}this.fire("change")}setFocus(t,e){if(null===this.anchor)throw new c("view-selection-setfocus-no-ranges",this);const n=Hi._createAt(t,e);if("same"==n.compareWith(this.focus))return;const o=this.anchor;this._ranges.pop(),"before"==n.compareWith(o)?this._addRange(new Ui(n,o),!0):this._addRange(new Ui(o,n)),this.fire("change")}_setRanges(t,e=!1){t=Array.from(t),this._ranges=[];for(const e of t)this._addRange(e);this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake,this._fakeSelectionLabel=t.fake&&t.label||""}_addRange(t,e=!1){if(!(t instanceof Ui))throw new c("view-selection-add-range-not-range",this);this._pushRange(t),this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges)if(t.isIntersecting(e))throw new c("view-selection-range-intersects",this,{addedRange:t,intersectingRange:e});this._ranges.push(new Ui(t.start,t.end))}}qi.prototype.is=function(t){return"selection"===t||"view:selection"===t};class $i extends(b(Io)){constructor(...t){super(),this._selection=new qi,this._selection.delegate("change").to(this),t.length&&this._selection.setTo(...t)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}_setTo(...t){this._selection.setTo(...t)}_setFocus(t,e){this._selection.setFocus(t,e)}}$i.prototype.is=function(t){return"selection"===t||"documentSelection"==t||"view:selection"==t||"view:documentSelection"==t};class Yi extends e{constructor(t,e,n){super(t,e),this.startRange=n,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const Ki=Symbol("bubbling contexts");function Qi(t){return class extends t{fire(t,...n){try{const o=t instanceof e?t:new e(this,t),i=tr(this);if(!i.size)return;if(Zi(o,"capturing",this),Ji(i,"$capture",o,...n))return o.return;const r=o.startRange||this.selection.getFirstRange(),s=r?r.getContainedElement():null,a=!!s&&Boolean(Xi(i,s));let c=s||function(t){if(!t)return null;const e=t.start.parent,n=t.end.parent,o=e.getPath(),i=n.getPath();return o.length>i.length?e:n}(r);if(Zi(o,"atTarget",c),!a){if(Ji(i,"$text",o,...n))return o.return;Zi(o,"bubbling",c)}for(;c;){if(c.is("rootElement")){if(Ji(i,"$root",o,...n))return o.return}else if(c.is("element")&&Ji(i,c.name,o,...n))return o.return;if(Ji(i,c,o,...n))return o.return;c=c.parent,Zi(o,"bubbling",c)}return Zi(o,"bubbling",this),Ji(i,"$document",o,...n),o.return}catch(t){c.rethrowUnexpectedError(t,this)}}_addEventListener(t,e,n){const o=wo(n.context||"$document"),i=tr(this);for(const r of o){let o=i.get(r);o||(o=new w,i.set(r,o)),this.listenTo(o,t,e,n)}}_removeEventListener(t,e){const n=tr(this);for(const o of n.values())this.stopListening(o,t,e)}}}{const t=Qi(Object);["fire","_addEventListener","_removeEventListener"].forEach((e=>{Qi[e]=t.prototype[e]}))}function Zi(t,e,n){t instanceof Yi&&(t._eventPhase=e,t._currentTarget=n)}function Ji(t,e,n,...o){const i="string"==typeof e?t.get(e):Xi(t,e);return!!i&&(i.fire(n,...o),n.stop.called)}function Xi(t,e){for(const[n,o]of t)if("function"==typeof n&&n(e))return o;return null}function tr(t){return t[Ki]||(t[Ki]=new Map),t[Ki]}class er extends(Qi(P)){constructor(t){super(),this.selection=new $i,this.roots=new ko({idProperty:"rootName"}),this.stylesProcessor=t,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1),this._postFixers=new Set}getRoot(t="main"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.map((t=>t.destroy())),this.stopListening()}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(e=n(t),e)break}while(e)}}class nr extends Pi{constructor(...t){super(...t),this.getFillerOffset=or,this._priority=10,this._id=null,this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new c("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}isSimilar(t){return null!==this.id||null!==t.id?this.id===t.id:super.isSimilar(t)&&this.priority==t.priority}_clone(t=!1){const e=super._clone(t);return e._priority=this._priority,e._id=this._id,e}}function or(){if(ir(this))return null;let t=this.parent;for(;t&&t.is("attributeElement");){if(ir(t)>1)return null;t=t.parent}return!t||ir(t)>1?null:this.childCount}function ir(t){return Array.from(t.getChildren()).filter((t=>!t.is("uiElement"))).length}nr.DEFAULT_PRIORITY=10,nr.prototype.is=function(t,e){return e?e===this.name&&("attributeElement"===t||"view:attributeElement"===t||"element"===t||"view:element"===t):"attributeElement"===t||"view:attributeElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class rr extends Pi{constructor(t,e,n,o){super(t,e,n,o),this.getFillerOffset=sr}_insertChild(t,e){if(e&&(e instanceof So||Array.from(e).length>0))throw new c("view-emptyelement-cannot-add",[this,e]);return 0}}function sr(){return null}rr.prototype.is=function(t,e){return e?e===this.name&&("emptyElement"===t||"view:emptyElement"===t||"element"===t||"view:element"===t):"emptyElement"===t||"view:emptyElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};const ar=function(){try{return navigator.userAgent.toLowerCase()}catch(t){return""}}(),cr={isMac:dr(ar),isWindows:function(t){return t.indexOf("windows")>-1}(ar),isGecko:function(t){return!!t.match(/gecko\/\d+/)}(ar),isSafari:function(t){return t.indexOf(" applewebkit/")>-1&&-1===t.indexOf("chrome")}(ar),isiOS:function(t){return!!t.match(/iphone|ipad/i)||dr(t)&&navigator.maxTouchPoints>0}(ar),isAndroid:function(t){return t.indexOf("android")>-1}(ar),isBlink:function(t){return t.indexOf("chrome/")>-1&&t.indexOf("edge/")<0}(ar),features:{isRegExpUnicodePropertySupported:function(){let t=!1;try{t=0==="ć".search(new RegExp("[\\p{L}]","u"))}catch(t){}return t}()}},lr=cr;function dr(t){return t.indexOf("macintosh")>-1}const hr={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},ur={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},gr=function(){const t={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let e=65;e<=90;e++){const n=String.fromCharCode(e);t[n.toLowerCase()]=e}for(let e=48;e<=57;e++)t[e-48]=e;for(let e=112;e<=123;e++)t["f"+(e-111)]=e;for(const e of"`-=[];',./\\")t[e]=e.charCodeAt(0);return t}(),mr=Object.fromEntries(Object.entries(gr).map((([t,e])=>[e,t.charAt(0).toUpperCase()+t.slice(1)])));function pr(t){let e;if("string"==typeof t){if(e=gr[t.toLowerCase()],!e)throw new c("keyboard-unknown-key",null,{key:t})}else e=t.keyCode+(t.altKey?gr.alt:0)+(t.ctrlKey?gr.ctrl:0)+(t.shiftKey?gr.shift:0)+(t.metaKey?gr.cmd:0);return e}function fr(t){return"string"==typeof t&&(t=function(t){return t.split("+").map((t=>t.trim()))}(t)),t.map((t=>"string"==typeof t?function(t){if(t.endsWith("!"))return pr(t.slice(0,-1));const e=pr(t);return lr.isMac&&e==gr.ctrl?gr.cmd:e}(t):t)).reduce(((t,e)=>e+t),0)}function kr(t){let e=fr(t);return Object.entries(lr.isMac?hr:ur).reduce(((t,[n,o])=>(0!=(e&gr[n])&&(e&=~gr[n],t+=o),t)),"")+(e?mr[e]:"")}function br(t,e){const n="ltr"===e;switch(t){case gr.arrowleft:return n?"left":"right";case gr.arrowright:return n?"right":"left";case gr.arrowup:return"up";case gr.arrowdown:return"down"}}class wr extends Pi{constructor(...t){super(...t),this.getFillerOffset=Ar}_insertChild(t,e){if(e&&(e instanceof So||Array.from(e).length>0))throw new c("view-uielement-cannot-add",[this,e]);return 0}render(t,e){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys())e.setAttribute(t,this.getAttribute(t));return e}}function _r(t){t.document.on("arrowKey",((e,n)=>function(t,e,n){if(e.keyCode==gr.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection(),o=1==t.rangeCount&&t.getRangeAt(0).collapsed;if(o||e.shiftKey){const e=t.focusNode,i=t.focusOffset,r=n.domPositionToView(e,i);if(null===r)return;let s=!1;const a=r.getLastMatchingPosition((t=>(t.item.is("uiElement")&&(s=!0),!(!t.item.is("uiElement")&&!t.item.is("attributeElement")))));if(s){const e=n.viewPositionToDom(a);o?t.collapse(e.parent,e.offset):t.extend(e.parent,e.offset)}}}}(0,n,t.domConverter)),{priority:"low"})}function Ar(){return null}wr.prototype.is=function(t,e){return e?e===this.name&&("uiElement"===t||"view:uiElement"===t||"element"===t||"view:element"===t):"uiElement"===t||"view:uiElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class Cr extends Pi{constructor(...t){super(...t),this.getFillerOffset=vr}_insertChild(t,e){if(e&&(e instanceof So||Array.from(e).length>0))throw new c("view-rawelement-cannot-add",[this,e]);return 0}render(){}}function vr(){return null}Cr.prototype.is=function(t,e){return e?e===this.name&&("rawElement"===t||"view:rawElement"===t||"element"===t||"view:element"===t):"rawElement"===t||"view:rawElement"===t||t===this.name||t==="view:"+this.name||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class yr extends(b(Io)){constructor(t,e){super(),this.document=t,this._children=[],e&&this._insertChild(0,e)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange("children",this);let n=0;const o=function(t,e){if("string"==typeof e)return[new No(t,e)];fo(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new No(t,e):e instanceof Bo?new No(t,e.data):e))}(this.document,e);for(const e of o)null!==e.parent&&e._remove(),e.parent=this,this._children.splice(t,0,e),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n{const n=t[t.length-1],o=!e.is("uiElement");return n&&n.breakAttributes==o?n.nodes.push(e):t.push({breakAttributes:o,nodes:[e]}),t}),[]);let o=null,i=t;for(const{nodes:t,breakAttributes:e}of n){const n=this._insertNodes(i,t,e);o||(o=n.start),i=n.end}return o?new Ui(o,i):new Ui(t)}remove(t){const e=t instanceof Ui?t:Ui._createOn(t);if(Pr(e,this.document),e.isCollapsed)return new yr(this.document);const{start:n,end:o}=this._breakAttributesRange(e,!0),i=n.parent,r=o.offset-n.offset,s=i._removeChildren(n.offset,r);for(const t of s)this._removeFromClonedElementsGroup(t);const a=this.mergeAttributes(n);return e.start=a,e.end=a.clone(),new yr(this.document,s)}clear(t,e){Pr(t,this.document);const n=t.getWalker({direction:"backward",ignoreElementEnd:!0});for(const o of n){const n=o.item;let i;if(n.is("element")&&e.isSimilar(n))i=Ui._createOn(n);else if(!o.nextPosition.isAfter(t.start)&&n.is("$textProxy")){const t=n.getAncestors().find((t=>t.is("element")&&e.isSimilar(t)));t&&(i=Ui._createIn(t))}i&&(i.end.isAfter(t.end)&&(i.end=t.end),i.start.isBefore(t.start)&&(i.start=t.start),this.remove(i))}}move(t,e){let n;if(e.isAfter(t.end)){const o=(e=this._breakAttributes(e,!0)).parent,i=o.childCount;t=this._breakAttributesRange(t,!0),n=this.remove(t),e.offset+=o.childCount-i}else n=this.remove(t);return this.insert(e,n)}wrap(t,e){if(!(e instanceof nr))throw new c("view-writer-wrap-invalid-attribute",this.document);if(Pr(t,this.document),t.isCollapsed){let o=t.start;o.parent.is("element")&&(n=o.parent,!Array.from(n.getChildren()).some((t=>!t.is("uiElement"))))&&(o=o.getLastMatchingPosition((t=>t.item.is("uiElement")))),o=this._wrapPosition(o,e);const i=this.document.selection;return i.isCollapsed&&i.getFirstPosition().isEqual(t.start)&&this.setSelection(o),new Ui(o)}return this._wrapRange(t,e);var n}unwrap(t,e){if(!(e instanceof nr))throw new c("view-writer-unwrap-invalid-attribute",this.document);if(Pr(t,this.document),t.isCollapsed)return t;const{start:n,end:o}=this._breakAttributesRange(t,!0),i=n.parent,r=this._unwrapChildren(i,n.offset,o.offset,e),s=this.mergeAttributes(r.start);s.isEqual(r.start)||r.end.offset--;const a=this.mergeAttributes(r.end);return new Ui(s,a)}rename(t,e){const n=new Li(this.document,t,e.getAttributes());return this.insert(Hi._createAfter(e),n),this.move(Ui._createIn(e),Hi._createAt(n,0)),this.remove(Ui._createOn(e)),n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return Hi._createAt(t,e)}createPositionAfter(t){return Hi._createAfter(t)}createPositionBefore(t){return Hi._createBefore(t)}createRange(...t){return new Ui(...t)}createRangeOn(t){return Ui._createOn(t)}createRangeIn(t){return Ui._createIn(t)}createSelection(...t){return new qi(...t)}createSlot(t){if(!this._slotFactory)throw new c("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,t)}_registerSlotFactory(t){this._slotFactory=t}_clearSlotFactory(){this._slotFactory=null}_insertNodes(t,e,n){let o,i;if(o=n?Er(t):t.parent.is("$text")?t.parent.parent:t.parent,!o)throw new c("view-writer-invalid-position-container",this.document);i=n?this._breakAttributes(t,!0):t.parent.is("$text")?Mr(t):t;const r=o._insertChild(i.offset,e);for(const t of e)this._addToClonedElementsGroup(t);const s=i.getShiftedBy(r),a=this.mergeAttributes(i);a.isEqual(i)||s.offset--;const l=this.mergeAttributes(s);return new Ui(a,l)}_wrapChildren(t,e,n,o){let i=e;const r=[];for(;i!1,t.parent._insertChild(t.offset,n);const o=new Ui(t,t.getShiftedBy(1));this.wrap(o,e);const i=new Hi(n.parent,n.index);n._remove();const r=i.nodeBefore,s=i.nodeAfter;return r instanceof No&&s instanceof No?Tr(r,s):Ir(i)}_wrapAttributeElement(t,e){if(!zr(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if("class"!==n&&"style"!==n&&e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n))return!1;for(const n of t.getStyleNames())if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())"class"!==n&&"style"!==n&&(e.hasAttribute(n)||this.setAttribute(n,t.getAttribute(n),e));for(const n of t.getStyleNames())e.hasStyle(n)||this.setStyle(n,t.getStyle(n),e);for(const n of t.getClassNames())e.hasClass(n)||this.addClass(n,e);return!0}_unwrapAttributeElement(t,e){if(!zr(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if("class"!==n&&"style"!==n&&(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)))return!1;if(!e.hasClass(...t.getClassNames()))return!1;for(const n of t.getStyleNames())if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())"class"!==n&&"style"!==n&&this.removeAttribute(n,e);return this.removeClass(Array.from(t.getClassNames()),e),this.removeStyle(Array.from(t.getStyleNames()),e),!0}_breakAttributesRange(t,e=!1){const n=t.start,o=t.end;if(Pr(t,this.document),t.isCollapsed){const n=this._breakAttributes(t.start,e);return new Ui(n,n)}const i=this._breakAttributes(o,e),r=i.parent.childCount,s=this._breakAttributes(n,e);return i.offset+=i.parent.childCount-r,new Ui(s,i)}_breakAttributes(t,e=!1){const n=t.offset,o=t.parent;if(t.parent.is("emptyElement"))throw new c("view-writer-cannot-break-empty-element",this.document);if(t.parent.is("uiElement"))throw new c("view-writer-cannot-break-ui-element",this.document);if(t.parent.is("rawElement"))throw new c("view-writer-cannot-break-raw-element",this.document);if(!e&&o.is("$text")&&Br(o.parent))return t.clone();if(Br(o))return t.clone();if(o.is("$text"))return this._breakAttributes(Mr(t),e);if(n==o.childCount){const t=new Hi(o.parent,o.index+1);return this._breakAttributes(t,e)}if(0===n){const t=new Hi(o.parent,o.index);return this._breakAttributes(t,e)}{const t=o.index+1,i=o._clone();o.parent._insertChild(t,i),this._addToClonedElementsGroup(i);const r=o.childCount-n,s=o._removeChildren(n,r);i._appendChild(s);const a=new Hi(o.parent,t);return this._breakAttributes(a,e)}}_addToClonedElementsGroup(t){if(!t.root.is("rootElement"))return;if(t.is("element"))for(const e of t.getChildren())this._addToClonedElementsGroup(e);const e=t.id;if(!e)return;let n=this._cloneGroups.get(e);n||(n=new Set,this._cloneGroups.set(e,n)),n.add(t),t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is("element"))for(const e of t.getChildren())this._removeFromClonedElementsGroup(e);const e=t.id;if(!e)return;const n=this._cloneGroups.get(e);n&&n.delete(t)}}function Er(t){let e=t.parent;for(;!Br(e);){if(!e)return;e=e.parent}return e}function Dr(t,e){return t.prioritye.priority)&&t.getIdentity()n instanceof t)))throw new c("view-writer-insert-invalid-node-type",e);n.is("$text")||Nr(n.getChildren(),e)}}function Br(t){return t&&(t.is("containerElement")||t.is("documentFragment"))}function Pr(t,e){const n=Er(t.start),o=Er(t.end);if(!n||!o||n!==o)throw new c("view-writer-invalid-range-container",e)}function zr(t,e){return null===t.id&&null===e.id}function Lr(t){return"[object Text]"==Object.prototype.toString.call(t)}const Or=t=>t.createTextNode(" "),Rr=t=>{const e=t.createElement("span");return e.dataset.ckeFiller="true",e.innerText=" ",e},jr=t=>{const e=t.createElement("br");return e.dataset.ckeFiller="true",e},Fr="⁠".repeat(7);function Vr(t){return Lr(t)&&t.data.substr(0,7)===Fr}function Hr(t){return 7==t.data.length&&Vr(t)}function Ur(t){return Vr(t)?t.data.slice(7):t.data}function Wr(t,e){if(e.keyCode==gr.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(1==t.rangeCount&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer,n=t.getRangeAt(0).startOffset;Vr(e)&&n<=7&&t.collapse(e,0)}}}function Gr(t,e,n,o=!1){n=n||function(t,e){return t===e};const i=Array.isArray(t)?t:Array.prototype.slice.call(t),r=Array.isArray(e)?e:Array.prototype.slice.call(e),s=function(t,e,n){const o=qr(t,e,n);if(-1===o)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const i=$r(t,o),r=$r(e,o),s=qr(i,r,n),a=t.length-s,c=e.length-s;return{firstIndex:o,lastIndexOld:a,lastIndexNew:c}}(i,r,n);return o?function(t,e){const{firstIndex:n,lastIndexOld:o,lastIndexNew:i}=t;if(-1===n)return Array(e).fill("equal");let r=[];n>0&&(r=r.concat(Array(n).fill("equal")));i-n>0&&(r=r.concat(Array(i-n).fill("insert")));o-n>0&&(r=r.concat(Array(o-n).fill("delete")));i0&&n.push({index:o,type:"insert",values:t.slice(o,r)});i-o>0&&n.push({index:o+(r-o),type:"delete",howMany:i-o});return n}(r,s)}function qr(t,e,n){for(let o=0;o200||i>200||o+i>300)return Yr.fastDiff(t,e,n,!0);let r,s;if(il?-1:1;d[o+u]&&(d[o]=d[o+u].slice(0)),d[o]||(d[o]=[]),d[o].push(i>l?r:s);let g=Math.max(i,l),m=g-o;for(;ml;g--)h[g]=u(g);h[l]=u(l),m++}while(h[l]!==c);return d[l].slice(1)}function Kr(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function Qr(t){const e=t.parentNode;e&&e.removeChild(t)}function Zr(t){return t&&t.nodeType===Node.COMMENT_NODE}function Jr(t){if(t){if(t.defaultView)return t instanceof t.defaultView.Document;if(t.ownerDocument&&t.ownerDocument.defaultView)return t instanceof t.ownerDocument.defaultView.Node}return!1}Yr.fastDiff=Gr;var Xr=n(6062),ts=n.n(Xr),es=n(9315),ns={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(es.Z,ns);es.Z.locals;class os extends P{constructor(t,e){super(),this.domDocuments=new Set,this.domConverter=t,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this.selection=e,this.set("isFocused",!1),this.set("isSelecting",!1),lr.isBlink&&!lr.isAndroid&&this.on("change:isSelecting",(()=>{this.isSelecting||this.render()})),this._inlineFiller=null,this._fakeSelectionContainer=null}markToSync(t,e){if("text"===t)this.domConverter.mapViewToDom(e.parent)&&this.markedTexts.add(e);else{if(!this.domConverter.mapViewToDom(e))return;if("attributes"===t)this.markedAttributes.add(e);else{if("children"!==t)throw new c("view-renderer-unknown-type",this);this.markedChildren.add(e)}}}render(){let t=null;const e=!(lr.isBlink&&!lr.isAndroid)||!this.isSelecting;for(const t of this.markedChildren)this._updateChildrenMappings(t);e?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?t=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(t=this.selection.getFirstPosition(),this.markedChildren.add(t.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(t=this.domConverter.domPositionToView(this._inlineFiller),t&&t.parent.is("$text")&&(t=Hi._createBefore(t.parent)));for(const t of this.markedAttributes)this._updateAttrs(t);for(const e of this.markedChildren)this._updateChildren(e,{inlineFillerPosition:t});for(const e of this.markedTexts)!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)&&this._updateText(e,{inlineFillerPosition:t});if(e)if(t){const e=this.domConverter.viewPositionToDom(t),n=e.parent.ownerDocument;Vr(e.parent)?this._inlineFiller=e.parent:this._inlineFiller=is(n,e.parent,e.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(t){if(!this.domConverter.mapViewToDom(t))return;const e=Array.from(this.domConverter.mapViewToDom(t).childNodes),n=Array.from(this.domConverter.viewChildrenToDom(t,{withChildren:!1})),o=this._diffNodeLists(e,n),i=this._findReplaceActions(o,e,n);if(-1!==i.indexOf("replace")){const o={equal:0,insert:0,delete:0};for(const r of i)if("replace"===r){const i=o.equal+o.insert,r=o.equal+o.delete,s=t.getChild(i);!s||s.is("uiElement")||s.is("rawElement")||this._updateElementMappings(s,e[r]),Qr(n[i]),o.equal++}else o[r]++}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e),this.domConverter.bindElements(e,t),this.markedChildren.add(t),this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();return t.parent.is("$text")?Hi._createBefore(t.parent):t}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=this.domConverter.viewPositionToDom(t);return!!(e&&Lr(e.parent)&&Vr(e.parent))}_removeInlineFiller(){const t=this._inlineFiller;if(!Vr(t))throw new c("view-renderer-filler-was-lost",this);Hr(t)?t.remove():t.data=t.data.substr(7),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=t.parent,n=t.offset;if(!this.domConverter.mapViewToDom(e.root))return!1;if(!e.is("element"))return!1;if(!function(t){if("false"==t.getAttribute("contenteditable"))return!1;const e=t.findAncestor((t=>t.hasAttribute("contenteditable")));return!e||"true"==e.getAttribute("contenteditable")}(e))return!1;if(n===e.getFillerOffset())return!1;const o=t.nodeBefore,i=t.nodeAfter;return!(o instanceof No||i instanceof No)}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t),o=this.domConverter.viewToDom(t),i=n.data;let r=o.data;const s=e.inlineFillerPosition;if(s&&s.parent==t.parent&&s.offset==t.index&&(r=Fr+r),i!=r){const t=Gr(i,r);for(const e of t)"insert"===e.type?n.insertData(e.index,e.values.join("")):n.deleteData(e.index,e.howMany)}}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.attributes).map((t=>t.name)),o=t.getAttributeKeys();for(const n of o)this.domConverter.setDomElementAttribute(e,n,t.getAttribute(n),t);for(const o of n)t.hasAttribute(o)||this.domConverter.removeDomElementAttribute(e,o)}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n)return;const o=e.inlineFillerPosition,i=this.domConverter.mapViewToDom(t).childNodes,r=Array.from(this.domConverter.viewChildrenToDom(t,{bind:!0}));o&&o.parent===t&&is(n.ownerDocument,r,o.offset);const s=this._diffNodeLists(i,r);let a=0;const c=new Set;for(const t of s)"delete"===t?(c.add(i[a]),Qr(i[a])):"equal"===t&&a++;a=0;for(const t of s)"insert"===t?(Kr(n,a,r[a]),a++):"equal"===t&&(this._markDescendantTextToSync(this.domConverter.domToView(r[a])),a++);for(const t of c)t.parentNode||this.domConverter.unbindDomElement(t)}_diffNodeLists(t,e){return Yr(t=function(t,e){const n=Array.from(t);if(0==n.length||!e)return n;n[n.length-1]==e&&n.pop();return n}(t,this._fakeSelectionContainer),e,ss.bind(null,this.domConverter))}_findReplaceActions(t,e,n){if(-1===t.indexOf("insert")||-1===t.indexOf("delete"))return t;let o=[],i=[],r=[];const s={equal:0,insert:0,delete:0};for(const a of t)"insert"===a?r.push(n[s.equal+s.insert]):"delete"===a?i.push(e[s.equal+s.delete]):(o=o.concat(Yr(i,r,rs).map((t=>"equal"===t?"replace":t))),o.push("equal"),i=[],r=[]),s[a]++;return o.concat(Yr(i,r,rs).map((t=>"equal"===t?"replace":t)))}_markDescendantTextToSync(t){if(t)if(t.is("$text"))this.markedTexts.add(t);else if(t.is("element"))for(const e of t.getChildren())this._markDescendantTextToSync(e)}_updateSelection(){if(lr.isBlink&&!lr.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const t=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&t&&(this.selection.isFake?this._updateFakeSelection(t):(this._removeFakeSelection(),this._updateDomSelection(t)))}_updateFakeSelection(t){const e=t.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(t){const e=t.createElement("div");return e.className="ck-fake-selection-container",Object.assign(e.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),e.textContent=" ",e}(e));const n=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(n,this.selection),!this._fakeSelectionNeedsUpdate(t))return;n.parentElement&&n.parentElement==t||t.appendChild(n),n.textContent=this.selection.fakeSelectionLabel||" ";const o=e.getSelection(),i=e.createRange();o.removeAllRanges(),i.selectNodeContents(n),o.addRange(i)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e))return;const n=this.domConverter.viewPositionToDom(this.selection.anchor),o=this.domConverter.viewPositionToDom(this.selection.focus);e.collapse(n.parent,n.offset),e.extend(o.parent,o.offset),lr.isGecko&&function(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1)return;const o=n.childNodes[t.offset];o&&"BR"==o.tagName&&e.addRange(e.getRangeAt(0))}(o,e)}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t))return!0;const e=t&&this.domConverter.domSelectionToView(t);return(!e||!this.selection.isEqual(e))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(e))}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer,n=t.ownerDocument.getSelection();return!e||e.parentElement!==t||(n.anchorNode!==e&&!e.contains(n.anchorNode)||e.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const n=t.activeElement,o=this.domConverter.mapDomToView(n);n&&o&&e.removeAllRanges()}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;t&&t.remove()}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;t&&this.domConverter.focus(t)}}}function is(t,e,n){const o=e instanceof Array?e:e.childNodes,i=o[n];if(Lr(i))return i.data=Fr+i.data,i;{const i=t.createTextNode(Fr);return Array.isArray(e)?o.splice(n,0,i):Kr(e,n,i),i}}function rs(t,e){return Jr(t)&&Jr(e)&&!Lr(t)&&!Lr(e)&&!Zr(t)&&!Zr(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function ss(t,e,n){return e===n||(Lr(e)&&Lr(n)?e.data===n.data:!(!t.isBlockFiller(e)||!t.isBlockFiller(n)))}function as(t){let e=0;for(;t.previousSibling;)t=t.previousSibling,e++;return e}function cs(t){const e=[];let n=t;for(;n&&n.nodeType!=Node.DOCUMENT_NODE;)e.unshift(n),n=n.parentNode;return e}const ls=jr(Ao.document),ds=Or(Ao.document),hs=Rr(Ao.document),us="data-ck-unsafe-attribute-",gs="data-ck-unsafe-element";class ms{constructor(t,e={}){this.document=t,this.renderingMode=e.renderingMode||"editing",this.blockFillerMode=e.blockFillerMode||("editing"===this.renderingMode?"br":"nbsp"),this.preElements=["pre"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this.unsafeElements=["script","style"],this._domDocument="editing"===this.renderingMode?Ao.document:Ao.document.implementation.createHTMLDocument(""),this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new zo,this._encounteredRawContentDomNodes=new WeakSet}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new qi(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t),this._viewToDomMapping.delete(e);for(const e of Array.from(t.children))this.unbindDomElement(e)}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}shouldRenderAttribute(t,e,n){return"data"===this.renderingMode||!(t=t.toLowerCase()).startsWith("on")&&(("srcdoc"!==t||!e.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i))&&("img"===n&&("src"===t||"srcset"===t)||("source"===n&&"srcset"===t||!e.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i))))}setContentOf(t,e){if("data"===this.renderingMode)return void(t.innerHTML=e);const n=(new DOMParser).parseFromString(e,"text/html"),o=n.createDocumentFragment(),i=n.body.childNodes;for(;i.length>0;)o.appendChild(i[0]);const r=n.createTreeWalker(o,NodeFilter.SHOW_ELEMENT),s=[];let a;for(;a=r.nextNode();)s.push(a);for(const t of s){for(const e of t.getAttributeNames())this.setDomElementAttribute(t,e,t.getAttribute(e));const e=t.tagName.toLowerCase();this._shouldRenameElement(e)&&(ks(e),t.replaceWith(this._createReplacementDomElement(e,t)))}for(;t.firstChild;)t.firstChild.remove();t.append(o)}viewToDom(t,e={}){if(t.is("$text")){const e=this._processDataFromViewText(t);return this._domDocument.createTextNode(e)}{if(this.mapViewToDom(t))return this.mapViewToDom(t);let n;if(t.is("documentFragment"))n=this._domDocument.createDocumentFragment(),e.bind&&this.bindDocumentFragments(n,t);else{if(t.is("uiElement"))return n="$comment"===t.name?this._domDocument.createComment(t.getCustomProperty("$rawContent")):t.render(this._domDocument,this),e.bind&&this.bindElements(n,t),n;this._shouldRenameElement(t.name)?(ks(t.name),n=this._createReplacementDomElement(t.name)):n=t.hasAttribute("xmlns")?this._domDocument.createElementNS(t.getAttribute("xmlns"),t.name):this._domDocument.createElement(t.name),t.is("rawElement")&&t.render(n,this),e.bind&&this.bindElements(n,t);for(const e of t.getAttributeKeys())this.setDomElementAttribute(n,e,t.getAttribute(e),t)}if(!1!==e.withChildren)for(const o of this.viewChildrenToDom(t,e))n.appendChild(o);return n}}setDomElementAttribute(t,e,n,o){const i=this.shouldRenderAttribute(e,n,t.tagName.toLowerCase())||o&&o.shouldRenderUnsafeAttribute(e);i||l("domconverter-unsafe-attribute-detected",{domElement:t,key:e,value:n}),t.hasAttribute(e)&&!i?t.removeAttribute(e):t.hasAttribute(us+e)&&i&&t.removeAttribute(us+e),t.setAttribute(i?e:us+e,n)}removeDomElementAttribute(t,e){e!=gs&&(t.removeAttribute(e),t.removeAttribute(us+e))}*viewChildrenToDom(t,e={}){const n=t.getFillerOffset&&t.getFillerOffset();let o=0;for(const i of t.getChildren()){n===o&&(yield this._getBlockFiller());const t=i.is("element")&&i.getCustomProperty("dataPipeline:transparentRendering");t&&"data"==this.renderingMode?yield*this.viewChildrenToDom(i,e):(t&&l("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:i}),yield this.viewToDom(i,e)),o++}n===o&&(yield this._getBlockFiller())}viewRangeToDom(t){const e=this.viewPositionToDom(t.start),n=this.viewPositionToDom(t.end),o=this._domDocument.createRange();return o.setStart(e.parent,e.offset),o.setEnd(n.parent,n.offset),o}viewPositionToDom(t){const e=t.parent;if(e.is("$text")){const n=this.findCorrespondingDomText(e);if(!n)return null;let o=t.offset;return Vr(n)&&(o+=7),{parent:n,offset:o}}{let n,o,i;if(0===t.offset){if(n=this.mapViewToDom(e),!n)return null;i=n.childNodes[0]}else{const e=t.nodeBefore;if(o=e.is("$text")?this.findCorrespondingDomText(e):this.mapViewToDom(e),!o)return null;n=o.parentNode,i=o.nextSibling}if(Lr(i)&&Vr(i))return{parent:i,offset:7};return{parent:n,offset:o?as(o)+1:0}}}domToView(t,e={}){if(this.isBlockFiller(t))return null;const n=this.getHostViewElement(t);if(n)return n;if(Zr(t)&&e.skipComments)return null;if(Lr(t)){if(Hr(t))return null;{const e=this._processDataFromDomText(t);return""===e?null:new No(this.document,e)}}{if(this.mapDomToView(t))return this.mapDomToView(t);let n;if(this.isDocumentFragment(t))n=new yr(this.document),e.bind&&this.bindDocumentFragments(t,n);else{n=this._createViewElement(t,e),e.bind&&this.bindElements(t,n);const o=t.attributes;if(o)for(let t=o.length,e=0;e{const{scrollLeft:e,scrollTop:n}=t;o.push([e,n])})),e.focus(),ps(e,(t=>{const[e,n]=o.shift();t.scrollLeft=e,t.scrollTop=n})),Ao.window.scrollTo(t,n)}}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(t){return"br"==this.blockFillerMode?t.isEqualNode(ls):!("BR"!==t.tagName||!fs(t,this.blockElements)||1!==t.parentNode.childNodes.length)||(t.isEqualNode(hs)||function(t,e){return t.isEqualNode(ds)&&fs(t,e)&&1===t.parentNode.childNodes.length}(t,this.blockElements))}isDomSelectionBackward(t){if(t.isCollapsed)return!1;const e=this._domDocument.createRange();e.setStart(t.anchorNode,t.anchorOffset),e.setEnd(t.focusNode,t.focusOffset);const n=e.collapsed;return e.detach(),n}getHostViewElement(t){const e=cs(t);for(e.pop();e.length;){const t=e.pop(),n=this._domToViewMapping.get(t);if(n&&(n.is("uiElement")||n.is("rawElement")))return n}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return Or(this._domDocument);case"markedNbsp":return Rr(this._domDocument);case"br":return jr(this._domDocument)}}_isDomSelectionPositionCorrect(t,e){if(Lr(t)&&Vr(t)&&e<7)return!1;if(this.isElement(t)&&Vr(t.childNodes[e]))return!1;const n=this.mapDomToView(t);return!n||!n.is("uiElement")&&!n.is("rawElement")}_processDataFromViewText(t){let e=t.data;if(t.getAncestors().some((t=>this.preElements.includes(t.name))))return e;if(" "==e.charAt(0)){const n=this._getTouchingInlineViewNode(t,!1);!(n&&n.is("$textProxy")&&this._nodeEndsWithSpace(n))&&n||(e=" "+e.substr(1))}if(" "==e.charAt(e.length-1)){const n=this._getTouchingInlineViewNode(t,!0),o=n&&n.is("$textProxy")&&" "==n.data.charAt(0);" "!=e.charAt(e.length-2)&&n&&!o||(e=e.substr(0,e.length-1)+" ")}return e.replace(/ {2}/g,"  ")}_nodeEndsWithSpace(t){if(t.getAncestors().some((t=>this.preElements.includes(t.name))))return!1;const e=this._processDataFromViewText(t);return" "==e.charAt(e.length-1)}_processDataFromDomText(t){let e=t.data;if(function(t,e){return cs(t).some((t=>t.tagName&&e.includes(t.tagName.toLowerCase())))}(t,this.preElements))return Ur(t);e=e.replace(/[ \n\t\r]{1,}/g," ");const n=this._getTouchingInlineDomNode(t,!1),o=this._getTouchingInlineDomNode(t,!0),i=this._checkShouldLeftTrimDomText(t,n),r=this._checkShouldRightTrimDomText(t,o);i&&(e=e.replace(/^ /,"")),r&&(e=e.replace(/ $/,"")),e=Ur(new Text(e)),e=e.replace(/ \u00A0/g," ");const s=o&&this.isElement(o)&&"BR"!=o.tagName,a=o&&Lr(o)&&" "==o.data.charAt(0);return(/( |\u00A0)\u00A0$/.test(e)||!o||s||a)&&(e=e.replace(/\u00A0$/," ")),(i||n&&this.isElement(n)&&"BR"!=n.tagName)&&(e=e.replace(/^\u00A0/," ")),e}_checkShouldLeftTrimDomText(t,e){return!e||(this.isElement(e)?"BR"===e.tagName:!this._encounteredRawContentDomNodes.has(t.previousSibling)&&/[^\S\u00A0]/.test(e.data.charAt(e.data.length-1)))}_checkShouldRightTrimDomText(t,e){return!e&&!Vr(t)}_getTouchingInlineViewNode(t,e){const n=new Vi({startPosition:e?Hi._createAfter(t):Hi._createBefore(t),direction:e?"forward":"backward"});for(const t of n){if(t.item.is("element")&&this.inlineObjectElements.includes(t.item.name))return t.item;if(t.item.is("containerElement"))return null;if(t.item.is("element","br"))return null;if(t.item.is("$textProxy"))return t.item}return null}_getTouchingInlineDomNode(t,e){if(!t.parentNode)return null;const n=e?"firstChild":"lastChild",o=e?"nextSibling":"previousSibling";let i=!0,r=t;do{if(!i&&r[n]?r=r[n]:r[o]?(r=r[o],i=!1):(r=r.parentNode,i=!0),!r||this._isBlockElement(r))return null}while(!Lr(r)&&"BR"!=r.tagName&&!this._isInlineObjectElement(r));return r}_isBlockElement(t){return this.isElement(t)&&this.blockElements.includes(t.tagName.toLowerCase())}_isInlineObjectElement(t){return this.isElement(t)&&this.inlineObjectElements.includes(t.tagName.toLowerCase())}_createViewElement(t,e){if(Zr(t))return new wr(this.document,"$comment");const n=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();return new Pi(this.document,n)}_isViewElementWithRawContent(t,e){return!1!==e.withChildren&&!!this._rawContentElementMatcher.match(t)}_shouldRenameElement(t){const e=t.toLowerCase();return"editing"===this.renderingMode&&this.unsafeElements.includes(e)}_createReplacementDomElement(t,e){const n=this._domDocument.createElement("span");if(n.setAttribute(gs,t),e){for(;e.firstChild;)n.appendChild(e.firstChild);for(const t of e.getAttributeNames())n.setAttribute(t,e.getAttribute(t))}return n}}function ps(t,e){let n=t;for(;n;)e(n),n=n.parentElement}function fs(t,e){const n=t.parentNode;return!!n&&!!n.tagName&&e.includes(n.tagName.toLowerCase())}function ks(t){"script"===t&&l("domconverter-unsafe-script-element-detected"),"style"===t&&l("domconverter-unsafe-style-element-detected")}function bs(t){const e=Object.prototype.toString.apply(t);return"[object Window]"==e||"[object global]"==e}function ws(t){return class extends t{listenTo(t,e,n,o={}){if(Jr(t)||bs(t)){const i={capture:!!o.useCapture,passive:!!o.usePassive},r=this._getProxyEmitter(t,i)||new As(t,i);this.listenTo(r,e,n,o)}else w.prototype.listenTo.call(this,t,e,n,o)}stopListening(t,e,n){if(Jr(t)||bs(t)){const o=this._getAllProxyEmitters(t);for(const t of o)this.stopListening(t,e,n)}else w.prototype.stopListening.call(this,t,e,n)}_getProxyEmitter(t,e){return function(t,e){const n=t[p];return n&&n[e]?n[e].emitter:null}(this,Cs(t,e))}_getAllProxyEmitters(t){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map((e=>this._getProxyEmitter(t,e))).filter((t=>!!t))}}}const _s=ws(w);["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{ws[t]=_s.prototype[t]}));class As extends w{constructor(t,e){super(),_(this,Cs(t,e)),this._domNode=t,this._options=e}attach(t){if(this._domListeners&&this._domListeners[t])return;const e=this._createDomListener(t);this._domNode.addEventListener(t,e,this._options),this._domListeners||(this._domListeners={}),this._domListeners[t]=e}detach(t){let e;!this._domListeners[t]||(e=this._events[t])&&e.callbacks.length||this._domListeners[t].removeListener()}_addEventListener(t,e,n){this.attach(t),w.prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){w.prototype._removeEventListener.call(this,t,e),this.detach(t)}_createDomListener(t){const e=e=>{this.fire(t,e)};return e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options),delete this._domListeners[t]},e}}function Cs(t,e){let n=function(t){return t["data-ck-expando"]||(t["data-ck-expando"]=r())}(t);for(const t of Object.keys(e).sort())e[t]&&(n+="-"+t);return n}class vs extends _s{constructor(t){super(),this.view=t,this.document=t.document,this.isEnabled=!1}enable(){this.isEnabled=!0}disable(){this.isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(t){return t&&3===t.nodeType&&(t=t.parentNode),!(!t||1!==t.nodeType)&&t.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}const ys=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};const xs=function(t){return this.__data__.has(t)};function Es(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new ce;++ea))return!1;var l=r.get(t),d=r.get(e);if(l&&d)return l==e&&d==t;var h=-1,u=!0,g=2&n?new Ds:void 0;for(r.set(t,e),r.set(e,t);++h{this.listenTo(t,e,((t,e)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(e.target)&&this.onDomEvent(e)}),{useCapture:this.useCapture})}))}fire(t,e,n){this.isEnabled&&this.document.fire(t,new $s(this.view,e,n))}}class Ks extends Ys{constructor(t){super(t),this.domEventType=["keydown","keyup"]}onDomEvent(t){const e={keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return pr(this)}};this.fire(t.type,t,e)}}const Qs=function(){return Y.Date.now()};var Zs=/\s/;const Js=function(t){for(var e=t.length;e--&&Zs.test(t.charAt(e)););return e};var Xs=/^\s+/;const ta=function(t){return t?t.slice(0,Js(t)+1).replace(Xs,""):t};var ea=/^[-+]0x[0-9a-f]+$/i,na=/^0b[01]+$/i,oa=/^0o[0-7]+$/i,ia=parseInt;const ra=function(t){if("number"==typeof t)return t;if(Ro(t))return NaN;if(D(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=D(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=ta(t);var n=na.test(t);return n||oa.test(t)?ia(t.slice(2),n?2:8):ea.test(t)?NaN:+t};var sa=Math.max,aa=Math.min;const ca=function(t,e,n){var o,i,r,s,a,c,l=0,d=!1,h=!1,u=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function g(e){var n=o,r=i;return o=i=void 0,l=e,s=t.apply(r,n)}function m(t){return l=t,a=setTimeout(f,e),d?g(t):s}function p(t){var n=t-c;return void 0===c||n>=e||n<0||h&&t-l>=r}function f(){var t=Qs();if(p(t))return k(t);a=setTimeout(f,function(t){var n=e-(t-c);return h?aa(n,r-(t-l)):n}(t))}function k(t){return a=void 0,u&&o?g(t):(o=i=void 0,s)}function b(){var t=Qs(),n=p(t);if(o=arguments,i=this,c=t,n){if(void 0===a)return m(c);if(h)return clearTimeout(a),a=setTimeout(f,e),g(c)}return void 0===a&&(a=setTimeout(f,e)),s}return e=ra(e)||0,D(n)&&(d=!!n.leading,r=(h="maxWait"in n)?sa(ra(n.maxWait)||0,e):r,u="trailing"in n?!!n.trailing:u),b.cancel=function(){void 0!==a&&clearTimeout(a),l=0,o=c=i=a=void 0},b.flush=function(){return void 0===a?s:k(Qs())},b};class la extends vs{constructor(t){super(t),this._fireSelectionChangeDoneDebounced=ca((t=>{this.document.fire("selectionChangeDone",t)}),200)}observe(){const t=this.document;t.on("arrowKey",((e,n)=>{t.selection.isFake&&this.isEnabled&&n.preventDefault()}),{context:"$capture"}),t.on("arrowKey",((e,n)=>{t.selection.isFake&&this.isEnabled&&this._handleSelectionMove(n.keyCode)}),{priority:"lowest"})}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection,n=new qi(e.getRanges(),{backward:e.isBackward,fake:!1});t!=gr.arrowleft&&t!=gr.arrowup||n.setTo(n.getFirstPosition()),t!=gr.arrowright&&t!=gr.arrowdown||n.setTo(n.getLastPosition());const o={oldSelection:e,newSelection:n,domSelection:null};this.document.fire("selectionChange",o),this._fireSelectionChangeDoneDebounced(o)}}class da extends vs{constructor(t){super(t),this.mutationObserver=t.getObserver(Gs),this.selection=this.document.selection,this.domConverter=t.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=ca((t=>{this.document.fire("selectionChangeDone",t)}),200),this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3),this._documentIsSelectingInactivityTimeoutDebounced=ca((()=>this.document.isSelecting=!1),5e3),this._loopbackCounter=0}observe(t){const e=t.ownerDocument,n=()=>{this.document.isSelecting&&(this._handleSelectionChange(null,e),this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel())};this.listenTo(t,"selectstart",(()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()}),{priority:"highest"}),this.listenTo(t,"keydown",n,{priority:"highest",useCapture:!0}),this.listenTo(t,"keyup",n,{priority:"highest",useCapture:!0}),this._documents.has(e)||(this.listenTo(e,"mouseup",n,{priority:"highest",useCapture:!0}),this.listenTo(e,"selectionchange",((t,n)=>{this._handleSelectionChange(n,e),this._documentIsSelectingInactivityTimeoutDebounced()})),this._documents.add(e))}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_handleSelectionChange(t,e){if(!this.isEnabled)return;const n=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(n.anchorNode))return;this.mutationObserver.flush();const o=this.domConverter.domSelectionToView(n);if(0!=o.rangeCount){if(this.view.hasDomSelection=!0,!(this.selection.isEqual(o)&&this.domConverter.isDomSelectionCorrect(n)||++this._loopbackCounter>60))if(this.selection.isSimilar(o))this.view.forceRender();else{const t={oldSelection:this.selection,newSelection:o,domSelection:n};this.document.fire("selectionChange",t),this._fireSelectionChangeDoneDebounced(t)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class ha extends Ys{constructor(t){super(t),this.domEventType=["focus","blur"],this.useCapture=!0;const e=this.document;e.on("focus",(()=>{e.isFocused=!0,this._renderTimeoutId=setTimeout((()=>t.change((()=>{}))),50)})),e.on("blur",((n,o)=>{const i=e.selection.editableElement;null!==i&&i!==o.target||(e.isFocused=!1,t.change((()=>{})))}))}onDomEvent(t){this.fire(t.type,t)}destroy(){this._renderTimeoutId&&clearTimeout(this._renderTimeoutId),super.destroy()}}class ua extends Ys{constructor(t){super(t),this.domEventType=["compositionstart","compositionupdate","compositionend"];const e=this.document;e.on("compositionstart",(()=>{e.isComposing=!0})),e.on("compositionend",(()=>{e.isComposing=!1}))}onDomEvent(t){this.fire(t.type,t)}}class ga extends Ys{constructor(t){super(t),this.domEventType=["beforeinput"]}onDomEvent(t){this.fire(t.type,t)}}const ma=function(t){return"string"==typeof t||!ye(t)&&at(t)&&"[object String]"==it(t)};function pa(t,e,n={},o=[]){const i=n&&n.xmlns,r=i?t.createElementNS(i,e):t.createElement(e);for(const t in n)r.setAttribute(t,n[t]);!ma(o)&&fo(o)||(o=[o]);for(let e of o)ma(e)&&(e=t.createTextNode(e)),r.appendChild(e);return r}class fa{constructor(t,e){fa._observerInstance||fa._createObserver(),this._element=t,this._callback=e,fa._addElementCallback(t,e),fa._observerInstance.observe(t)}destroy(){fa._deleteElementCallback(this._element,this._callback)}static _addElementCallback(t,e){fa._elementCallbacks||(fa._elementCallbacks=new Map);let n=fa._elementCallbacks.get(t);n||(n=new Set,fa._elementCallbacks.set(t,n)),n.add(e)}static _deleteElementCallback(t,e){const n=fa._getElementCallbacks(t);n&&(n.delete(e),n.size||(fa._elementCallbacks.delete(t),fa._observerInstance.unobserve(t))),fa._elementCallbacks&&!fa._elementCallbacks.size&&(fa._observerInstance=null,fa._elementCallbacks=null)}static _getElementCallbacks(t){return fa._elementCallbacks?fa._elementCallbacks.get(t):null}static _createObserver(){fa._observerInstance=new Ao.window.ResizeObserver((t=>{for(const e of t){const t=fa._getElementCallbacks(e.target);if(t)for(const n of t)n(e)}}))}}function ka(t){return!!(t&&t.getClientRects&&t.getClientRects().length)}function ba(t){const e=t.next();return e.done?null:e.value}fa._observerInstance=null,fa._elementCallbacks=null;class wa extends(ws(P)){constructor(){super(),this.set("isFocused",!1),this.set("focusedElement",null),this._elements=new Set,this._nextEventLoopTimeout=null}add(t){if(this._elements.has(t))throw new c("focustracker-add-element-already-exist",this);this.listenTo(t,"focus",(()=>this._focus(t)),{useCapture:!0}),this.listenTo(t,"blur",(()=>this._blur()),{useCapture:!0}),this._elements.add(t)}remove(t){t===this.focusedElement&&this._blur(),this._elements.has(t)&&(this.stopListening(t),this._elements.delete(t))}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=t,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null,this.isFocused=!1}),0)}}class _a{constructor(){this._listener=Object.create(ws)}listenTo(t){this._listener.listenTo(t,"keydown",((t,e)=>{this._listener.fire("_keydown:"+pr(e),e)}))}set(t,e,n={}){const o=fr(t),i=n.priority;this._listener.listenTo(this._listener,"_keydown:"+o,((t,n)=>{e(n,(()=>{n.preventDefault(),n.stopPropagation(),t.stop()})),t.return=!0}),{priority:i})}press(t){return!!this._listener.fire("_keydown:"+pr(t),t)}destroy(){this._listener.stopListening()}}class Aa extends vs{constructor(t){super(t),this.document.on("keydown",((t,e)=>{if(this.isEnabled&&((n=e.keyCode)==gr.arrowright||n==gr.arrowleft||n==gr.arrowup||n==gr.arrowdown)){const n=new Yi(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(n,e),n.stop.called&&t.stop()}var n}))}observe(){}}class Ca extends vs{constructor(t){super(t);const e=this.document;e.on("keydown",((t,n)=>{if(!this.isEnabled||n.keyCode!=gr.tab||n.ctrlKey)return;const o=new Yi(e,"tab",e.selection.getFirstRange());e.fire(o,n),o.stop.called&&t.stop()}))}observe(){}}function va(t){return"[object Range]"==Object.prototype.toString.apply(t)}function ya(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}const xa=["top","right","bottom","left","width","height"];class Ea{constructor(t){const e=va(t);if(Object.defineProperty(this,"_source",{value:t._source||t,writable:!0,enumerable:!1}),Ma(t)||e)if(e){const e=Ea.getDomRangeRects(t);Da(this,Ea.getBoundingRect(e))}else Da(this,t.getBoundingClientRect());else if(bs(t)){const{innerWidth:e,innerHeight:n}=t;Da(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else Da(this,t)}clone(){return new Ea(this)}moveTo(t,e){return this.top=e,this.right=t+this.width,this.bottom=e+this.height,this.left=t,this}moveBy(t,e){return this.top+=e,this.right+=t,this.left+=t,this.bottom+=e,this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left),width:0,height:0};return e.width=e.right-e.left,e.height=e.bottom-e.top,e.width<0||e.height<0?null:new Ea(e)}getIntersectionArea(t){const e=this.getIntersection(t);return e?e.getArea():0}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(!Ia(t)){let n=t.parentNode||t.commonAncestorContainer;for(;n&&!Ia(n);){const t=new Ea(n),o=e.getIntersection(t);if(!o)return null;o.getArea()r.contains(t)))){let{scrollX:s,scrollY:a}=t;Ba(i,r)?a-=r.top-e.top+n:Na(o,r)&&(a+=e.bottom-r.bottom+n),Pa(e,r)?s-=r.left-e.left+n:za(e,r)&&(s+=e.right-r.right+n),t.scrollTo(s,a)}}function Sa(t,e){const n=La(t);let o,i;for(;t!=n.document.body;)i=e(),o=new Ea(t).excludeScrollbarsAndBorders(),o.contains(i)||(Ba(i,o)?t.scrollTop-=o.top-i.top:Na(i,o)&&(t.scrollTop+=i.bottom-o.bottom),Pa(i,o)?t.scrollLeft-=o.left-i.left:za(i,o)&&(t.scrollLeft+=i.right-o.right)),t=t.parentNode}function Na(t,e){return t.bottom>e.bottom}function Ba(t,e){return t.tope.right}function La(t){return va(t)?t.startContainer.ownerDocument.defaultView:t.ownerDocument.defaultView}function Oa(t){if(va(t)){let e=t.commonAncestorContainer;return Lr(e)&&(e=e.parentNode),e}return t.parentNode}function Ra(t,e){const n=La(t),o=new Ea(t);if(n===e)return o;{let t=n;for(;t!=e;){const e=t.frameElement,n=new Ea(e).excludeScrollbarsAndBorders();o.moveBy(n.left,n.top),t=t.parent}}return o}class ja extends P{constructor(t){super(),this.document=new er(t),this.domConverter=new ms(this.document),this.domRoots=new Map,this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new os(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting").to(this.document,"isFocused","isSelecting"),this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this._writer=new xr(this.document),this.addObserver(Gs),this.addObserver(da),this.addObserver(ha),this.addObserver(Ks),this.addObserver(la),this.addObserver(ua),this.addObserver(Aa),this.addObserver(Ca),lr.isAndroid&&this.addObserver(ga),this.document.on("arrowKey",Wr,{priority:"low"}),_r(this),this.on("render",(()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1})),this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=!0})),this.listenTo(this.document,"change:isFocused",(()=>{this._hasChangedSinceTheLastRendering=!0}))}attachDomRoot(t,e="main"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const o={};for(const{name:e,value:i}of Array.from(t.attributes))o[e]=i,"class"===e?this._writer.addClass(i.split(" "),n):this._writer.setAttribute(e,i,n);this._initialDomRootAttributes.set(t,o);const i=()=>{this._writer.setAttribute("contenteditable",(!n.isReadOnly).toString(),n),n.isReadOnly?this._writer.addClass("ck-read-only",n):this._writer.removeClass("ck-read-only",n)};i(),this.domRoots.set(e,t),this.domConverter.bindElements(t,n),this._renderer.markToSync("children",n),this._renderer.markToSync("attributes",n),this._renderer.domDocuments.add(t.ownerDocument),n.on("change:children",((t,e)=>this._renderer.markToSync("children",e))),n.on("change:attributes",((t,e)=>this._renderer.markToSync("attributes",e))),n.on("change:text",((t,e)=>this._renderer.markToSync("text",e))),n.on("change:isReadOnly",(()=>this.change(i))),n.on("change",(()=>{this._hasChangedSinceTheLastRendering=!0}));for(const n of this._observers.values())n.observe(t,e)}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach((({name:t})=>e.removeAttribute(t)));const n=this._initialDomRootAttributes.get(e);for(const t in n)e.setAttribute(t,n[t]);this.domRoots.delete(t),this.domConverter.unbindDomElement(e)}getDomRoot(t="main"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e)return e;e=new t(this),this._observers.set(t,e);for(const[t,n]of this.domRoots)e.observe(n,t);return e.enable(),e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values())t.disable()}enableObservers(){for(const t of this._observers.values())t.enable()}scrollToTheSelection(){const t=this.document.selection.getFirstRange();t&&function({target:t,viewportOffset:e=0}){const n=La(t);let o=n,i=null;for(;o;){let r;r=Oa(o==n?t:i),Sa(r,(()=>Ra(t,o)));const s=Ra(t,o);if(Ta(o,s,e),o.parent!=o){if(i=o.frameElement,o=o.parent,!i)return}else o=null}}({target:this.domConverter.viewRangeToDom(t),viewportOffset:20})}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;t&&(this.domConverter.focus(t),this.forceRender())}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress)throw new c("cannot-change-view-tree",this);try{if(this._ongoingChange)return t(this._writer);this._ongoingChange=!0;const e=t(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),e}catch(t){c.rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.change((()=>{}))}destroy(){for(const t of this._observers.values())t.destroy();this.document.destroy(),this.stopListening()}createPositionAt(t,e){return Hi._createAt(t,e)}createPositionAfter(t){return Hi._createAfter(t)}createPositionBefore(t){return Hi._createBefore(t)}createRange(...t){return new Ui(...t)}createRangeOn(t){return Ui._createOn(t)}createRangeIn(t){return Ui._createIn(t)}createSelection(...t){return new qi(...t)}_disableRendering(t){this._renderingDisabled=t,0==t&&this.change((()=>{}))}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}class Fa{is(){throw new Error("is() method is abstract")}}class Va extends Fa{constructor(t){super(),this.parent=null,this._attrs=Po(t)}get document(){return null}get index(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildIndex(this)))throw new c("model-node-not-found-in-parent",this);return t}get startOffset(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildStartOffset(this)))throw new c("model-node-not-found-in-parent",this);return t}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.root.is("rootElement")}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.startOffset),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),o=t.getAncestors(e);let i=0;for(;n[i]==o[i]&&n[i];)i++;return 0===i?null:n[i-1]}isBefore(t){if(this==t)return!1;if(this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),o=Mo(e,n);switch(o){case"prefix":return!0;case"extension":return!1;default:return e[o](t[e[0]]=e[1],t)),{})),t}_clone(t){return new Va(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=Po(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}Va.prototype.is=function(t){return"node"===t||"model:node"===t};class Ha{constructor(t){this._nodes=[],t&&this._insertNodes(0,t)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((t,e)=>t+e.offsetSize),0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return-1==e?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return null===e?null:this._nodes.slice(0,e).reduce(((t,e)=>t+e.offsetSize),0)}indexToOffset(t){if(t==this._nodes.length)return this.maxOffset;const e=this._nodes[t];if(!e)throw new c("model-nodelist-index-out-of-bounds",this);return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&t1e4)return t.slice(0,n).concat(e).concat(t.slice(n+o,t.length));{const i=Array.from(t);return i.splice(n,o,...e),i}}(this._nodes,Array.from(e),t,0)}_removeNodes(t,e=1){return this._nodes.splice(t,e)}toJSON(){return this._nodes.map((t=>t.toJSON()))}}class Ua extends Va{constructor(t,e){super(e),this._data=t||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const t=super.toJSON();return t.data=this.data,t}_clone(){return new Ua(this.data,this.getAttributes())}static fromJSON(t){return new Ua(t.data,t.attributes)}}Ua.prototype.is=function(t){return"$text"===t||"model:$text"===t||"text"===t||"model:text"===t||"node"===t||"model:node"===t};class Wa extends Fa{constructor(t,e,n){if(super(),this.textNode=t,e<0||e>t.offsetSize)throw new c("model-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.offsetSize)throw new c("model-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const t=this.textNode.getPath();return t.length>0&&(t[t.length-1]+=this.offsetInText),t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}Wa.prototype.is=function(t){return"$textProxy"===t||"model:$textProxy"===t||"textProxy"===t||"model:textProxy"===t};class Ga extends Va{constructor(t,e,n){super(e),this.name=t,this._children=new Ha,n&&this._insertChild(0,n)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}findAncestor(t,e={}){let n=e.includeSelf?this:this.parent;for(;n;){if(n.name===t)return n;n=n.parent}return null}toJSON(){const t=super.toJSON();if(t.name=this.name,this._children.length>0){t.children=[];for(const e of this._children)t.children.push(e.toJSON())}return t}_clone(t=!1){const e=t?Array.from(this._children).map((t=>t._clone(!0))):void 0;return new Ga(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=function(t){if("string"==typeof t)return[new Ua(t)];fo(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new Ua(t):t instanceof Wa?new Ua(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&t._remove(),t.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n)t.parent=null;return n}static fromJSON(t){let e;if(t.children){e=[];for(const n of t.children)n.name?e.push(Ga.fromJSON(n)):e.push(Ua.fromJSON(n))}return new Ga(t.name,t.attributes,e)}}Ga.prototype.is=function(t,e){return e?e===this.name&&("element"===t||"model:element"===t):"element"===t||"model:element"===t||"node"===t||"model:node"===t};class qa{constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new c("model-tree-walker-no-start-position",null);const e=t.direction||"forward";if("forward"!=e&&"backward"!=e)throw new c("model-tree-walker-unknown-direction",t,{direction:e});this.direction=e,this.boundaries=t.boundaries||null,t.startPosition?this.position=t.startPosition.clone():this.position=Ya._createAt(this.boundaries["backward"==this.direction?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}skip(t){let e,n,o,i;do{o=this.position,i=this._visitedParent,({done:e,value:n}=this.next())}while(!e&&t(n));e||(this.position=o,this._visitedParent=i)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){const t=this.position,e=this.position.clone(),n=this._visitedParent;if(null===n.parent&&e.offset===n.maxOffset)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0,value:void 0};const o=Ka(e,n),i=o||Qa(e,n,o);if(i instanceof Ga)return this.shallow?e.offset++:(e.path.push(0),this._visitedParent=i),this.position=e,$a("elementStart",i,t,e,1);if(i instanceof Ua){let o;if(this.singleCharacters)o=1;else{let t=i.endOffset;this._boundaryEndParent==n&&this.boundaries.end.offsett&&(t=this.boundaries.start.offset),o=e.offset-t}const i=e.offset-r.startOffset,s=new Wa(r,i-o,o);return e.offset-=o,this.position=e,$a("text",s,t,e,o)}return e.path.pop(),this.position=e,this._visitedParent=n.parent,$a("elementStart",n,t,e,1)}}function $a(t,e,n,o,i){return{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}class Ya extends Fa{constructor(t,e,n="toNone"){if(super(),!t.is("element")&&!t.is("documentFragment"))throw new c("model-position-root-invalid",t);if(!(e instanceof Array)||0===e.length)throw new c("model-position-path-incorrect-format",t,{path:e});t.is("rootElement")?e=e.slice():(e=[...t.getPath(),...e],t=t.root),this.root=t,this.path=e,this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e1)return!1;if(1===e)return Ja(t,this,n);if(-1===e)return Ja(this,t,n)}return this.path.length===t.path.length||(this.path.length>t.path.length?Xa(this.path,e):Xa(t.path,e))}hasSameParentAs(t){if(this.root!==t.root)return!1;return"same"==Mo(this.getParentPath(),t.getParentPath())}getTransformedByOperation(t){let e;switch(t.type){case"insert":e=this._getTransformedByInsertOperation(t);break;case"move":case"remove":case"reinsert":e=this._getTransformedByMoveOperation(t);break;case"split":e=this._getTransformedBySplitOperation(t);break;case"merge":e=this._getTransformedByMergeOperation(t);break;default:e=Ya._createAt(this)}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;return e.containsPosition(this)||e.start.isEqual(this)&&"toNext"==this.stickiness?this._getCombined(t.splitPosition,t.moveTargetPosition):t.graveyardPosition?this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1):this._getTransformedByInsertion(t.insertionPosition,1)}_getTransformedByMergeOperation(t){const e=t.movedRange;let n;return e.containsPosition(this)||e.start.isEqual(this)?(n=this._getCombined(t.sourcePosition,t.targetPosition),t.sourcePosition.isBefore(t.targetPosition)&&(n=n._getTransformedByDeletion(t.deletionPosition,1))):n=this.isEqual(t.deletionPosition)?Ya._createAt(t.deletionPosition):this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1),n}_getTransformedByDeletion(t,e){const n=Ya._createAt(this);if(this.root!=t.root)return n;if("same"==Mo(t.getParentPath(),this.getParentPath())){if(t.offsetthis.offset)return null;n.offset-=e}}else if("prefix"==Mo(t.getParentPath(),this.getParentPath())){const o=t.path.length-1;if(t.offset<=this.path[o]){if(t.offset+e>this.path[o])return null;n.path[o]-=e}}return n}_getTransformedByInsertion(t,e){const n=Ya._createAt(this);if(this.root!=t.root)return n;if("same"==Mo(t.getParentPath(),this.getParentPath()))(t.offset=e;){if(t.path[o]+i!==n.maxOffset)return!1;i=1,o--,n=n.parent}return!0}(t,n+1))}function Xa(t,e){for(;ee+1;){const e=o.maxOffset-n.offset;0!==e&&t.push(new tc(n,n.getShiftedBy(e))),n.path=n.path.slice(0,-1),n.offset++,o=o.parent}for(;n.path.length<=this.end.path.length;){const e=this.end.path[n.path.length-1],o=e-n.offset;0!==o&&t.push(new tc(n,n.getShiftedBy(o))),n.offset=e,n.path.push(0)}return t}getWalker(t={}){return t.boundaries=this,new qa(t)}*getItems(t={}){t.boundaries=this,t.ignoreElementEnd=!0;const e=new qa(t);for(const t of e)yield t.item}*getPositions(t={}){t.boundaries=this;const e=new qa(t);yield e.position;for(const t of e)yield t.nextPosition}getTransformedByOperation(t){switch(t.type){case"insert":return this._getTransformedByInsertOperation(t);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(t);case"split":return[this._getTransformedBySplitOperation(t)];case"merge":return[this._getTransformedByMergeOperation(t)]}return[new tc(this.start,this.end)]}getTransformedByOperations(t){const e=[new tc(this.start,this.end)];for(const n of t)for(let t=0;t0?new this(n,o):new this(o,n)}static _createIn(t){return new this(Ya._createAt(t,0),Ya._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(Ya._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(0===t.length)throw new c("range-create-from-ranges-empty-array",null);if(1==t.length)return t[0].clone();const e=t[0];t.sort(((t,e)=>t.start.isAfter(e.start)?1:-1));const n=t.indexOf(e),o=new this(e.start,e.end);if(n>0)for(let e=n-1;t[e].end.isEqual(o.start);e++)o.start=Ya._createAt(t[e].start);for(let e=n+1;e{if(e.viewPosition)return;const n=this._modelToViewMapping.get(e.modelPosition.parent);if(!n)throw new c("mapping-model-position-view-parent-not-found",this,{modelPosition:e.modelPosition});e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)}),{priority:"low"}),this.on("viewToModelPosition",((t,e)=>{if(e.modelPosition)return;const n=this.findMappedViewAncestor(e.viewPosition),o=this._viewToModelMapping.get(n),i=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=Ya._createAt(o,i)}),{priority:"low"})}bindElements(t,e){this._modelToViewMapping.set(t,e),this._viewToModelMapping.set(e,t)}unbindViewElement(t,e={}){const n=this.toModelElement(t);if(this._elementToMarkerNames.has(t))for(const e of this._elementToMarkerNames.get(t))this._unboundMarkerNames.add(e);e.defer?this._deferredBindingRemovals.set(t,t.root):(this._viewToModelMapping.delete(t),this._modelToViewMapping.get(n)==t&&this._modelToViewMapping.delete(n))}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t),this._viewToModelMapping.get(e)==t&&this._viewToModelMapping.delete(e)}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const o=this._elementToMarkerNames.get(t)||new Set;o.add(e),this._markerNameToElements.set(e,n),this._elementToMarkerNames.set(t,o)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);n&&(n.delete(t),0==n.size&&this._markerNameToElements.delete(e));const o=this._elementToMarkerNames.get(t);o&&(o.delete(e),0==o.size&&this._elementToMarkerNames.delete(t))}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),t}flushDeferredBindings(){for(const[t,e]of this._deferredBindingRemovals)t.root==e&&this.unbindViewElement(t);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new tc(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new Ui(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};return this.fire("viewToModelPosition",e),e.modelPosition}toViewPosition(t,e={}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};return this.fire("modelToViewPosition",n),n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e)return null;const n=new Set;for(const t of e)if(t.is("attributeElement"))for(const e of t.getElementsWithSameId())n.add(e);else n.add(t);return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;for(;!this._viewToModelMapping.has(e);)e=e.parent;return e}_toModelOffset(t,e,n){if(n!=t){return this._toModelOffset(t.parent,t.index,n)+this._toModelOffset(t,e,t)}if(t.is("$text"))return e;let o=0;for(let n=0;n1?e[0]+":"+e[1]:e[0]}class ic extends w{constructor(t){super(),this._conversionApi={dispatcher:this,...t},this._firedEventsMap=new WeakMap}convertChanges(t,e,n){const o=this._createConversionApi(n,t.getRefreshedItems());for(const e of t.getMarkersToRemove())this._convertMarkerRemove(e.name,e.range,o);const i=this._reduceChanges(t.getChanges());for(const t of i)"insert"===t.type?this._convertInsert(tc._createFromPositionAndShift(t.position,t.length),o):"reinsert"===t.type?this._convertReinsert(tc._createFromPositionAndShift(t.position,t.length),o):"remove"===t.type?this._convertRemove(t.position,t.length,t.name,o):this._convertAttribute(t.range,t.attributeKey,t.attributeOldValue,t.attributeNewValue,o);for(const t of o.mapper.flushUnboundMarkerNames()){const n=e.get(t).getRange();this._convertMarkerRemove(t,n,o),this._convertMarkerAdd(t,n,o)}for(const e of t.getMarkersToAdd())this._convertMarkerAdd(e.name,e.range,o);o.mapper.flushDeferredBindings(),o.consumable.verifyAllConsumed("insert")}convert(t,e,n,o={}){const i=this._createConversionApi(n,void 0,o);this._convertInsert(t,i);for(const[t,n]of e)this._convertMarkerAdd(t,n,i);i.consumable.verifyAllConsumed("insert")}convertSelection(t,e,n){const o=Array.from(e.getMarkersAtPosition(t.getFirstPosition())),i=this._createConversionApi(n);if(this._addConsumablesForSelection(i.consumable,t,o),this.fire("selection",{selection:t},i),t.isCollapsed){for(const e of o){const n=e.getRange();if(!rc(t.getFirstPosition(),e,i.mapper))continue;const o={item:t,markerName:e.name,markerRange:n};i.consumable.test(t,"addMarker:"+e.name)&&this.fire(`addMarker:${e.name}`,o,i)}for(const e of t.getAttributeKeys()){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};i.consumable.test(t,"attribute:"+n.attributeKey)&&this.fire(`attribute:${n.attributeKey}:$text`,n,i)}}}_convertInsert(t,e,n={}){n.doNotAddConsumables||this._addConsumablesForInsert(e.consumable,Array.from(t));for(const n of Array.from(t.getWalker({shallow:!0})).map(sc))this._testAndFire("insert",n,e)}_convertRemove(t,e,n,o){this.fire(`remove:${n}`,{position:t,length:e},o)}_convertAttribute(t,e,n,o,i){this._addConsumablesForRange(i.consumable,t,`attribute:${e}`);for(const r of t){const t={item:r.item,range:tc._createFromPositionAndShift(r.previousPosition,r.length),attributeKey:e,attributeOldValue:n,attributeNewValue:o};this._testAndFire(`attribute:${e}`,t,i)}}_convertReinsert(t,e){const n=Array.from(t.getWalker({shallow:!0}));this._addConsumablesForInsert(e.consumable,n);for(const t of n.map(sc))this._testAndFire("insert",{...t,reconversion:!0},e)}_convertMarkerAdd(t,e,n){if("$graveyard"==e.root.rootName)return;const o=`addMarker:${t}`;if(n.consumable.add(e,o),this.fire(o,{markerName:t,markerRange:e},n),n.consumable.consume(e,o)){this._addConsumablesForRange(n.consumable,e,o);for(const i of e.getItems()){if(!n.consumable.test(i,o))continue;const r={item:i,range:tc._createOn(i),markerName:t,markerRange:e};this.fire(o,r,n)}}}_convertMarkerRemove(t,e,n){"$graveyard"!=e.root.rootName&&this.fire(`removeMarker:${t}`,{markerName:t,markerRange:e},n)}_reduceChanges(t){const e={changes:t};return this.fire("reduceChanges",e),e.changes}_addConsumablesForInsert(t,e){for(const n of e){const e=n.item;if(null===t.test(e,"insert")){t.add(e,"insert");for(const n of e.getAttributeKeys())t.add(e,"attribute:"+n)}}return t}_addConsumablesForRange(t,e,n){for(const o of e.getItems())t.add(o,n);return t}_addConsumablesForSelection(t,e,n){t.add(e,"selection");for(const o of n)t.add(e,"addMarker:"+o.name);for(const n of e.getAttributeKeys())t.add(e,"attribute:"+n);return t}_testAndFire(t,e,n){const o=function(t,e){const n=e.item.is("element")?e.item.name:"$text";return`${t}:${n}`}(t,e),i=e.item.is("$textProxy")?n.consumable._getSymbolForTextProxy(e.item):e.item,r=this._firedEventsMap.get(n),s=r.get(i);if(s){if(s.has(o))return;s.add(o)}else r.set(i,new Set([o]));this.fire(o,e,n)}_testAndFireAddAttributes(t,e){const n={item:t,range:tc._createOn(t)};for(const t of n.item.getAttributeKeys())n.attributeKey=t,n.attributeOldValue=null,n.attributeNewValue=n.item.getAttribute(t),this._testAndFire(`attribute:${t}`,n,e)}_createConversionApi(t,e=new Set,n={}){const o={...this._conversionApi,consumable:new nc,writer:t,options:n,convertItem:t=>this._convertInsert(tc._createOn(t),o),convertChildren:t=>this._convertInsert(tc._createIn(t),o,{doNotAddConsumables:!0}),convertAttributes:t=>this._testAndFireAddAttributes(t,o),canReuseView:t=>!e.has(o.mapper.toModelElement(t))};return this._firedEventsMap.set(o,new Map),o}}function rc(t,e,n){const o=e.getRange(),i=Array.from(t.getAncestors());i.shift(),i.reverse();return!i.some((t=>{if(o.containsItem(t)){return!!n.toViewElement(t).getCustomProperty("addHighlight")}}))}function sc(t){return{item:t.item,range:tc._createFromPositionAndShift(t.previousPosition,t.length)}}class ac extends(b(Fa)){constructor(...t){super(),this._lastRangeBackward=!1,this._ranges=[],this._attrs=new Map,t.length&&this.setTo(...t)}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const o of t._ranges)if(e.isEqual(o)){n=!0;break}if(!n)return!1}return!0}*getRanges(){for(const t of this._ranges)yield new tc(t.start,t.end)}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?new tc(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?new tc(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(...t){let[e,n,o]=t;if("object"==typeof n&&(o=n,n=void 0),null===e)this._setRanges([]);else if(e instanceof ac)this._setRanges(e.getRanges(),e.isBackward);else if(e&&"function"==typeof e.getRanges)this._setRanges(e.getRanges(),e.isBackward);else if(e instanceof tc)this._setRanges([e],!!o&&!!o.backward);else if(e instanceof Ya)this._setRanges([new tc(e)]);else if(e instanceof Va){const t=!!o&&!!o.backward;let i;if("in"==n)i=tc._createIn(e);else if("on"==n)i=tc._createOn(e);else{if(void 0===n)throw new c("model-selection-setto-required-second-parameter",[this,e]);i=new tc(Ya._createAt(e,n))}this._setRanges([i],t)}else{if(!fo(e))throw new c("model-selection-setto-not-selectable",[this,e]);this._setRanges(e,o&&!!o.backward)}}_setRanges(t,e=!1){const n=Array.from(t),o=n.some((e=>{if(!(e instanceof tc))throw new c("model-selection-set-ranges-not-range",[this,t]);return this._ranges.every((t=>!t.isEqual(e)))}));(n.length!==this._ranges.length||o)&&(this._replaceAllRanges(n),this._lastRangeBackward=!!e,this.fire("change:range",{directChange:!0}))}setFocus(t,e){if(null===this.anchor)throw new c("model-selection-setfocus-no-ranges",[this,t]);const n=Ya._createAt(t,e);if("same"==n.compareWith(this.focus))return;const o=this.anchor;this._ranges.length&&this._popRange(),"before"==n.compareWith(o)?(this._pushRange(new tc(n,o)),this._lastRangeBackward=!0):(this._pushRange(new tc(o,n)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){this.hasAttribute(t)&&(this._attrs.delete(t),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}setAttribute(t,e){this.getAttribute(t)!==e&&(this._attrs.set(t,e),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=dc(e.start,t);n&&hc(n,e)&&(yield n);for(const n of e.getWalker()){const o=n.item;"elementEnd"==n.type&&lc(o,t,e)&&(yield o)}const o=dc(e.end,t);o&&!e.end.isTouching(Ya._createAt(o,0))&&hc(o,e)&&(yield o)}}containsEntireContent(t=this.anchor.root){const e=Ya._createAt(t,0),n=Ya._createAt(t,"end");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t),this._ranges.push(new tc(t.start,t.end))}_checkRange(t){for(let e=0;e0;)this._popRange()}_popRange(){this._ranges.pop()}}function cc(t,e){return!e.has(t)&&(e.add(t),t.root.document.model.schema.isBlock(t)&&t.parent)}function lc(t,e,n){return cc(t,e)&&hc(t,n)}function dc(t,e){const n=t.parent.root.document.model.schema,o=t.parent.getAncestors({parentFirst:!0,includeSelf:!0});let i=!1;const r=o.find((t=>!i&&(i=n.isLimit(t),!i&&cc(t,e))));return o.forEach((t=>e.add(t))),r}function hc(t,e){const n=function(t){const e=t.root.document.model.schema;let n=t.parent;for(;n;){if(e.isBlock(n))return n;n=n.parent}}(t);if(!n)return!0;return!e.containsRange(tc._createOn(n),!0)}ac.prototype.is=function(t){return"selection"===t||"model:selection"===t};class uc extends(b(tc)){constructor(t,e){super(t,e),gc.call(this)}detach(){this.stopListening()}toRange(){return new tc(this.start,this.end)}static fromRange(t){return new uc(t.start,t.end)}}function gc(){this.listenTo(this.root.document.model,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&mc.call(this,n)}),{priority:"low"})}function mc(t){const e=this.getTransformedByOperation(t),n=tc._createFromRanges(e),o=!n.isEqual(this),i=function(t,e){switch(e.type){case"insert":return t.containsPosition(e.position);case"move":case"remove":case"reinsert":case"merge":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case"split":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return!1}(this,t);let r=null;if(o){"$graveyard"==n.root.rootName&&(r="remove"==t.type?t.sourcePosition:t.deletionPosition);const e=this.toRange();this.start=n.start,this.end=n.end,this.fire("change:range",e,{deletionPosition:r})}else i&&this.fire("change:content",this.toRange(),{deletionPosition:r})}uc.prototype.is=function(t){return"liveRange"===t||"model:liveRange"===t||"range"==t||"model:range"===t};const pc="selection:";class fc extends(b(Fa)){constructor(t){super(),this._selection=new kc(t),this._selection.delegate("change:range").to(this),this._selection.delegate("change:attribute").to(this),this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection.updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(t){this._selection.observeMarkers(t)}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(...t){this._selection.setTo(...t)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return pc+t}static _isStoreAttributeKey(t){return t.startsWith(pc)}}fc.prototype.is=function(t){return"selection"===t||"model:selection"==t||"documentSelection"==t||"model:documentSelection"==t};class kc extends ac{constructor(t){super(),this.markers=new ko({idProperty:"name"}),this._model=t.model,this._document=t,this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this.listenTo(this._model,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&"marker"!=n.type&&"rename"!=n.type&&"noop"!=n.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))}),{priority:"lowest"}),this.on("change:range",(()=>{this._validateSelectionRanges(this.getRanges())})),this.listenTo(this._model.markers,"update",((t,e,n,o)=>{this._updateMarker(e,o)})),this.listenTo(this._document,"change",((t,e)=>{!function(t,e){const n=t.document.differ;for(const o of n.getChanges()){if("insert"!=o.type)continue;const n=o.position.parent;o.length===n.maxOffset&&t.enqueueChange(e,(t=>{const e=Array.from(n.getAttributeKeys()).filter((t=>t.startsWith(pc)));for(const o of e)t.removeAttribute(o,n)}))}}(this._model,e)}))}get isCollapsed(){return 0===this._ranges.length?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{if(this._hasChangedRange=!0,e.root==this._document.graveyard){this._selectionRestorePosition=o.deletionPosition;const t=this._ranges.indexOf(e);this._ranges.splice(t,1),e.detach()}})),e}updateMarkers(){if(!this._observedMarkers.size)return;const t=[];let e=!1;for(const e of this._model.markers){const n=e.name.split(":",1)[0];if(!this._observedMarkers.has(n))continue;const o=e.getRange();for(const n of this.getRanges())o.containsRange(n,!n.isCollapsed)&&t.push(e)}const n=Array.from(this.markers);for(const n of t)this.markers.has(n)||(this.markers.add(n),e=!0);for(const n of Array.from(this.markers))t.includes(n)||(this.markers.remove(n),e=!0);e&&this.fire("change:marker",{oldMarkers:n,directChange:!1})}_updateMarker(t,e){const n=t.name.split(":",1)[0];if(!this._observedMarkers.has(n))return;let o=!1;const i=Array.from(this.markers),r=this.markers.has(t);if(e){let n=!1;for(const t of this.getRanges())if(e.containsRange(t,!t.isCollapsed)){n=!0;break}n&&!r?(this.markers.add(t),o=!0):!n&&r&&(this.markers.remove(t),o=!0)}else r&&(this.markers.remove(t),o=!0);o&&this.fire("change:marker",{oldMarkers:i,directChange:!1})}_updateAttributes(t){const e=Po(this._getSurroundingAttributes()),n=Po(this.getAttributes());if(t)this._attributePriority=new Map,this._attrs=new Map;else for(const[t,e]of this._attributePriority)"low"==e&&(this._attrs.delete(t),this._attributePriority.delete(t));this._setAttributesTo(e);const o=[];for(const[t,e]of this.getAttributes())n.has(t)&&n.get(t)===e||o.push(t);for(const[t]of n)this.hasAttribute(t)||o.push(t);o.length>0&&this.fire("change:attribute",{attributeKeys:o,directChange:!1})}_setAttribute(t,e,n=!0){const o=n?"normal":"low";if("low"==o&&"normal"==this._attributePriority.get(t))return!1;return super.getAttribute(t)!==e&&(this._attrs.set(t,e),this._attributePriority.set(t,o),!0)}_removeAttribute(t,e=!0){const n=e?"normal":"low";return("low"!=n||"normal"!=this._attributePriority.get(t))&&(this._attributePriority.set(t,n),!!super.hasAttribute(t)&&(this._attrs.delete(t),!0))}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes())t.get(e)!==n&&this._removeAttribute(e,!1);for(const[n,o]of t){this._setAttribute(n,o,!1)&&e.add(n)}return e}*getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty)for(const e of t.getAttributeKeys())if(e.startsWith(pc)){const n=e.substr(pc.length);yield[n,t.getAttribute(e)]}}_getSurroundingAttributes(){const t=this.getFirstPosition(),e=this._model.schema;let n=null;if(this.isCollapsed){const o=t.textNode?t.textNode:t.nodeBefore,i=t.textNode?t.textNode:t.nodeAfter;if(this.isGravityOverridden||(n=bc(o)),n||(n=bc(i)),!this.isGravityOverridden&&!n){let t=o;for(;t&&!e.isInline(t)&&!n;)t=t.previousSibling,n=bc(t)}if(!n){let t=i;for(;t&&!e.isInline(t)&&!n;)t=t.nextSibling,n=bc(t)}n||(n=this.getStoredAttributes())}else{const t=this.getFirstRange();for(const o of t){if(o.item.is("element")&&e.isObject(o.item))break;if("text"==o.type){n=o.item.getAttributes();break}}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);e&&this._pushRange(e)}}function bc(t){return t instanceof Wa||t instanceof Ua?t.getAttributes():null}class wc{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers)t(e);return this}}const _c=function(t){return lo(t,5)};class Ac extends wc{elementToElement(t){return this.add(function(t){const e=yc(t.model),n=xc(t.view,"container");e.attributes.length&&(e.children=!0);return o=>{o.on(`insert:${e.name}`,function(t,e=Bc){return(n,o,i)=>{if(!e(o.item,i.consumable,{preflight:!0}))return;const r=t(o.item,i,o);if(!r)return;e(o.item,i.consumable);const s=i.mapper.toViewPosition(o.range.start);i.mapper.bindElements(o.item,r),i.writer.insert(s,r),i.convertAttributes(o.item),Sc(r,o.item.getChildren(),i,{reconversion:o.reconversion})}}(n,Tc(e)),{priority:t.converterPriority||"normal"}),(e.children||e.attributes.length)&&o.on("reduceChanges",Mc(e),{priority:"low"})}}(t))}elementToStructure(t){return this.add(function(t){const e=yc(t.model),n=xc(t.view,"container");return e.children=!0,o=>{if(o._conversionApi.schema.checkChild(e.name,"$text"))throw new c("conversion-element-to-structure-disallowed-text",o,{elementName:e.name});var i,r;o.on(`insert:${e.name}`,(i=n,r=Tc(e),(t,e,n)=>{if(!r(e.item,n.consumable,{preflight:!0}))return;const o=new Map;n.writer._registerSlotFactory(function(t,e,n){return(o,i="children")=>{const r=o.createContainerElement("$slot");let s=null;if("children"===i)s=Array.from(t.getChildren());else{if("function"!=typeof i)throw new c("conversion-slot-mode-unknown",n.dispatcher,{modeOrFilter:i});s=Array.from(t.getChildren()).filter((t=>i(t)))}return e.set(r,s),r}}(e.item,o,n));const s=i(e.item,n,e);if(n.writer._clearSlotFactory(),!s)return;!function(t,e,n){const o=Array.from(e.values()).flat(),i=new Set(o);if(i.size!=o.length)throw new c("conversion-slot-filter-overlap",n.dispatcher,{element:t});if(i.size!=t.childCount)throw new c("conversion-slot-filter-incomplete",n.dispatcher,{element:t})}(e.item,o,n),r(e.item,n.consumable);const a=n.mapper.toViewPosition(e.range.start);n.mapper.bindElements(e.item,s),n.writer.insert(a,s),n.convertAttributes(e.item),function(t,e,n,o){n.mapper.on("modelToViewPosition",s,{priority:"highest"});let i=null,r=null;for([i,r]of e)Sc(t,r,n,o),n.writer.move(n.writer.createRangeIn(i),n.writer.createPositionBefore(i)),n.writer.remove(i);function s(t,e){const n=e.modelPosition.nodeAfter,o=r.indexOf(n);o<0||(e.viewPosition=e.mapper.findPositionIn(i,o))}n.mapper.off("modelToViewPosition",s)}(s,o,n,{reconversion:e.reconversion})}),{priority:t.converterPriority||"normal"}),o.on("reduceChanges",Mc(e),{priority:"low"})}}(t))}attributeToElement(t){return this.add(function(t){let e=(t=_c(t)).model;"string"==typeof e&&(e={key:e});let n=`attribute:${e.key}`;e.name&&(n+=":"+e.name);if(e.values)for(const n of e.values)t.view[n]=xc(t.view[n],"attribute");else t.view=xc(t.view,"attribute");const o=Ec(t);return e=>{e.on(n,function(t){return(e,n,o)=>{if(!o.consumable.test(n.item,e.name))return;const i=t(n.attributeOldValue,o,n),r=t(n.attributeNewValue,o,n);if(!i&&!r)return;o.consumable.consume(n.item,e.name);const s=o.writer,a=s.document.selection;if(n.item instanceof ac||n.item instanceof fc)s.wrap(a.getFirstRange(),r);else{let t=o.mapper.toViewRange(n.range);null!==n.attributeOldValue&&i&&(t=s.unwrap(t,i)),null!==n.attributeNewValue&&r&&s.wrap(t,r)}}}(o),{priority:t.converterPriority||"normal"})}}(t))}attributeToAttribute(t){return this.add(function(t){let e=(t=_c(t)).model;"string"==typeof e&&(e={key:e});let n=`attribute:${e.key}`;e.name&&(n+=":"+e.name);if(e.values)for(const n of e.values)t.view[n]=Dc(t.view[n]);else t.view=Dc(t.view);const o=Ec(t);return e=>{var i;e.on(n,(i=o,(t,e,n)=>{if(!n.consumable.test(e.item,t.name))return;const o=i(e.attributeOldValue,n,e),r=i(e.attributeNewValue,n,e);if(!o&&!r)return;n.consumable.consume(e.item,t.name);const s=n.mapper.toViewElement(e.item),a=n.writer;if(!s)throw new c("conversion-attribute-to-attribute-on-text",n.dispatcher,e);if(null!==e.attributeOldValue&&o)if("class"==o.key){const t=wo(o.value);for(const e of t)a.removeClass(e,s)}else if("style"==o.key){const t=Object.keys(o.value);for(const e of t)a.removeStyle(e,s)}else a.removeAttribute(o.key,s);if(null!==e.attributeNewValue&&r)if("class"==r.key){const t=wo(r.value);for(const e of t)a.addClass(e,s)}else if("style"==r.key){const t=Object.keys(r.value);for(const e of t)a.setStyle(e,r.value[e],s)}else a.setAttribute(r.key,r.value,s)}),{priority:t.converterPriority||"normal"})}}(t))}markerToElement(t){return this.add(function(t){const e=xc(t.view,"ui");return n=>{var o;n.on(`addMarker:${t.model}`,(o=e,(t,e,n)=>{e.isOpening=!0;const i=o(e,n);e.isOpening=!1;const r=o(e,n);if(!i||!r)return;const s=e.markerRange;if(s.isCollapsed&&!n.consumable.consume(s,t.name))return;for(const e of s)if(!n.consumable.consume(e.item,t.name))return;const a=n.mapper,c=n.writer;c.insert(a.toViewPosition(s.start),i),n.mapper.bindElementToMarker(i,e.markerName),s.isCollapsed||(c.insert(a.toViewPosition(s.end),r),n.mapper.bindElementToMarker(r,e.markerName)),t.stop()}),{priority:t.converterPriority||"normal"}),n.on(`removeMarker:${t.model}`,((t,e,n)=>{const o=n.mapper.markerNameToElements(e.markerName);if(o){for(const t of o)n.mapper.unbindElementFromMarkerName(t,e.markerName),n.writer.clear(n.writer.createRangeOn(t),t);n.writer.clearClonedElementsGroup(e.markerName),t.stop()}}),{priority:t.converterPriority||"normal"})}}(t))}markerToHighlight(t){return this.add(function(t){return e=>{var n;e.on(`addMarker:${t.model}`,(n=t.view,(t,e,o)=>{if(!e.item)return;if(!(e.item instanceof ac||e.item instanceof fc||e.item.is("$textProxy")))return;const i=Ic(n,e,o);if(!i)return;if(!o.consumable.consume(e.item,t.name))return;const r=o.writer,s=Cc(r,i),a=r.document.selection;if(e.item instanceof ac||e.item instanceof fc)r.wrap(a.getFirstRange(),s);else{const t=o.mapper.toViewRange(e.range),n=r.wrap(t,s);for(const t of n.getItems())if(t.is("attributeElement")&&t.isSimilar(s)){o.mapper.bindElementToMarker(t,e.markerName);break}}}),{priority:t.converterPriority||"normal"}),e.on(`addMarker:${t.model}`,function(t){return(e,n,o)=>{if(!n.item)return;if(!(n.item instanceof Ga))return;const i=Ic(t,n,o);if(!i)return;if(!o.consumable.test(n.item,e.name))return;const r=o.mapper.toViewElement(n.item);if(r&&r.getCustomProperty("addHighlight")){o.consumable.consume(n.item,e.name);for(const t of tc._createIn(n.item))o.consumable.consume(t.item,e.name);r.getCustomProperty("addHighlight")(r,i,o.writer),o.mapper.bindElementToMarker(r,n.markerName)}}}(t.view),{priority:t.converterPriority||"normal"}),e.on(`removeMarker:${t.model}`,function(t){return(e,n,o)=>{if(n.markerRange.isCollapsed)return;const i=Ic(t,n,o);if(!i)return;const r=Cc(o.writer,i),s=o.mapper.markerNameToElements(n.markerName);if(s){for(const t of s)if(o.mapper.unbindElementFromMarkerName(t,n.markerName),t.is("attributeElement"))o.writer.unwrap(o.writer.createRangeOn(t),r);else{t.getCustomProperty("removeHighlight")(t,i.id,o.writer)}o.writer.clearClonedElementsGroup(n.markerName),e.stop()}}}(t.view),{priority:t.converterPriority||"normal"})}}(t))}markerToData(t){return this.add(function(t){const e=(t=_c(t)).model;let n=t.view;n||(n=n=>({group:e,name:n.substr(t.model.length+1)}));return o=>{var i;o.on(`addMarker:${e}`,(i=n,(t,e,n)=>{const o=i(e.markerName,n);if(!o)return;const r=e.markerRange;n.consumable.consume(r,t.name)&&(vc(r,!1,n,e,o),vc(r,!0,n,e,o),t.stop())}),{priority:t.converterPriority||"normal"}),o.on(`removeMarker:${e}`,function(t){return(e,n,o)=>{const i=t(n.markerName,o);if(!i)return;const r=o.mapper.markerNameToElements(n.markerName);if(r){for(const t of r)o.mapper.unbindElementFromMarkerName(t,n.markerName),t.is("containerElement")?(s(`data-${i.group}-start-before`,t),s(`data-${i.group}-start-after`,t),s(`data-${i.group}-end-before`,t),s(`data-${i.group}-end-after`,t)):o.writer.clear(o.writer.createRangeOn(t),t);o.writer.clearClonedElementsGroup(n.markerName),e.stop()}function s(t,e){if(e.hasAttribute(t)){const n=new Set(e.getAttribute(t).split(","));n.delete(i.name),0==n.size?o.writer.removeAttribute(t,e):o.writer.setAttribute(t,Array.from(n).join(","),e)}}}}(n),{priority:t.converterPriority||"normal"})}}(t))}}function Cc(t,e){const n=t.createAttributeElement("span",e.attributes);return e.classes&&n._addClass(e.classes),"number"==typeof e.priority&&(n._priority=e.priority),n._id=e.id,n}function vc(t,e,n,o,i){const r=e?t.start:t.end,s=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(s||a){let t,r;e&&s||!e&&!a?(t=s,r=!0):(t=a,r=!1);const c=n.mapper.toViewElement(t);if(c)return void function(t,e,n,o,i,r){const s=`data-${r.group}-${e?"start":"end"}-${n?"before":"after"}`,a=t.hasAttribute(s)?t.getAttribute(s).split(","):[];a.unshift(r.name),o.writer.setAttribute(s,a.join(","),t),o.mapper.bindElementToMarker(t,i.markerName)}(c,e,r,n,o,i)}!function(t,e,n,o,i){const r=`${i.group}-${e?"start":"end"}`,s=i.name?{name:i.name}:null,a=n.writer.createUIElement(r,s);n.writer.insert(t,a),n.mapper.bindElementToMarker(a,o.markerName)}(n.mapper.toViewPosition(r),e,n,o,i)}function yc(t){return"string"==typeof t&&(t={name:t}),t.attributes?Array.isArray(t.attributes)||(t.attributes=[t.attributes]):t.attributes=[],t.children=!!t.children,t}function xc(t,e){return"function"==typeof t?t:(n,o)=>function(t,e,n){"string"==typeof t&&(t={name:t});let o;const i=e.writer,r=Object.assign({},t.attributes);if("container"==n)o=i.createContainerElement(t.name,r);else if("attribute"==n){const e={priority:t.priority||nr.DEFAULT_PRIORITY};o=i.createAttributeElement(t.name,r,e)}else o=i.createUIElement(t.name,r);if(t.styles){const e=Object.keys(t.styles);for(const n of e)i.setStyle(n,t.styles[n],o)}if(t.classes){const e=t.classes;if("string"==typeof e)i.addClass(e,o);else for(const t of e)i.addClass(t,o)}return o}(t,o,e)}function Ec(t){return t.model.values?(e,n,o)=>{const i=t.view[e];return i?i(e,n,o):null}:t.view}function Dc(t){return"string"==typeof t?e=>({key:t,value:e}):"object"==typeof t?t.value?()=>t:e=>({key:t.key,value:e}):t}function Ic(t,e,n){const o="function"==typeof t?t(e,n):t;return o?(o.priority||(o.priority=10),o.id||(o.id=e.markerName),o):null}function Mc(t){const e=function(t){return(e,n)=>{if(!e.is("element",t.name))return!1;if("attribute"==n.type){if(t.attributes.includes(n.attributeKey))return!0}else if(t.children)return!0;return!1}}(t);return(t,n)=>{const o=[];n.reconvertedElements||(n.reconvertedElements=new Set);for(const t of n.changes){const i="attribute"==t.type?t.range.start.nodeAfter:t.position.parent;if(i&&e(i,t)){if(!n.reconvertedElements.has(i)){n.reconvertedElements.add(i);const t=Ya._createBefore(i);o.push({type:"remove",name:i.name,position:t,length:1},{type:"reinsert",name:i.name,position:t,length:1})}}else o.push(t)}n.changes=o}}function Tc(t){return(e,n,o={})=>{const i=["insert"];for(const n of t.attributes)e.hasAttribute(n)&&i.push(`attribute:${n}`);return!!i.every((t=>n.test(e,t)))&&(o.preflight||i.forEach((t=>n.consume(e,t))),!0)}}function Sc(t,e,n,o){for(const i of e)Nc(t.root,i,n,o)||n.convertItem(i)}function Nc(t,e,n,o){const{writer:i,mapper:r}=n;if(!o.reconversion)return!1;const s=r.toViewElement(e);return!(!s||s.root==t)&&(!!n.canReuseView(s)&&(i.move(i.createRangeOn(s),r.toViewPosition(Ya._createBefore(e))),!0))}function Bc(t,e,{preflight:n}={}){return n?e.test(t,"insert"):e.consume(t,"insert")}function Pc(t){const{schema:e,document:n}=t.model;for(const o of n.getRootNames()){const i=n.getRoot(o);if(i.isEmpty&&!e.checkChild(i,"$text")&&e.checkChild(i,"paragraph"))return t.insertElement("paragraph",i),!0}return!1}function zc(t,e,n){const o=n.createContext(t);return!!n.checkChild(o,"paragraph")&&!!n.checkChild(o.push("paragraph"),e)}function Lc(t,e){const n=e.createElement("paragraph");return e.insert(n,t),e.createPositionAt(n,0)}class Oc extends wc{elementToElement(t){return this.add(Rc(t))}elementToAttribute(t){return this.add(function(t){Vc(t=_c(t));const e=Hc(t,!1),n=jc(t.view),o=n?`element:${n}`:"element";return n=>{n.on(o,e,{priority:t.converterPriority||"low"})}}(t))}attributeToAttribute(t){return this.add(function(t){t=_c(t);let e=null;("string"==typeof t.view||t.view.key)&&(e=function(t){"string"==typeof t.view&&(t.view={key:t.view});const e=t.view.key;let n;if("class"==e||"style"==e){n={["class"==e?"classes":"styles"]:t.view.value}}else{n={attributes:{[e]:void 0===t.view.value?/[\s\S]*/:t.view.value}}}t.view.name&&(n.name=t.view.name);return t.view=n,e}(t));Vc(t,e);const n=Hc(t,!0);return e=>{e.on("element",n,{priority:t.converterPriority||"low"})}}(t))}elementToMarker(t){return this.add(function(t){const e=function(t){return(e,n)=>{const o="string"==typeof t?t:t(e,n);return n.writer.createElement("$marker",{"data-name":o})}}(t.model);return Rc({...t,model:e})}(t))}dataToMarker(t){return this.add(function(t){(t=_c(t)).model||(t.model=e=>e?t.view+":"+e:t.view);const e={view:t.view,model:t.model},n=Fc(Uc(e,"start")),o=Fc(Uc(e,"end"));return i=>{i.on(`element:${t.view}-start`,n,{priority:t.converterPriority||"normal"}),i.on(`element:${t.view}-end`,o,{priority:t.converterPriority||"normal"});const r=s.get("low"),a=s.get("highest"),c=s.get(t.converterPriority)/a;i.on("element",function(t){return(e,n,o)=>{const i=`data-${t.view}`;function r(e,i){for(const r of i){const i=t.model(r,o),s=o.writer.createElement("$marker",{"data-name":i});o.writer.insert(s,e),n.modelCursor.isEqual(e)?n.modelCursor=n.modelCursor.getShiftedBy(1):n.modelCursor=n.modelCursor._getTransformedByInsertion(e,1),n.modelRange=n.modelRange._getTransformedByInsertion(e,1)[0]}}(o.consumable.test(n.viewItem,{attributes:i+"-end-after"})||o.consumable.test(n.viewItem,{attributes:i+"-start-after"})||o.consumable.test(n.viewItem,{attributes:i+"-end-before"})||o.consumable.test(n.viewItem,{attributes:i+"-start-before"}))&&(n.modelRange||Object.assign(n,o.convertChildren(n.viewItem,n.modelCursor)),o.consumable.consume(n.viewItem,{attributes:i+"-end-after"})&&r(n.modelRange.end,n.viewItem.getAttribute(i+"-end-after").split(",")),o.consumable.consume(n.viewItem,{attributes:i+"-start-after"})&&r(n.modelRange.end,n.viewItem.getAttribute(i+"-start-after").split(",")),o.consumable.consume(n.viewItem,{attributes:i+"-end-before"})&&r(n.modelRange.start,n.viewItem.getAttribute(i+"-end-before").split(",")),o.consumable.consume(n.viewItem,{attributes:i+"-start-before"})&&r(n.modelRange.start,n.viewItem.getAttribute(i+"-start-before").split(",")))}}(e),{priority:r+c})}}(t))}}function Rc(t){const e=Fc(t=_c(t)),n=jc(t.view),o=n?`element:${n}`:"element";return n=>{n.on(o,e,{priority:t.converterPriority||"normal"})}}function jc(t){return"string"==typeof t?t:"object"==typeof t&&"string"==typeof t.name?t.name:null}function Fc(t){const e=new zo(t.view);return(n,o,i)=>{const r=e.match(o.viewItem);if(!r)return;const s=r.match;if(s.name=!0,!i.consumable.test(o.viewItem,s))return;const a=function(t,e,n){return t instanceof Function?t(e,n):n.writer.createElement(t)}(t.model,o.viewItem,i);a&&i.safeInsert(a,o.modelCursor)&&(i.consumable.consume(o.viewItem,s),i.convertChildren(o.viewItem,a),i.updateConversionResult(a,o))}}function Vc(t,e=null){const n=null===e||(t=>t.getAttribute(e)),o="object"!=typeof t.model?t.model:t.model.key,i="object"!=typeof t.model||void 0===t.model.value?n:t.model.value;t.model={key:o,value:i}}function Hc(t,e){const n=new zo(t.view);return(o,i,r)=>{if(!i.modelRange&&e)return;const s=n.match(i.viewItem);if(!s)return;if(!function(t,e){const n="function"==typeof t?t(e):t;if("object"==typeof n&&!jc(n))return!1;return!n.classes&&!n.attributes&&!n.styles}(t.view,i.viewItem)?delete s.match.name:s.match.name=!0,!r.consumable.test(i.viewItem,s.match))return;const a=t.model.key,c="function"==typeof t.model.value?t.model.value(i.viewItem,r):t.model.value;if(null===c)return;i.modelRange||Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor));const l=function(t,e,n,o){let i=!1;for(const r of Array.from(t.getItems({shallow:n})))o.schema.checkAttribute(r,e.key)&&(i=!0,r.hasAttribute(e.key)||o.writer.setAttribute(e.key,e.value,r));return i}(i.modelRange,{key:a,value:c},e,r);l&&(r.consumable.test(i.viewItem,{name:!0})&&(s.match.name=!0),r.consumable.consume(i.viewItem,s.match))}}function Uc(t,e){return{view:`${t.view}-${e}`,model:(e,n)=>{const o=e.getAttribute("name"),i=t.model(o,n);return n.writer.createElement("$marker",{"data-name":i})}}}class Wc extends P{constructor(t,e){super(),this.model=t,this.view=new ja(e),this.mapper=new ec,this.downcastDispatcher=new ic({mapper:this.mapper,schema:t.schema});const n=this.model.document,o=n.selection,i=this.model.markers;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(!0)}),{priority:"highest"}),this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(!1)}),{priority:"lowest"}),this.listenTo(n,"change",(()=>{this.view.change((t=>{this.downcastDispatcher.convertChanges(n.differ,i,t),this.downcastDispatcher.convertSelection(o,i,t)}))}),{priority:"low"}),this.listenTo(this.view.document,"selectionChange",function(t,e){return(n,o)=>{const i=o.newSelection,r=[];for(const t of i.getRanges())r.push(e.toModelRange(t));const s=t.createSelection(r,{backward:i.isBackward});s.isEqual(t.document.selection)||t.change((t=>{t.setSelection(s)}))}}(this.model,this.mapper)),this.downcastDispatcher.on("insert:$text",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const o=n.writer,i=n.mapper.toViewPosition(e.range.start),r=o.createText(e.item.data);o.insert(i,r)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((t,e,n)=>{n.convertAttributes(e.item),e.reconversion||!e.item.is("element")||e.item.isEmpty||n.convertChildren(e.item)}),{priority:"lowest"}),this.downcastDispatcher.on("remove",((t,e,n)=>{const o=n.mapper.toViewPosition(e.position),i=e.position.getShiftedBy(e.length),r=n.mapper.toViewPosition(i,{isPhantom:!0}),s=n.writer.createRange(o,r),a=n.writer.remove(s.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems())n.mapper.unbindViewElement(t,{defer:!0})}),{priority:"low"}),this.downcastDispatcher.on("selection",((t,e,n)=>{const o=n.writer,i=o.document.selection;for(const t of i.getRanges())t.isCollapsed&&t.end.parent.isAttached()&&n.writer.mergeAttributes(t.start);o.setSelection(null)}),{priority:"high"}),this.downcastDispatcher.on("selection",((t,e,n)=>{const o=e.selection;if(o.isCollapsed)return;if(!n.consumable.consume(o,"selection"))return;const i=[];for(const t of o.getRanges())i.push(n.mapper.toViewRange(t));n.writer.setSelection(i,{backward:o.isBackward})}),{priority:"low"}),this.downcastDispatcher.on("selection",((t,e,n)=>{const o=e.selection;if(!o.isCollapsed)return;if(!n.consumable.consume(o,"selection"))return;const i=n.writer,r=o.getFirstPosition(),s=n.mapper.toViewPosition(r),a=i.breakAttributes(s);i.setSelection(a)}),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using((t=>{if("$graveyard"==t.rootName)return null;const e=new Fi(this.view.document,t.name);return e.rootName=t.rootName,this.mapper.bindElements(t,e),e}))}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(t){const e="string"==typeof t?t:t.name,n=this.model.markers.get(e);if(!n)throw new c("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:e});this.model.change((()=>{this.model.markers._refresh(n)}))}reconvertItem(t){this.model.change((()=>{this.model.document.differ._refreshItem(t)}))}}class Gc{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n)throw new c("commandcollection-command-not-found",this,{commandName:t});return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands())t.destroy()}}class qc{constructor(){this._consumables=new Map}add(t,e){let n;t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!0):(this._consumables.has(t)?n=this._consumables.get(t):(n=new Yc(t),this._consumables.set(t,n)),n.add(e))}test(t,e){const n=this._consumables.get(t);return void 0===n?null:t.is("$text")||t.is("documentFragment")?n:n.test(e)}consume(t,e){return!!this.test(t,e)&&(t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!1):this._consumables.get(t).consume(e),!0)}revert(t,e){const n=this._consumables.get(t);void 0!==n&&(t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!0):n.revert(e))}static consumablesFromElement(t){const e={element:t,name:!0,attributes:[],classes:[],styles:[]},n=t.getAttributeKeys();for(const t of n)"style"!=t&&"class"!=t&&e.attributes.push(t);const o=t.getClassNames();for(const t of o)e.classes.push(t);const i=t.getStyleNames();for(const t of i)e.styles.push(t);return e}static createFrom(t,e){if(e||(e=new qc),t.is("$text"))return e.add(t),e;t.is("element")&&e.add(t,qc.consumablesFromElement(t)),t.is("documentFragment")&&e.add(t);for(const n of t.getChildren())e=qc.createFrom(n,e);return e}}const $c=["attributes","classes","styles"];class Yc{constructor(t){this.element=t,this._canConsumeName=null,this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){t.name&&(this._canConsumeName=!0);for(const e of $c)e in t&&this._add(e,t[e])}test(t){if(t.name&&!this._canConsumeName)return this._canConsumeName;for(const e of $c)if(e in t){const n=this._test(e,t[e]);if(!0!==n)return n}return!0}consume(t){t.name&&(this._canConsumeName=!1);for(const e of $c)e in t&&this._consume(e,t[e])}revert(t){t.name&&(this._canConsumeName=!0);for(const e of $c)e in t&&this._revert(e,t[e])}_add(t,e){const n=ye(e)?e:[e],o=this._consumables[t];for(const e of n){if("attributes"===t&&("class"===e||"style"===e))throw new c("viewconsumable-invalid-attribute",this);if(o.set(e,!0),"styles"===t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))o.set(t,!0)}}_test(t,e){const n=ye(e)?e:[e],o=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){const t=o.get(e);if(void 0===t)return null;if(!t)return!1}else{const t="class"==e?"classes":"styles",n=this._test(t,[...this._consumables[t].keys()]);if(!0!==n)return n}return!0}_consume(t,e){const n=ye(e)?e:[e],o=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){if(o.set(e,!1),"styles"==t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))o.set(t,!1)}else{const t="class"==e?"classes":"styles";this._consume(t,[...this._consumables[t].keys()])}}_revert(t,e){const n=ye(e)?e:[e],o=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){!1===o.get(e)&&o.set(e,!0)}else{const t="class"==e?"classes":"styles";this._revert(t,[...this._consumables[t].keys()])}}}class Kc extends P{constructor(){super(),this._sourceDefinitions={},this._attributeProperties={},this.decorate("checkChild"),this.decorate("checkAttribute"),this.on("checkAttribute",((t,e)=>{e[0]=new Qc(e[0])}),{priority:"highest"}),this.on("checkChild",((t,e)=>{e[0]=new Qc(e[0]),e[1]=this.getDefinition(e[1])}),{priority:"highest"})}register(t,e){if(this._sourceDefinitions[t])throw new c("schema-cannot-register-item-twice",this,{itemName:t});this._sourceDefinitions[t]=[Object.assign({},e)],this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t])throw new c("schema-cannot-extend-missing-item",this,{itemName:t});this._sourceDefinitions[t].push(Object.assign({},e)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(t){let e;return e="string"==typeof t?t:"is"in t&&(t.is("$text")||t.is("$textProxy"))?"$text":t.name,this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!(!e||!e.isBlock)}isLimit(t){const e=this.getDefinition(t);return!!e&&!(!e.isLimit&&!e.isObject)}isObject(t){const e=this.getDefinition(t);return!!e&&!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!(!e||!e.isInline)}isSelectable(t){const e=this.getDefinition(t);return!!e&&!(!e.isSelectable&&!e.isObject)}isContent(t){const e=this.getDefinition(t);return!!e&&!(!e.isContent&&!e.isObject)}checkChild(t,e){return!!e&&this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);return!!n&&n.allowAttributes.includes(e)}checkMerge(t,e){if(t instanceof Ya){const e=t.nodeBefore,n=t.nodeAfter;if(!(e instanceof Ga))throw new c("schema-check-merge-no-element-before",this);if(!(n instanceof Ga))throw new c("schema-check-merge-no-element-after",this);return this.checkMerge(e,n)}for(const n of e.getChildren())if(!this.checkChild(t,n))return!1;return!0}addChildCheck(t){this.on("checkChild",((e,[n,o])=>{if(!o)return;const i=t(n,o);"boolean"==typeof i&&(e.stop(),e.return=i)}),{priority:"high"})}addAttributeCheck(t){this.on("checkAttribute",((e,[n,o])=>{const i=t(n,o);"boolean"==typeof i&&(e.stop(),e.return=i)}),{priority:"high"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof Ya)e=t.parent;else{e=(t instanceof tc?[t]:Array.from(t.getRanges())).reduce(((t,e)=>{const n=e.getCommonAncestor();return t?t.getCommonAncestor(n,{includeSelf:!0}):n}),null)}for(;!this.isLimit(e)&&e.parent;)e=e.parent;return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=[...t.getFirstPosition().getAncestors(),new Ua("",t.getAttributes())];return this.checkAttribute(n,e)}{const n=t.getRanges();for(const t of n)for(const n of t)if(this.checkAttribute(n.item,e))return!0}return!1}*getValidRanges(t,e){t=function*(t){for(const e of t)yield*e.getMinimalFlatRanges()}(t);for(const n of t)yield*this._getValidRangesForRange(n,e)}getNearestSelectionRange(t,e="both"){if(this.checkChild(t,"$text"))return new tc(t);let n,o;const i=t.getAncestors().reverse().find((t=>this.isLimit(t)))||t.root;"both"!=e&&"backward"!=e||(n=new qa({boundaries:tc._createIn(i),startPosition:t,direction:"backward"})),"both"!=e&&"forward"!=e||(o=new qa({boundaries:tc._createIn(i),startPosition:t}));for(const t of function*(t,e){let n=!1;for(;!n;){if(n=!0,t){const e=t.next();e.done||(n=!1,yield{walker:t,value:e.value})}if(e){const t=e.next();t.done||(n=!1,yield{walker:e,value:t.value})}}}(n,o)){const e=t.walker==n?"elementEnd":"elementStart",o=t.value;if(o.type==e&&this.isObject(o.item))return tc._createOn(o.item);if(this.checkChild(o.nextPosition,"$text"))return new tc(o.nextPosition)}return null}findAllowedParent(t,e){let n=t.parent;for(;n;){if(this.checkChild(n,e))return n;if(this.isLimit(n))return null;n=n.parent}return null}setAllowedAttributes(t,e,n){const o=n.model;for(const[i,r]of Object.entries(e))o.schema.checkAttribute(t,i)&&n.setAttribute(i,r,t)}removeDisallowedAttributes(t,e){for(const n of t)if(n.is("$text"))ll(this,n,e);else{const t=tc._createIn(n).getPositions();for(const n of t){ll(this,n.nodeBefore||n.parent,e)}}}getAttributesWithProperty(t,e,n){const o={};for(const[i,r]of t.getAttributes()){const t=this.getAttributeProperties(i);void 0!==t[e]&&(void 0!==n&&n!==t[e]||(o[i]=r))}return o}createContext(t){return new Qc(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={},e=this._sourceDefinitions,n=Object.keys(e);for(const o of n)t[o]=Zc(e[o],o);for(const e of n)Jc(t,e);for(const e of n)Xc(t,e);for(const e of n)tl(t,e);for(const e of n)el(t,e),nl(t,e);for(const e of n)ol(t,e),il(t,e),rl(t,e);this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const o=e.getItem(n);if(t.allowIn.includes(o.name)){if(0==n)return!0;{const t=this.getDefinition(o);return this._checkContextMatch(t,e,n-1)}}return!1}*_getValidRangesForRange(t,e){let n=t.start,o=t.start;for(const i of t.getItems({shallow:!0}))i.is("element")&&(yield*this._getValidRangesForRange(tc._createIn(i),e)),this.checkAttribute(i,e)||(n.isEqual(o)||(yield new tc(n,o)),n=Ya._createAfter(i)),o=Ya._createAfter(i);n.isEqual(o)||(yield new tc(n,o))}}class Qc{constructor(t){if(t instanceof Qc)return t;let e;e="string"==typeof t?[t]:Array.isArray(t)?t:t.getAncestors({includeSelf:!0}),this._items=e.map(cl)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new Qc([t]);return e._items=[...this._items,...e._items],e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map((t=>t.name))}endsWith(t){return Array.from(this.getNames()).join(" ").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(" ").startsWith(t)}}function Zc(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};return function(t,e){for(const n of t){const t=Object.keys(n).filter((t=>t.startsWith("is")));for(const o of t)e[o]=!!n[o]}}(t,n),sl(t,n,"allowIn"),sl(t,n,"allowContentOf"),sl(t,n,"allowWhere"),sl(t,n,"allowAttributes"),sl(t,n,"allowAttributesOf"),sl(t,n,"allowChildren"),sl(t,n,"inheritTypesFrom"),function(t,e){for(const n of t){const t=n.inheritAllFrom;t&&(e.allowContentOf.push(t),e.allowWhere.push(t),e.allowAttributesOf.push(t),e.inheritTypesFrom.push(t))}}(t,n),n}function Jc(t,e){const n=t[e];for(const o of n.allowChildren){const n=t[o];n&&n.allowIn.push(e)}n.allowChildren.length=0}function Xc(t,e){for(const n of t[e].allowContentOf)if(t[n]){al(t,n).forEach((t=>{t.allowIn.push(e)}))}delete t[e].allowContentOf}function tl(t,e){for(const n of t[e].allowWhere){const o=t[n];if(o){const n=o.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function el(t,e){for(const n of t[e].allowAttributesOf){const o=t[n];if(o){const n=o.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function nl(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const o=t[e];if(o){const t=Object.keys(o).filter((t=>t.startsWith("is")));for(const e of t)e in n||(n[e]=o[e])}}delete n.inheritTypesFrom}function ol(t,e){const n=t[e],o=n.allowIn.filter((e=>t[e]));n.allowIn=Array.from(new Set(o))}function il(t,e){const n=t[e];for(const o of n.allowIn){t[o].allowChildren.push(e)}}function rl(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function sl(t,e,n){for(const o of t){const t=o[n];"string"==typeof t?e[n].push(t):Array.isArray(t)&&e[n].push(...t)}}function al(t,e){const n=t[e];return(o=t,Object.keys(o).map((t=>o[t]))).filter((t=>t.allowIn.includes(n.name)));var o}function cl(t){return"string"==typeof t||t.is("documentFragment")?{name:"string"==typeof t?t:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:t.is("element")?t.name:"$text",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute:e=>t.getAttribute(e)}}function ll(t,e,n){for(const o of e.getAttributeKeys())t.checkAttribute(e,o)||n.removeAttribute(o,e)}class dl extends w{constructor(t){super(),this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this._emptyElementsToKeep=new Set,this.conversionApi={...t,consumable:null,writer:null,store:null,convertItem:(t,e)=>this._convertItem(t,e),convertChildren:(t,e)=>this._convertChildren(t,e),safeInsert:(t,e)=>this._safeInsert(t,e),updateConversionResult:(t,e)=>this._updateConversionResult(t,e),splitToAllowedParent:(t,e)=>this._splitToAllowedParent(t,e),getSplitParts:t=>this._getSplitParts(t),keepEmptyElement:t=>this._keepEmptyElement(t)}}convert(t,e,n=["$root"]){this.fire("viewCleanup",t),this._modelCursor=function(t,e){let n;for(const o of new Qc(t)){const t={};for(const e of o.getAttributeKeys())t[e]=o.getAttribute(e);const i=e.createElement(o.name,t);n&&e.insert(i,n),n=Ya._createAt(i,0)}return n}(n,e),this.conversionApi.writer=e,this.conversionApi.consumable=qc.createFrom(t),this.conversionApi.store={};const{modelRange:o}=this._convertItem(t,this._modelCursor),i=e.createDocumentFragment();if(o){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren()))e.append(t,i);i.markers=function(t,e){const n=new Set,o=new Map,i=tc._createIn(t).getItems();for(const t of i)t.is("element","$marker")&&n.add(t);for(const t of n){const n=t.getAttribute("data-name"),i=e.createPositionBefore(t);o.has(n)?o.get(n).end=i.clone():o.set(n,new tc(i.clone())),e.remove(t)}return o}(i,e)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,i}_convertItem(t,e){const n={viewItem:t,modelCursor:e,modelRange:null};if(t.is("element")?this.fire(`element:${t.name}`,n,this.conversionApi):t.is("$text")?this.fire("text",n,this.conversionApi):this.fire("documentFragment",n,this.conversionApi),n.modelRange&&!(n.modelRange instanceof tc))throw new c("view-conversion-dispatcher-incorrect-result",this);return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is("position")?e:Ya._createAt(e,0);const o=new tc(n);for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,n);t.modelRange instanceof tc&&(o.end=t.modelRange.end,n=t.modelCursor)}return{modelRange:o,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);return!!n&&(this.conversionApi.writer.insert(t,n.position),!0)}_updateConversionResult(t,e){const n=this._getSplitParts(t),o=this.conversionApi.writer;e.modelRange||(e.modelRange=o.createRange(o.createPositionBefore(t),o.createPositionAfter(n[n.length-1])));const i=this._cursorParents.get(t);e.modelCursor=i?o.createPositionAt(i,0):e.modelRange.end}_splitToAllowedParent(t,e){const{schema:n,writer:o}=this.conversionApi;let i=n.findAllowedParent(e,t);if(i){if(i===e.parent)return{position:e};this._modelCursor.parent.getAncestors().includes(i)&&(i=null)}if(!i)return zc(e,t,n)?{position:Lc(e,o)}:null;const r=this.conversionApi.writer.split(e,i),s=[];for(const t of r.range.getWalker())if("elementEnd"==t.type)s.push(t.item);else{const e=s.pop(),n=t.item;this._registerSplitPair(e,n)}const a=r.range.end.parent;return this._cursorParents.set(t,a),{position:r.position,cursorParent:a}}_registerSplitPair(t,e){this._splitParts.has(t)||this._splitParts.set(t,[t]);const n=this._splitParts.get(t);this._splitParts.set(e,n),n.push(e)}_getSplitParts(t){let e;return e=this._splitParts.has(t)?this._splitParts.get(t):[t],e}_keepEmptyElement(t){this._emptyElementsToKeep.add(t)}_removeEmptyElements(){let t=!1;for(const e of this._splitParts.keys())e.isEmpty&&!this._emptyElementsToKeep.has(e)&&(this.conversionApi.writer.remove(e),this._splitParts.delete(e),t=!0);t&&this._removeEmptyElements()}}class hl{getHtml(t){const e=document.implementation.createHTMLDocument("").createElement("div");return e.appendChild(t),e.innerHTML}}class ul{constructor(t){this.domParser=new DOMParser,this.domConverter=new ms(t,{renderingMode:"data"}),this.htmlWriter=new hl}toData(t){const e=this.domConverter.viewToDom(t);return this.htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this.domConverter.domToView(e)}registerRawContentMatcher(t){this.domConverter.registerRawContentMatcher(t)}useFillerType(t){this.domConverter.blockFillerMode="marked"==t?"markedNbsp":"nbsp"}_toDom(t){t.match(/<(?:html|body|head|meta)(?:\s[^>]*)?>/i)||(t=`${t}`);const e=this.domParser.parseFromString(t,"text/html"),n=e.createDocumentFragment(),o=e.body.childNodes;for(;o.length>0;)n.appendChild(o[0]);return n}}class gl extends w{constructor(t,e){super(),this.model=t,this.mapper=new ec,this.downcastDispatcher=new ic({mapper:this.mapper,schema:t.schema}),this.downcastDispatcher.on("insert:$text",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const o=n.writer,i=n.mapper.toViewPosition(e.range.start),r=o.createText(e.item.data);o.insert(i,r)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((t,e,n)=>{n.convertAttributes(e.item),e.reconversion||!e.item.is("element")||e.item.isEmpty||n.convertChildren(e.item)}),{priority:"lowest"}),this.upcastDispatcher=new dl({schema:t.schema}),this.viewDocument=new er(e),this.stylesProcessor=e,this.htmlProcessor=new ul(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new xr(this.viewDocument),this.upcastDispatcher.on("text",((t,e,{schema:n,consumable:o,writer:i})=>{let r=e.modelCursor;if(!o.test(e.viewItem))return;if(!n.checkChild(r,"$text")){if(!zc(r,"$text",n))return;if(0==e.viewItem.data.trim().length)return;r=Lc(r,i)}o.consume(e.viewItem);const s=i.createText(e.viewItem.data);i.insert(s,r),e.modelRange=i.createRange(r,r.getShiftedBy(s.offsetSize)),e.modelCursor=e.modelRange.end}),{priority:"lowest"}),this.upcastDispatcher.on("element",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=o}}),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=o}}),{priority:"lowest"}),P.prototype.decorate.call(this,"init"),P.prototype.decorate.call(this,"set"),P.prototype.decorate.call(this,"get"),this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"}),this.on("ready",(()=>{this.model.enqueueChange({isUndoable:!1},Pc)}),{priority:"lowest"})}get(t={}){const{rootName:e="main",trim:n="empty"}=t;if(!this._checkIfRootsExists([e]))throw new c("datacontroller-get-non-existent-root",this);const o=this.model.document.getRoot(e);return"empty"!==n||this.model.hasContent(o,{ignoreWhitespaces:!0})?this.stringify(o,t):""}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument,o=this._viewWriter;this.mapper.clearBindings();const i=tc._createIn(t),r=new yr(n);this.mapper.bindElements(t,r);const s=t.is("documentFragment")?t.markers:function(t){const e=[],n=t.root.document;if(!n)return new Map;const o=tc._createIn(t);for(const t of n.model.markers){const n=t.getRange(),i=n.isCollapsed,r=n.start.isEqual(o.start)||n.end.isEqual(o.end);if(i&&r)e.push([t.name,n]);else{const i=o.getIntersection(n);i&&e.push([t.name,i])}}return e.sort((([t,e],[n,o])=>{if("after"!==e.end.compareWith(o.start))return 1;if("before"!==e.start.compareWith(o.end))return-1;switch(e.start.compareWith(o.start)){case"before":return 1;case"after":return-1;default:switch(e.end.compareWith(o.end)){case"before":return 1;case"after":return-1;default:return n.localeCompare(t)}}})),new Map(e)}(t);return this.downcastDispatcher.convert(i,s,o,e),r}init(t){if(this.model.document.version)throw new c("datacontroller-init-document-not-empty",this);let e={};if("string"==typeof t?e.main=t:e=t,!this._checkIfRootsExists(Object.keys(e)))throw new c("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},(t=>{for(const n of Object.keys(e)){const o=this.model.document.getRoot(n);t.insert(this.parse(e[n],o),o,0)}})),Promise.resolve()}set(t,e={}){let n={};if("string"==typeof t?n.main=t:n=t,!this._checkIfRootsExists(Object.keys(n)))throw new c("datacontroller-set-non-existent-root",this);this.model.enqueueChange(e.batchType||{},(t=>{t.setSelection(null),t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const e of Object.keys(n)){const o=this.model.document.getRoot(e);t.remove(t.createRangeIn(o)),t.insert(this.parse(n[e],o),o,0)}}))}parse(t,e="$root"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e="$root"){return this.model.change((n=>this.upcastDispatcher.convert(t,n,e)))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(t),this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t)if(!this.model.document.getRootNames().includes(e))return!1;return!0}}class ml{constructor(t,e){this._helpers=new Map,this._downcast=wo(t),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=wo(e),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(t,e){const n=this._downcast.includes(e);if(!this._upcast.includes(e)&&!n)throw new c("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t))throw new c("conversion-for-unknown-group",this);return this._helpers.get(t)}elementToElement(t){this.for("downcast").elementToElement(t);for(const{model:e,view:n}of pl(t))this.for("upcast").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}attributeToElement(t){this.for("downcast").attributeToElement(t);for(const{model:e,view:n}of pl(t))this.for("upcast").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}attributeToAttribute(t){this.for("downcast").attributeToAttribute(t);for(const{model:e,view:n}of pl(t))this.for("upcast").attributeToAttribute({view:n,model:e})}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t))throw new c("conversion-group-exists",this);const o=n?new Ac(e):new Oc(e);this._helpers.set(t,o)}}function*pl(t){if(t.model.values)for(const e of t.model.values){const n={key:t.model.key,value:e},o=t.view[e],i=t.upcastAlso?t.upcastAlso[e]:void 0;yield*fl(n,o,i)}else yield*fl(t.model,t.view,t.upcastAlso)}function*fl(t,e,n){if(yield{model:t,view:e},n)for(const e of wo(n))yield{model:t,view:e}}class kl{constructor(t={}){"string"==typeof t&&(t="transparent"===t?{isUndoable:!1}:{},l("batch-constructor-deprecated-string-type"));const{isUndoable:e=!0,isLocal:n=!0,isUndo:o=!1,isTyping:i=!1}=t;this.operations=[],this.isUndoable=e,this.isLocal=n,this.isUndo=o,this.isTyping=i}get type(){return l("batch-type-deprecated"),"default"}get baseVersion(){for(const t of this.operations)if(null!==t.baseVersion)return t.baseVersion;return null}addOperation(t){return t.batch=this,this.operations.push(t),t}}class bl{constructor(t){this._markerCollection=t,this._changesInElement=new Map,this._elementSnapshots=new Map,this._changedMarkers=new Map,this._changeCount=0,this._cachedChanges=null,this._cachedChangesWithGraveyard=null,this._refreshedItems=new Set}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size}bufferOperation(t){const e=t;switch(e.type){case"insert":if(this._isInInsertedElement(e.position.parent))return;this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break;case"addAttribute":case"removeAttribute":case"changeAttribute":for(const t of e.range.getItems({shallow:!0}))this._isInInsertedElement(t.parent)||this._markAttribute(t);break;case"remove":case"move":case"reinsert":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition))return;const t=this._isInInsertedElement(e.sourcePosition.parent),n=this._isInInsertedElement(e.targetPosition.parent);t||this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany),n||this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany);break}case"rename":{if(this._isInInsertedElement(e.position.parent))return;this._markRemove(e.position.parent,e.position.offset,1),this._markInsert(e.position.parent,e.position.offset,1);const t=tc._createFromPositionAndShift(e.position,1);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}break}case"split":{const t=e.splitPosition.parent;this._isInInsertedElement(t)||this._markRemove(t,e.splitPosition.offset,e.howMany),this._isInInsertedElement(e.insertionPosition.parent)||this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1),e.graveyardPosition&&this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1);break}case"merge":{const t=e.sourcePosition.parent;this._isInInsertedElement(t.parent)||this._markRemove(t.parent,t.startOffset,1);const n=e.graveyardPosition.parent;this._markInsert(n,e.graveyardPosition.offset,1);const o=e.targetPosition.parent;this._isInInsertedElement(o)||this._markInsert(o,e.targetPosition.offset,t.maxOffset);break}}this._cachedChanges=null}bufferMarkerChange(t,e,n){const o=this._changedMarkers.get(t);o?(o.newMarkerData=n,null==o.oldMarkerData.range&&null==n.range&&this._changedMarkers.delete(t)):this._changedMarkers.set(t,{newMarkerData:n,oldMarkerData:e})}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.oldMarkerData.range&&t.push({name:e,range:n.oldMarkerData.range});return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.newMarkerData.range&&t.push({name:e,range:n.newMarkerData.range});return t}getChangedMarkers(){return Array.from(this._changedMarkers).map((([t,e])=>({name:t,data:{oldRange:e.oldMarkerData.range,newRange:e.newMarkerData.range}})))}hasDataChanges(){if(this._changesInElement.size>0)return!0;for(const{newMarkerData:t,oldMarkerData:e}of this._changedMarkers.values()){if(t.affectsData!==e.affectsData)return!0;if(t.affectsData){const n=t.range&&!e.range,o=!t.range&&e.range,i=t.range&&e.range&&!t.range.isEqual(e.range);if(n||o||i)return!0}}return!1}getChanges(t={}){if(this._cachedChanges)return t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort(((t,e)=>t.offset===e.offset?t.type!=e.type?"remove"==t.type?-1:1:0:t.offsett.position.root!=e.position.root?t.position.root.rootNamet));for(const t of e)delete t.changeCount,"attribute"==t.type&&(delete t.position,delete t.length);return this._changeCount=0,this._cachedChangesWithGraveyard=e,this._cachedChanges=e.filter(Al),t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementSnapshots.clear(),this._changedMarkers.clear(),this._refreshedItems=new Set,this._cachedChanges=null}_refreshItem(t){if(this._isInInsertedElement(t.parent))return;this._markRemove(t.parent,t.startOffset,t.offsetSize),this._markInsert(t.parent,t.startOffset,t.offsetSize),this._refreshedItems.add(t);const e=tc._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getData();this.bufferMarkerChange(t.name,e,e)}this._cachedChanges=null}_markInsert(t,e,n){const o={type:"insert",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,o)}_markRemove(t,e,n){const o={type:"remove",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,o),this._removeAllNestedChanges(t,e,n)}_markAttribute(t){const e={type:"attribute",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n),n.push(e);for(let t=0;tn.offset){if(o>i){const t={type:"attribute",offset:i,howMany:o-i,count:this._changeCount++};this._handleChange(t,e),e.push(t)}t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}else t.offset>=n.offset&&t.offseti?(t.nodesToHandle=o-i,t.offset=i):t.nodesToHandle=0);if("remove"==n.type&&t.offsetn.offset){const i={type:"attribute",offset:n.offset,howMany:o-n.offset,count:this._changeCount++};this._handleChange(i,e),e.push(i),t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}"attribute"==n.type&&(t.offset>=n.offset&&o<=i?(t.nodesToHandle=0,t.howMany=0,t.offset=0):t.offset<=n.offset&&o>=i&&(n.howMany=0))}}t.howMany=t.nodesToHandle,delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:"insert",position:Ya._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:"remove",position:Ya._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const o=[];n=new Map(n);for(const[i,r]of e){const e=n.has(i)?n.get(i):null;e!==r&&o.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:i,attributeOldValue:r,attributeNewValue:e,changeCount:this._changeCount++}),n.delete(i)}for(const[e,i]of n)o.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:i,changeCount:this._changeCount++});return o}_isInInsertedElement(t){const e=t.parent;if(!e)return!1;const n=this._changesInElement.get(e),o=t.startOffset;if(n)for(const t of n)if("insert"==t.type&&o>=t.offset&&oo){for(let e=0;ethis._version+1&&this._gaps.set(this._version,t),this._version=t}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(t){if(t.baseVersion!==this.version)throw new c("model-document-history-addoperation-incorrect-version",this,{operation:t,historyVersion:this.version});this._operations.push(t),this._version++,this._baseVersionToOperationIndex.set(t.baseVersion,this._operations.length-1)}getOperations(t,e=this.version){if(!this._operations.length)return[];const n=this._operations[0];void 0===t&&(t=n.baseVersion);let o=e-1;for(const[e,n]of this._gaps)t>e&&te&&othis.lastOperation.baseVersion)return[];let i=this._baseVersionToOperationIndex.get(t);void 0===i&&(i=0);let r=this._baseVersionToOperationIndex.get(o);return void 0===r&&(r=this._operations.length-1),this._operations.slice(i,r+1)}getOperation(t){const e=this._baseVersionToOperationIndex.get(t);if(void 0!==e)return this._operations[e]}setOperationAsUndone(t,e){this._undoPairs.set(e,t),this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}class vl extends Ga{constructor(t,e,n="main"){super(e),this._document=t,this.rootName=n}get document(){return this._document}toJSON(){return this.rootName}}function yl(t,e){return!!(n=t.charAt(e-1))&&1==n.length&&/[\ud800-\udbff]/.test(n)&&function(t){return!!t&&1==t.length&&/[\udc00-\udfff]/.test(t)}(t.charAt(e));var n}function xl(t,e){return!!(n=t.charAt(e))&&1==n.length&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]/.test(n);var n}vl.prototype.is=function(t,e){return e?e===this.name&&("rootElement"===t||"model:rootElement"===t||"element"===t||"model:element"===t):"rootElement"===t||"model:rootElement"===t||"element"===t||"model:element"===t||"node"===t||"model:node"===t};const El=function(){const t=/\p{Regional_Indicator}{2}/u.source,e="(?:"+[/\p{Emoji}[\u{E0020}-\u{E007E}]+\u{E007F}/u,/\p{Emoji}\u{FE0F}?\u{20E3}/u,/\p{Emoji}\u{FE0F}/u,/(?=\p{General_Category=Other_Symbol})\p{Emoji}\p{Emoji_Modifier}*/u].map((t=>t.source)).join("|")+")";return new RegExp(`${t}|${e}(?:‍${e})*`,"ug")}();function Dl(t,e){const n=String(t).matchAll(El);return Array.from(n).some((t=>t.index{const n=e[0];n.isDocumentOperation&&this.differ.bufferOperation(n)}),{priority:"high"}),this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&this.history.addOperation(n)}),{priority:"low"}),this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0})),this.listenTo(t.markers,"update",((t,e,n,o,i)=>{const r={...e.getData(),range:o};this.differ.bufferMarkerChange(e.name,i,r),null===n&&e.on("change",((t,n)=>{const o=e.getData();this.differ.bufferMarkerChange(e.name,{...o,range:n},o)}))}))}get version(){return this.history.version}set version(t){this.history.version=t}get graveyard(){return this.getRoot(Il)}createRoot(t="$root",e="main"){if(this.roots.get(e))throw new c("model-document-createroot-name-exists",this,{name:e});const n=new vl(this,t,e);return this.roots.add(n),n}destroy(){this.selection.destroy(),this.stopListening()}getRoot(t="main"){return this.roots.get(t)}getRootNames(){return Array.from(this.roots,(t=>t.rootName)).filter((t=>t!=Il))}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=To(this);return t.selection="[engine.model.DocumentSelection]",t.model="[engine.model.Model]",t}_handleChangeBlock(t){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(t),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",t.batch):this.fire("change",t.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){for(const t of this.roots)if(t!==this.graveyard)return t;return this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot(),e=this.model,n=e.schema,o=e.createPositionFromPath(t,[0]);return n.getNearestSelectionRange(o)||e.createRange(o)}_validateSelectionRange(t){return Tl(t.start)&&Tl(t.end)}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(this.selection.refresh(),e=n(t),e)break}while(e)}}function Tl(t){const e=t.textNode;if(e){const n=e.data,o=t.offset-e.startOffset;return!yl(n,o)&&!xl(n,o)}return!0}class Sl extends w{constructor(){super(),this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){const e=t instanceof Nl?t.name:t;return this._markers.has(e)}get(t){return this._markers.get(t)||null}_set(t,e,n=!1,o=!1){const i=t instanceof Nl?t.name:t;if(i.includes(","))throw new c("markercollection-incorrect-marker-name",this);const r=this._markers.get(i);if(r){const t=r.getData(),s=r.getRange();let a=!1;return s.isEqual(e)||(r._attachLiveRange(uc.fromRange(e)),a=!0),n!=r.managedUsingOperations&&(r._managedUsingOperations=n,a=!0),"boolean"==typeof o&&o!=r.affectsData&&(r._affectsData=o,a=!0),a&&this.fire(`update:${i}`,r,s,e,t),r}const s=uc.fromRange(e),a=new Nl(i,s,n,o);return this._markers.set(i,a),this.fire(`update:${i}`,a,null,e,{...a.getData(),range:null}),a}_remove(t){const e=t instanceof Nl?t.name:t,n=this._markers.get(e);return!!n&&(this._markers.delete(e),this.fire(`update:${e}`,n,n.getRange(),null,n.getData()),this._destroyMarker(n),!0)}_refresh(t){const e=t instanceof Nl?t.name:t,n=this._markers.get(e);if(!n)throw new c("markercollection-refresh-marker-not-exists",this);const o=n.getRange();this.fire(`update:${e}`,n,o,o,n.getData())}*getMarkersAtPosition(t){for(const e of this)e.getRange().containsPosition(t)&&(yield e)}*getMarkersIntersectingRange(t){for(const e of this)null!==e.getRange().getIntersection(t)&&(yield e)}destroy(){for(const t of this._markers.values())this._destroyMarker(t);this._markers=null,this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values())e.name.startsWith(t+":")&&(yield e)}_destroyMarker(t){t.stopListening(),t._detachLiveRange()}}class Nl extends(b(Fa)){constructor(t,e,n,o){super(),this.name=t,this._liveRange=this._attachLiveRange(e),this._managedUsingOperations=n,this._affectsData=o}get managedUsingOperations(){if(!this._liveRange)throw new c("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new c("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new c("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new c("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new c("marker-destroyed",this);return this._liveRange.toRange()}_attachLiveRange(t){return this._liveRange&&this._detachLiveRange(),t.delegate("change:range").to(this),t.delegate("change:content").to(this),this._liveRange=t,t}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}Nl.prototype.is=function(t){return"marker"===t||"model:marker"===t};class Bl{constructor(t){this.baseVersion=t,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);return t.__className=this.constructor.className,delete t.batch,delete t.isDocumentOperation,t}static get className(){return"Operation"}static fromJSON(t,e){return new this(t.baseVersion)}}function Pl(t,e){const n=Ol(e),o=n.reduce(((t,e)=>t+e.offsetSize),0),i=t.parent;jl(t);const r=t.index;return i._insertChild(r,n),Rl(i,r+n.length),Rl(i,r),new tc(t,t.getShiftedBy(o))}function zl(t){if(!t.isFlat)throw new c("operation-utils-remove-range-not-flat",this);const e=t.start.parent;jl(t.start),jl(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);return Rl(e,t.start.index),n}function Ll(t,e){if(!t.isFlat)throw new c("operation-utils-move-range-not-flat",this);const n=zl(t);return Pl(e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset),n)}function Ol(t){const e=[];!function t(n){if("string"==typeof n)e.push(new Ua(n));else if(n instanceof Wa)e.push(new Ua(n.data,n.getAttributes()));else if(n instanceof Va)e.push(n);else if(fo(n))for(const e of n)t(e)}(t);for(let t=1;tt.maxOffset)throw new c("move-operation-nodes-do-not-exist",this);if(t===e&&n=n&&this.targetPosition.path[t]t._clone(!0)))),e=new Wl(this.position,t,this.baseVersion);return e.shouldReceiveAttributes=this.shouldReceiveAttributes,e}getReversed(){const t=this.position.root.document.graveyard,e=new Ya(t,[0]);return new Ul(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsett._clone(!0)))),Pl(this.position,t)}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t.nodes=this.nodes.toJSON(),t}static get className(){return"InsertOperation"}static fromJSON(t,e){const n=[];for(const e of t.nodes)e.name?n.push(Ga.fromJSON(e)):n.push(Ua.fromJSON(e));const o=new Wl(Ya.fromJSON(t.position,e),n,t.baseVersion);return o.shouldReceiveAttributes=t.shouldReceiveAttributes,o}}class Gl extends Bl{constructor(t,e,n,o,i,r){super(r),this.name=t,this.oldRange=e?e.clone():null,this.newRange=n?n.clone():null,this.affectsData=i,this._markers=o}get type(){return"marker"}clone(){return new Gl(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new Gl(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){this.newRange?this._markers._set(this.name,this.newRange,!0,this.affectsData):this._markers._remove(this.name)}toJSON(){const t=super.toJSON();return this.oldRange&&(t.oldRange=this.oldRange.toJSON()),this.newRange&&(t.newRange=this.newRange.toJSON()),delete t._markers,t}static get className(){return"MarkerOperation"}static fromJSON(t,e){return new Gl(t.name,t.oldRange?tc.fromJSON(t.oldRange,e):null,t.newRange?tc.fromJSON(t.newRange,e):null,e.model.markers,t.affectsData,t.baseVersion)}}class ql extends Bl{get type(){return"noop"}clone(){return new ql(this.baseVersion)}getReversed(){return new ql(this.baseVersion+1)}_execute(){}static get className(){return"NoOperation"}}class $l extends Bl{constructor(t,e,n,o){super(o),this.position=t,this.position.stickiness="toNext",this.oldName=e,this.newName=n}get type(){return"rename"}clone(){return new $l(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new $l(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const t=this.position.nodeAfter;if(!(t instanceof Ga))throw new c("rename-operation-wrong-position",this);if(t.name!==this.oldName)throw new c("rename-operation-wrong-name",this)}_execute(){this.position.nodeAfter.name=this.newName}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t}static get className(){return"RenameOperation"}static fromJSON(t,e){return new $l(Ya.fromJSON(t.position,e),t.oldName,t.newName,t.baseVersion)}}class Yl extends Bl{constructor(t,e,n,o,i){super(i),this.root=t,this.key=e,this.oldValue=n,this.newValue=o}get type(){return null===this.oldValue?"addRootAttribute":null===this.newValue?"removeRootAttribute":"changeRootAttribute"}clone(){return new Yl(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new Yl(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is("documentFragment"))throw new c("rootattribute-operation-not-a-root",this,{root:this.root,key:this.key});if(null!==this.oldValue&&this.root.getAttribute(this.key)!==this.oldValue)throw new c("rootattribute-operation-wrong-old-value",this,{root:this.root,key:this.key});if(null===this.oldValue&&null!==this.newValue&&this.root.hasAttribute(this.key))throw new c("rootattribute-operation-attribute-exists",this,{root:this.root,key:this.key})}_execute(){null!==this.newValue?this.root._setAttribute(this.key,this.newValue):this.root._removeAttribute(this.key)}toJSON(){const t=super.toJSON();return t.root=this.root.toJSON(),t}static get className(){return"RootAttributeOperation"}static fromJSON(t,e){if(!e.getRoot(t.root))throw new c("rootattribute-operation-fromjson-no-root",this,{rootName:t.root});return new Yl(e.getRoot(t.root),t.key,t.oldValue,t.newValue,t.baseVersion)}}class Kl extends Bl{constructor(t,e,n,o,i){super(i),this.sourcePosition=t.clone(),this.sourcePosition.stickiness="toPrevious",this.howMany=e,this.targetPosition=n.clone(),this.targetPosition.stickiness="toNext",this.graveyardPosition=o.clone()}get type(){return"merge"}get deletionPosition(){return new Ya(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const t=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new tc(this.sourcePosition,t)}clone(){return new Kl(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.targetPosition._getTransformedByMergeOperation(this),e=this.sourcePosition.path.slice(0,-1),n=new Ya(this.sourcePosition.root,e)._getTransformedByMergeOperation(this);return new Ql(t,this.howMany,n,this.graveyardPosition,this.baseVersion+1)}_validate(){const t=this.sourcePosition.parent,e=this.targetPosition.parent;if(!t.parent)throw new c("merge-operation-source-position-invalid",this);if(!e.parent)throw new c("merge-operation-target-position-invalid",this);if(this.howMany!=t.maxOffset)throw new c("merge-operation-how-many-invalid",this)}_execute(){const t=this.sourcePosition.parent;Ll(tc._createIn(t),this.targetPosition),Ll(tc._createOn(t),this.graveyardPosition)}toJSON(){const t=super.toJSON();return t.sourcePosition=t.sourcePosition.toJSON(),t.targetPosition=t.targetPosition.toJSON(),t.graveyardPosition=t.graveyardPosition.toJSON(),t}static get className(){return"MergeOperation"}static fromJSON(t,e){const n=Ya.fromJSON(t.sourcePosition,e),o=Ya.fromJSON(t.targetPosition,e),i=Ya.fromJSON(t.graveyardPosition,e);return new this(n,t.howMany,o,i,t.baseVersion)}}class Ql extends Bl{constructor(t,e,n,o,i){super(i),this.splitPosition=t.clone(),this.splitPosition.stickiness="toNext",this.howMany=e,this.insertionPosition=n,this.graveyardPosition=o?o.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();return t.push(0),new Ya(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new tc(this.splitPosition,t)}clone(){return new Ql(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard,e=new Ya(t,[0]);return new Kl(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent,e=this.splitPosition.offset;if(!t||t.maxOffset"string"==typeof t?new Ua(t):t instanceof Wa?new Ua(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&t._remove(),t.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n)t.parent=null;return n}}td.prototype.is=function(t){return"documentFragment"===t||"model:documentFragment"===t};class ed{constructor(t,e){this.model=t,this.batch=e}createText(t,e){return new Ua(t,e)}createElement(t,e){return new Ga(t,e)}createDocumentFragment(){return new td}cloneElement(t,e=!0){return t._clone(e)}insert(t,e,n=0){if(this._assertWriterUsedCorrectly(),t instanceof Ua&&""==t.data)return;const o=Ya._createAt(e,n);if(t.parent){if(sd(t.root,o.root))return void this.move(tc._createOn(t),o);if(t.root.document)throw new c("model-writer-insert-forbidden-move",this);this.remove(t)}const i=o.root.document?o.root.document.version:null,r=new Wl(o,t,i);if(t instanceof Ua&&(r.shouldReceiveAttributes=!0),this.batch.addOperation(r),this.model.applyOperation(r),t instanceof td)for(const[e,n]of t.markers){const t=Ya._createAt(n.root,0),i={range:new tc(n.start._getCombined(t,o),n.end._getCombined(t,o)),usingOperation:!0,affectsData:!0};this.model.markers.has(e)?this.updateMarker(e,i):this.addMarker(e,i)}}insertText(t,e,n,o){e instanceof td||e instanceof Ga||e instanceof Ya?this.insert(this.createText(t),e,n):this.insert(this.createText(t,e),n,o)}insertElement(t,e,n,o){e instanceof td||e instanceof Ga||e instanceof Ya?this.insert(this.createElement(t),e,n):this.insert(this.createElement(t,e),n,o)}append(t,e){this.insert(t,e,"end")}appendText(t,e,n){e instanceof td||e instanceof Ga?this.insert(this.createText(t),e,"end"):this.insert(this.createText(t,e),n,"end")}appendElement(t,e,n){e instanceof td||e instanceof Ga?this.insert(this.createElement(t),e,"end"):this.insert(this.createElement(t,e),n,"end")}setAttribute(t,e,n){if(this._assertWriterUsedCorrectly(),n instanceof tc){const o=n.getMinimalFlatRanges();for(const n of o)nd(this,t,e,n)}else od(this,t,e,n)}setAttributes(t,e){for(const[n,o]of Po(t))this.setAttribute(n,o,e)}removeAttribute(t,e){if(this._assertWriterUsedCorrectly(),e instanceof tc){const n=e.getMinimalFlatRanges();for(const e of n)nd(this,t,null,e)}else od(this,t,null,e)}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys())this.removeAttribute(e,t)};if(t instanceof tc)for(const n of t.getItems())e(n);else e(t)}move(t,e,n){if(this._assertWriterUsedCorrectly(),!(t instanceof tc))throw new c("writer-move-invalid-range",this);if(!t.isFlat)throw new c("writer-move-range-not-flat",this);const o=Ya._createAt(e,n);if(o.isEqual(t.start))return;if(this._addOperationForAffectedMarkers("move",t),!sd(t.root,o.root))throw new c("writer-move-different-document",this);const i=t.root.document?t.root.document.version:null,r=new Ul(t.start,t.end.offset-t.start.offset,o,i);this.batch.addOperation(r),this.model.applyOperation(r)}remove(t){this._assertWriterUsedCorrectly();const e=(t instanceof tc?t:tc._createOn(t)).getMinimalFlatRanges().reverse();for(const t of e)this._addOperationForAffectedMarkers("move",t),rd(t.start,t.end.offset-t.start.offset,this.batch,this.model)}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore,n=t.nodeAfter;if(this._addOperationForAffectedMarkers("merge",t),!(e instanceof Ga))throw new c("writer-merge-no-element-before",this);if(!(n instanceof Ga))throw new c("writer-merge-no-element-after",this);t.root.document?this._merge(t):this._mergeDetached(t)}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(...t){return this.model.createSelection(...t)}_mergeDetached(t){const e=t.nodeBefore,n=t.nodeAfter;this.move(tc._createIn(n),Ya._createAt(e,"end")),this.remove(n)}_merge(t){const e=Ya._createAt(t.nodeBefore,"end"),n=Ya._createAt(t.nodeAfter,0),o=t.root.document.graveyard,i=new Ya(o,[0]),r=t.root.document.version,s=new Kl(n,t.nodeAfter.maxOffset,e,i,r);this.batch.addOperation(s),this.model.applyOperation(s)}rename(t,e){if(this._assertWriterUsedCorrectly(),!(t instanceof Ga))throw new c("writer-rename-not-element-instance",this);const n=t.root.document?t.root.document.version:null,o=new $l(Ya._createBefore(t),t.name,e,n);this.batch.addOperation(o),this.model.applyOperation(o)}split(t,e){this._assertWriterUsedCorrectly();let n,o,i=t.parent;if(!i.parent)throw new c("writer-split-element-no-parent",this);if(e||(e=i.parent),!t.parent.getAncestors({includeSelf:!0}).includes(e))throw new c("writer-split-invalid-limit-element",this);do{const e=i.root.document?i.root.document.version:null,r=i.maxOffset-t.offset,s=Ql.getInsertionPosition(t),a=new Ql(t,r,s,null,e);this.batch.addOperation(a),this.model.applyOperation(a),n||o||(n=i,o=t.parent.nextSibling),i=(t=this.createPositionAfter(t.parent)).parent}while(i!==e);return{position:t,range:new tc(Ya._createAt(n,"end"),Ya._createAt(o,0))}}wrap(t,e){if(this._assertWriterUsedCorrectly(),!t.isFlat)throw new c("writer-wrap-range-not-flat",this);const n=e instanceof Ga?e:new Ga(e);if(n.childCount>0)throw new c("writer-wrap-element-not-empty",this);if(null!==n.parent)throw new c("writer-wrap-element-attached",this);this.insert(n,t.start);const o=new tc(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(o,Ya._createAt(n,0))}unwrap(t){if(this._assertWriterUsedCorrectly(),null===t.parent)throw new c("writer-unwrap-element-no-parent",this);this.move(tc._createIn(t),this.createPositionAfter(t)),this.remove(t)}addMarker(t,e){if(this._assertWriterUsedCorrectly(),!e||"boolean"!=typeof e.usingOperation)throw new c("writer-addmarker-no-usingoperation",this);const n=e.usingOperation,o=e.range,i=void 0!==e.affectsData&&e.affectsData;if(this.model.markers.has(t))throw new c("writer-addmarker-marker-exists",this);if(!o)throw new c("writer-addmarker-no-range",this);return n?(id(this,t,null,o,i),this.model.markers.get(t)):this.model.markers._set(t,o,n,i)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n="string"==typeof t?t:t.name,o=this.model.markers.get(n);if(!o)throw new c("writer-updatemarker-marker-not-exists",this);if(!e)return l("writer-updatemarker-reconvert-using-editingcontroller",{markerName:n}),void this.model.markers._refresh(o);const i="boolean"==typeof e.usingOperation,r="boolean"==typeof e.affectsData,s=r?e.affectsData:o.affectsData;if(!i&&!e.range&&!r)throw new c("writer-updatemarker-wrong-options",this);const a=o.getRange(),d=e.range?e.range:a;i&&e.usingOperation!==o.managedUsingOperations?e.usingOperation?id(this,n,null,d,s):(id(this,n,a,null,s),this.model.markers._set(n,d,void 0,s)):o.managedUsingOperations?id(this,n,a,d,s):this.model.markers._set(n,d,void 0,s)}removeMarker(t){this._assertWriterUsedCorrectly();const e="string"==typeof t?t:t.name;if(!this.model.markers.has(e))throw new c("writer-removemarker-no-marker",this);const n=this.model.markers.get(e);if(!n.managedUsingOperations)return void this.model.markers._remove(e);id(this,e,n.getRange(),null,n.affectsData)}setSelection(...t){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(...t)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){if(this._assertWriterUsedCorrectly(),"string"==typeof t)this._setSelectionAttribute(t,e);else for(const[e,n]of Po(t))this._setSelectionAttribute(e,n)}removeSelectionAttribute(t){if(this._assertWriterUsedCorrectly(),"string"==typeof t)this._removeSelectionAttribute(t);else for(const e of t)this._removeSelectionAttribute(e)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const o=fc._getStoreAttributeKey(t);this.setAttribute(o,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=fc._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new c("writer-incorrect-use",this)}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations)continue;const o=n.getRange();let i=!1;if("move"===t){const t=e;i=t.containsPosition(o.start)||t.start.isEqual(o.start)||t.containsPosition(o.end)||t.end.isEqual(o.end)}else{const t=e,n=t.nodeBefore,r=t.nodeAfter,s=o.start.parent==n&&o.start.isAtEnd,a=o.end.parent==r&&0==o.end.offset,c=o.end.nodeAfter==r,l=o.start.nodeAfter==r;i=s||a||c||l}i&&this.updateMarker(n.name,{range:o})}}}function nd(t,e,n,o){const i=t.model,r=i.document;let s,a,c,l=o.start;for(const t of o.getWalker({shallow:!0}))c=t.item.getAttribute(e),s&&a!=c&&(a!=n&&d(),l=s),s=t.nextPosition,a=c;function d(){const o=new tc(l,s),c=o.root.document?r.version:null,d=new Hl(o,e,a,n,c);t.batch.addOperation(d),i.applyOperation(d)}s instanceof Ya&&s!=l&&a!=n&&d()}function od(t,e,n,o){const i=t.model,r=i.document,s=o.getAttribute(e);let a,c;if(s!=n){if(o.root===o){const t=o.document?r.version:null;c=new Yl(o,e,s,n,t)}else{a=new tc(Ya._createBefore(o),t.createPositionAfter(o));const i=a.root.document?r.version:null;c=new Hl(a,e,s,n,i)}t.batch.addOperation(c),i.applyOperation(c)}}function id(t,e,n,o,i){const r=t.model,s=r.document,a=new Gl(e,n,o,r.markers,!!i,s.version);t.batch.addOperation(a),r.applyOperation(a)}function rd(t,e,n,o){let i;if(t.root.document){const n=o.document,r=new Ya(n.graveyard,[0]);i=new Ul(t,e,r,n.version)}else i=new Xl(t,e);n.addOperation(i),o.applyOperation(i)}function sd(t,e){return t===e||t instanceof vl&&e instanceof vl}function ad(t){t.document.registerPostFixer((e=>function(t,e){const n=e.document.selection,o=e.schema,i=[];let r=!1;for(const t of n.getRanges()){const e=cd(t,o);e&&!e.isEqual(t)?(i.push(e),r=!0):i.push(t)}r&&t.setSelection(function(t){const e=[...t],n=new Set;let o=1;for(;o!n.has(e)))}(i),{backward:n.isBackward});return!1}(e,t)))}function cd(t,e){return t.isCollapsed?function(t,e){const n=t.start,o=e.getNearestSelectionRange(n);if(!o){const t=n.getAncestors().reverse().find((t=>e.isObject(t)));return t?tc._createOn(t):null}if(!o.isCollapsed)return o;const i=o.start;if(n.isEqual(i))return null;return new tc(i)}(t,e):function(t,e){const{start:n,end:o}=t,i=e.checkChild(n,"$text"),r=e.checkChild(o,"$text"),s=e.getLimitElement(n),a=e.getLimitElement(o);if(s===a){if(i&&r)return null;if(function(t,e,n){const o=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,"$text"),i=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,"$text");return o||i}(n,o,e)){const t=n.nodeAfter&&e.isSelectable(n.nodeAfter)?null:e.getNearestSelectionRange(n,"forward"),i=o.nodeBefore&&e.isSelectable(o.nodeBefore)?null:e.getNearestSelectionRange(o,"backward"),r=t?t.start:n,s=i?i.end:o;return new tc(r,s)}}const c=s&&!s.is("rootElement"),l=a&&!a.is("rootElement");if(c||l){const t=n.nodeAfter&&o.nodeBefore&&n.nodeAfter.parent===o.nodeBefore.parent,i=c&&(!t||!dd(n.nodeAfter,e)),r=l&&(!t||!dd(o.nodeBefore,e));let d=n,h=o;return i&&(d=Ya._createBefore(ld(s,e))),r&&(h=Ya._createAfter(ld(a,e))),new tc(d,h)}return null}(t,e)}function ld(t,e){let n=t,o=n;for(;e.isLimit(o)&&o.parent;)n=o,o=o.parent;return n}function dd(t,e){return t&&e.isSelectable(t)}class hd extends(b(Ya)){constructor(t,e,n="toNone"){if(super(t,e,n),!this.root.is("rootElement"))throw new c("model-liveposition-root-not-rootelement",t);ud.call(this)}detach(){this.stopListening()}toPosition(){return new Ya(this.root,this.path.slice(),this.stickiness)}static fromPosition(t,e){return new this(t.root,t.path.slice(),e||t.stickiness)}}function ud(){this.listenTo(this.root.document.model,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&gd.call(this,n)}),{priority:"low"})}function gd(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path,this.root=e.root,this.fire("change",t)}}function md(t,e,n={}){if(e.isCollapsed)return;const o=e.getFirstRange();if("$graveyard"==o.root.rootName)return;const i=t.schema;t.change((t=>{if(!n.doNotResetEntireContent&&function(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n))return!1;const o=e.getFirstRange();if(o.start.parent==o.end.parent)return!1;return t.checkChild(n,"paragraph")}(i,e))return void function(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n)),bd(t,t.createPositionAt(n,0),e)}(t,e);const r={};if(!n.doNotAutoparagraph){const t=e.getSelectedElement();t&&Object.assign(r,i.getAttributesWithProperty(t,"copyOnReplace",!0))}const[s,a]=function(t){const e=t.root.document.model,n=t.start;let o=t.end;if(e.hasContent(t,{ignoreMarkers:!0})){const n=function(t){const e=t.parent,n=e.root.document.model.schema,o=e.getAncestors({parentFirst:!0,includeSelf:!0});for(const t of o){if(n.isLimit(t))return null;if(n.isBlock(t))return t}}(o);if(n&&o.isTouching(e.createPositionAt(n,0))){const n=e.createSelection(t);e.modifySelection(n,{direction:"backward"});const i=n.getLastPosition(),r=e.createRange(i,o);e.hasContent(r,{ignoreMarkers:!0})||(o=i)}}return[hd.fromPosition(n,"toPrevious"),hd.fromPosition(o,"toNext")]}(o);s.isTouching(a)||t.remove(t.createRange(s,a)),n.leaveUnmerged||(!function(t,e,n){const o=t.model;if(!kd(t.model.schema,e,n))return;const[i,r]=function(t,e){const n=t.getAncestors(),o=e.getAncestors();let i=0;for(;n[i]&&n[i]==o[i];)i++;return[n[i],o[i]]}(e,n);if(!i||!r)return;!o.hasContent(i,{ignoreMarkers:!0})&&o.hasContent(r,{ignoreMarkers:!0})?fd(t,e,n,i.parent):pd(t,e,n,i.parent)}(t,s,a),i.removeDisallowedAttributes(s.parent.getChildren(),t)),wd(t,e,s),!n.doNotAutoparagraph&&function(t,e){const n=t.checkChild(e,"$text"),o=t.checkChild(e,"paragraph");return!n&&o}(i,s)&&bd(t,s,e,r),s.detach(),a.detach()}))}function pd(t,e,n,o){const i=e.parent,r=n.parent;if(i!=o&&r!=o){for(e=t.createPositionAfter(i),(n=t.createPositionBefore(r)).isEqual(e)||t.insert(r,e),t.merge(e);n.parent.isEmpty;){const e=n.parent;n=t.createPositionBefore(e),t.remove(e)}kd(t.model.schema,e,n)&&pd(t,e,n,o)}}function fd(t,e,n,o){const i=e.parent,r=n.parent;if(i!=o&&r!=o){for(e=t.createPositionAfter(i),(n=t.createPositionBefore(r)).isEqual(e)||t.insert(i,n);e.parent.isEmpty;){const n=e.parent;e=t.createPositionBefore(n),t.remove(n)}n=t.createPositionBefore(r),function(t,e){const n=e.nodeBefore,o=e.nodeAfter;n.name!=o.name&&t.rename(n,o.name);t.clearAttributes(n),t.setAttributes(Object.fromEntries(o.getAttributes()),n),t.merge(e)}(t,n),kd(t.model.schema,e,n)&&fd(t,e,n,o)}}function kd(t,e,n){const o=e.parent,i=n.parent;return o!=i&&(!t.isLimit(o)&&!t.isLimit(i)&&function(t,e,n){const o=new tc(t,e);for(const t of o.getWalker())if(n.isLimit(t.item))return!1;return!0}(e,n,t))}function bd(t,e,n,o={}){const i=t.createElement("paragraph");t.model.schema.setAllowedAttributes(i,o,t),t.insert(i,e),wd(t,n,t.createPositionAt(i,0))}function wd(t,e,n){e instanceof fc?t.setSelection(n):e.setTo(n)}function _d(t,e){const n=[];Array.from(t.getItems({direction:"backward"})).map((t=>e.createRangeOn(t))).filter((e=>(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end)))).forEach((t=>{n.push(t.start.parent),e.remove(t)})),n.forEach((t=>{let n=t;for(;n.parent&&n.isEmpty;){const t=e.createRangeOn(n);n=n.parent,e.remove(t)}}))}hd.prototype.is=function(t){return"livePosition"===t||"model:livePosition"===t||"position"==t||"model:position"===t};var Ad=n(4717),Cd={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Ad.Z,Cd);Ad.Z.locals;const vd=new WeakMap;function yd(t){const{view:e,element:n,text:o,isDirectHost:i=!0,keepOnFocus:r=!1}=t,s=e.document;vd.has(s)||(vd.set(s,new Map),s.registerPostFixer((t=>Ed(s,t)))),vd.get(s).set(n,{text:o,isDirectHost:i,keepOnFocus:r,hostElement:i?n:null}),e.change((t=>Ed(s,t)))}function xd(t,e){return!!e.hasClass("ck-placeholder")&&(t.removeClass("ck-placeholder",e),!0)}function Ed(t,e){const n=vd.get(t),o=[];let i=!1;for(const[t,r]of n)r.isDirectHost&&(o.push(t),Dd(e,t,r)&&(i=!0));for(const[t,r]of n){if(r.isDirectHost)continue;const n=Id(t);n&&(o.includes(n)||(r.hostElement=n,Dd(e,t,r)&&(i=!0)))}return i}function Dd(t,e,n){const{text:o,isDirectHost:i,hostElement:r}=n;let s=!1;r.getAttribute("data-placeholder")!==o&&(t.setAttribute("data-placeholder",o,r),s=!0);return(i||1==e.childCount)&&function(t,e){if(!t.isAttached())return!1;const n=Array.from(t.getChildren()).some((t=>!t.is("uiElement")));if(n)return!1;if(e)return!0;const o=t.document;if(!o.isFocused)return!0;const i=o.selection.anchor;return!!i&&i.parent!==t}(r,n.keepOnFocus)?function(t,e){return!e.hasClass("ck-placeholder")&&(t.addClass("ck-placeholder",e),!0)}(t,r)&&(s=!0):xd(t,r)&&(s=!0),s}function Id(t){if(t.childCount){const e=t.getChild(0);if(e.is("element")&&!e.is("uiElement")&&!e.is("attributeElement"))return e}return null}const Md=new Map;function Td(t,e,n){let o=Md.get(t);o||(o=new Map,Md.set(t,o)),o.set(e,n)}function Sd(t){return[t]}function Nd(t,e,n={}){const o=function(t,e){const n=Md.get(t);return n&&n.has(e)?n.get(e):Sd}(t.constructor,e.constructor);try{return o(t=t.clone(),e,n)}catch(t){throw t}}function Bd(t,e,n){t=t.slice(),e=e.slice();const o=new Pd(n.document,n.useRelations,n.forceWeakRemove);o.setOriginalOperations(t),o.setOriginalOperations(e);const i=o.originalOperations;if(0==t.length||0==e.length)return{operationsA:t,operationsB:e,originalOperations:i};const r=new WeakMap;for(const e of t)r.set(e,0);const s={nextBaseVersionA:t[t.length-1].baseVersion+1,nextBaseVersionB:e[e.length-1].baseVersion+1,originalOperationsACount:t.length,originalOperationsBCount:e.length};let a=0;for(;a{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const o=t.range.getDifference(e.range).map((e=>new Hl(e,t.key,t.oldValue,t.newValue,0))),i=t.range.getIntersection(e.range);return i&&n.aIsStrong&&o.push(new Hl(i,e.key,e.newValue,t.newValue,0)),0==o.length?[new ql(0)]:o}return[t]})),Td(Hl,Wl,((t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes).map((e=>new Hl(e,t.key,t.oldValue,t.newValue,t.baseVersion)));if(e.shouldReceiveAttributes){const o=Od(e,t.key,t.oldValue);o&&n.unshift(o)}return n}return t.range=t.range._getTransformedByInsertion(e.position,e.howMany,!1)[0],[t]})),Td(Hl,Kl,((t,e)=>{const n=[];t.range.start.hasSameParentAs(e.deletionPosition)&&(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition))&&n.push(tc._createFromPositionAndShift(e.graveyardPosition,1));const o=t.range._getTransformedByMergeOperation(e);return o.isCollapsed||n.push(o),n.map((e=>new Hl(e,t.key,t.oldValue,t.newValue,t.baseVersion)))})),Td(Hl,Ul,((t,e)=>{const n=function(t,e){const n=tc._createFromPositionAndShift(e.sourcePosition,e.howMany);let o=null,i=[];n.containsRange(t,!0)?o=t:t.start.hasSameParentAs(n.start)?(i=t.getDifference(n),o=t.getIntersection(n)):i=[t];const r=[];for(let t of i){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart(),o=t.start.hasSameParentAs(n),i=t._getTransformedByInsertion(n,e.howMany,o);r.push(...i)}o&&r.push(o._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,!1)[0]);return r}(t.range,e);return n.map((e=>new Hl(e,t.key,t.oldValue,t.newValue,t.baseVersion)))})),Td(Hl,Ql,((t,e)=>{if(t.range.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.range.end.offset++,[t];if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();return n.range=new tc(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition)),t.range.end=e.splitPosition.clone(),t.range.end.stickiness="toPrevious",[t,n]}return t.range=t.range._getTransformedBySplitOperation(e),[t]})),Td(Wl,Hl,((t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const o=Od(t,e.key,e.newValue);o&&n.push(o)}return n})),Td(Wl,Wl,((t,e,n)=>(t.position.isEqual(e.position)&&n.aIsStrong||(t.position=t.position._getTransformedByInsertOperation(e)),[t]))),Td(Wl,Ul,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),Td(Wl,Ql,((t,e)=>(t.position=t.position._getTransformedBySplitOperation(e),[t]))),Td(Wl,Kl,((t,e)=>(t.position=t.position._getTransformedByMergeOperation(e),[t]))),Td(Gl,Wl,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]),t.newRange&&(t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]),[t]))),Td(Gl,Gl,((t,e,n)=>{if(t.name==e.name){if(!n.aIsStrong)return[new ql(0)];t.oldRange=e.newRange?e.newRange.clone():null}return[t]})),Td(Gl,Kl,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByMergeOperation(e)),t.newRange&&(t.newRange=t.newRange._getTransformedByMergeOperation(e)),[t]))),Td(Gl,Ul,((t,e,n)=>{if(t.oldRange&&(t.oldRange=tc._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))),t.newRange){if(n.abRelation){const o=tc._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if("left"==n.abRelation.side&&e.targetPosition.isEqual(t.newRange.start))return t.newRange.end=o.end,t.newRange.start.path=n.abRelation.path,[t];if("right"==n.abRelation.side&&e.targetPosition.isEqual(t.newRange.end))return t.newRange.start=o.start,t.newRange.end.path=n.abRelation.path,[t]}t.newRange=tc._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]})),Td(Gl,Ql,((t,e,n)=>{if(t.oldRange&&(t.oldRange=t.oldRange._getTransformedBySplitOperation(e)),t.newRange){if(n.abRelation){const o=t.newRange._getTransformedBySplitOperation(e);return t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement?t.newRange.start=Ya._createAt(e.insertionPosition):t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement&&(t.newRange.start=Ya._createAt(e.moveTargetPosition)),t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement?t.newRange.end=Ya._createAt(e.moveTargetPosition):t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement?t.newRange.end=Ya._createAt(e.insertionPosition):t.newRange.end=o.end,[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]})),Td(Kl,Wl,((t,e)=>(t.sourcePosition.hasSameParentAs(e.position)&&(t.howMany+=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e),t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e),[t]))),Td(Kl,Kl,((t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(n.bWasUndone){const n=e.graveyardPosition.path.slice();return n.push(0),t.sourcePosition=new Ya(e.graveyardPosition.root,n),t.howMany=0,[t]}return[new ql(0)]}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&"splitAtSource"!=n.abRelation){const o="$graveyard"==t.targetPosition.root.rootName,i="$graveyard"==e.targetPosition.root.rootName,r=o&&!i;if(i&&!o||!r&&n.aIsStrong){const n=e.targetPosition._getTransformedByMergeOperation(e),o=t.targetPosition._getTransformedByMergeOperation(e);return[new Ul(n,t.howMany,o,0)]}return[new ql(0)]}return t.sourcePosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e),t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),t.graveyardPosition.isEqual(e.graveyardPosition)&&n.aIsStrong||(t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)),[t]})),Td(Kl,Ul,((t,e,n)=>{const o=tc._createFromPositionAndShift(e.sourcePosition,e.howMany);return"remove"==e.type&&!n.bWasUndone&&!n.forceWeakRemove&&t.deletionPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.sourcePosition)?[new ql(0)]:(t.sourcePosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.sourcePosition.hasSameParentAs(e.sourcePosition)&&(t.howMany-=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e),t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e),t.graveyardPosition.isEqual(e.targetPosition)||(t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)),[t])})),Td(Kl,Ql,((t,e,n)=>{if(e.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1),t.deletionPosition.isEqual(e.graveyardPosition)&&(t.howMany=e.howMany)),t.targetPosition.isEqual(e.splitPosition)){const o=0!=e.howMany,i=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(o||i||"mergeTargetNotMoved"==n.abRelation)return t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),[t]}if(t.sourcePosition.isEqual(e.splitPosition)){if("mergeSourceNotMoved"==n.abRelation)return t.howMany=0,t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t];if("mergeSameElement"==n.abRelation||t.sourcePosition.offset>0)return t.sourcePosition=e.moveTargetPosition.clone(),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]}return t.sourcePosition.hasSameParentAs(e.splitPosition)&&(t.howMany=e.splitPosition.offset),t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]})),Td(Ul,Wl,((t,e)=>{const n=tc._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByInsertOperation(e,!1)[0];return t.sourcePosition=n.start,t.howMany=n.end.offset-n.start.offset,t.targetPosition.isEqual(e.position)||(t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)),[t]})),Td(Ul,Ul,((t,e,n)=>{const o=tc._createFromPositionAndShift(t.sourcePosition,t.howMany),i=tc._createFromPositionAndShift(e.sourcePosition,e.howMany);let r,s=n.aIsStrong,a=!n.aIsStrong;if("insertBefore"==n.abRelation||"insertAfter"==n.baRelation?a=!0:"insertAfter"!=n.abRelation&&"insertBefore"!=n.baRelation||(a=!1),r=t.targetPosition.isEqual(e.targetPosition)&&a?t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany):t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),Rd(t,e)&&Rd(e,t))return[e.getReversed()];if(o.containsPosition(e.targetPosition)&&o.containsRange(i,!0))return o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),jd([o],r);if(i.containsPosition(t.targetPosition)&&i.containsRange(o,!0))return o.start=o.start._getCombined(e.sourcePosition,e.getMovedRangeStart()),o.end=o.end._getCombined(e.sourcePosition,e.getMovedRangeStart()),jd([o],r);const c=Mo(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if("prefix"==c||"extension"==c)return o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),jd([o],r);"remove"!=t.type||"remove"==e.type||n.aWasUndone||n.forceWeakRemove?"remove"==t.type||"remove"!=e.type||n.bWasUndone||n.forceWeakRemove||(s=!1):s=!0;const l=[],d=o.getDifference(i);for(const t of d){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany),t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n="same"==Mo(t.start.getParentPath(),e.getMovedRangeStart().getParentPath()),o=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);l.push(...o)}const h=o.getIntersection(i);return null!==h&&s&&(h.start=h.start._getCombined(e.sourcePosition,e.getMovedRangeStart()),h.end=h.end._getCombined(e.sourcePosition,e.getMovedRangeStart()),0===l.length?l.push(h):1==l.length?i.start.isBefore(o.start)||i.start.isEqual(o.start)?l.unshift(h):l.push(h):l.splice(1,0,h)),0===l.length?[new ql(t.baseVersion)]:jd(l,r)})),Td(Ul,Ql,((t,e,n)=>{let o=t.targetPosition.clone();t.targetPosition.isEqual(e.insertionPosition)&&e.graveyardPosition&&"moveTargetAfter"!=n.abRelation||(o=t.targetPosition._getTransformedBySplitOperation(e));const i=tc._createFromPositionAndShift(t.sourcePosition,t.howMany);if(i.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.howMany++,t.targetPosition=o,[t];if(i.start.hasSameParentAs(e.splitPosition)&&i.containsPosition(e.splitPosition)){let t=new tc(e.splitPosition,i.end);t=t._getTransformedBySplitOperation(e);return jd([new tc(i.start,e.splitPosition),t],o)}t.targetPosition.isEqual(e.splitPosition)&&"insertAtSource"==n.abRelation&&(o=e.moveTargetPosition),t.targetPosition.isEqual(e.insertionPosition)&&"insertBetween"==n.abRelation&&(o=t.targetPosition);const r=[i._getTransformedBySplitOperation(e)];if(e.graveyardPosition){const o=i.start.isEqual(e.graveyardPosition)||i.containsPosition(e.graveyardPosition);t.howMany>1&&o&&!n.aWasUndone&&r.push(tc._createFromPositionAndShift(e.insertionPosition,1))}return jd(r,o)})),Td(Ul,Kl,((t,e,n)=>{const o=tc._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.sourcePosition))if("remove"!=t.type||n.forceWeakRemove){if(1==t.howMany)return n.bWasUndone?(t.sourcePosition=e.graveyardPosition.clone(),t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]):[new ql(0)]}else if(!n.aWasUndone){const n=[];let o=e.graveyardPosition.clone(),i=e.targetPosition._getTransformedByMergeOperation(e);t.howMany>1&&(n.push(new Ul(t.sourcePosition,t.howMany-1,t.targetPosition,0)),o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1),i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1));const r=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition),s=new Ul(o,1,r,0),a=s.getMovedRangeStart().path.slice();a.push(0);const c=new Ya(s.targetPosition.root,a);i=i._getTransformedByMove(o,r,1);const l=new Ul(i,e.howMany,c,0);return n.push(s),n.push(l),n}const i=tc._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByMergeOperation(e);return t.sourcePosition=i.start,t.howMany=i.end.offset-i.start.offset,t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]})),Td($l,Wl,((t,e)=>(t.position=t.position._getTransformedByInsertOperation(e),[t]))),Td($l,Kl,((t,e)=>t.position.isEqual(e.deletionPosition)?(t.position=e.graveyardPosition.clone(),t.position.stickiness="toNext",[t]):(t.position=t.position._getTransformedByMergeOperation(e),[t]))),Td($l,Ul,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),Td($l,$l,((t,e,n)=>{if(t.position.isEqual(e.position)){if(!n.aIsStrong)return[new ql(0)];t.oldName=e.newName}return[t]})),Td($l,Ql,((t,e)=>{if("same"==Mo(t.position.path,e.splitPosition.getParentPath())&&!e.graveyardPosition){const e=new $l(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}return t.position=t.position._getTransformedBySplitOperation(e),[t]})),Td(Yl,Yl,((t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue)return[new ql(0)];t.oldValue=e.newValue}return[t]})),Td(Ql,Wl,((t,e)=>(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const o=new Ya(e.graveyardPosition.root,n),i=Ql.getInsertionPosition(new Ya(e.graveyardPosition.root,n)),r=new Ql(o,0,i,null,0);return t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e),t.insertionPosition=Ql.getInsertionPosition(t.splitPosition),t.graveyardPosition=r.insertionPosition.clone(),t.graveyardPosition.stickiness="toNext",[r,t]}return t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)&&t.howMany--,t.splitPosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e),t.insertionPosition=Ql.getInsertionPosition(t.splitPosition),t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)),[t]})),Td(Ql,Ul,((t,e,n)=>{const o=tc._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const i=o.start.isEqual(t.graveyardPosition)||o.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&i){const n=t.splitPosition._getTransformedByMoveOperation(e),o=t.graveyardPosition._getTransformedByMoveOperation(e),i=o.path.slice();i.push(0);const r=new Ya(o.root,i);return[new Ul(n,t.howMany,r,0)]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}const i=t.splitPosition.isEqual(e.targetPosition);if(i&&("insertAtSource"==n.baRelation||"splitBefore"==n.abRelation))return t.howMany+=e.howMany,t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany),t.insertionPosition=Ql.getInsertionPosition(t.splitPosition),[t];if(i&&n.abRelation&&n.abRelation.howMany){const{howMany:e,offset:o}=n.abRelation;return t.howMany+=e,t.splitPosition=t.splitPosition.getShiftedBy(o),[t]}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);return t.howMany-=n,t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition)return[new ql(0)];if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition))return[new ql(0)];if("splitBefore"==n.abRelation)return t.howMany=0,t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e),[t]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const o="$graveyard"==t.splitPosition.root.rootName,i="$graveyard"==e.splitPosition.root.rootName,r=o&&!i;if(i&&!o||!r&&n.aIsStrong){const n=[];return e.howMany&&n.push(new Ul(e.moveTargetPosition,e.howMany,e.splitPosition,0)),t.howMany&&n.push(new Ul(t.splitPosition,t.howMany,t.moveTargetPosition,0)),n}return[new ql(0)]}if(t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)),t.splitPosition.isEqual(e.insertionPosition)&&"splitBefore"==n.abRelation)return t.howMany++,[t];if(e.splitPosition.isEqual(t.insertionPosition)&&"splitBefore"==n.baRelation){const n=e.insertionPosition.path.slice();n.push(0);const o=new Ya(e.insertionPosition.root,n);return[t,new Ul(t.insertionPosition,1,o,0)]}return t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset{s.isCollapsed||t.deleteContent(s,{doNotAutoparagraph:!0});let o=e;const r=s.anchor.parent;!t.schema.checkChild(r,e)&&t.schema.checkChild(r,"paragraph")&&t.schema.checkChild("paragraph",e)&&(o=n.createElement("paragraph"),n.insert(e,o)),t.schema.setAllowedAttributes(o,l,n);const a=t.insertContent(o,s);return a.isCollapsed||i.setSelection&&function(t,e,n,o){const i=t.model;if("after"==n){let n=e.nextSibling;!(n&&i.schema.checkChild(n,"$text"))&&i.schema.checkChild(e.parent,"paragraph")&&(n=t.createElement("paragraph"),i.schema.setAllowedAttributes(n,o,t),i.insertContent(n,t.createPositionAfter(e))),n&&t.setSelection(n,0)}else{if("on"!=n)throw new c("insertobject-invalid-place-parameter-value",i);t.setSelection(e,"on")}}(n,e,i.setSelection,l),a}))}const qd=' ,.?!:;"-()';function $d(t,e){const{isForward:n,walker:o,unit:i,schema:r,treatEmojiAsSingleUnit:s}=t,{type:a,item:c,nextPosition:l}=e;if("text"==a)return"word"===t.unit?function(t,e){let n=t.position.textNode;if(n){let o=t.position.offset-n.startOffset;for(;!Kd(n.data,o,e)&&!Qd(n,o,e);){t.next();const i=e?t.position.nodeAfter:t.position.nodeBefore;if(i&&i.is("$text")){const o=i.data.charAt(e?0:i.data.length-1);qd.includes(o)||(t.next(),n=t.position.textNode)}o=t.position.offset-n.startOffset}}return t.position}(o,n):function(t,e,n){const o=t.position.textNode;if(o){const i=o.data;let r=t.position.offset-o.startOffset;for(;yl(i,r)||"character"==e&&xl(i,r)||n&&Dl(i,r);)t.next(),r=t.position.offset-o.startOffset}return t.position}(o,i,s);if(a==(n?"elementStart":"elementEnd")){if(r.isSelectable(c))return Ya._createAt(c,n?"after":"before");if(r.checkChild(l,"$text"))return l}else{if(r.isLimit(c))return void o.skip((()=>!0));if(r.checkChild(l,"$text"))return l}}function Yd(t,e){const n=t.root,o=Ya._createAt(n,e?"end":0);return e?new tc(t,o):new tc(o,t)}function Kd(t,e,n){const o=e+(n?0:-1);return qd.includes(t.charAt(o))}function Qd(t,e,n){return e===(n?t.endOffset:0)}class Zd extends P{constructor(){super(),this.markers=new Sl,this.document=new Ml(this),this.schema=new Kc,this._pendingChanges=[],this._currentWriter=null,["insertContent","insertObject","deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((t=>this.decorate(t))),this.on("applyOperation",((t,e)=>{e[0]._validate()}),{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$container",{allowIn:["$root","$container"]}),this.schema.register("$block",{allowIn:["$root","$container"],isBlock:!0}),this.schema.register("$blockObject",{allowWhere:"$block",isBlock:!0,isObject:!0}),this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:!0,isObject:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck(((t,e)=>{if("$marker"===e.name)return!0})),ad(this),this.document.registerPostFixer(Pc)}change(t){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new kl,callback:t}),this._runPendingChanges()[0]):t(this._currentWriter)}catch(t){c.rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{t?"function"==typeof t?(e=t,t=new kl):t instanceof kl||(t=new kl(t)):t=new kl,this._pendingChanges.push({batch:t,callback:e}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(t){c.rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n){return function(t,e,n,o){return t.change((i=>{let r;r=n?n instanceof ac||n instanceof fc?n:i.createSelection(n,o):t.document.selection,r.isCollapsed||t.deleteContent(r,{doNotAutoparagraph:!0});const s=new Ud(t,i,r.anchor),a=[];let c;if(e.is("documentFragment")){if(e.markers.size){const t=[];for(const[n,o]of e.markers){const{start:e,end:i}=o,r=e.isEqual(i);t.push({position:e,name:n,isCollapsed:r},{position:i,name:n,isCollapsed:r})}t.sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:n,name:o,isCollapsed:r}of t){let t=null,s=null;const c=n.parent===e&&n.isAtStart,l=n.parent===e&&n.isAtEnd;c||l?r&&(s=c?"start":"end"):(t=i.createElement("$marker"),i.insert(t,n)),a.push({name:o,element:t,collapsed:s})}}c=e.getChildren()}else c=[e];s.handleNodes(c);let l=s.getSelectionRange();if(e.is("documentFragment")&&a.length){const t=l?uc.fromRange(l):null,e={};for(let t=a.length-1;t>=0;t--){const{name:n,element:o,collapsed:r}=a[t],c=!e[n];if(c&&(e[n]=[]),o){const t=i.createPositionAt(o,"before");e[n].push(t),i.remove(o)}else{const t=s.getAffectedRange();if(!t){r&&e[n].push(s.position);continue}r?e[n].push(t[r]):e[n].push(c?t.start:t.end)}}for(const[t,[n,o]]of Object.entries(e))n&&o&&n.root===o.root&&i.addMarker(t,{usingOperation:!0,affectsData:!0,range:new tc(n,o)});t&&(l=t.toRange(),t.detach())}l&&(r instanceof fc?i.setSelection(l):r.setTo(l));const d=s.getAffectedRange()||t.createRange(r.anchor);return s.destroy(),d}))}(this,t,e,n)}insertObject(t,e,n,o){return Gd(this,t,e,n,o)}deleteContent(t,e){md(this,t,e)}modifySelection(t,e){!function(t,e,n={}){const o=t.schema,i="backward"!=n.direction,r=n.unit?n.unit:"character",s=!!n.treatEmojiAsSingleUnit,a=e.focus,c=new qa({boundaries:Yd(a,i),singleCharacters:!0,direction:i?"forward":"backward"}),l={walker:c,schema:o,isForward:i,unit:r,treatEmojiAsSingleUnit:s};let d;for(;d=c.next();){if(d.done)return;const n=$d(l,d.value);if(n)return void(e instanceof fc?t.change((t=>{t.setSelectionFocus(n)})):e.setFocus(n))}}(this,t,e)}getSelectedContent(t){return function(t,e){return t.change((t=>{const n=t.createDocumentFragment(),o=e.getFirstRange();if(!o||o.isCollapsed)return n;const i=o.start.root,r=o.start.getCommonPath(o.end),s=i.getNodeByPath(r);let a;a=o.start.parent==o.end.parent?o:t.createRange(t.createPositionAt(s,o.start.path[r.length]),t.createPositionAt(s,o.end.path[r.length]+1));const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:!0}))e.is("$textProxy")?t.appendText(e.data,e.getAttributes(),n):t.append(t.cloneElement(e,!0),n);if(a!=o){const e=o._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0],i=t.createRange(t.createPositionAt(n,0),e.start);_d(t.createRange(e.end,t.createPositionAt(n,"end")),t),_d(i,t)}return n}))}(this,t)}hasContent(t,e={}){const n=t instanceof tc?t:tc._createIn(t);if(n.isCollapsed)return!1;const{ignoreWhitespaces:o=!1,ignoreMarkers:i=!1}=e;if(!i)for(const t of this.markers.getMarkersIntersectingRange(n))if(t.affectsData)return!0;for(const t of n.getItems())if(this.schema.isContent(t)){if(!t.is("$textProxy"))return!0;if(!o)return!0;if(-1!==t.data.search(/\S/))return!0}return!1}createPositionFromPath(t,e,n){return new Ya(t,e,n)}createPositionAt(t,e){return Ya._createAt(t,e)}createPositionAfter(t){return Ya._createAfter(t)}createPositionBefore(t){return Ya._createBefore(t)}createRange(t,e){return new tc(t,e)}createRangeIn(t){return tc._createIn(t)}createRangeOn(t){return tc._createOn(t)}createSelection(...t){return new ac(...t)}createBatch(t){return new kl(t)}createOperationFromJSON(t){return Jl.fromJSON(t,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const t=[];this.fire("_beforeChanges");try{for(;this._pendingChanges.length;){const e=this._pendingChanges[0].batch;this._currentWriter=new ed(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}}finally{this._pendingChanges.length=0,this._currentWriter=null,this.fire("_afterChanges")}return t}}class Jd extends _a{constructor(t){super(),this.editor=t}set(t,e,n={}){if("string"==typeof e){const t=e;e=(e,n)=>{this.editor.execute(t),n()}}super.set(t,e,n)}}class Xd{constructor(t={}){const e=t.language||this.constructor.defaultConfig&&this.constructor.defaultConfig.language;this._context=t.context||new Eo({language:e}),this._context._addEditor(this,!t.context);const n=Array.from(this.constructor.builtinPlugins||[]);this.config=new go(t,this.constructor.defaultConfig),this.config.define("plugins",n),this.config.define(this._context._getEditorConfig()),this.plugins=new bo(this,n,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new Gc,this.set("state","initializing"),this.once("ready",(()=>this.state="ready"),{priority:"high"}),this.once("destroy",(()=>this.state="destroyed"),{priority:"high"}),this.model=new Zd;const o=new Si;this.data=new gl(this.model,o),this.editing=new Wc(this.model,o),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new ml([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher),this.conversion.addAlias("dataDowncast",this.data.downcastDispatcher),this.conversion.addAlias("editingDowncast",this.editing.downcastDispatcher),this.keystrokes=new Jd(this),this.keystrokes.listenTo(this.editing.view.document)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(t){throw new c("editor-isreadonly-has-no-setter")}enableReadOnlyMode(t){if("string"!=typeof t&&"symbol"!=typeof t)throw new c("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)||(this._readOnlyLocks.add(t),1===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(t){if("string"!=typeof t&&"symbol"!=typeof t)throw new c("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)&&(this._readOnlyLocks.delete(t),0===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}initPlugins(){const t=this.config,e=t.get("plugins"),n=t.get("removePlugins")||[],o=t.get("extraPlugins")||[],i=t.get("substitutePlugins")||[];return this.plugins.init(e.concat(o),n,i)}destroy(){let t=Promise.resolve();return"initializing"==this.state&&(t=new Promise((t=>this.once("ready",t)))),t.then((()=>{this.fire("destroy"),this.stopListening(),this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(...t){try{return this.commands.execute(...t)}catch(t){c.rethrowUnexpectedError(t,this)}}focus(){this.editing.view.focus()}}F(Xd,B);class th{constructor(t){this.editor=t,this._components=new Map}*names(){for(const t of this._components.values())yield t.originalName}add(t,e){this._components.set(eh(t),{callback:e,originalName:t})}create(t){if(!this.has(t))throw new c("componentfactory-item-missing",this,{name:t});return this._components.get(eh(t)).callback(this.editor.locale)}has(t){return this._components.has(eh(t))}}function eh(t){return String(t).toLowerCase()}class nh extends ko{constructor(t=[]){super(t,{idProperty:"viewUid"}),this.on("add",((t,e,n)=>{this._renderViewIntoCollectionParent(e,n)})),this.on("remove",((t,e)=>{e.element&&this._parentElement&&e.element.remove()})),this._parentElement=null}destroy(){this.map((t=>t.destroy()))}setParent(t){this._parentElement=t;for(const t of this)this._renderViewIntoCollectionParent(t)}delegate(...t){if(!t.length||!t.every((t=>"string"==typeof t)))throw new c("ui-viewcollection-delegate-wrong-events",this);return{to:e=>{for(const n of this)for(const o of t)n.delegate(o).to(e);this.on("add",((n,o)=>{for(const n of t)o.delegate(n).to(e)})),this.on("remove",((n,o)=>{for(const n of t)o.stopDelegating(n,e)}))}}}_renderViewIntoCollectionParent(t,e){t.isRendered||t.render(),t.element&&this._parentElement&&this._parentElement.insertBefore(t.element,this._parentElement.children[e])}}class oh{constructor(t){Object.assign(this,gh(uh(t))),this._isRendered=!1,this._revertData=null}render(){const t=this._renderNode({intoFragment:!0});return this._isRendered=!0,t}apply(t){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:t,isApplying:!0,revertData:this._revertData}),t}revert(t){if(!this._revertData)throw new c("ui-template-revert-not-applied",[this,t]);this._revertTemplateFromNode(t,this._revertData)}*getViews(){yield*function*t(e){if(e.children)for(const n of e.children)wh(n)?yield n:_h(n)&&(yield*t(n))}(this)}static bind(t,e){return{to:(n,o)=>new rh({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:o}),if:(n,o,i)=>new sh({observable:t,emitter:e,attribute:n,valueIfTrue:o,callback:i})}}static extend(t,e){if(t._isRendered)throw new c("template-extend-render",[this,t]);kh(t,gh(uh(e)))}_renderNode(t){let e;if(e=t.node?this.tag&&this.text:this.tag?this.text:!this.text,e)throw new c("ui-template-wrong-syntax",this);return this.text?this._renderText(t):this._renderElement(t)}_renderElement(t){let e=t.node;return e||(e=t.node=document.createElementNS(this.ns||"http://www.w3.org/1999/xhtml",this.tag)),this._renderAttributes(t),this._renderElementChildren(t),this._setUpListeners(t),e}_renderText(t){let e=t.node;return e?t.revertData.text=e.textContent:e=t.node=document.createTextNode(""),ah(this.text)?this._bindToObservable({schema:this.text,updater:lh(e),data:t}):e.textContent=this.text.join(""),e}_renderAttributes(t){let e,n,o,i;if(!this.attributes)return;const r=t.node,s=t.revertData;for(e in this.attributes)if(o=r.getAttribute(e),n=this.attributes[e],s&&(s.attributes[e]=o),i=D(n[0])&&n[0].ns?n[0].ns:null,ah(n)){const a=i?n[0].value:n;s&&Ch(e)&&a.unshift(o),this._bindToObservable({schema:a,updater:dh(r,e,i),data:t})}else"style"==e&&"string"!=typeof n[0]?this._renderStyleAttribute(n[0],t):(s&&o&&Ch(e)&&n.unshift(o),n=n.map((t=>t&&t.value||t)).reduce(((t,e)=>t.concat(e)),[]).reduce(ph,""),bh(n)||r.setAttributeNS(i,e,n))}_renderStyleAttribute(t,e){const n=e.node;for(const o in t){const i=t[o];ah(i)?this._bindToObservable({schema:[i],updater:hh(n,o),data:e}):n.style[o]=i}}_renderElementChildren(t){const e=t.node,n=t.intoFragment?document.createDocumentFragment():e,o=t.isApplying;let i=0;for(const r of this.children)if(Ah(r)){if(!o){r.setParent(e);for(const t of r)n.appendChild(t.element)}}else if(wh(r))o||(r.isRendered||r.render(),n.appendChild(r.element));else if(Jr(r))n.appendChild(r);else if(o){const e={children:[],bindings:[],attributes:{}};t.revertData.children.push(e),r._renderNode({node:n.childNodes[i++],isApplying:!0,revertData:e})}else n.appendChild(r.render());t.intoFragment&&e.appendChild(n)}_setUpListeners(t){if(this.eventListeners)for(const e in this.eventListeners){const n=this.eventListeners[e].map((n=>{const[o,i]=e.split("@");return n.activateDomEventListener(o,i,t)}));t.revertData&&t.revertData.bindings.push(n)}}_bindToObservable({schema:t,updater:e,data:n}){const o=n.revertData;ch(t,e,n);const i=t.filter((t=>!bh(t))).filter((t=>t.observable)).map((o=>o.activateAttributeListener(t,e,n)));o&&o.bindings.push(i)}_revertTemplateFromNode(t,e){for(const t of e.bindings)for(const e of t)e();if(e.text)t.textContent=e.text;else{for(const n in e.attributes){const o=e.attributes[n];null===o?t.removeAttribute(n):t.setAttribute(n,o)}for(let n=0;nch(t,e,n);return this.emitter.listenTo(this.observable,"change:"+this.attribute,o),()=>{this.emitter.stopListening(this.observable,"change:"+this.attribute,o)}}}class rh extends ih{activateDomEventListener(t,e,n){const o=(t,n)=>{e&&!n.target.matches(e)||("function"==typeof this.eventNameOrFunction?this.eventNameOrFunction(n):this.observable.fire(this.eventNameOrFunction,n))};return this.emitter.listenTo(n.node,t,o),()=>{this.emitter.stopListening(n.node,t,o)}}}class sh extends ih{getValue(t){return!bh(super.getValue(t))&&(this.valueIfTrue||!0)}}function ah(t){return!!t&&(t.value&&(t=t.value),Array.isArray(t)?t.some(ah):t instanceof ih)}function ch(t,e,{node:n}){let o=function(t,e){return t.map((t=>t instanceof ih?t.getValue(e):t))}(t,n);o=1==t.length&&t[0]instanceof sh?o[0]:o.reduce(ph,""),bh(o)?e.remove():e.set(o)}function lh(t){return{set(e){t.textContent=e},remove(){t.textContent=""}}}function dh(t,e,n){return{set(o){t.setAttributeNS(n,e,o)},remove(){t.removeAttributeNS(n,e)}}}function hh(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function uh(t){return ho(t,(t=>{if(t&&(t instanceof ih||_h(t)||wh(t)||Ah(t)))return t}))}function gh(t){if("string"==typeof t?t=function(t){return{text:[t]}}(t):t.text&&function(t){t.text=wo(t.text)}(t),t.on&&(t.eventListeners=function(t){for(const e in t)mh(t,e);return t}(t.on),delete t.on),!t.text){t.attributes&&function(t){for(const e in t)t[e].value&&(t[e].value=wo(t[e].value)),mh(t,e)}(t.attributes);const e=[];if(t.children)if(Ah(t.children))e.push(t.children);else for(const n of t.children)_h(n)||wh(n)||Jr(n)?e.push(n):e.push(new oh(n));t.children=e}return t}function mh(t,e){t[e]=wo(t[e])}function ph(t,e){return bh(e)?t:bh(t)?e:`${t} ${e}`}function fh(t,e){for(const n in e)t[n]?t[n].push(...e[n]):t[n]=e[n]}function kh(t,e){if(e.attributes&&(t.attributes||(t.attributes={}),fh(t.attributes,e.attributes)),e.eventListeners&&(t.eventListeners||(t.eventListeners={}),fh(t.eventListeners,e.eventListeners)),e.text&&t.text.push(...e.text),e.children&&e.children.length){if(t.children.length!=e.children.length)throw new c("ui-template-extend-children-mismatch",t);let n=0;for(const o of e.children)kh(t.children[n++],o)}}function bh(t){return!t&&0!==t}function wh(t){return t instanceof xh}function _h(t){return t instanceof oh}function Ah(t){return t instanceof nh}function Ch(t){return"class"==t||"style"==t}var vh=n(4793),yh={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(vh.Z,yh);vh.Z.locals;class xh{constructor(t){this.element=null,this.isRendered=!1,this.locale=t,this.t=t&&t.t,this._viewCollections=new ko,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",((e,n)=>{n.locale=t})),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=oh.bind(this,this)}createCollection(t){const e=new nh(t);return this._viewCollections.add(e),e}registerChild(t){fo(t)||(t=[t]);for(const e of t)this._unboundChildren.add(e)}deregisterChild(t){fo(t)||(t=[t]);for(const e of t)this._unboundChildren.remove(e)}setTemplate(t){this.template=new oh(t)}extendTemplate(t){oh.extend(this.template,t)}render(){if(this.isRendered)throw new c("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map((t=>t.destroy())),this.template&&this.template._revertData&&this.template.revert(this.element)}}function Eh({element:t,target:e,positions:n,limiter:o,fitInViewport:i,viewportOffsetConfig:r}){It(e)&&(e=e()),It(o)&&(o=o());const s=function(t){return t&&t.parentNode?t.offsetParent===Ao.document.body?null:t.offsetParent:null}(t),a=new Ea(t),c=new Ea(e);let l;const d=i&&function(t){t=Object.assign({top:0,bottom:0,left:0,right:0},t);const e=new Ea(Ao.window);return e.top+=t.top,e.height-=t.top,e.bottom-=t.bottom,e.height-=t.bottom,e}(r)||null,h={targetRect:c,elementRect:a,positionedElementAncestor:s,viewportRect:d};if(o||i){const t=o&&new Ea(o).getVisible();Object.assign(h,{limiterRect:t,viewportRect:d}),l=function(t,e){const{elementRect:n}=e,o=n.getArea(),i=t.map((t=>new Ih(t,e))).filter((t=>!!t.name));let r=0,s=null;for(const t of i){const{limiterIntersectionArea:e,viewportIntersectionArea:n}=t;if(e===o)return t;const i=n**2+e**2;i>r&&(r=i,s=t)}return s}(n,h)||new Ih(n[0],h)}else l=new Ih(n[0],h);return l}function Dh(t){const{scrollX:e,scrollY:n}=Ao.window;return t.clone().moveBy(e,n)}F(xh,ws),F(xh,B);class Ih{constructor(t,e){const n=t(e.targetRect,e.elementRect,e.viewportRect);if(!n)return;const{left:o,top:i,name:r,config:s}=n;this.name=r,this.config=s,this._positioningFunctionCorrdinates={left:o,top:i},this._options=e}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;if(t){const e=this._options.viewportRect;if(!e)return t.getIntersectionArea(this._rect);{const n=t.getIntersection(e);if(n)return n.getIntersectionArea(this._rect)}}return 0}get viewportIntersectionArea(){const t=this._options.viewportRect;return t?t.getIntersectionArea(this._rect):0}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCorrdinates.left,this._positioningFunctionCorrdinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=Dh(this._rect),this._options.positionedElementAncestor&&function(t,e){const n=Dh(new Ea(e)),o=ya(e);let i=0,r=0;i-=n.left,r-=n.top,i+=e.scrollLeft,r+=e.scrollTop,i-=o.left,r-=o.top,t.moveBy(i,r)}(this._cachedAbsoluteRect,this._options.positionedElementAncestor)),this._cachedAbsoluteRect}}function Mh(t){return e=>e+t}var Th=n(8793),Sh={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Th.Z,Sh);Th.Z.locals;const Nh=Mh("px"),Bh=Ao.document.body;class Ph extends xh{constructor(t){super(t);const e=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class"),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",e.to("position",(t=>`ck-balloon-panel_${t}`)),e.if("isVisible","ck-balloon-panel_visible"),e.if("withArrow","ck-balloon-panel_with-arrow"),e.to("class")],style:{top:e.to("top",Nh),left:e.to("left",Nh)}},children:this.content})}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(t){this.show();const e=Ph.defaultPositions,n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast,e.viewportStickyNorth],limiter:Bh,fitInViewport:!0},t),o=Ph._getOptimalPosition(n),i=parseInt(o.left),r=parseInt(o.top),{name:s,config:a={}}=o,{withArrow:c=!0}=a;Object.assign(this,{top:r,left:i,position:s,withArrow:c})}pin(t){this.unpin(),this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(t):this._stopPinning()},this._startPinning(t),this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(t){this.attachTo(t);const e=zh(t.target),n=t.limiter?zh(t.limiter):Bh;this.listenTo(Ao.document,"scroll",((o,i)=>{const r=i.target,s=e&&r.contains(e),a=n&&r.contains(n);!s&&!a&&e&&n||this.attachTo(t)}),{useCapture:!0}),this.listenTo(Ao.window,"resize",(()=>{this.attachTo(t)}))}_stopPinning(){this.stopListening(Ao.document,"scroll"),this.stopListening(Ao.window,"resize")}}function zh(t){return uo(t)?t:va(t)?t.commonAncestorContainer:"function"==typeof t?zh(t()):null}function Lh({sideOffset:t=Ph.arrowSideOffset,heightOffset:e=Ph.arrowHeightOffset,stickyVerticalOffset:n=Ph.stickyVerticalOffset,config:o}={}){return{northWestArrowSouthWest:(e,n)=>({top:i(e,n),left:e.left-t,name:"arrow_sw",...o&&{config:o}}),northWestArrowSouthMiddleWest:(e,n)=>({top:i(e,n),left:e.left-.25*n.width-t,name:"arrow_smw",...o&&{config:o}}),northWestArrowSouth:(t,e)=>({top:i(t,e),left:t.left-e.width/2,name:"arrow_s",...o&&{config:o}}),northWestArrowSouthMiddleEast:(e,n)=>({top:i(e,n),left:e.left-.75*n.width+t,name:"arrow_sme",...o&&{config:o}}),northWestArrowSouthEast:(e,n)=>({top:i(e,n),left:e.left-n.width+t,name:"arrow_se",...o&&{config:o}}),northArrowSouthWest:(e,n)=>({top:i(e,n),left:e.left+e.width/2-t,name:"arrow_sw",...o&&{config:o}}),northArrowSouthMiddleWest:(e,n)=>({top:i(e,n),left:e.left+e.width/2-.25*n.width-t,name:"arrow_smw",...o&&{config:o}}),northArrowSouth:(t,e)=>({top:i(t,e),left:t.left+t.width/2-e.width/2,name:"arrow_s",...o&&{config:o}}),northArrowSouthMiddleEast:(e,n)=>({top:i(e,n),left:e.left+e.width/2-.75*n.width+t,name:"arrow_sme",...o&&{config:o}}),northArrowSouthEast:(e,n)=>({top:i(e,n),left:e.left+e.width/2-n.width+t,name:"arrow_se",...o&&{config:o}}),northEastArrowSouthWest:(e,n)=>({top:i(e,n),left:e.right-t,name:"arrow_sw",...o&&{config:o}}),northEastArrowSouthMiddleWest:(e,n)=>({top:i(e,n),left:e.right-.25*n.width-t,name:"arrow_smw",...o&&{config:o}}),northEastArrowSouth:(t,e)=>({top:i(t,e),left:t.right-e.width/2,name:"arrow_s",...o&&{config:o}}),northEastArrowSouthMiddleEast:(e,n)=>({top:i(e,n),left:e.right-.75*n.width+t,name:"arrow_sme",...o&&{config:o}}),northEastArrowSouthEast:(e,n)=>({top:i(e,n),left:e.right-n.width+t,name:"arrow_se",...o&&{config:o}}),southWestArrowNorthWest:(e,n)=>({top:r(e),left:e.left-t,name:"arrow_nw",...o&&{config:o}}),southWestArrowNorthMiddleWest:(e,n)=>({top:r(e),left:e.left-.25*n.width-t,name:"arrow_nmw",...o&&{config:o}}),southWestArrowNorth:(t,e)=>({top:r(t),left:t.left-e.width/2,name:"arrow_n",...o&&{config:o}}),southWestArrowNorthMiddleEast:(e,n)=>({top:r(e),left:e.left-.75*n.width+t,name:"arrow_nme",...o&&{config:o}}),southWestArrowNorthEast:(e,n)=>({top:r(e),left:e.left-n.width+t,name:"arrow_ne",...o&&{config:o}}),southArrowNorthWest:(e,n)=>({top:r(e),left:e.left+e.width/2-t,name:"arrow_nw",...o&&{config:o}}),southArrowNorthMiddleWest:(e,n)=>({top:r(e),left:e.left+e.width/2-.25*n.width-t,name:"arrow_nmw",...o&&{config:o}}),southArrowNorth:(t,e)=>({top:r(t),left:t.left+t.width/2-e.width/2,name:"arrow_n",...o&&{config:o}}),southArrowNorthMiddleEast:(e,n)=>({top:r(e),left:e.left+e.width/2-.75*n.width+t,name:"arrow_nme",...o&&{config:o}}),southArrowNorthEast:(e,n)=>({top:r(e),left:e.left+e.width/2-n.width+t,name:"arrow_ne",...o&&{config:o}}),southEastArrowNorthWest:(e,n)=>({top:r(e),left:e.right-t,name:"arrow_nw",...o&&{config:o}}),southEastArrowNorthMiddleWest:(e,n)=>({top:r(e),left:e.right-.25*n.width-t,name:"arrow_nmw",...o&&{config:o}}),southEastArrowNorth:(t,e)=>({top:r(t),left:t.right-e.width/2,name:"arrow_n",...o&&{config:o}}),southEastArrowNorthMiddleEast:(e,n)=>({top:r(e),left:e.right-.75*n.width+t,name:"arrow_nme",...o&&{config:o}}),southEastArrowNorthEast:(e,n)=>({top:r(e),left:e.right-n.width+t,name:"arrow_ne",...o&&{config:o}}),westArrowEast:(t,n)=>({top:t.top+t.height/2-n.height/2,left:t.left-n.width-e,name:"arrow_e",...o&&{config:o}}),eastArrowWest:(t,n)=>({top:t.top+t.height/2-n.height/2,left:t.right+e,name:"arrow_w",...o&&{config:o}}),viewportStickyNorth:(t,e,i)=>t.getIntersection(i)?{top:i.top+n,left:t.left+t.width/2-e.width/2,name:"arrowless",config:{withArrow:!1,...o}}:null};function i(t,n){return t.top-n.height-e}function r(t){return t.bottom+e}}Ph.arrowSideOffset=25,Ph.arrowHeightOffset=10,Ph.stickyVerticalOffset=20,Ph._getOptimalPosition=Eh,Ph.defaultPositions=Lh();var Oh=n(3332),Rh={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Oh.Z,Rh);Oh.Z.locals;const jh="ck-tooltip";class Fh{constructor(t){if(Fh._editors.add(t),Fh._instance)return Fh._instance;Fh._instance=this,this.tooltipTextView=new xh(t.locale),this.tooltipTextView.set("text",""),this.tooltipTextView.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:this.tooltipTextView.bindTemplate.to("text")}]}),this.balloonPanelView=new Ph(t.locale),this.balloonPanelView.class=jh,this.balloonPanelView.content.add(this.tooltipTextView),this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._pinTooltipDebounced=ca(this._pinTooltip,600),this.listenTo(Ao.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(Ao.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(Ao.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(Ao.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(Ao.document,"scroll",this._onScroll.bind(this),{useCapture:!0}),this._watchdogExcluded=!0}destroy(t){Fh._editors.delete(t),this.stopListening(t.ui),Fh._editors.size||(this._unpinTooltip(),this.balloonPanelView.destroy(),this.stopListening(),Fh._instance=null)}_onEnterOrFocus(t,{target:e}){const n=Vh(e);var o;n&&(n!==this._currentElementWithTooltip&&(this._unpinTooltip(),this._pinTooltipDebounced(n,{text:(o=n).dataset.ckeTooltipText,position:o.dataset.ckeTooltipPosition||"s",cssClass:o.dataset.ckeTooltipClass||""})))}_onLeaveOrBlur(t,{target:e,relatedTarget:n}){if("mouseleave"===t.name){if(!uo(e))return;if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;const t=Vh(e),o=Vh(n);t&&t!==o&&this._unpinTooltip()}else{if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;this._unpinTooltip()}}_onScroll(t,{target:e}){this._currentElementWithTooltip&&(e.contains(this.balloonPanelView.element)&&e.contains(this._currentElementWithTooltip)||this._unpinTooltip())}_pinTooltip(t,{text:e,position:n,cssClass:o}){const i=ba(Fh._editors.values()).ui.view.body;i.has(this.balloonPanelView)||i.add(this.balloonPanelView),this.tooltipTextView.text=e,this.balloonPanelView.pin({target:t,positions:Fh.getPositioningFunctions(n)}),this.balloonPanelView.class=[jh,o].filter((t=>t)).join(" ");for(const t of Fh._editors)this.listenTo(t.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"});this._currentElementWithTooltip=t,this._currentTooltipPosition=n}_unpinTooltip(){this._pinTooltipDebounced.cancel(),this.balloonPanelView.unpin();for(const t of Fh._editors)this.stopListening(t.ui,"update");this._currentElementWithTooltip=null,this._currentTooltipPosition=null}_updateTooltipPosition(){ka(this._currentElementWithTooltip)?this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:Fh.getPositioningFunctions(this._currentTooltipPosition)}):this._unpinTooltip()}static getPositioningFunctions(t){const e=Fh.defaultBalloonPositions;return{s:[e.southArrowNorth,e.southArrowNorthEast,e.southArrowNorthWest],n:[e.northArrowSouth],e:[e.eastArrowWest],w:[e.westArrowEast],sw:[e.southArrowNorthEast],se:[e.southArrowNorthWest]}[t]}}function Vh(t){return uo(t)?t.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])"):null}F(Fh,ws),Fh.defaultBalloonPositions=Lh({heightOffset:5,sideOffset:13}),Fh._instance=null,Fh._editors=new Set;class Hh{constructor(t){this.editor=t,this.componentFactory=new th(t),this.focusTracker=new wa,this.tooltipManager=new Fh(t),this.set("viewportOffset",this._readViewportOffsetFromConfig()),this.isReady=!1,this.once("ready",(()=>{this.isReady=!0})),this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[],this.listenTo(t.editing.view.document,"layoutChanged",(()=>this.update())),this._initFocusTracking()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy(),this.tooltipManager.destroy(this.editor);for(const t of this._editableElementsMap.values())t.ckeditorInstance=null;this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e),e.ckeditorInstance||(e.ckeditorInstance=this.editor),this.focusTracker.add(e);const n=()=>{this.editor.editing.view.getDomRoot(t)||this.editor.keystrokes.listenTo(e)};this.isReady?n():this.once("ready",n)}getEditableElement(t="main"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){t.isRendered?(this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)):t.once("render",(()=>{this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)})),this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}get _editableElements(){return console.warn("editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this}),this._editableElementsMap}_readViewportOffsetFromConfig(){const t=this.editor,e=t.config.get("ui.viewportOffset");if(e)return e;const n=t.config.get("toolbar.viewportTopOffset");return n?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:n}):{top:0}}_initFocusTracking(){const t=this.editor,e=t.editing.view;let n,o;t.keystrokes.set("Alt+F10",((t,i)=>{const r=this.focusTracker.focusedElement;Array.from(this._editableElementsMap.values()).includes(r)&&!Array.from(e.domRoots.values()).includes(r)&&(n=r);const s=this._getCurrentFocusedToolbarDefinition();s&&o||(o=this._getFocusableCandidateToolbarDefinitions(s));for(let t=0;t{const i=this._getCurrentFocusedToolbarDefinition();i&&(n?(n.focus(),n=null):t.editing.view.focus(),i.options.afterBlur&&i.options.afterBlur(),o())}))}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:o}=e;(ka(n.element)||o.beforeFocus)&&t.push(e)}return t.sort(((t,e)=>Uh(t)-Uh(e))),t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions)if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement))return t;return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;return n&&n(),!!ka(e.element)&&(e.focus(),!0)}}function Uh(t){const{toolbarView:e,options:n}=t;let o=10;return ka(e.element)&&o--,n.isContextual&&o--,o}F(Hh,B);const Wh={setData(t){this.data.set(t)},getData(t){return this.data.get(t)}},Gh=Wh;function qh(t,e){t instanceof HTMLTextAreaElement&&(t.value=e),t.innerHTML=e}const $h={updateSourceElement(t=this.data.get()){if(!this.sourceElement)throw new c("editor-missing-sourceelement",this);const e=this.config.get("updateSourceElementOnDestroy"),n=this.sourceElement instanceof HTMLTextAreaElement;qh(this.sourceElement,e||n?t:"")}};class Yh extends Do{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",!1),this._actions=new ko({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(t){if("string"!=typeof t)throw new c("pendingactions-add-invalid-message",this);const e=Object.create(B);return e.set("message",t),this._actions.add(e),this.hasAny=!0,e}remove(t){this._actions.remove(t),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}const Kh='',Qh='',Zh={bold:'',cancel:'',caption:'',check:'',cog:'',eraser:'',image:'',lowVision:'',importExport:'',paragraph:'',plus:'',text:'',alignBottom:'',alignMiddle:'',alignTop:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',objectLeft:'',objectCenter:'',objectRight:'',objectFullWidth:'',objectInline:'',objectBlockLeft:'',objectBlockRight:'',objectSizeFull:'',objectSizeLarge:'',objectSizeSmall:'',objectSizeMedium:'',pencil:'',pilcrow:Kh,quote:'',threeVerticalDots:Qh};function Jh({emitter:t,activator:e,callback:n,contextElements:o}){t.listenTo(document,"mousedown",((t,i)=>{if(!e())return;const r="function"==typeof i.composedPath?i.composedPath():[];for(const t of o)if(t.contains(i.target)||r.includes(t))return;n()}))}function Xh(t){t.set("_isCssTransitionsDisabled",!1),t.disableCssTransitions=()=>{t._isCssTransitionsDisabled=!0},t.enableCssTransitions=()=>{t._isCssTransitionsDisabled=!1},t.extendTemplate({attributes:{class:[t.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}function tu({view:t}){t.listenTo(t.element,"submit",((e,n)=>{n.preventDefault(),t.fire("submit")}),{useCapture:!0})}class eu extends nh{constructor(t,e=[]){super(e),this.locale=t}attachToDom(){this._bodyCollectionContainer=new oh({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(".ck-body-wrapper");t||(t=pa(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(t)),t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const t=document.querySelector(".ck-body-wrapper");t&&0==t.childElementCount&&t.remove()}}var nu=n(6574),ou={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(nu.Z,ou);nu.Z.locals;class iu extends xh{constructor(){super();const t=this.bindTemplate;this.set("content",""),this.set("viewBox","0 0 20 20"),this.set("fillColor",""),this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon"],viewBox:t.to("viewBox")}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on("change:content",(()=>{this._updateXMLContent(),this._colorFillPaths()})),this.on("change:fillColor",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg"),e=t.getAttribute("viewBox");for(e&&(this.viewBox=e);this.element.firstChild;)this.element.removeChild(this.element.firstChild);for(;t.childNodes.length>0;)this.element.appendChild(t.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach((t=>{t.style.fill=this.fillColor}))}}var ru=n(4906),su={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(ru.Z,su);ru.Z.locals;class au extends xh{constructor(t){super(t);const e=this.bindTemplate,n=r();this.set("class"),this.set("labelStyle"),this.set("icon"),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke"),this.set("label"),this.set("tabindex",-1),this.set("tooltip"),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.labelView=this._createLabelView(n),this.iconView=new iu,this.iconView.extendTemplate({attributes:{class:"ck-button__icon"}}),this.keystrokeView=this._createKeystrokeView(),this.bind("_tooltipString").to(this,"tooltip",this,"label",this,"keystroke",this._getTooltipString.bind(this));const o={tag:"button",attributes:{class:["ck","ck-button",e.to("class"),e.if("isEnabled","ck-disabled",(t=>!t)),e.if("isVisible","ck-hidden",(t=>!t)),e.to("isOn",(t=>t?"ck-on":"ck-off")),e.if("withText","ck-button_with-text"),e.if("withKeystroke","ck-button_with-keystroke")],type:e.to("type",(t=>t||"button")),tabindex:e.to("tabindex"),"aria-labelledby":`ck-editor__aria-label_${n}`,"aria-disabled":e.if("isEnabled",!0,(t=>!t)),"aria-pressed":e.to("isOn",(t=>!!this.isToggleable&&String(!!t))),"data-cke-tooltip-text":e.to("_tooltipString"),"data-cke-tooltip-position":e.to("tooltipPosition")},children:this.children,on:{click:e.to((t=>{this.isEnabled?this.fire("execute"):t.preventDefault()}))}};lr.isSafari&&(o.on.mousedown=e.to((t=>{this.focus(),t.preventDefault()}))),this.setTemplate(o)}render(){super.render(),this.icon&&(this.iconView.bind("content").to(this,"icon"),this.children.add(this.iconView)),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}_createLabelView(t){const e=new xh,n=this.bindTemplate;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:n.to("labelStyle"),id:`ck-editor__aria-label_${t}`},children:[{text:this.bindTemplate.to("label")}]}),e}_createKeystrokeView(){const t=new xh;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(t=>kr(t)))}]}),t}_getTooltipString(t,e,n){return t?"string"==typeof t?t:(n&&(n=kr(n)),t instanceof Function?t(e,n):`${e}${n?` (${n})`:""}`):""}}var cu=n(5332),lu={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(cu.Z,lu);cu.Z.locals;class du extends au{constructor(t){super(t),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new xh;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),t}}var hu=n(6781),uu={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(hu.Z,uu);hu.Z.locals;const gu='';class mu extends au{constructor(t){super(t),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(t=>String(t)))}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const t=new iu;return t.content=gu,t.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),t}}var pu=n(7686),fu={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(pu.Z,fu);pu.Z.locals;class ku extends xh{constructor(t){super(t);const e=this.bindTemplate;this.set("class"),this.set("icon"),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke"),this.set("label"),this.set("tabindex",-1),this.set("tooltip"),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(),this.arrowView=this._createArrowView(),this.keystrokes=new _a,this.focusTracker=new wa,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",e.to("class"),e.if("isVisible","ck-hidden",(t=>!t)),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",((t,e)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),e())})),this.keystrokes.set("arrowleft",((t,e)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),e())}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(){const t=new au;return t.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this),t.extendTemplate({attributes:{class:"ck-splitbutton__action"}}),t.delegate("execute").to(this),t}_createArrowView(){const t=new au,e=t.bindTemplate;return t.icon=gu,t.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":e.to("isOn"),"aria-haspopup":!0,"aria-expanded":e.to("isOn",(t=>String(t)))}}),t.bind("isEnabled").to(this),t.bind("label").to(this),t.bind("tooltip").to(this),t.delegate("execute").to(this,"open"),t}}class bu extends xh{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",e.to("position",(t=>`ck-dropdown__panel_${t}`)),e.if("isVisible","ck-dropdown__panel-visible")]},children:this.children,on:{selectstart:e.to((t=>t.preventDefault()))}})}focus(){this.children.length&&("function"==typeof this.children.first.focus?this.children.first.focus():l("ui-dropdown-panel-focus-child-missing-focus",{childView:this.children.first,dropdownPanel:this}))}focusLast(){if(this.children.length){const t=this.children.last;"function"==typeof t.focusLast?t.focusLast():t.focus()}}}var wu=n(5485),_u={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(wu.Z,_u);wu.Z.locals;class Au extends xh{constructor(t,e,n){super(t);const o=this.bindTemplate;this.buttonView=e,this.panelView=n,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class"),this.set("id"),this.set("panelPosition","auto"),this.keystrokes=new _a,this.focusTracker=new wa,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",o.to("class"),o.if("isEnabled","ck-disabled",(t=>!t))],id:o.to("id"),"aria-describedby":o.to("ariaDescribedById")},children:[e,n]}),e.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":o.to("isOpen")}})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.listenTo(this.buttonView,"open",(()=>{this.isOpen=!this.isOpen})),this.panelView.bind("isVisible").to(this,"isOpen"),this.on("change:isOpen",((t,e,n)=>{n&&("auto"===this.panelPosition?this.panelView.position=Au._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions}).name:this.panelView.position=this.panelPosition)})),this.keystrokes.listenTo(this.element);const t=(t,e)=>{this.isOpen&&(this.isOpen=!1,e())};this.keystrokes.set("arrowdown",((t,e)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,e())})),this.keystrokes.set("arrowright",((t,e)=>{this.isOpen&&e()})),this.keystrokes.set("arrowleft",t),this.keystrokes.set("esc",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:o,northEast:i,northWest:r,southMiddleEast:s,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=Au.defaultPanelPositions;return"rtl"!==this.locale.uiLanguageDirection?[n,o,s,a,t,i,r,c,l,e]:[o,n,a,s,t,r,i,l,c,e]}}Au.defaultPanelPositions={south:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/2,name:"s"}),southEast:t=>({top:t.bottom,left:t.left,name:"se"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:"sw"}),southMiddleEast:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/4,name:"sme"}),southMiddleWest:(t,e)=>({top:t.bottom,left:t.left-3*(e.width-t.width)/4,name:"smw"}),north:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/2,name:"n"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:"ne"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:"nw"}),northMiddleEast:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/4,name:"nme"}),northMiddleWest:(t,e)=>({top:t.top-e.height,left:t.left-3*(e.width-t.width)/4,name:"nmw"})},Au._getOptimalPosition=Eh;class Cu{constructor(t){if(Object.assign(this,t),t.actions&&t.keystrokeHandler)for(const e in t.actions){let n=t.actions[e];"string"==typeof n&&(n=[n]);for(const o of n)t.keystrokeHandler.set(o,((t,n)=>{this[e](),n()}))}}get first(){return this.focusables.find(vu)||null}get last(){return this.focusables.filter(vu).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find(((e,n)=>{const o=e.element===this.focusTracker.focusedElement;return o&&(t=n),o})),t)}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(t){t&&t.focus()}_getFocusableItem(t){const e=this.current,n=this.focusables.length;if(!n)return null;if(null===e)return this[1===t?"first":"last"];let o=(e+n+t)%n;do{const e=this.focusables.get(o);if(vu(e))return e;o=(o+n+t)%n}while(o!==e);return null}}function vu(t){return!(!t.focus||!ka(t.element))}class yu extends xh{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class xu extends xh{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}function Eu(t){return Array.isArray(t)?{items:t,removeItems:[]}:t?Object.assign({items:[],removeItems:[]},t):{items:[],removeItems:[]}}var Du=n(5542),Iu={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Du.Z,Iu);Du.Z.locals;const Mu={alignLeft:Zh.alignLeft,bold:Zh.bold,importExport:Zh.importExport,paragraph:Zh.paragraph,plus:Zh.plus,text:Zh.text,threeVerticalDots:Zh.threeVerticalDots};class Tu extends xh{constructor(t,e){super(t);const n=this.bindTemplate,o=this.t;this.options=e||{},this.set("ariaLabel",o("Editor toolbar")),this.set("maxWidth","auto"),this.items=this.createCollection(),this.focusTracker=new wa,this.keystrokes=new _a,this.set("class"),this.set("isCompact",!1),this.itemsView=new Su(t),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const i="rtl"===t.uiLanguageDirection;this._focusCycler=new Cu({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[i?"arrowright":"arrowleft","arrowup"],focusNext:[i?"arrowleft":"arrowright","arrowdown"]}});const r=["ck","ck-toolbar",n.to("class"),n.if("isCompact","ck-toolbar_compact")];var s;this.options.shouldGroupWhenFull&&this.options.isFloating&&r.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:r,role:"toolbar","aria-label":n.to("ariaLabel"),style:{maxWidth:n.to("maxWidth")}},children:this.children,on:{mousedown:(s=this,s.bindTemplate.to((t=>{t.target===s.element&&t.preventDefault()})))}}),this._behavior=this.options.shouldGroupWhenFull?new Bu(this):new Nu(this)}render(){super.render();for(const t of this.items)this.focusTracker.add(t.element);this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)})),this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)})),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e,n){const o=Eu(t),i=n||o.removeItems,r=this._cleanItemsConfiguration(o.items,e,i).map((t=>D(t)?this._createNestedToolbarDropdown(t,e,i):"|"===t?new yu:"-"===t?new xu:e.create(t))).filter((t=>t));this.items.addMany(r)}_cleanItemsConfiguration(t,e,n){const o=t.filter(((t,o,i)=>"|"===t||-1===n.indexOf(t)&&("-"===t?!this.options.shouldGroupWhenFull||(l("toolbarview-line-break-ignored-when-grouping-items",i),!1):!(!D(t)&&!e.has(t))||(l("toolbarview-item-unavailable",{name:t}),!1))));return this._cleanSeparatorsAndLineBreaks(o)}_cleanSeparatorsAndLineBreaks(t){const e=t=>"-"!==t&&"|"!==t,n=t.length,o=t.findIndex(e);if(-1===o)return[];const i=n-t.slice().reverse().findIndex(e);return t.slice(o,i).filter(((t,n,o)=>{if(e(t))return!0;return!(n>0&&o[n-1]===t)}))}_createNestedToolbarDropdown(t,e,n){let{label:o,icon:i,items:r,tooltip:s=!0,withText:a=!1}=t;if(r=this._cleanItemsConfiguration(r,e,n),!r.length)return null;const c=Uu(this.locale);return o||l("toolbarview-nested-toolbar-dropdown-missing-label",t),c.class="ck-toolbar__nested-toolbar-dropdown",c.buttonView.set({label:o,tooltip:s,withText:!!a}),!1!==i?c.buttonView.icon=Mu[i]||i||Mu.threeVerticalDots:c.buttonView.withText=!0,Wu(c,[]),c.toolbarView.fillFromConfig(r,e,n),c}}class Su extends xh{constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class Nu{constructor(t){const e=t.bindTemplate;t.set("isVertical",!1),t.itemsView.children.bindTo(t.items).using((t=>t)),t.focusables.bindTo(t.items).using((t=>t)),t.extendTemplate({attributes:{class:[e.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class Bu{constructor(t){this.view=t,this.viewChildren=t.children,this.viewFocusables=t.focusables,this.viewItemsView=t.itemsView,this.viewFocusTracker=t.focusTracker,this.viewLocale=t.locale,this.ungroupedItems=t.createCollection(),this.groupedItems=t.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,t.itemsView.children.bindTo(this.ungroupedItems).using((t=>t)),this.ungroupedItems.on("add",this._updateFocusCycleableItems.bind(this)),this.ungroupedItems.on("remove",this._updateFocusCycleableItems.bind(this)),t.children.on("add",this._updateFocusCycleableItems.bind(this)),t.children.on("remove",this._updateFocusCycleableItems.bind(this)),t.items.on("change",((t,e)=>{const n=e.index;for(const t of e.removed)n>=this.ungroupedItems.length?this.groupedItems.remove(t):this.ungroupedItems.remove(t);for(let t=n;tthis.ungroupedItems.length?this.groupedItems.add(o,t-this.ungroupedItems.length):this.ungroupedItems.add(o,t)}this._updateGrouping()})),t.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(t){this.viewElement=t.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!ka(this.viewElement))return void(this.shouldUpdateGroupingOnNextResize=!0);const t=this.groupedItems.length;let e;for(;this._areItemsOverflowing;)this._groupLastItem(),e=!0;if(!e&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==t&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const t=this.viewElement,e=this.viewLocale.uiLanguageDirection,n=new Ea(t.lastChild),o=new Ea(t);if(!this.cachedPadding){const n=Ao.window.getComputedStyle(t),o="ltr"===e?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(n[o])}return"ltr"===e?n.right>o.right-this.cachedPadding:n.left{t&&t===e.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),t=e.contentRect.width)})),this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new yu),this.viewChildren.add(this.groupedItemsDropdown),this.viewFocusTracker.add(this.groupedItemsDropdown.element)),this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const t=this.viewLocale,e=t.t,n=Uu(t);return n.class="ck-toolbar__grouped-dropdown",n.panelPosition="ltr"===t.uiLanguageDirection?"sw":"se",Wu(n,[]),n.buttonView.set({label:e("Show more items"),tooltip:!0,tooltipPosition:"rtl"===t.uiLanguageDirection?"se":"sw",icon:Qh}),n.toolbarView.items.bindTo(this.groupedItems).using((t=>t)),n}_updateFocusCycleableItems(){this.viewFocusables.clear(),this.ungroupedItems.map((t=>{this.viewFocusables.add(t)})),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}var Pu=n(1046),zu={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Pu.Z,zu);Pu.Z.locals;class Lu extends xh{constructor(){super(),this.items=this.createCollection(),this.focusTracker=new wa,this.keystrokes=new _a,this._focusCycler=new Cu({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}}),this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"]},children:this.items})}render(){super.render();for(const t of this.items)this.focusTracker.add(t.element);this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)})),this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}class Ou extends xh{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!0),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",e.if("isVisible","ck-hidden",(t=>!t))]},children:this.children})}focus(){this.children.first.focus()}}class Ru extends xh{constructor(t){super(t),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}var ju=n(7339),Fu={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(ju.Z,Fu);ju.Z.locals;var Vu=n(3949),Hu={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Vu.Z,Hu);Vu.Z.locals;function Uu(t,e=mu){const n=new e(t),o=new bu(t),i=new Au(t,n,o);return n.bind("isEnabled").to(i),n instanceof mu?n.bind("isOn").to(i,"isOpen"):n.arrowView.bind("isOn").to(i,"isOpen"),function(t){(function(t){t.on("render",(()=>{Jh({emitter:t,activator:()=>t.isOpen,callback:()=>{t.isOpen=!1},contextElements:[t.element]})}))})(t),function(t){t.on("execute",(e=>{e.source instanceof du||(t.isOpen=!1)}))}(t),function(t){t.focusTracker.on("change:isFocused",((e,n,o)=>{t.isOpen&&!o&&(t.isOpen=!1)}))}(t),function(t){t.keystrokes.set("arrowdown",((e,n)=>{t.isOpen&&(t.panelView.focus(),n())})),t.keystrokes.set("arrowup",((e,n)=>{t.isOpen&&(t.panelView.focusLast(),n())}))}(t),function(t){t.on("change:isOpen",((e,n,o)=>{o||t.panelView.element.contains(Ao.document.activeElement)&&t.buttonView.focus()}))}(t),function(t){t.on("change:isOpen",((e,n,o)=>{o&&t.panelView.focus()}),{priority:"low"})}(t)}(i),i}function Wu(t,e,n={}){const o=t.locale,i=o.t,r=t.toolbarView=new Tu(o);r.set("ariaLabel",i("Dropdown toolbar")),t.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),e.map((t=>r.items.add(t))),n.enableActiveItemFocusOnDropdownOpen&&qu(t,(()=>r.items.find((t=>t.isOn)))),t.panelView.children.add(r),r.items.delegate("execute").to(t)}function Gu(t,e){const n=t.locale,o=t.listView=new Lu(n);o.items.bindTo(e).using((({type:t,model:e})=>{if("separator"===t)return new Ru(n);if("button"===t||"switchbutton"===t){const o=new Ou(n);let i;return i="button"===t?new au(n):new du(n),i.bind(...Object.keys(e)).to(e),i.delegate("execute").to(o),o.children.add(i),o}})),t.panelView.children.add(o),o.items.delegate("execute").to(t),qu(t,(()=>o.items.find((t=>t instanceof Ou&&t.children.first.isOn))))}function qu(t,e){t.on("change:isOpen",(()=>{if(!t.isOpen)return;const n=e();n&&("function"==typeof n.focus?n.focus():l("ui-dropdown-focus-child-on-open-child-missing-focus",{view:n}))}),{priority:s.low-10})}var $u=n(9688),Yu={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()($u.Z,Yu);$u.Z.locals;class Ku extends xh{constructor(t){super(t),this.body=new eu(t)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}var Qu=n(3662),Zu={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Qu.Z,Zu);Qu.Z.locals;class Ju extends xh{constructor(t){super(t),this.set("text"),this.set("for"),this.id=`ck-editor__label_${r()}`;const e=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:e.to("for")},children:[{text:e.to("text")}]})}}class Xu extends xh{constructor(t,e,n){super(t),this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:t.contentLanguage,dir:t.contentLanguageDirection}}),this.name=null,this.set("isFocused",!1),this._editableElement=n,this._hasExternalElement=!!this._editableElement,this._editingView=e}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",(()=>this._updateIsFocusedClasses())),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}_updateIsFocusedClasses(){const t=this._editingView;function e(e){t.change((n=>{const o=t.document.getRoot(e.name);n.addClass(e.isFocused?"ck-focused":"ck-blurred",o),n.removeClass(e.isFocused?"ck-blurred":"ck-focused",o)}))}t.isRenderingInProgress?function n(o){t.once("change:isRenderingInProgress",((t,i,r)=>{r?n(o):e(o)}))}(this):e(this)}}class tg extends Xu{constructor(t,e,n,o={}){super(t,e,n);const i=t.t;this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}}),this._generateLabel=o.label||(()=>i("Editor editing area: %0",this.name))}render(){super.render();const t=this._editingView;t.change((e=>{const n=t.document.getRoot(this.name);e.setAttribute("aria-label",this._generateLabel(this),n)}))}}var eg=n(8847),ng={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(eg.Z,ng);eg.Z.locals;var og=n(4879),ig={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(og.Z,ig);og.Z.locals;class rg extends xh{constructor(t){super(t),this.set("value"),this.set("id"),this.set("placeholder"),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById"),this.focusTracker=new wa,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0),this.set("inputMode","text");const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",e.if("isFocused","ck-input_focused"),e.if("isEmpty","ck-input-text_empty"),e.if("hasError","ck-error")],id:e.to("id"),placeholder:e.to("placeholder"),readonly:e.to("isReadOnly"),inputmode:e.to("inputMode"),"aria-invalid":e.if("hasError",!0),"aria-describedby":e.to("ariaDescribedById")},on:{input:e.to(((...t)=>{this.fire("input",...t),this._updateIsEmpty()})),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",((t,e,n)=>{this._setDomElementValue(n),this._updateIsEmpty()}))}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(t){this.element.value=t||0===t?t:""}}class sg extends rg{constructor(t){super(t),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}var ag=n(2577),cg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(ag.Z,cg);ag.Z.locals;class lg extends xh{constructor(t,e){super(t);const n=`ck-labeled-field-view-${r()}`,o=`ck-labeled-field-view-status-${r()}`;this.fieldView=e(this,n,o),this.set("label"),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class"),this.set("placeholder"),this.labelView=this._createLabelView(n),this.statusView=this._createStatusView(o),this.bind("_statusText").to(this,"errorText",this,"infoText",((t,e)=>t||e));const i=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",i.to("class"),i.if("isEnabled","ck-disabled",(t=>!t)),i.if("isEmpty","ck-labeled-field-view_empty"),i.if("isFocused","ck-labeled-field-view_focused"),i.if("placeholder","ck-labeled-field-view_placeholder"),i.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:[this.fieldView,this.labelView]},this.statusView]})}_createLabelView(t){const e=new Ju(this.locale);return e.for=t,e.bind("text").to(this,"label"),e}_createStatusView(t){const e=new xh(this.locale),n=this.bindTemplate;return e.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",n.if("errorText","ck-labeled-field-view__status_error"),n.if("_statusText","ck-hidden",(t=>!t))],id:t,role:n.if("errorText","alert")},children:[{text:n.to("_statusText")}]}),e}focus(){this.fieldView.focus()}}function dg(t,e,n){const o=new sg(t.locale);return o.set({id:e,ariaDescribedById:n}),o.bind("isReadOnly").to(t,"isEnabled",(t=>!t)),o.bind("hasError").to(t,"errorText",(t=>!!t)),o.on("input",(()=>{t.errorText=null})),t.bind("isEmpty","isFocused","placeholder").to(o),o}class hg extends Do{static get pluginName(){return"Notification"}init(){this.on("show:warning",((t,e)=>{window.alert(e.message)}),{priority:"lowest"})}showSuccess(t,e={}){this._showNotification({message:t,type:"success",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:"info",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:"warning",namespace:e.namespace,title:e.title})}_showNotification(t){const e=`show:${t.type}`+(t.namespace?`:${t.namespace}`:"");this.fire(e,{message:t.message,type:t.type,title:t.title||""})}}class ug{constructor(t,e){e&&qs(this,e),t&&this.set(t)}}F(ug,B);var gg=n(4650),mg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(gg.Z,mg);gg.Z.locals;var pg=n(7676),fg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(pg.Z,fg);pg.Z.locals;const kg=Mh("px");class bg extends V{static get pluginName(){return"ContextualBalloon"}constructor(t){super(t),this.positionLimiter=()=>{const t=this.editor.editing.view,e=t.document.selection.editableElement;return e?t.domConverter.mapViewToDom(e.root):null},this.set("visibleView",null),this.view=new Ph(t.locale),t.ui.view.body.add(this.view),t.ui.focusTracker.add(this.view.element),this._viewToStack=new Map,this._idToStack=new Map,this.set("_numberOfStacks",0),this.set("_singleViewMode",!1),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}destroy(){super.destroy(),this.view.destroy(),this._rotatorView.destroy(),this._fakePanelsView.destroy()}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this.hasView(t.view))throw new c("contextualballoon-add-view-exist",[this,t]);const e=t.stackId||"main";if(!this._idToStack.has(e))return this._idToStack.set(e,new Map([[t.view,t]])),this._viewToStack.set(t.view,this._idToStack.get(e)),this._numberOfStacks=this._idToStack.size,void(this._visibleStack&&!t.singleViewMode||this.showStack(e));const n=this._idToStack.get(e);t.singleViewMode&&this.showStack(e),n.set(t.view,t),this._viewToStack.set(t.view,n),n===this._visibleStack&&this._showView(t)}remove(t){if(!this.hasView(t))throw new c("contextualballoon-remove-view-not-exist",[this,t]);const e=this._viewToStack.get(t);this._singleViewMode&&this.visibleView===t&&(this._singleViewMode=!1),this.visibleView===t&&(1===e.size?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(e.values())[e.size-2])),1===e.size?(this._idToStack.delete(this._getStackId(e)),this._numberOfStacks=this._idToStack.size):e.delete(t),this._viewToStack.delete(t)}updatePosition(t){t&&(this._visibleStack.get(this.visibleView).position=t),this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e)throw new c("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==e&&this._showView(Array.from(e.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){return Array.from(this._idToStack.entries()).find((e=>e[1]===t))[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;t[e]||(e=0),this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;t[e]||(e=t.length-1),this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new wg(this.editor.locale),e=this.editor.locale.t;return this.view.content.add(t),t.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>!e&&t>1)),t.on("change:isNavigationVisible",(()=>this.updatePosition()),{priority:"low"}),t.bind("counter").to(this,"visibleView",this,"_numberOfStacks",((t,n)=>{if(n<2)return"";const o=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e("%0 of %1",[o,n])})),t.buttonNextView.on("execute",(()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()})),t.buttonPrevView.on("execute",(()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()})),t}_createFakePanelsView(){const t=new _g(this.editor.locale,this.view);return t.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>!e&&t>=2?Math.min(t-1,2):0)),t.listenTo(this.view,"change:top",(()=>t.updatePosition())),t.listenTo(this.view,"change:left",(()=>t.updatePosition())),this.editor.ui.view.body.add(t),t}_showView({view:t,balloonClassName:e="",withArrow:n=!0,singleViewMode:o=!1}){this.view.class=e,this.view.withArrow=n,this._rotatorView.showView(t),this.visibleView=t,this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition(),o&&(this._singleViewMode=!0)}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;return t&&(t.limiter||(t=Object.assign({},t,{limiter:this.positionLimiter})),t=Object.assign({},t,{viewportOffsetConfig:this.editor.ui.viewportOffset})),t}}class wg extends xh{constructor(t){super(t);const e=t.t,n=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new wa,this.buttonPrevView=this._createButtonView(e("Previous"),''),this.buttonNextView=this._createButtonView(e("Next"),''),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",n.to("isNavigationVisible",(t=>t?"":"ck-hidden"))]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:n.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(t){this.hideView(),this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new au(this.locale);return n.set({label:t,icon:e,tooltip:!0}),n}}class _g extends xh{constructor(t,e){super(t);const n=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("height",0),this.set("width",0),this.set("numberOfPanels",0),this.content=this.createCollection(),this._balloonPanelView=e,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",n.to("numberOfPanels",(t=>t?"":"ck-hidden"))],style:{top:n.to("top",kg),left:n.to("left",kg),width:n.to("width",kg),height:n.to("height",kg)}},children:this.content}),this.on("change:numberOfPanels",((t,e,n,o)=>{n>o?this._addPanels(n-o):this._removePanels(o-n),this.updatePosition()}))}_addPanels(t){for(;t--;){const t=new xh;t.setTemplate({tag:"div"}),this.content.add(t),this.registerChild(t)}}_removePanels(t){for(;t--;){const t=this.content.last;this.content.remove(t),this.deregisterChild(t),t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView,{width:n,height:o}=new Ea(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:o})}}}var Ag=n(5868),Cg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Ag.Z,Cg);Ag.Z.locals,Mh("px");const vg=Mh("px");class yg extends V{static get pluginName(){return"BalloonToolbar"}static get requires(){return[bg]}constructor(t){super(t),this._balloonConfig=Eu(t.config.get("balloonToolbar")),this.toolbarView=this._createToolbarView(),this.focusTracker=new wa,t.ui.once("ready",(()=>{this.focusTracker.add(t.ui.getEditableElement()),this.focusTracker.add(this.toolbarView.element)})),t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this.show(!0),afterBlur:()=>this.hide(),isContextual:!0}),this._resizeObserver=null,this._balloon=t.plugins.get(bg),this._fireSelectionChangeDebounced=ca((()=>this.fire("_selectionChangeDebounced")),200),this.decorate("show")}init(){const t=this.editor,e=t.model.document.selection;this.listenTo(this.focusTracker,"change:isFocused",((t,e,n)=>{const o=this._balloon.visibleView===this.toolbarView;!n&&o?this.hide():n&&this.show()})),this.listenTo(e,"change:range",((t,n)=>{(n.directChange||e.isCollapsed)&&this.hide(),this._fireSelectionChangeDebounced()})),this.listenTo(this,"_selectionChangeDebounced",(()=>{this.editor.editing.view.document.isFocused&&this.show()})),this._balloonConfig.shouldNotGroupWhenFull||this.listenTo(t,"ready",(()=>{const e=t.ui.view.editable.element;this._resizeObserver=new fa(e,(()=>{this.toolbarView.maxWidth=vg(.9*new Ea(e).width)}))})),this.listenTo(this.toolbarView,"groupedItemsUpdate",(()=>{this._updatePosition()}))}afterInit(){const t=this.editor.ui.componentFactory;this.toolbarView.fillFromConfig(this._balloonConfig,t)}_createToolbarView(){const t=this.editor.locale.t,e=!this._balloonConfig.shouldNotGroupWhenFull,n=new Tu(this.editor.locale,{shouldGroupWhenFull:e,isFloating:!0});return n.ariaLabel=t("Editor contextual toolbar"),n.render(),n}show(t=!1){const e=this.editor,n=e.model.document.selection,o=e.model.schema;this._balloon.hasView(this.toolbarView)||n.isCollapsed&&!t||function(t,e){if(1===t.rangeCount)return!1;return[...t.getRanges()].every((t=>{const n=t.getContainedElement();return n&&e.isSelectable(n)}))}(n,o)||Array.from(this.toolbarView.items).every((t=>void 0!==t.isEnabled&&!t.isEnabled))||(this.listenTo(this.editor.ui,"update",(()=>{this._updatePosition()})),this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"}))}hide(){this._balloon.hasView(this.toolbarView)&&(this.stopListening(this.editor.ui,"update"),this._balloon.remove(this.toolbarView))}_getBalloonPositionData(){const t=this.editor.editing.view,e=t.document,n=e.selection,o=e.selection.isBackward;return{target:()=>{const e=o?n.getFirstRange():n.getLastRange(),i=Ea.getDomRangeRects(t.domConverter.viewRangeToDom(e));return o?i[0]:(i.length>1&&0===i[i.length-1].width&&i.pop(),i[i.length-1])},positions:this._getBalloonPositions(o)}}_updatePosition(){this._balloon.updatePosition(this._getBalloonPositionData())}destroy(){super.destroy(),this.stopListening(),this._fireSelectionChangeDebounced.cancel(),this.toolbarView.destroy(),this.focusTracker.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_getBalloonPositions(t){const e=lr.isSafari&&lr.isiOS?Lh({heightOffset:Math.max(Ph.arrowHeightOffset,Math.round(20/Ao.window.visualViewport.scale))}):Ph.defaultPositions;return t?[e.northWestArrowSouth,e.northWestArrowSouthWest,e.northWestArrowSouthEast,e.northWestArrowSouthMiddleEast,e.northWestArrowSouthMiddleWest,e.southWestArrowNorth,e.southWestArrowNorthWest,e.southWestArrowNorthEast,e.southWestArrowNorthMiddleWest,e.southWestArrowNorthMiddleEast]:[e.southEastArrowNorth,e.southEastArrowNorthEast,e.southEastArrowNorthWest,e.southEastArrowNorthMiddleEast,e.southEastArrowNorthMiddleWest,e.northEastArrowSouth,e.northEastArrowSouthEast,e.northEastArrowSouthWest,e.northEastArrowSouthMiddleEast,e.northEastArrowSouthMiddleWest]}}var xg=n(9695),Eg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(xg.Z,Eg);xg.Z.locals;const Dg=Mh("px");class Ig extends au{constructor(t){super(t);const e=this.bindTemplate;this.isVisible=!1,this.isToggleable=!0,this.set("top",0),this.set("left",0),this.extendTemplate({attributes:{class:"ck-block-toolbar-button",style:{top:e.to("top",(t=>Dg(t))),left:e.to("left",(t=>Dg(t)))}}})}}const Mg=Mh("px");class Tg extends Hh{constructor(t,e){super(t),this.view=e}get element(){return this.view.editable.element}init(){const t=this.editor,e=this.view,n=t.editing.view,o=e.editable,i=n.document.getRoot();o.name=i.rootName,e.render();const r=o.element;this.setEditableElement(o.name,r),o.bind("isFocused").to(this.focusTracker),n.attachDomRoot(r),this._initPlaceholder(),this.fire("ready")}destroy(){const t=this.view;this.editor.editing.view.detachDomRoot(t.editable.name),t.destroy(),super.destroy()}_initPlaceholder(){const t=this.editor,e=t.editing.view,n=e.document.getRoot(),o=t.sourceElement,i=t.config.get("placeholder")||o&&"textarea"===o.tagName.toLowerCase()&&o.getAttribute("placeholder");i&&yd({view:e,element:n,text:i,isDirectHost:!1,keepOnFocus:!0})}}class Sg extends Ku{constructor(t,e,n){super(t);const o=t.t;this.editable=new tg(t,e,n,{label:t=>o("Rich Text Editor. Editing area: %0",t.name)})}render(){super.render(),this.registerChild(this.editable)}}class Ng extends Xd{constructor(t,e={}){if(!uo(t)&&void 0!==e.initialData)throw new c("editor-create-initial-data",null);super(e),void 0===this.config.get("initialData")&&this.config.set("initialData",function(t){return uo(t)?(e=t,e instanceof HTMLTextAreaElement?e.value:e.innerHTML):t;var e}(t)),uo(t)&&(this.sourceElement=t,function(t){const e=t.sourceElement;if(e){if(e.ckeditorInstance)throw new c("editor-source-element-already-used",t);e.ckeditorInstance=t,t.once("destroy",(()=>{delete e.ckeditorInstance}))}}(this));const n=this.config.get("plugins");n.push(yg),this.config.set("plugins",n),this.config.define("balloonToolbar",this.config.get("toolbar")),this.model.document.createRoot();const o=new Sg(this.locale,this.editing.view,this.sourceElement);this.ui=new Tg(this,o),function(t){if(!It(t.updateSourceElement))throw new c("attachtoform-missing-elementapi-interface",t);const e=t.sourceElement;if(e&&"textarea"===e.tagName.toLowerCase()&&e.form){let n;const o=e.form,i=()=>t.updateSourceElement();It(o.submit)&&(n=o.submit,o.submit=()=>{i(),n.apply(o)}),o.addEventListener("submit",i),t.on("destroy",(()=>{o.removeEventListener("submit",i),n&&(o.submit=n)}))}}(this)}destroy(){const t=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&this.updateSourceElement(t)}))}static create(t,e={}){return new Promise((n=>{if(uo(t)&&"TEXTAREA"===t.tagName)throw new c("editor-wrong-element",null);const o=new this(t,e);n(o.initPlugins().then((()=>o.ui.init())).then((()=>o.data.init(o.config.get("initialData")))).then((()=>o.fire("ready"))).then((()=>o)))}))}}F(Ng,Gh),F(Ng,$h);class Bg{constructor(t){this.files=function(t){const e=Array.from(t.files||[]),n=Array.from(t.items||[]);if(e.length)return e;return n.filter((t=>"file"===t.kind)).map((t=>t.getAsFile()))}(t),this._native=t}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}get isCanceled(){return"none"==this._native.dropEffect||!!this._native.mozUserCancelled}}class Pg extends Ys{constructor(t){super(t);const n=this.document;function o(t){return(o,i)=>{i.preventDefault();const r=i.dropRange?[i.dropRange]:null,s=new e(n,t);n.fire(s,{dataTransfer:i.dataTransfer,method:o.name,targetRanges:r,target:i.target}),s.stop.called&&i.stopPropagation()}}this.domEventType=["paste","copy","cut","drop","dragover","dragstart","dragend","dragenter","dragleave"],this.listenTo(n,"paste",o("clipboardInput"),{priority:"low"}),this.listenTo(n,"drop",o("clipboardInput"),{priority:"low"}),this.listenTo(n,"dragover",o("dragging"),{priority:"low"})}onDomEvent(t){const e={dataTransfer:new Bg(t.clipboardData?t.clipboardData:t.dataTransfer)};"drop"!=t.type&&"dragover"!=t.type||(e.dropRange=function(t,e){const n=e.target.ownerDocument,o=e.clientX,i=e.clientY;let r;n.caretRangeFromPoint&&n.caretRangeFromPoint(o,i)?r=n.caretRangeFromPoint(o,i):e.rangeParent&&(r=n.createRange(),r.setStart(e.rangeParent,e.rangeOffset),r.collapse(!0));if(r)return t.domConverter.domRangeToView(r);return null}(this.view,t)),this.fire(t.type,t,e)}}const zg=["figcaption","li"];function Lg(t){let e="";if(t.is("$text")||t.is("$textProxy"))e=t.data;else if(t.is("element","img")&&t.hasAttribute("alt"))e=t.getAttribute("alt");else if(t.is("element","br"))e="\n";else{let n=null;for(const o of t.getChildren()){const t=Lg(o);n&&(n.is("containerElement")||o.is("containerElement"))&&(zg.includes(n.name)||zg.includes(o.name)?e+="\n":e+="\n\n"),e+=t,n=o}}return e}class Og extends V{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(Pg),this._setupPasteDrop(),this._setupCopyCut()}_setupPasteDrop(){const t=this.editor,n=t.model,o=t.editing.view,i=o.document;this.listenTo(i,"clipboardInput",(e=>{t.isReadOnly&&e.stop()}),{priority:"highest"}),this.listenTo(i,"clipboardInput",((t,n)=>{const i=n.dataTransfer;let r=n.content||"";var s;r||(i.getData("text/html")?r=function(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>1==e.length?" ":e)).replace(//g,"")}(i.getData("text/html")):i.getData("text/plain")&&(((s=(s=i.getData("text/plain")).replace(//g,">").replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g,"  ")).includes("

")||s.includes("
"))&&(s=`

${s}

`),r=s),r=this.editor.data.htmlProcessor.toView(r));const a=new e(this,"inputTransformation");this.fire(a,{content:r,dataTransfer:i,targetRanges:n.targetRanges,method:n.method}),a.stop.called&&t.stop(),o.scrollToTheSelection()}),{priority:"low"}),this.listenTo(this,"inputTransformation",((t,e)=>{if(e.content.isEmpty)return;const o=this.editor.data.toModel(e.content,"$clipboardHolder");0!=o.childCount&&(t.stop(),n.change((()=>{this.fire("contentInsertion",{content:o,method:e.method,dataTransfer:e.dataTransfer,targetRanges:e.targetRanges})})))}),{priority:"low"}),this.listenTo(this,"contentInsertion",((t,e)=>{e.resultRange=n.insertContent(e.content)}),{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,n=t.editing.view.document;function o(o,i){const r=i.dataTransfer;i.preventDefault();const s=t.data.toView(t.model.getSelectedContent(e.selection));n.fire("clipboardOutput",{dataTransfer:r,content:s,method:o.name})}this.listenTo(n,"copy",o,{priority:"low"}),this.listenTo(n,"cut",((e,n)=>{t.isReadOnly?n.preventDefault():o(e,n)}),{priority:"low"}),this.listenTo(n,"clipboardOutput",((n,o)=>{o.content.isEmpty||(o.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(o.content)),o.dataTransfer.setData("text/plain",Lg(o.content))),"cut"==o.method&&t.model.deleteContent(e.selection)}),{priority:"low"})}}function*Rg(t,e){for(const n of e)n&&t.getAttributeProperties(n[0]).copyOnEnter&&(yield n)}class jg extends U{execute(){const t=this.editor.model,e=t.document;t.change((n=>{!function(t,e,n,o){const i=n.isCollapsed,r=n.getFirstRange(),s=r.start.parent,a=r.end.parent;if(o.isLimit(s)||o.isLimit(a))return void(i||s!=a||t.deleteContent(n));if(i){const t=Rg(e.model.schema,n.getAttributes());Fg(e,r.start),e.setSelectionAttribute(t)}else{const o=!(r.start.isAtStart&&r.end.isAtEnd),i=s==a;t.deleteContent(n,{leaveUnmerged:o}),o&&(i?Fg(e,n.focus):e.setSelection(a,0))}}(this.editor.model,n,e.selection,t.schema),this.fire("afterExecute",{writer:n})}))}}function Fg(t,e){t.split(e),t.setSelection(e.parent.nextSibling,0)}class Vg extends vs{constructor(t){super(t);const e=this.document;e.on("keydown",((t,n)=>{if(this.isEnabled&&n.keyCode==gr.enter){const o=new Yi(e,"enter",e.selection.getFirstRange());e.fire(o,new $s(e,n.domEvent,{isSoft:n.shiftKey})),o.stop.called&&t.stop()}}))}observe(){}}class Hg extends V{static get pluginName(){return"Enter"}init(){const t=this.editor,e=t.editing.view,n=e.document;e.addObserver(Vg),t.commands.add("enter",new jg(t)),this.listenTo(n,"enter",((n,o)=>{o.preventDefault(),o.isSoft||(t.execute("enter"),e.scrollToTheSelection())}),{priority:"low"})}}class Ug{constructor(t,e=20){this.model=t,this.size=0,this.limit=e,this.isLocked=!1,this._changeCallback=(t,e)=>{e.isLocal&&e.isUndoable&&e!==this._batch&&this._reset(!0)},this._selectionChangeCallback=()=>{this._reset()},this.model.document.on("change",this._changeCallback),this.model.document.selection.on("change:range",this._selectionChangeCallback),this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}input(t){this.size+=t,this.size>=this.limit&&this._reset(!0)}lock(){this.isLocked=!0}unlock(){this.isLocked=!1}destroy(){this.model.document.off("change",this._changeCallback),this.model.document.selection.off("change:range",this._selectionChangeCallback),this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(t){this.isLocked&&!t||(this._batch=null,this.size=0)}}class Wg extends U{constructor(t,e){super(t),this.direction=e,this._buffer=new Ug(t.model,t.config.get("typing.undoStep"))}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model,n=e.document;e.enqueueChange(this._buffer.batch,(o=>{this._buffer.lock();const i=o.createSelection(t.selection||n.selection),r=t.sequence||1,s=i.isCollapsed;if(i.isCollapsed&&e.modifySelection(i,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(r))return void this._replaceEntireContentWithParagraph(o);if(this._shouldReplaceFirstBlockWithParagraph(i,r))return void this.editor.execute("paragraph",{selection:i});if(i.isCollapsed)return;let a=0;i.getFirstRange().getMinimalFlatRanges().forEach((t=>{a+=Gi(t.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))})),e.deleteContent(i,{doNotResetEntireContent:s,direction:this.direction}),this._buffer.input(a),o.setSelection(i),this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1)return!1;const e=this.editor.model,n=e.document.selection,o=e.schema.getLimitElement(n);if(!(n.isCollapsed&&n.containsEntireContent(o)))return!1;if(!e.schema.checkChild(o,"paragraph"))return!1;const i=o.getChild(0);return!i||"paragraph"!==i.name}_replaceEntireContentWithParagraph(t){const e=this.editor.model,n=e.document.selection,o=e.schema.getLimitElement(n),i=t.createElement("paragraph");t.remove(t.createRangeIn(o)),t.insert(i,o),t.setSelection(i,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||"backward"!=this.direction)return!1;if(!t.isCollapsed)return!1;const o=t.getFirstPosition(),i=n.schema.getLimitElement(o),r=i.getChild(0);return o.parent==r&&(!!t.containsEntireContent(r)&&(!!n.schema.checkChild(i,"paragraph")&&"paragraph"!=r.name))}}function Gg(t){if(t.newChildren.length-t.oldChildren.length!=1)return;const e=function(t,e){const n=[];let o=0,i=null;return t.forEach((t=>{"equal"==t?(r(),o++):"insert"==t?(i&&"insert"==i.type?i.values.push(e[o]):(r(),i={type:"insert",index:o,values:[e[o]]}),o++):i&&"delete"==i.type?i.howMany++:(r(),i={type:"delete",index:o,howMany:1})})),r(),n;function r(){i&&(n.push(i),i=null)}}(Yr(t.oldChildren,t.newChildren,qg),t.newChildren);if(e.length>1)return;const n=e[0];return n.values[0]&&n.values[0].is("$text")?n:void 0}function qg(t,e){return t&&t.is("$text")&&e&&e.is("$text")?t.data===e.data:t===e}function $g(t,e){const n=e.selection,o=t.shiftKey&&t.keyCode===gr.delete,i=!n.isCollapsed;return o&&i}class Yg extends vs{constructor(t){super(t);const e=t.document;let n=0;function o(t,n,o){const i=new Yi(e,"delete",e.selection.getFirstRange());e.fire(i,new $s(e,n,o)),i.stop.called&&t.stop()}e.on("keyup",((t,e)=>{e.keyCode!=gr.delete&&e.keyCode!=gr.backspace||(n=0)})),e.on("keydown",((t,i)=>{if(lr.isWindows&&$g(i,e))return;const r={};if(i.keyCode==gr.delete)r.direction="forward",r.unit="character";else{if(i.keyCode!=gr.backspace)return;r.direction="backward",r.unit="codePoint"}const s=lr.isMac?i.altKey:i.ctrlKey;r.unit=s?"word":r.unit,r.sequence=++n,o(t,i.domEvent,r)})),lr.isAndroid&&e.on("beforeinput",((e,n)=>{if("deleteContentBackward"!=n.domEvent.inputType)return;const i={unit:"codepoint",direction:"backward",sequence:1},r=n.domTarget.ownerDocument.defaultView.getSelection();r.anchorNode==r.focusNode&&r.anchorOffset+1!=r.focusOffset&&(i.selectionToRemove=t.domConverter.domSelectionToView(r)),o(e,n.domEvent,i)}))}observe(){}}class Kg extends V{static get pluginName(){return"Delete"}init(){const t=this.editor,e=t.editing.view,n=e.document,o=t.model.document;e.addObserver(Yg),this._undoOnBackspace=!1;const i=new Wg(t,"forward");if(t.commands.add("deleteForward",i),t.commands.add("forwardDelete",i),t.commands.add("delete",new Wg(t,"backward")),this.listenTo(n,"delete",((n,o)=>{const i={unit:o.unit,sequence:o.sequence};if(o.selectionToRemove){const e=t.model.createSelection(),n=[];for(const e of o.selectionToRemove.getRanges())n.push(t.editing.mapper.toModelRange(e));e.setTo(n),i.selection=e}t.execute("forward"==o.direction?"deleteForward":"delete",i),o.preventDefault(),e.scrollToTheSelection()}),{priority:"low"}),lr.isAndroid){let t=null;this.listenTo(n,"delete",((e,n)=>{const o=n.domTarget.ownerDocument.defaultView.getSelection();t={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}}),{priority:"lowest"}),this.listenTo(n,"keyup",((e,n)=>{if(t){const e=n.domTarget.ownerDocument.defaultView.getSelection();e.collapse(t.anchorNode,t.anchorOffset),e.extend(t.focusNode,t.focusOffset),t=null}}))}this.editor.plugins.has("UndoEditing")&&(this.listenTo(n,"delete",((e,n)=>{this._undoOnBackspace&&"backward"==n.direction&&1==n.sequence&&"codePoint"==n.unit&&(this._undoOnBackspace=!1,t.execute("undo"),n.preventDefault(),e.stop())}),{context:"$capture"}),this.listenTo(o,"change",(()=>{this._undoOnBackspace=!1})))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}class Qg{constructor(){this._stack=[]}add(t,e){const n=this._stack,o=n[0];this._insertDescriptor(t);const i=n[0];o===i||Zg(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:e})}remove(t,e){const n=this._stack,o=n[0];this._removeDescriptor(t);const i=n[0];o===i||Zg(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t.id));if(Zg(t,e[n]))return;n>-1&&e.splice(n,1);let o=0;for(;e[o]&&Jg(e[o],t);)o++;e.splice(o,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t));n>-1&&e.splice(n,1)}}function Zg(t,e){return t&&e&&t.priority==e.priority&&Xg(t.classes)==Xg(e.classes)}function Jg(t,e){return t.priority>e.priority||!(t.priorityXg(e.classes)}function Xg(t){return Array.isArray(t)?t.sort().join(","):t}F(Qg,b);const tm='',em="ck-widget_selected";function nm(t){return!!t.is("element")&&!!t.getCustomProperty("widget")}function om(t,e,n={}){if(!t.is("containerElement"))throw new c("widget-to-widget-wrong-element-type",null,{element:t});return e.setAttribute("contenteditable","false",t),e.addClass("ck-widget",t),e.setCustomProperty("widget",!0,t),t.getFillerOffset=dm,n.label&&function(t,e,n){n.setCustomProperty("widgetLabel",e,t)}(t,n.label,e),n.hasSelectionHandle&&function(t,e){const n=e.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(t){const e=this.toDomElement(t),n=new iu;return n.set("content",tm),n.render(),e.appendChild(n.element),e}));e.insert(e.createPositionAt(t,0),n),e.addClass(["ck-widget_with-selection-handle"],t)}(t,e),sm(t,e),t}function im(t,e,n){if(e.classes&&n.addClass(wo(e.classes),t),e.attributes)for(const o in e.attributes)n.setAttribute(o,e.attributes[o],t)}function rm(t,e,n){if(e.classes&&n.removeClass(wo(e.classes),t),e.attributes)for(const o in e.attributes)n.removeAttribute(o,t)}function sm(t,e,n=im,o=rm){const i=new Qg;i.on("change:top",((e,i)=>{i.oldDescriptor&&o(t,i.oldDescriptor,i.writer),i.newDescriptor&&n(t,i.newDescriptor,i.writer)})),e.setCustomProperty("addHighlight",((t,e,n)=>i.add(e,n)),t),e.setCustomProperty("removeHighlight",((t,e,n)=>i.remove(e,n)),t)}function am(t){const e=t.getCustomProperty("widgetLabel");return e?"function"==typeof e?e():e:""}function cm(t,e,n={}){return e.addClass(["ck-editor__editable","ck-editor__nested-editable"],t),e.setAttribute("role","textbox",t),n.label&&e.setAttribute("aria-label",n.label,t),e.setAttribute("contenteditable",t.isReadOnly?"false":"true",t),t.on("change:isReadOnly",((n,o,i)=>{e.setAttribute("contenteditable",i?"false":"true",t)})),t.on("change:isFocused",((n,o,i)=>{i?e.addClass("ck-editor__nested-editable_focused",t):e.removeClass("ck-editor__nested-editable_focused",t)})),sm(t,e),t}function lm(t,e){const n=t.getSelectedElement();if(n){const o=gm(t);if(o)return e.createRange(e.createPositionAt(n,o))}return Wd(t,e)}function dm(){return null}const hm="widget-type-around";function um(t,e,n){return t&&nm(t)&&!n.isInline(e)}function gm(t){return t.getAttribute(hm)}const mm=[pr("arrowUp"),pr("arrowRight"),pr("arrowDown"),pr("arrowLeft"),9,16,17,18,19,20,27,33,34,35,36,45,91,93,144,145,173,174,175,176,177,178,179,255];for(let t=112;t<=135;t++)mm.push(t);function pm(t){return!(!t.ctrlKey&&!t.metaKey)||mm.includes(t.keyCode)}var fm=n(4921),km={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(fm.Z,km);fm.Z.locals;const bm=["before","after"],wm=(new DOMParser).parseFromString('',"image/svg+xml").firstChild,_m="ck-widget__type-around_disabled";class Am extends V{static get pluginName(){return"WidgetTypeAround"}static get requires(){return[Hg,Kg]}constructor(t){super(t),this._currentFakeCaretModelElement=null}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",((n,o,i)=>{e.change((t=>{for(const n of e.document.roots)i?t.removeClass(_m,n):t.addClass(_m,n)})),i||t.model.change((t=>{t.removeSelectionAttribute(hm)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,o=n.editing.view,i=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:i}),o.focus(),o.scrollToTheSelection()}_listenToIfEnabled(t,e,n,o){this.listenTo(t,e,((...t)=>{this.isEnabled&&n(...t)}),o)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor.model.document.selection,e=gm(t);if(!e)return!1;const n=t.getSelectedElement();return this._insertParagraph(n,e),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,o={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",((t,n,i)=>{const r=i.mapper.toViewElement(n.item);um(r,n.item,e)&&function(t,e,n){const o=t.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(t){const n=this.toDomElement(t);return function(t,e){for(const n of bm){const o=new oh({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${n}`],title:e[n]},children:[t.ownerDocument.importNode(wm,!0)]});t.appendChild(o.render())}}(n,e),function(t){const e=new oh({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});t.appendChild(e.render())}(n),n}));t.insert(t.createPositionAt(n,"end"),o)}(i.writer,o,r)}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,o=e.schema,i=t.editing.view;function r(t){return`ck-widget_type-around_show-fake-caret_${t}`}this._listenToIfEnabled(i.document,"arrowKey",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[nm,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",((e,n)=>{n.directChange&&t.model.change((t=>{t.removeSelectionAttribute(hm)}))})),this._listenToIfEnabled(e.document,"change:data",(()=>{const e=n.getSelectedElement();if(e){if(um(t.editing.mapper.toViewElement(e),e,o))return}t.model.change((t=>{t.removeSelectionAttribute(hm)}))})),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",((t,e,n)=>{const i=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);t&&(i.removeClass(bm.map(r),t),this._currentFakeCaretModelElement=null)}const s=e.selection.getSelectedElement();if(!s)return;const a=n.mapper.toViewElement(s);if(!um(a,s,o))return;const c=gm(e.selection);c&&(i.addClass(r(c),a),this._currentFakeCaretModelElement=s)})),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",((e,n,o)=>{o||t.model.change((t=>{t.removeSelectionAttribute(hm)}))}))}_handleArrowKeyPress(t,e){const n=this.editor,o=n.model,i=o.document.selection,r=o.schema,s=n.editing.view,a=function(t,e){const n=br(t,e);return"down"===n||"right"===n}(e.keyCode,n.locale.contentLanguageDirection),c=s.document.selection.getSelectedElement();let l;um(c,n.editing.mapper.toModelElement(c),r)?l=this._handleArrowKeyPressOnSelectedWidget(a):i.isCollapsed?l=this._handleArrowKeyPressWhenSelectionNextToAWidget(a):e.shiftKey||(l=this._handleArrowKeyPressWhenNonCollapsedSelection(a)),l&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor.model,n=gm(e.document.selection);return e.change((e=>{if(!n)return e.setSelectionAttribute(hm,t?"after":"before"),!0;if(!(n===(t?"after":"before")))return e.removeSelectionAttribute(hm),!0;return!1}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,o=n.schema,i=e.plugins.get("Widget"),r=i._getObjectElementNextToSelection(t);return!!um(e.editing.mapper.toViewElement(r),r,o)&&(n.change((e=>{i._setSelectionOverElement(r),e.setSelectionAttribute(hm,t?"before":"after")})),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,o=n.schema,i=e.editing.mapper,r=n.document.selection,s=t?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter;return!!um(i.toViewElement(s),s,o)&&(n.change((e=>{e.setSelection(s,"on"),e.setSelectionAttribute(hm,t?"after":"before")})),!0)}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",((n,o)=>{const i=o.domTarget.closest(".ck-widget__type-around__button");if(!i)return;const r=function(t){return t.classList.contains("ck-widget__type-around__button_before")?"before":"after"}(i),s=function(t,e){const n=t.closest(".ck-widget");return e.mapDomToView(n)}(i,e.domConverter),a=t.editing.mapper.toModelElement(s);this._insertParagraph(a,r),o.preventDefault(),n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",((n,o)=>{if("atTarget"!=n.eventPhase)return;const i=e.getSelectedElement(),r=t.editing.mapper.toViewElement(i),s=t.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:um(r,i,s)&&(this._insertParagraph(i,o.isSoft?"before":"after"),a=!0),a&&(o.preventDefault(),n.stop())}),{context:nm})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor.editing.view,e=[gr.enter,gr.delete,gr.backspace];this._listenToIfEnabled(t.document,"keydown",((t,n)=>{e.includes(n.keyCode)||pm(n)||this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"high"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,o=n.schema;this._listenToIfEnabled(e.document,"delete",((e,i)=>{if("atTarget"!=e.eventPhase)return;const r=gm(n.document.selection);if(!r)return;const s=i.direction,a=n.document.selection.getSelectedElement(),c="forward"==s;if("before"===r===c)t.execute("delete",{selection:n.createSelection(a,"on")});else{const e=o.getNearestSelectionRange(n.createPositionAt(a,r),s);if(e)if(e.isCollapsed){const i=n.createSelection(e.start);if(n.modifySelection(i,{direction:s}),i.focus.isEqual(e.start)){const t=function(t,e){let n=e;for(const o of e.getAncestors({parentFirst:!0})){if(o.childCount>1||t.isLimit(o))break;n=o}return n}(o,e.start.parent);n.deleteContent(n.createSelection(t,"on"),{doNotAutoparagraph:!0})}else n.change((n=>{n.setSelection(e),t.execute(c?"deleteForward":"delete")}))}else n.change((n=>{n.setSelection(e),t.execute(c?"deleteForward":"delete")}))}i.preventDefault(),e.stop()}),{context:nm})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",((t,[o,i])=>{if(i&&!i.is("documentSelection"))return;const r=gm(n);return r?(t.stop(),e.change((t=>{const i=n.getSelectedElement(),s=e.createPositionAt(i,r),a=t.createSelection(s),c=e.insertContent(o,a);return t.setSelection(a),c}))):void 0}),{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",((t,n)=>{const[,o,,i={}]=n;if(o&&!o.is("documentSelection"))return;const r=gm(e);r&&(i.findOptimalPosition=r,n[3]=i)}),{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",((t,[n])=>{if(n&&!n.is("documentSelection"))return;gm(e)&&t.stop()}),{priority:"high"})}}function Cm(t){const e=t.model;return(n,o)=>{const i=o.keyCode==gr.arrowup,r=o.keyCode==gr.arrowdown,s=o.shiftKey,a=e.document.selection;if(!i&&!r)return;const c=r;if(s&&function(t,e){return!t.isCollapsed&&t.isBackward==e}(a,c))return;const l=function(t,e,n){const o=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition(),n=vm(o,t,"forward");if(!n)return null;const i=o.createRange(t,n),r=ym(o.schema,i,"backward");return r?o.createRange(t,r):null}{const t=e.isCollapsed?e.focus:e.getFirstPosition(),n=vm(o,t,"backward");if(!n)return null;const i=o.createRange(n,t),r=ym(o.schema,i,"forward");return r?o.createRange(r,t):null}}(t,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(l.isCollapsed||function(t,e,n){const o=t.model,i=t.view.domConverter;if(n){const t=o.createSelection(e.start);o.modifySelection(t),t.focus.isAtEnd||e.start.isEqual(t.focus)||(e=o.createRange(t.focus,e.end))}const r=t.mapper.toViewRange(e),s=i.viewRangeToDom(r),a=Ea.getDomRangeRects(s);let c;for(const t of a)if(void 0!==c){if(Math.round(t.top)>=c)return!1;c=Math.max(c,Math.round(t.bottom))}else c=Math.round(t.bottom);return!0}(t,l,c))&&(e.change((t=>{const n=c?l.end:l.start;if(s){const o=e.createSelection(a.anchor);o.setFocus(n),t.setSelection(o)}else t.setSelection(n)})),n.stop(),o.preventDefault(),o.stopPropagation())}}}function vm(t,e,n){const o=t.schema,i=t.createRangeIn(e.root),r="forward"==n?"elementStart":"elementEnd";for(const{previousPosition:t,item:s,type:a}of i.getWalker({startPosition:e,direction:n})){if(o.isLimit(s)&&!o.isInline(s))return t;if(a==r&&o.isBlock(s))return null}return null}function ym(t,e,n){const o="backward"==n?e.end:e.start;if(t.checkChild(o,"$text"))return o;for(const{nextPosition:o}of e.getWalker({direction:n}))if(t.checkChild(o,"$text"))return o;return null}var xm=n(3488),Em={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(xm.Z,Em);xm.Z.locals;class Dm extends V{static get pluginName(){return"Widget"}static get requires(){return[Am,Kg]}init(){const t=this.editor,e=t.editing.view,n=e.document;this._previouslySelected=new Set,this.editor.editing.downcastDispatcher.on("selection",((e,n,o)=>{const i=o.writer,r=n.selection;if(r.isCollapsed)return;const s=r.getSelectedElement();if(!s)return;const a=t.editing.mapper.toViewElement(s);nm(a)&&o.consumable.consume(r,"selection")&&i.setSelection(i.createRangeOn(a),{fake:!0,label:am(a)})})),this.editor.editing.downcastDispatcher.on("selection",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const o=n.writer,i=o.document.selection;let r=null;for(const t of i.getRanges())for(const e of t){const t=e.item;nm(t)&&!Im(t,r)&&(o.addClass(em,t),this._previouslySelected.add(t),r=t)}}),{priority:"low"}),e.addObserver(Vd),this.listenTo(n,"mousedown",((...t)=>this._onMousedown(...t))),this.listenTo(n,"arrowKey",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[nm,"$text"]}),this.listenTo(n,"arrowKey",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:"$root"}),this.listenTo(n,"arrowKey",Cm(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",((t,e)=>{this._handleDelete("forward"==e.direction)&&(e.preventDefault(),t.stop())}),{context:"$root"})}_onMousedown(t,e){const n=this.editor,o=n.editing.view,i=o.document;let r=e.target;if(function(t){for(;t;){if(t.is("editableElement")&&!t.is("rootElement"))return!0;if(nm(t))return!1;t=t.parent}return!1}(r)){if((lr.isSafari||lr.isGecko)&&e.domEvent.detail>=3){const t=n.editing.mapper,o=r.is("attributeElement")?r.findAncestor((t=>!t.is("attributeElement"))):r,i=t.toModelElement(o);e.preventDefault(),this.editor.model.change((t=>{t.setSelection(i,"in")}))}return}if(!nm(r)&&(r=r.findAncestor(nm),!r))return;lr.isAndroid&&e.preventDefault(),i.isFocused||o.focus();const s=n.editing.mapper.toModelElement(r);this._setSelectionOverElement(s)}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,o=this.editor.model,i=o.schema,r=o.document.selection,s=r.getSelectedElement(),a=br(n,this.editor.locale.contentLanguageDirection),c="down"==a||"right"==a,l="up"==a||"down"==a;if(s&&i.isObject(s)){const n=c?r.getLastPosition():r.getFirstPosition(),s=i.getNearestSelectionRange(n,c?"forward":"backward");return void(s&&(o.change((t=>{t.setSelection(s)})),e.preventDefault(),t.stop()))}if(!r.isCollapsed&&!e.shiftKey){const n=r.getFirstPosition(),s=r.getLastPosition(),a=n.nodeAfter,l=s.nodeBefore;return void((a&&i.isObject(a)||l&&i.isObject(l))&&(o.change((t=>{t.setSelection(c?s:n)})),e.preventDefault(),t.stop()))}if(!r.isCollapsed)return;const d=this._getObjectElementNextToSelection(c);if(d&&i.isObject(d)){if(i.isInline(d)&&l)return;this._setSelectionOverElement(d),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,o=n.schema,i=n.document.selection.getSelectedElement();i&&o.isObject(i)&&(e.preventDefault(),t.stop())}_handleDelete(t){if(this.editor.isReadOnly)return;const e=this.editor.model.document.selection;if(!e.isCollapsed)return;const n=this._getObjectElementNextToSelection(t);return n?(this.editor.model.change((t=>{let o=e.anchor.parent;for(;o.isEmpty;){const e=o;o=e.parent,t.remove(e)}this._setSelectionOverElement(n)})),!0):void 0}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,o=e.document.selection,i=e.createSelection(o);if(e.modifySelection(i,{direction:t?"forward":"backward"}),i.isEqual(o))return null;const r=t?i.focus.nodeBefore:i.focus.nodeAfter;return r&&n.isObject(r)?r:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(em,e);this._previouslySelected.clear()}}function Im(t,e){return!!e&&Array.from(t.getAncestors()).includes(e)}const Mm=function(t,e,n){var o=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return D(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),ca(t,e,{leading:o,maxWait:e,trailing:i})};var Tm=n(903),Sm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Tm.Z,Sm);Tm.Z.locals;class Nm extends V{static get pluginName(){return"DragDrop"}static get requires(){return[Og,Dm]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,this._updateDropMarkerThrottled=Mm((t=>this._updateDropMarker(t)),40),this._removeDropMarkerDelayed=zm((()=>this._removeDropMarker()),40),this._clearDraggableAttributesDelayed=zm((()=>this._clearDraggableAttributes()),40),e.addObserver(Pg),e.addObserver(Vd),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDropMarker(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",((t,e,n)=>{n?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")})),this.on("change:isEnabled",((t,e,n)=>{n||this._finalizeDragging(!1)})),lr.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._updateDropMarkerThrottled.cancel(),this._removeDropMarkerDelayed.cancel(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=e.document,o=t.editing.view,i=o.document;this.listenTo(i,"dragstart",((o,s)=>{const a=n.selection;if(s.target&&s.target.is("editableElement"))return void s.preventDefault();const c=s.target?Lm(s.target):null;if(c){const n=t.editing.mapper.toModelElement(c);this._draggedRange=uc.fromRange(e.createRangeOn(n)),t.plugins.has("WidgetToolbarRepository")&&t.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop")}else if(!i.selection.isCollapsed){const t=i.selection.getSelectedElement();t&&nm(t)||(this._draggedRange=uc.fromRange(a.getFirstRange()))}if(!this._draggedRange)return void s.preventDefault();this._draggingUid=r(),s.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",s.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const l=e.createSelection(this._draggedRange.toRange()),d=t.data.toView(e.getSelectedContent(l));i.fire("clipboardOutput",{dataTransfer:s.dataTransfer,content:d,method:o.name}),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")}),{priority:"low"}),this.listenTo(i,"dragend",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&"move"==e.dataTransfer.dropEffect)}),{priority:"low"}),this.listenTo(i,"dragenter",(()=>{this.isEnabled&&o.focus()})),this.listenTo(i,"dragleave",(()=>{this._removeDropMarkerDelayed()})),this.listenTo(i,"dragging",((e,n)=>{if(!this.isEnabled)return void(n.dataTransfer.dropEffect="none");this._removeDropMarkerDelayed.cancel();const o=Bm(t,n.targetRanges,n.target);this._draggedRange||(n.dataTransfer.dropEffect="copy"),lr.isGecko||("copy"==n.dataTransfer.effectAllowed?n.dataTransfer.dropEffect="copy":["all","copyMove"].includes(n.dataTransfer.effectAllowed)&&(n.dataTransfer.dropEffect="move")),o&&this._updateDropMarkerThrottled(o)}),{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"clipboardInput",((e,n)=>{if("drop"!=n.method)return;const o=Bm(t,n.targetRanges,n.target);if(this._removeDropMarker(),!o)return this._finalizeDragging(!1),void e.stop();this._draggedRange&&this._draggingUid!=n.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="");if("move"==Pm(n.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(o,!0))return this._finalizeDragging(!1),void e.stop();n.targetRanges=[t.editing.mapper.toViewRange(o)]}),{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(Og);t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||"drop"!==e.method)return;const n=e.targetRanges.map((t=>this.editor.editing.mapper.toModelRange(t)));this.editor.model.change((t=>t.setSelection(n)))}),{priority:"high"}),t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||"drop"!==e.method)return;const n="move"==Pm(e.dataTransfer),o=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(o&&n)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",((o,i)=>{if(lr.isAndroid||!i)return;this._clearDraggableAttributesDelayed.cancel();let r=Lm(i.target);if(lr.isBlink&&!t.isReadOnly&&!r&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();t&&nm(t)||(r=n.selection.editableElement)}r&&(e.change((t=>{t.setAttribute("draggable","true",r)})),this._draggableElement=t.editing.mapper.toModelElement(r))})),this.listenTo(n,"mouseup",(()=>{lr.isAndroid||this._clearDraggableAttributesDelayed()}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{this._draggableElement&&"$graveyard"!=this._draggableElement.root.rootName&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null}))}_setupDropMarker(){const t=this.editor;t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text"))return n.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(t){const e=this.toDomElement(t);return e.append("⁠",t.createElement("span"),"⁠"),e}))}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change((e=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||e.updateMarker("drop-target",{range:t}):e.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})}))}_removeDropMarker(){const t=this.editor.model;this._removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),t.markers.has("drop-target")&&t.change((t=>{t.removeMarker("drop-target")}))}_finalizeDragging(t){const e=this.editor,n=e.model;this._removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._draggedRange&&(t&&this.isEnabled&&n.deleteContent(n.createSelection(this._draggedRange),{doNotAutoparagraph:!0}),this._draggedRange.detach(),this._draggedRange=null)}}function Bm(t,e,n){const o=t.model,i=t.editing.mapper;let r=null;const s=e?e[0].start:null;if(n.is("uiElement")&&(n=n.parent),r=function(t,e){const n=t.model,o=t.editing.mapper;if(nm(e))return n.createRangeOn(o.toModelElement(e));if(!e.is("editableElement")){const t=e.findAncestor((t=>nm(t)||t.is("editableElement")));if(nm(t))return n.createRangeOn(o.toModelElement(t))}return null}(t,n),r)return r;const a=function(t,e){const n=t.editing.mapper,o=t.editing.view,i=n.toModelElement(e);if(i)return i;const r=o.createPositionBefore(e),s=n.findMappedViewAncestor(r);return n.toModelElement(s)}(t,n),c=s?i.toModelPosition(s):null;return c?(r=function(t,e,n){const o=t.model;if(!o.schema.checkChild(n,"$block"))return null;const i=o.createPositionAt(n,0),r=e.path.slice(0,i.path.length),s=o.createPositionFromPath(e.root,r).nodeAfter;if(s&&o.schema.isObject(s))return o.createRangeOn(s);return null}(t,c,a),r||(r=o.schema.getNearestSelectionRange(c,lr.isGecko?"forward":"backward"),r||function(t,e){const n=t.model;for(;e;){if(n.schema.isObject(e))return n.createRangeOn(e);e=e.parent}}(t,c.parent))):function(t,e){const n=t.model,o=n.schema,i=n.createPositionAt(e,0);return o.getNearestSelectionRange(i,"forward")}(t,a)}function Pm(t){return lr.isGecko?t.dropEffect:["all","copyMove"].includes(t.effectAllowed)?"move":"copy"}function zm(t,e){let n;function o(...i){o.cancel(),n=setTimeout((()=>t(...i)),e)}return o.cancel=()=>{clearTimeout(n)},o}function Lm(t){if(t.is("editableElement"))return null;if(t.hasClass("ck-widget__selection-handle"))return t.findAncestor(nm);if(nm(t))return t;const e=t.findAncestor((t=>nm(t)||t.is("editableElement")));return nm(e)?e:null}class Om extends V{static get pluginName(){return"PastePlainText"}static get requires(){return[Og]}init(){const t=this.editor,e=t.model,n=t.editing.view,o=n.document,i=e.document.selection;let r=!1;n.addObserver(Pg),this.listenTo(o,"keydown",((t,e)=>{r=e.shiftKey})),t.plugins.get(Og).on("contentInsertion",((t,n)=>{(r||function(t,e){if(t.childCount>1)return!1;const n=t.getChild(0);if(e.isObject(n))return!1;return 0==[...n.getAttributeKeys()].length}(n.content,e.schema))&&e.change((t=>{const o=Array.from(i.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));i.isCollapsed||e.deleteContent(i,{doNotAutoparagraph:!0}),o.push(...i.getAttributes());const r=t.createRangeIn(n.content);for(const e of r.getItems())e.is("$textProxy")&&t.setAttributes(o,e)}))}))}}class Rm extends V{static get pluginName(){return"Clipboard"}static get requires(){return[Og,Nm,Om]}}class jm extends U{execute(){const t=this.editor.model,e=t.document;t.change((n=>{!function(t,e,n){const o=n.isCollapsed,i=n.getFirstRange(),r=i.start.parent,s=i.end.parent,a=r==s;if(o){const o=Rg(t.schema,n.getAttributes());Fm(t,e,i.end),e.removeSelectionAttribute(n.getAttributeKeys()),e.setSelectionAttribute(o)}else{const o=!(i.start.isAtStart&&i.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:o}),a?Fm(t,e,n.focus):o&&e.setSelection(s,0)}}(t,n,e.selection),this.fire("afterExecute",{writer:n})}))}refresh(){const t=this.editor.model,e=t.document;this.isEnabled=function(t,e){if(e.rangeCount>1)return!1;const n=e.anchor;if(!n||!t.checkChild(n,"softBreak"))return!1;const o=e.getFirstRange(),i=o.start.parent,r=o.end.parent;if((Vm(i,t)||Vm(r,t))&&i!==r)return!1;return!0}(t.schema,e.selection)}}function Fm(t,e,n){const o=e.createElement("softBreak");t.insertContent(o,n),e.setSelection(o,"after")}function Vm(t,e){return!t.is("rootElement")&&(e.isLimit(t)||Vm(t.parent,e))}class Hm extends V{static get pluginName(){return"ShiftEnter"}init(){const t=this.editor,e=t.model.schema,n=t.conversion,o=t.editing.view,i=o.document;e.register("softBreak",{allowWhere:"$text",isInline:!0}),n.for("upcast").elementToElement({model:"softBreak",view:"br"}),n.for("downcast").elementToElement({model:"softBreak",view:(t,{writer:e})=>e.createEmptyElement("br")}),o.addObserver(Vg),t.commands.add("shiftEnter",new jm(t)),this.listenTo(i,"enter",((e,n)=>{n.preventDefault(),n.isSoft&&(t.execute("shiftEnter"),o.scrollToTheSelection())}),{priority:"low"})}}class Um extends U{constructor(t){super(t),this.affectsData=!1}execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!Wm(t.schema,n))do{if(n=n.parent,!n)return}while(!Wm(t.schema,n));t.change((t=>{t.setSelection(n,"in")}))}}function Wm(t,e){return t.isLimit(e)&&(t.checkChild(e,"$text")||t.checkChild(e,"paragraph"))}const Gm=fr("Ctrl+A");class qm extends V{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,e=t.editing.view.document;t.commands.add("selectAll",new Um(t)),this.listenTo(e,"keydown",((e,n)=>{pr(n)===Gm&&(t.execute("selectAll"),n.preventDefault())}))}}class $m extends V{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",(e=>{const n=t.commands.get("selectAll"),o=new au(e),i=e.t;return o.set({label:i("Select all"),icon:'',keystroke:"Ctrl+A",tooltip:!0}),o.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(o,"execute",(()=>{t.execute("selectAll"),t.editing.view.focus()})),o}))}}class Ym extends V{static get requires(){return[qm,$m]}static get pluginName(){return"SelectAll"}}class Km extends U{constructor(t,e){super(t),this._buffer=new Ug(t.model,e)}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(t={}){const e=this.editor.model,n=e.document,o=t.text||"",i=o.length,r=t.range?e.createSelection(t.range):n.selection,s=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock(),e.deleteContent(r),o&&e.insertContent(t.createText(o,n.selection.getAttributes()),r),s?t.setSelection(s):r.is("documentSelection")||t.setSelection(r),this._buffer.unlock(),this._buffer.input(i)}))}}class Qm{constructor(t){this.editor=t,this.editing=this.editor.editing}handle(t,e){if(function(t){if(0==t.length)return!1;for(const e of t)if("children"===e.type&&!Gg(e))return!0;return!1}(t))this._handleContainerChildrenMutations(t,e);else for(const n of t)this._handleTextMutation(n,e),this._handleTextNodeInsertion(n)}_handleContainerChildrenMutations(t,e){const n=function(t){const e=t.map((t=>t.node)).reduce(((t,e)=>t.getCommonAncestor(e,{includeSelf:!0})));if(!e)return;return e.getAncestors({includeSelf:!0,parentFirst:!0}).find((t=>t.is("containerElement")||t.is("rootElement")))}(t);if(!n)return;const o=this.editor.editing.view.domConverter.mapViewToDom(n),i=new ms(this.editor.editing.view.document),r=this.editor.data.toModel(i.domToView(o)).getChild(0),s=this.editor.editing.mapper.toModelElement(n);if(!s)return;const a=Array.from(r.getChildren()),c=Array.from(s.getChildren()),l=a[a.length-1],d=c[c.length-1],h=l&&l.is("element","softBreak"),u=d&&!d.is("element","softBreak");h&&u&&a.pop();const g=this.editor.model.schema;if(!Zm(a,g)||!Zm(c,g))return;const m=a.map((t=>t.is("$text")?t.data:"@")).join("").replace(/\u00A0/g," "),p=c.map((t=>t.is("$text")?t.data:"@")).join("").replace(/\u00A0/g," ");if(p===m)return;const f=Yr(p,m),{firstChangeAt:k,insertions:b,deletions:w}=Jm(f);let _=null;e&&(_=this.editing.mapper.toModelRange(e.getFirstRange()));const A=m.substr(k,b),C=this.editor.model.createRange(this.editor.model.createPositionAt(s,k),this.editor.model.createPositionAt(s,k+w));this.editor.execute("input",{text:A,range:C,resultRange:_})}_handleTextMutation(t,e){if("text"!=t.type)return;const n=t.newText.replace(/\u00A0/g," "),o=t.oldText.replace(/\u00A0/g," ");if(o===n)return;const i=Yr(o,n),{firstChangeAt:r,insertions:s,deletions:a}=Jm(i);let c=null;e&&(c=this.editing.mapper.toModelRange(e.getFirstRange()));const l=this.editing.view.createPositionAt(t.node,r),d=this.editing.mapper.toModelPosition(l),h=this.editor.model.createRange(d,d.getShiftedBy(a)),u=n.substr(r,s);this.editor.execute("input",{text:u,range:h,resultRange:c})}_handleTextNodeInsertion(t){if("children"!=t.type)return;const e=Gg(t),n=this.editing.view.createPositionAt(t.node,e.index),o=this.editing.mapper.toModelPosition(n),i=e.values[0].data;this.editor.execute("input",{text:i.replace(/\u00A0/g," "),range:this.editor.model.createRange(o)})}}function Zm(t,e){return t.every((t=>e.isInline(t)))}function Jm(t){let e=null,n=null;for(let o=0;o{n.deleteContent(n.document.selection)})),t.unlock()}lr.isAndroid?o.document.on("beforeinput",((t,e)=>r(e)),{priority:"lowest"}):o.document.on("keydown",((t,e)=>r(e)),{priority:"lowest"}),o.document.on("compositionstart",(function(){const t=n.document,e=1!==t.selection.rangeCount||t.selection.getFirstRange().isFlat;t.selection.isCollapsed||e||s()}),{priority:"lowest"}),o.document.on("compositionend",(()=>{e=n.createSelection(n.document.selection)}),{priority:"lowest"})}(t),function(t){t.editing.view.document.on("mutations",((e,n,o)=>{new Qm(t).handle(n,o)}))}(t)}}class tp extends V{static get requires(){return[Xm,Kg]}static get pluginName(){return"Typing"}}function ep(t,e){let n=t.start;return{text:Array.from(t.getItems()).reduce(((t,o)=>o.is("$text")||o.is("$textProxy")?t+o.data:(n=e.createPositionAfter(o),"")),""),range:e.createRange(n,t.end)}}class np{constructor(t,e){this.model=t,this.testCallback=e,this.hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",(()=>{this.isEnabled?this._startListening():(this.stopListening(t.document.selection),this.stopListening(t.document))})),this._startListening()}_startListening(){const t=this.model.document;this.listenTo(t.selection,"change:range",((e,{directChange:n})=>{n&&(t.selection.isCollapsed?this._evaluateTextBeforeSelection("selection"):this.hasMatch&&(this.fire("unmatched"),this.hasMatch=!1))})),this.listenTo(t,"change:data",((t,e)=>{!e.isUndo&&e.isLocal&&this._evaluateTextBeforeSelection("data",{batch:e})}))}_evaluateTextBeforeSelection(t,e={}){const n=this.model,o=n.document.selection,i=n.createRange(n.createPositionAt(o.focus.parent,0),o.focus),{text:r,range:s}=ep(i,n),a=this.testCallback(r);if(!a&&this.hasMatch&&this.fire("unmatched"),this.hasMatch=!!a,a){const n=Object.assign(e,{text:r,range:s});"object"==typeof a&&Object.assign(n,a),this.fire(`matched:${t}`,n)}}}F(np,B);class op extends V{static get pluginName(){return"TwoStepCaretMovement"}constructor(t){super(t),this.attributes=new Set,this._overrideUid=null}init(){const t=this.editor,e=t.model,n=t.editing.view,o=t.locale,i=e.document.selection;this.listenTo(n.document,"arrowKey",((t,e)=>{if(!i.isCollapsed)return;if(e.shiftKey||e.altKey||e.ctrlKey)return;const n=e.keyCode==gr.arrowright,r=e.keyCode==gr.arrowleft;if(!n&&!r)return;const s=o.contentLanguageDirection;let a=!1;a="ltr"===s&&n||"rtl"===s&&r?this._handleForwardMovement(e):this._handleBackwardMovement(e),!0===a&&t.stop()}),{context:"$text",priority:"highest"}),this._isNextGravityRestorationSkipped=!1,this.listenTo(i,"change:range",((t,e)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!e.directChange&&ap(i.getFirstPosition(),this.attributes)||this._restoreGravity())}))}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes,n=this.editor.model.document.selection,o=n.getFirstPosition();return!this._isGravityOverridden&&((!o.isAtStart||!ip(n,e))&&(ap(o,e)?(sp(t),this._overrideGravity(),!0):void 0))}_handleBackwardMovement(t){const e=this.attributes,n=this.editor.model,o=n.document.selection,i=o.getFirstPosition();return this._isGravityOverridden?(sp(t),this._restoreGravity(),rp(n,e,i),!0):i.isAtStart?!!ip(o,e)&&(sp(t),rp(n,e,i),!0):function(t,e){return ap(t.getShiftedBy(-1),e)}(i,e)?i.isAtEnd&&!ip(o,e)&&ap(i,e)?(sp(t),rp(n,e,i),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1):void 0}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((t=>t.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((t=>{t.restoreSelectionGravity(this._overrideUid),this._overrideUid=null}))}}function ip(t,e){for(const n of e)if(t.hasAttribute(n))return!0;return!1}function rp(t,e,n){const o=n.nodeBefore;t.change((t=>{o?t.setSelectionAttribute(o.getAttributes()):t.removeSelectionAttribute(e)}))}function sp(t){t.preventDefault()}function ap(t,e){const{nodeBefore:n,nodeAfter:o}=t;for(const t of e){const e=n?n.getAttribute(t):void 0;if((o?o.getAttribute(t):void 0)!==e)return!0}return!1}var cp=/[\\^$.*+?()[\]{}|]/g,lp=RegExp(cp.source);const dp=function(t){return(t=Jo(t))&&lp.test(t)?t.replace(cp,"\\$&"):t},hp={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:/(^|[^/a-z0-9])(1\/2)([^/a-z0-9])$/i,to:[null,"½",null]},oneThird:{from:/(^|[^/a-z0-9])(1\/3)([^/a-z0-9])$/i,to:[null,"⅓",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\/3)([^/a-z0-9])$/i,to:[null,"⅔",null]},oneForth:{from:/(^|[^/a-z0-9])(1\/4)([^/a-z0-9])$/i,to:[null,"¼",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\/4)([^/a-z0-9])$/i,to:[null,"¾",null]},lessThanOrEqual:{from:"<=",to:"≤"},greaterThanOrEqual:{from:">=",to:"≥"},notEqual:{from:"!=",to:"≠"},arrowLeft:{from:"<-",to:"←"},arrowRight:{from:"->",to:"→"},horizontalEllipsis:{from:"...",to:"…"},enDash:{from:/(^| )(--)( )$/,to:[null,"–",null]},emDash:{from:/(^| )(---)( )$/,to:[null,"—",null]},quotesPrimary:{from:kp('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:kp("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:kp("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:kp('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:kp('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:kp("'"),to:[null,"‚",null,"’"]}},up={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]},gp=["symbols","mathematical","typography","quotes"];function mp(t){return"string"==typeof t?new RegExp(`(${dp(t)})$`):t}function pp(t){return"string"==typeof t?()=>[t]:t instanceof Array?()=>t:t}function fp(t){return(t.textNode?t.textNode:t.nodeAfter).getAttributes()}function kp(t){return new RegExp(`(^|\\s)(${t})([^${t}]*)(${t})$`)}function bp(t,e,n,o){return o.createRange(wp(t,e,n,!0,o),wp(t,e,n,!1,o))}function wp(t,e,n,o,i){let r=t.textNode||(o?t.nodeBefore:t.nodeAfter),s=null;for(;r&&r.getAttribute(e)==n;)s=r,r=o?r.previousSibling:r.nextSibling;return s?i.createPositionAt(s,o?"before":"after"):t}class _p extends U{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this.listenTo(t.data,"set",((t,e)=>{e[1]={...e[1]};const n=e[1];n.batchType||(n.batchType={isUndoable:!1})}),{priority:"high"}),this.listenTo(t.data,"set",((t,e)=>{e[1].batchType.isUndoable||this.clearStack()}))}refresh(){this.isEnabled=this._stack.length>0}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const o=this.editor.model,i=o.document,r=[],s=t.map((t=>t.getTransformedByOperations(n))),a=s.flat();for(const t of s){const e=t.filter((t=>t.root!=i.graveyard)).filter((t=>!Cp(t,a)));e.length&&(Ap(e),r.push(e[0]))}r.length&&o.change((t=>{t.setSelection(r,{backward:e})}))}_undo(t,e){const n=this.editor.model,o=n.document;this._createdBatches.add(e);const i=t.operations.slice().filter((t=>t.isDocumentOperation));i.reverse();for(const t of i){const i=t.baseVersion+1,r=Array.from(o.history.getOperations(i)),s=Bd([t.getReversed()],r,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(const i of s)e.addOperation(i),n.applyOperation(i),o.history.setOperationAsUndone(t,i)}}}function Ap(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,!0)))}class vp extends _p{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1,n=this._stack.splice(e,1)[0],o=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(o,(()=>{this._undo(n.batch,o);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t),this.fire("revert",n.batch,o)})),this.refresh()}}class yp extends _p{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1].baseVersion+1,o=this.editor.model.document.history.getOperations(n);this._restoreSelection(t.selection.ranges,t.selection.isBackward,o),this._undo(t.batch,e)})),this.refresh()}}class xp extends V{static get pluginName(){return"UndoEditing"}constructor(t){super(t),this._batchRegistry=new WeakSet}init(){const t=this.editor;this._undoCommand=new vp(t),this._redoCommand=new yp(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation)return;const o=n.batch,i=this._redoCommand._createdBatches.has(o),r=this._undoCommand._createdBatches.has(o);this._batchRegistry.has(o)||(this._batchRegistry.add(o),o.isUndoable&&(i?this._undoCommand.addBatch(o):r||(this._undoCommand.addBatch(o),this._redoCommand.clearStack())))}),{priority:"highest"}),this.listenTo(this._undoCommand,"revert",((t,e,n)=>{this._redoCommand.addBatch(n)})),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo")}}const Ep='',Dp='';class Ip extends V{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,o="ltr"==e.uiLanguageDirection?Ep:Dp,i="ltr"==e.uiLanguageDirection?Dp:Ep;this._addButton("undo",n("Undo"),"CTRL+Z",o),this._addButton("redo",n("Redo"),"CTRL+Y",i)}_addButton(t,e,n,o){const i=this.editor;i.ui.componentFactory.add(t,(r=>{const s=i.commands.get(t),a=new au(r);return a.set({label:e,icon:o,keystroke:n,tooltip:!0}),a.bind("isEnabled").to(s,"isEnabled"),this.listenTo(a,"execute",(()=>{i.execute(t),i.editing.view.focus()})),a}))}}class Mp extends V{static get requires(){return[xp,Ip]}static get pluginName(){return"Undo"}}class Tp{constructor(){const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return this.total=t.size,new Promise(((n,o)=>{e.onload=()=>{const t=e.result;this._data=t,n(t)},e.onerror=()=>{o("error")},e.onabort=()=>{o("aborted")},this._reader.readAsDataURL(t)}))}abort(){this._reader.abort()}}F(Tp,B);class Sp extends V{static get pluginName(){return"FileRepository"}static get requires(){return[Yh]}init(){this.loaders=new ko,this.loaders.on("add",(()=>this._updatePendingAction())),this.loaders.on("remove",(()=>this._updatePendingAction())),this._loadersMap=new Map,this._pendingAction=null,this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0))}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return l("filerepository-no-upload-adapter"),null;const e=new Np(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then((t=>{this._loadersMap.set(t,e)})).catch((()=>{})),e.on("change:uploaded",(()=>{let t=0;for(const e of this.loaders)t+=e.uploaded;this.uploaded=t})),e.on("change:uploadTotal",(()=>{let t=0;for(const e of this.loaders)e.uploadTotal&&(t+=e.uploadTotal);this.uploadTotal=t})),e}destroyLoader(t){const e=t instanceof Np?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach(((t,n)=>{t===e&&this._loadersMap.delete(n)}))}_updatePendingAction(){const t=this.editor.plugins.get(Yh);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=t=>`${e("Upload in progress")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}F(Sp,B);class Np{constructor(t,e){this.id=r(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new Tp,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0)),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then((t=>this._filePromiseWrapper?t:null)):Promise.resolve(null)}get data(){return this._reader.data}read(){if("idle"!=this.status)throw new c("filerepository-read-wrong-status",this);return this.status="reading",this.file.then((t=>this._reader.read(t))).then((t=>{if("reading"!==this.status)throw this.status;return this.status="idle",t})).catch((t=>{if("aborted"===t)throw this.status="aborted","aborted";throw this.status="error",this._reader.error?this._reader.error:t}))}upload(){if("idle"!=this.status)throw new c("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then((()=>this._adapter.upload())).then((t=>(this.uploadResponse=t,this.status="idle",t))).catch((t=>{if("aborted"===this.status)throw"aborted";throw this.status="error",t}))}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?"reading"==t?this._reader.abort():"uploading"==t&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch((()=>{})),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(t){const e={};return e.promise=new Promise(((n,o)=>{e.rejecter=o,e.isFulfilled=!1,t.then((t=>{e.isFulfilled=!0,n(t)})).catch((t=>{e.isFulfilled=!0,o(t)}))})),e}}F(Np,B);class Bp extends xh{constructor(t){super(t),this.buttonView=new au(t),this._fileInputView=new Pp(t),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.setTemplate({tag:"span",attributes:{class:"ck-file-dialog-button"},children:[this.buttonView,this._fileInputView]}),this.buttonView.on("execute",(()=>{this._fileInputView.open()}))}focus(){this.buttonView.focus()}}class Pp extends xh{constructor(t){super(t),this.set("acceptedType"),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to((()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""}))}})}open(){this.element.click()}}const zp="ckCsrfToken",Lp="abcdefghijklmnopqrstuvwxyz0123456789";function Op(){let t=function(t){t=t.toLowerCase();const e=document.cookie.split(";");for(const n of e){const e=n.split("=");if(decodeURIComponent(e[0].trim().toLowerCase())===t)return decodeURIComponent(e[1])}return null}(zp);var e,n;return t&&40==t.length||(t=function(t){let e="";const n=new Uint8Array(t);window.crypto.getRandomValues(n);for(let t=0;t.5?o.toUpperCase():o}return e}(40),e=zp,n=t,document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(n)+";path=/"),t}class Rp{constructor(t,e,n){this.loader=t,this.url=e,this.t=n}upload(){return this.loader.file.then((t=>new Promise(((e,n)=>{this._initRequest(),this._initListeners(e,n,t),this._sendRequest(t)}))))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.url,!0),t.responseType="json"}_initListeners(t,e,n){const o=this.xhr,i=this.loader,r=(0,this.t)("Cannot upload file:")+` ${n.name}.`;o.addEventListener("error",(()=>e(r))),o.addEventListener("abort",(()=>e())),o.addEventListener("load",(()=>{const n=o.response;if(!n||!n.uploaded)return e(n&&n.error&&n.error.message?n.error.message:r);t({default:n.url})})),o.upload&&o.upload.addEventListener("progress",(t=>{t.lengthComputable&&(i.uploadTotal=t.total,i.uploaded=t.loaded)}))}_sendRequest(t){const e=new FormData;e.append("upload",t),e.append("ckCsrfToken",Op()),this.xhr.send(e)}}function jp(t,e,n,o){let i,r=null;"function"==typeof o?i=o:(r=t.commands.get(o),i=()=>{t.execute(o)}),t.model.document.on("change:data",((s,a)=>{if(r&&!r.isEnabled||!e.isEnabled)return;const c=ba(t.model.document.selection.getRanges());if(!c.isCollapsed)return;if(a.isUndo||!a.isLocal)return;const l=Array.from(t.model.document.differ.getChanges()),d=l[0];if(1!=l.length||"insert"!==d.type||"$text"!=d.name||1!=d.length)return;const h=d.position.parent;if(h.is("element","codeBlock"))return;if(h.is("element","listItem")&&"function"!=typeof o&&!["numberedList","bulletedList","todoList"].includes(o))return;if(r&&!0===r.value)return;const u=h.getChild(0),g=t.model.createRangeOn(u);if(!g.containsRange(c)&&!c.end.isEqual(g.end))return;const m=n.exec(u.data.substr(0,c.end.offset));m&&t.model.enqueueChange((e=>{const n=e.createPositionAt(h,0),o=e.createPositionAt(h,m[0].length),r=new uc(n,o);if(!1!==i({match:m})){e.remove(r);const n=t.model.document.selection.getFirstRange(),o=e.createRangeIn(h);!h.isEmpty||o.isEqual(n)||o.containsRange(n,!0)||e.remove(h)}r.detach(),t.model.enqueueChange((()=>{t.plugins.get("Delete").requestUndoOnBackspace()}))}))}))}function Fp(t,e,n,o){let i,r;n instanceof RegExp?i=n:r=n,r=r||(t=>{let e;const n=[],o=[];for(;null!==(e=i.exec(t))&&!(e&&e.length<4);){let{index:t,1:i,2:r,3:s}=e;const a=i+r+s;t+=e[0].length-a.length;const c=[t,t+i.length],l=[t+i.length+r.length,t+i.length+r.length+s.length];n.push(c),n.push(l),o.push([t+i.length,t+i.length+r.length])}return{remove:n,format:o}}),t.model.document.on("change:data",((n,i)=>{if(i.isUndo||!i.isLocal||!e.isEnabled)return;const s=t.model,a=s.document.selection;if(!a.isCollapsed)return;const c=Array.from(s.document.differ.getChanges()),l=c[0];if(1!=c.length||"insert"!==l.type||"$text"!=l.name||1!=l.length)return;const d=a.focus,h=d.parent,{text:u,range:g}=function(t,e){let n=t.start;return{text:Array.from(t.getItems()).reduce(((t,o)=>!o.is("$text")&&!o.is("$textProxy")||o.getAttribute("code")?(n=e.createPositionAfter(o),""):t+o.data),""),range:e.createRange(n,t.end)}}(s.createRange(s.createPositionAt(h,0),d),s),m=r(u),p=Vp(g.start,m.format,s),f=Vp(g.start,m.remove,s);p.length&&f.length&&s.enqueueChange((e=>{if(!1!==o(e,p)){for(const t of f.reverse())e.remove(t);s.enqueueChange((()=>{t.plugins.get("Delete").requestUndoOnBackspace()}))}}))}))}function Vp(t,e,n){return e.filter((t=>void 0!==t[0]&&void 0!==t[1])).map((e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1]))))}function Hp(t,e){return(n,o)=>{if(!t.commands.get(e).isEnabled)return!1;const i=t.model.schema.getValidRanges(o,e);for(const t of i)n.setAttribute(e,!0,t);n.removeSelectionAttribute(e)}}class Up extends U{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,n=e.document.selection,o=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(n.isCollapsed)o?t.setSelectionAttribute(this.attributeKey,!0):t.removeSelectionAttribute(this.attributeKey);else{const i=e.schema.getValidRanges(n.getRanges(),this.attributeKey);for(const e of i)o?t.setAttribute(this.attributeKey,o,e):t.removeAttribute(this.attributeKey,e)}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,n=t.document.selection;if(n.isCollapsed)return n.hasAttribute(this.attributeKey);for(const t of n.getRanges())for(const n of t.getItems())if(e.checkAttribute(n,this.attributeKey))return n.hasAttribute(this.attributeKey);return!1}}const Wp="bold";class Gp extends V{static get pluginName(){return"BoldEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Wp}),t.model.schema.setAttributeProperties(Wp,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Wp,view:"strong",upcastAlso:["b",t=>{const e=t.getStyle("font-weight");return e?"bold"==e||Number(e)>=600?{name:!0,styles:["font-weight"]}:void 0:null}]}),t.commands.add(Wp,new Up(t,Wp)),t.keystrokes.set("CTRL+B",Wp)}}const qp="bold";class $p extends V{static get pluginName(){return"BoldUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(qp,(n=>{const o=t.commands.get(qp),i=new au(n);return i.set({label:e("Bold"),icon:Zh.bold,keystroke:"CTRL+B",tooltip:!0,isToggleable:!0}),i.bind("isOn","isEnabled").to(o,"value","isEnabled"),this.listenTo(i,"execute",(()=>{t.execute(qp),t.editing.view.focus()})),i}))}}const Yp="italic";class Kp extends V{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Yp}),t.model.schema.setAttributeProperties(Yp,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Yp,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]}),t.commands.add(Yp,new Up(t,Yp)),t.keystrokes.set("CTRL+I",Yp)}}const Qp="italic";class Zp extends V{static get pluginName(){return"ItalicUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(Qp,(n=>{const o=t.commands.get(Qp),i=new au(n);return i.set({label:e("Italic"),icon:'',keystroke:"CTRL+I",tooltip:!0,isToggleable:!0}),i.bind("isOn","isEnabled").to(o,"value","isEnabled"),this.listenTo(i,"execute",(()=>{t.execute(Qp),t.editing.view.focus()})),i}))}}class Jp extends U{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.schema,o=e.document.selection,i=Array.from(o.getSelectedBlocks()),r=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(r){const e=i.filter((t=>Xp(t)||ef(n,t)));this._applyQuote(t,e)}else this._removeQuote(t,i.filter(Xp))}))}_getValue(){const t=ba(this.editor.model.document.selection.getSelectedBlocks());return!(!t||!Xp(t))}_checkEnabled(){if(this.value)return!0;const t=this.editor.model.document.selection,e=this.editor.model.schema,n=ba(t.getSelectedBlocks());return!!n&&ef(e,n)}_removeQuote(t,e){tf(t,e).reverse().forEach((e=>{if(e.start.isAtStart&&e.end.isAtEnd)return void t.unwrap(e.start.parent);if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);return void t.move(e,n)}e.end.isAtEnd||t.split(e.end);const n=t.createPositionAfter(e.end.parent);t.move(e,n)}))}_applyQuote(t,e){const n=[];tf(t,e).reverse().forEach((e=>{let o=Xp(e.start);o||(o=t.createElement("blockQuote"),t.wrap(e,o)),n.push(o)})),n.reverse().reduce(((e,n)=>e.nextSibling==n?(t.merge(t.createPositionAfter(e)),e):n))}}function Xp(t){return"blockQuote"==t.parent.name?t.parent:null}function tf(t,e){let n,o=0;const i=[];for(;o{const o=t.model.document.differ.getChanges();for(const t of o)if("insert"==t.type){const o=t.position.nodeAfter;if(!o)continue;if(o.is("element","blockQuote")&&o.isEmpty)return n.remove(o),!0;if(o.is("element","blockQuote")&&!e.checkChild(t.position,o))return n.unwrap(o),!0;if(o.is("element")){const t=n.createRangeIn(o);for(const o of t.getItems())if(o.is("element","blockQuote")&&!e.checkChild(n.createPositionBefore(o),o))return n.unwrap(o),!0}}else if("remove"==t.type){const e=t.position.parent;if(e.is("element","blockQuote")&&e.isEmpty)return n.remove(e),!0}return!1}));const n=this.editor.editing.view.document,o=t.model.document.selection,i=t.commands.get("blockQuote");this.listenTo(n,"enter",((e,n)=>{if(!o.isCollapsed||!i.value)return;o.getLastPosition().parent.isEmpty&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),n.preventDefault(),e.stop())}),{context:"blockquote"}),this.listenTo(n,"delete",((e,n)=>{if("backward"!=n.direction||!o.isCollapsed||!i.value)return;const r=o.getLastPosition().parent;r.isEmpty&&!r.previousSibling&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),n.preventDefault(),e.stop())}),{context:"blockquote"})}}var of=n(3062),rf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(of.Z,rf);of.Z.locals;class sf extends V{static get pluginName(){return"BlockQuoteUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("blockQuote",(n=>{const o=t.commands.get("blockQuote"),i=new au(n);return i.set({label:e("Block quote"),icon:Zh.quote,tooltip:!0,isToggleable:!0}),i.bind("isOn","isEnabled").to(o,"value","isEnabled"),this.listenTo(i,"execute",(()=>{t.execute("blockQuote"),t.editing.view.focus()})),i}))}}class af extends V{static get pluginName(){return"CKBoxUI"}afterInit(){const t=this.editor;if(!t.commands.get("ckbox"))return;const e=t.t;t.ui.componentFactory.add("ckbox",(n=>{const o=t.commands.get("ckbox"),i=new au(n);return i.set({label:e("Open file manager"),icon:'',tooltip:!0}),i.bind("isOn","isEnabled").to(o,"value","isEnabled"),i.on("execute",(()=>{t.execute("ckbox")})),i}))}}function cf({token:t,id:e,origin:n,width:o,extension:i}){const r=lf(t),s=function(t){const e=[10*t/100,80],n=Math.floor(Math.max(...e)),o=[Math.min(t,4e3)];let i=o[0];for(;i-n>=n;)i-=n,o.unshift(i);return o}(o),a=function(t){if("bmp"===t||"tiff"===t||"jpg"===t)return"jpeg";return t}(i);return{imageFallbackUrl:df({environmentId:r,id:e,origin:n,width:o,extension:a}),imageSources:[{srcset:s.map((t=>`${df({environmentId:r,id:e,origin:n,width:t,extension:"webp"})} ${t}w`)).join(","),sizes:`(max-width: ${o}px) 100vw, ${o}px`,type:"image/webp"}]}}function lf(t){const[,e]=t.value.split(".");return JSON.parse(atob(e)).aud}function df({environmentId:t,id:e,origin:n,width:o,extension:i}){return new URL(`${t}/assets/${e}/images/${o}.${i}`,n).toString()}class hf extends U{constructor(t){super(t),this._chosenAssets=new Set,this._wrapper=null,this._initListeners()}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(){this.fire("ckbox:open")}_getValue(){return null!==this._wrapper}_checkEnabled(){const t=this.editor.commands.get("insertImage"),e=this.editor.commands.get("link");return!(!t.isEnabled&&!e.isEnabled)}_prepareOptions(){const t=this.editor.config.get("ckbox");return{theme:t.theme,language:t.language,tokenUrl:t.tokenUrl,serviceOrigin:t.serviceOrigin,assetsOrigin:t.assetsOrigin,dialog:{onClose:()=>this.fire("ckbox:close")},assets:{onChoose:t=>this.fire("ckbox:choose",t)}}}_initListeners(){const t=this.editor,e=t.model,n=!t.config.get("ckbox.ignoreDataId");this.on("ckbox",(()=>{this.refresh()}),{priority:"low"}),this.on("ckbox:open",(()=>{this.isEnabled&&!this.value&&(this._wrapper=pa(document,"div",{class:"ck ckbox-wrapper"}),document.body.appendChild(this._wrapper),window.CKBox.mount(this._wrapper,this._prepareOptions()))})),this.on("ckbox:close",(()=>{this.value&&(this._wrapper.remove(),this._wrapper=null)})),this.on("ckbox:choose",((o,i)=>{if(!this.isEnabled)return;const r=t.commands.get("insertImage"),s=t.commands.get("link"),a=t.plugins.get("CKBoxEditing"),c=function({assets:t,origin:e,token:n,isImageAllowed:o,isLinkAllowed:i}){return t.map((t=>({id:t.data.id,type:gf(t)?"image":"link",attributes:uf(t,n,e)}))).filter((t=>"image"===t.type?o:i))}({assets:i,origin:t.config.get("ckbox.assetsOrigin"),token:a.getToken(),isImageAllowed:r.isEnabled,isLinkAllowed:s.isEnabled});0!==c.length&&e.change((t=>{for(const e of c){const o=e===c[c.length-1];this._insertAsset(e,o,t),n&&(setTimeout((()=>this._chosenAssets.delete(e)),1e3),this._chosenAssets.add(e))}}))})),this.listenTo(t,"destroy",(()=>{this.fire("ckbox:close"),this._chosenAssets.clear()}))}_insertAsset(t,e,n){const o=this.editor.model.document.selection;n.removeSelectionAttribute("linkHref"),"image"===t.type?this._insertImage(t):this._insertLink(t,n),e||n.setSelection(o.getLastPosition())}_insertImage(t){const e=this.editor,{imageFallbackUrl:n,imageSources:o,imageTextAlternative:i}=t.attributes;e.execute("insertImage",{source:{src:n,sources:o,alt:i}})}_insertLink(t,e){const n=this.editor,o=n.model,i=o.document.selection,{linkName:r,linkHref:s}=t.attributes;if(i.isCollapsed){const t=Po(i.getAttributes()),n=e.createText(r,t),s=o.insertContent(n);e.setSelection(s)}n.execute("link",s)}}function uf(t,e,n){if(gf(t)){const{imageFallbackUrl:o,imageSources:i}=cf({token:e,origin:n,id:t.data.id,width:t.data.metadata.width,extension:t.data.extension});return{imageFallbackUrl:o,imageSources:i,imageTextAlternative:t.data.metadata.description||""}}return{linkName:t.data.name,linkHref:mf(t,e,n)}}function gf(t){const e=t.data.metadata;return!!e&&(e.width&&e.height)}function mf(t,e,n){const o=lf(e),i=new URL(`${o}/assets/${t.data.id}/file`,n);return i.searchParams.set("download","true"),i.toString()}class pf extends V{static get requires(){return["ImageUploadEditing","ImageUploadProgress",Sp,bf]}static get pluginName(){return"CKBoxUploadAdapter"}async afterInit(){const t=this.editor,e=!!t.config.get("ckbox"),n=!!window.CKBox;if(!e&&!n)return;const o=t.plugins.get(Sp),i=t.plugins.get(bf);o.createUploadAdapter=e=>new ff(e,i.getToken(),t);const r=!t.config.get("ckbox.ignoreDataId"),s=t.plugins.get("ImageUploadEditing");r&&s.on("uploadComplete",((e,{imageElement:n,data:o})=>{t.model.change((t=>{t.setAttribute("ckboxImageId",o.ckboxImageId,n)}))}))}}class ff{constructor(t,e,n){this.loader=t,this.token=e,this.editor=n,this.controller=new AbortController,this.serviceOrigin=n.config.get("ckbox.serviceOrigin"),this.assetsOrigin=n.config.get("ckbox.assetsOrigin")}async getAvailableCategories(t=0){const e=new URL("categories",this.serviceOrigin);return e.searchParams.set("limit",50..toString()),e.searchParams.set("offset",t.toString()),this._sendHttpRequest({url:e}).then((async e=>{if(e.totalCount-(t+50)>0){const n=await this.getAvailableCategories(t+50);return[...e.items,...n]}return e.items})).catch((()=>{this.controller.signal.throwIfAborted(),d("ckbox-fetch-category-http-error")}))}async getCategoryIdForFile(t){const e=kf(t.name),n=await this.getAvailableCategories();if(!n)return null;const o=this.editor.config.get("ckbox.defaultUploadCategories");if(o){const t=Object.keys(o).find((t=>o[t].includes(e)));if(t){const e=n.find((e=>e.id===t||e.name===t));return e?e.id:null}}const i=n.find((t=>t.extensions.includes(e)));return i?i.id:null}async upload(){const t=this.editor.t,e=t("Cannot determine a category for the uploaded file."),n=await this.loader.file,o=await this.getCategoryIdForFile(n);if(!o)return Promise.reject(e);const i=new URL("assets",this.serviceOrigin),r=new FormData;r.append("categoryId",o),r.append("file",n);const s={method:"POST",url:i,data:r,onUploadProgress:t=>{t.lengthComputable&&(this.loader.uploadTotal=t.total,this.loader.uploaded=t.loaded)}};return this._sendHttpRequest(s).then((async t=>{const e=await this._getImageWidth(),o=kf(n.name),i=cf({token:this.token,id:t.id,origin:this.assetsOrigin,width:e,extension:o});return{ckboxImageId:t.id,default:i.imageFallbackUrl,sources:i.imageSources}})).catch((()=>{const e=t("Cannot upload file:")+` ${n.name}.`;return Promise.reject(e)}))}abort(){this.controller.abort()}_sendHttpRequest(t){const{url:e,data:n,onUploadProgress:o}=t,i=t.method||"GET",r=this.controller.signal,s=new XMLHttpRequest;s.open(i,e.toString(),!0),s.setRequestHeader("Authorization",this.token.value),s.setRequestHeader("CKBox-Version","CKEditor 5"),s.responseType="json";const a=()=>{s.abort()};return new Promise(((t,e)=>{r.addEventListener("abort",a),s.addEventListener("loadstart",(()=>{r.addEventListener("abort",a)})),s.addEventListener("loadend",(()=>{r.removeEventListener("abort",a)})),s.addEventListener("error",(()=>{e()})),s.addEventListener("abort",(()=>{e()})),s.addEventListener("load",(async()=>{const n=s.response;return!n||n.statusCode>=400?e(n&&n.message):t(n)})),o&&s.upload.addEventListener("progress",(t=>{o(t)})),s.send(n)}))}_getImageWidth(){return new Promise((t=>{const e=new Image;e.onload=()=>{URL.revokeObjectURL(e.src),t(e.width)},e.src=this.loader.data}))}}function kf(t){return t.match(/\.(?[^.]+)$/).groups.ext}class bf extends V{static get pluginName(){return"CKBoxEditing"}static get requires(){return["CloudServices","LinkEditing","PictureEditing",pf]}async init(){const t=this.editor,e=!!t.config.get("ckbox"),n=!!window.CKBox;if(!e&&!n)return;this._initConfig();const o=t.plugins.get("CloudServicesCore"),i=t.config.get("ckbox.tokenUrl"),r=t.config.get("cloudServices.tokenUrl");this._token=i===r?t.plugins.get("CloudServices").token:await o.createToken(i).init(),t.config.get("ckbox.ignoreDataId")||(this._initSchema(),this._initConversion(),this._initFixers()),n&&t.commands.add("ckbox",new hf(t))}getToken(){return this._token}_initConfig(){const t=this.editor;t.config.define("ckbox",{serviceOrigin:"https://api.ckbox.io",assetsOrigin:"https://ckbox.cloud",defaultUploadCategories:null,ignoreDataId:!1,language:t.locale.uiLanguage,theme:"default",tokenUrl:t.config.get("cloudServices.tokenUrl")});if(!t.config.get("ckbox.tokenUrl"))throw new c("ckbox-plugin-missing-token-url",this);t.plugins.has("ImageBlockEditing")||t.plugins.has("ImageInlineEditing")||d("ckbox-plugin-image-feature-missing",t)}_initSchema(){const t=this.editor.model.schema;t.extend("$text",{allowAttributes:"ckboxLinkId"}),t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["ckboxImageId","ckboxLinkId"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["ckboxImageId","ckboxLinkId"]}),t.addAttributeCheck(((t,e)=>{if(!!!t.last.getAttribute("linkHref")&&"ckboxLinkId"===e)return!1}))}_initConversion(){const t=this.editor;t.conversion.for("downcast").add((t=>{t.on("attribute:ckboxLinkId:imageBlock",((t,e,n)=>{const{writer:o,mapper:i,consumable:r}=n;if(!r.consume(e.item,t.name))return;const s=[...i.toViewElement(e.item).getChildren()].find((t=>"a"===t.name));s&&(e.item.hasAttribute("ckboxLinkId")?o.setAttribute("data-ckbox-resource-id",e.item.getAttribute("ckboxLinkId"),s):o.removeAttribute("data-ckbox-resource-id",s))}),{priority:"low"}),t.on("attribute:ckboxLinkId",((t,e,n)=>{const{writer:o,mapper:i,consumable:r}=n;if(r.consume(e.item,t.name)){if(e.attributeOldValue){const t=_f(o,e.attributeOldValue);o.unwrap(i.toViewRange(e.range),t)}if(e.attributeNewValue){const t=_f(o,e.attributeNewValue);if(e.item.is("selection")){const e=o.document.selection;o.wrap(e.getFirstRange(),t)}else o.wrap(i.toViewRange(e.range),t)}}}),{priority:"low"})})),t.conversion.for("upcast").add((t=>{t.on("element:a",((t,e,n)=>{const{writer:o,consumable:i}=n;if(!e.viewItem.getAttribute("href"))return;if(!i.consume(e.viewItem,{attributes:["data-ckbox-resource-id"]}))return;const r=e.viewItem.getAttribute("data-ckbox-resource-id");if(r)if(e.modelRange)for(let t of e.modelRange.getItems())t.is("$textProxy")&&(t=t.textNode),Af(t)&&o.setAttribute("ckboxLinkId",r,t);else{const t=e.modelCursor.nodeBefore||e.modelCursor.parent;o.setAttribute("ckboxLinkId",r,t)}}),{priority:"low"})})),t.conversion.for("downcast").attributeToAttribute({model:"ckboxImageId",view:"data-ckbox-resource-id"}),t.conversion.for("upcast").elementToAttribute({model:{key:"ckboxImageId",value:t=>t.getAttribute("data-ckbox-resource-id")},view:{attributes:{"data-ckbox-resource-id":/[\s\S]+/}}})}_initFixers(){const t=this.editor,e=t.model,n=e.document.selection;e.document.registerPostFixer(function(t){return e=>{let n=!1;const o=t.model,i=t.commands.get("ckbox");if(!i)return n;for(const t of o.document.differ.getChanges()){if("insert"!==t.type&&"attribute"!==t.type)continue;const o="insert"===t.type?new tc(t.position,t.position.getShiftedBy(t.length)):t.range,r="attribute"===t.type&&"linkHref"===t.attributeKey&&null===t.attributeNewValue;for(const t of o.getItems()){if(r&&t.hasAttribute("ckboxLinkId")){e.removeAttribute("ckboxLinkId",t),n=!0;continue}const o=wf(t,i._chosenAssets);for(const i of o){const o="image"===i.type?"ckboxImageId":"ckboxLinkId";i.id!==t.getAttribute(o)&&(e.setAttribute(o,i.id,t),n=!0)}}}return n}}(t)),e.document.registerPostFixer(function(t){return e=>{!t.hasAttribute("linkHref")&&t.hasAttribute("ckboxLinkId")&&e.removeSelectionAttribute("ckboxLinkId")}}(n))}}function wf(t,e){const n=t.is("element","imageInline")||t.is("element","imageBlock"),o=t.hasAttribute("linkHref");return[...e].filter((e=>"image"===e.type&&n?e.attributes.imageFallbackUrl===t.getAttribute("src"):"link"===e.type&&o?e.attributes.linkHref===t.getAttribute("linkHref"):void 0))}function _f(t,e){const n=t.createAttributeElement("a",{"data-ckbox-resource-id":e},{priority:5});return t.setCustomProperty("link",!0,n),n}function Af(t){return!!t.is("$text")||!(!t.is("element","imageInline")&&!t.is("element","imageBlock"))}class Cf extends V{static get pluginName(){return"CKFinderUI"}init(){const t=this.editor,e=t.ui.componentFactory,n=t.t;e.add("ckfinder",(e=>{const o=t.commands.get("ckfinder"),i=new au(e);return i.set({label:n("Insert image or file"),icon:'',tooltip:!0}),i.bind("isEnabled").to(o),i.on("execute",(()=>{t.execute("ckfinder"),t.editing.view.focus()})),i}))}}class vf extends U{constructor(t){super(t),this.stopListening(this.editor.model.document,"change"),this.listenTo(this.editor.model.document,"change",(()=>this.refresh()),{priority:"low"})}refresh(){const t=this.editor.commands.get("insertImage"),e=this.editor.commands.get("link");this.isEnabled=t.isEnabled||e.isEnabled}execute(){const t=this.editor,e=this.editor.config.get("ckfinder.openerMethod")||"modal";if("popup"!=e&&"modal"!=e)throw new c("ckfinder-unknown-openermethod",t);const n=this.editor.config.get("ckfinder.options")||{};n.chooseFiles=!0;const o=n.onInit;n.language||(n.language=t.locale.uiLanguage),n.onInit=e=>{o&&o(e),e.on("files:choose",(n=>{const o=n.data.files.toArray(),i=o.filter((t=>!t.isImage())),r=o.filter((t=>t.isImage()));for(const e of i)t.execute("link",e.getUrl());const s=[];for(const t of r){const n=t.getUrl();s.push(n||e.request("file:getProxyUrl",{file:t}))}s.length&&yf(t,s)})),e.on("file:choose:resizedImage",(e=>{const n=e.data.resizedUrl;if(n)yf(t,[n]);else{const e=t.plugins.get("Notification"),n=t.locale.t;e.showWarning(n("Could not obtain resized image URL."),{title:n("Selecting resized image failed"),namespace:"ckfinder"})}}))},window.CKFinder[e](n)}}function yf(t,e){if(t.commands.get("insertImage").isEnabled)t.execute("insertImage",{source:e});else{const e=t.plugins.get("Notification"),n=t.locale.t;e.showWarning(n("Could not insert image at the current position."),{title:n("Inserting image failed"),namespace:"ckfinder"})}}class xf extends V{static get pluginName(){return"CKFinderEditing"}static get requires(){return[hg,"LinkEditing"]}init(){const t=this.editor;if(!t.plugins.has("ImageBlockEditing")&&!t.plugins.has("ImageInlineEditing"))throw new c("ckfinder-missing-image-plugin",t);t.commands.add("ckfinder",new vf(t))}}class Ef extends V{static get pluginName(){return"CloudServicesUploadAdapter"}static get requires(){return["CloudServices",Sp]}init(){const t=this.editor,e=t.plugins.get("CloudServices"),n=e.token,o=e.uploadUrl;n&&(this._uploadGateway=t.plugins.get("CloudServicesCore").createUploadGateway(n,o),t.plugins.get(Sp).createUploadAdapter=t=>new Df(this._uploadGateway,t))}}class Df{constructor(t,e){this.uploadGateway=t,this.loader=e}upload(){return this.loader.file.then((t=>(this.fileUploader=this.uploadGateway.upload(t),this.fileUploader.on("progress",((t,e)=>{this.loader.uploadTotal=e.total,this.loader.uploaded=e.uploaded})),this.fileUploader.send())))}abort(){this.fileUploader.abort()}}class If extends U{refresh(){const t=this.editor.model,e=ba(t.document.selection.getSelectedBlocks());this.value=!!e&&e.is("element","paragraph"),this.isEnabled=!!e&&Mf(e,t.schema)}execute(t={}){const e=this.editor.model,n=e.document;e.change((o=>{const i=(t.selection||n.selection).getSelectedBlocks();for(const t of i)!t.is("element","paragraph")&&Mf(t,e.schema)&&o.rename(t,"paragraph")}))}}function Mf(t,e){return e.checkChild(t.parent,"paragraph")&&!e.isObject(t)}class Tf extends U{execute(t){const e=this.editor.model,n=t.attributes;let o=t.position;e.change((t=>{const i=t.createElement("paragraph");if(n&&e.schema.setAllowedAttributes(i,n,t),!e.schema.checkChild(o.parent,i)){const n=e.schema.findAllowedParent(o,i);if(!n)return;o=t.split(o,n).position}e.insertContent(i,o),t.setSelection(i,"in")}))}}class Sf extends V{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new If(t)),t.commands.add("insertParagraph",new Tf(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(t,{writer:e})=>Sf.paragraphLikeElements.has(t.name)?t.isEmpty?null:e.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}}Sf.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);class Nf extends U{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=ba(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some((e=>Bf(t,e,this.editor.model.schema)))}execute(t){const e=this.editor.model,n=e.document,o=t.value;e.change((t=>{const i=Array.from(n.selection.getSelectedBlocks()).filter((t=>Bf(t,o,e.schema)));for(const e of i)e.is("element",o)||t.rename(e,o)}))}}function Bf(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const Pf="paragraph";class zf extends V{static get pluginName(){return"HeadingEditing"}constructor(t){super(t),t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[Sf]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const o of e)o.model!==Pf&&(t.model.schema.register(o.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(o),n.push(o.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new Nf(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",((e,o)=>{const i=t.model.document.selection.getFirstPosition().parent;n.some((t=>i.is("element",t.model)))&&!i.is("element",Pf)&&0===i.childCount&&o.writer.rename(i,Pf)}))}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:s.get("low")+1})}}var Lf=n(8733),Of={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Lf.Z,Of);Lf.Z.locals;class Rf extends V{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=function(t){const e=t.t,n={Paragraph:e("Paragraph"),"Heading 1":e("Heading 1"),"Heading 2":e("Heading 2"),"Heading 3":e("Heading 3"),"Heading 4":e("Heading 4"),"Heading 5":e("Heading 5"),"Heading 6":e("Heading 6")};return t.config.get("heading.options").map((t=>{const e=n[t.title];return e&&e!=t.title&&(t.title=e),t}))}(t),o=e("Choose heading"),i=e("Heading");t.ui.componentFactory.add("heading",(e=>{const r={},s=new ko,a=t.commands.get("heading"),c=t.commands.get("paragraph"),l=[a];for(const t of n){const e={type:"button",model:new ug({label:t.title,class:t.class,withText:!0})};"paragraph"===t.model?(e.model.bind("isOn").to(c,"value"),e.model.set("commandName","paragraph"),l.push(c)):(e.model.bind("isOn").to(a,"value",(e=>e===t.model)),e.model.set({commandName:"heading",commandValue:t.model})),s.add(e),r[t.model]=t.title}const d=Uu(e);return Gu(d,s),d.buttonView.set({isOn:!1,withText:!0,tooltip:i}),d.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),d.bind("isEnabled").toMany(l,"isEnabled",((...t)=>t.some((t=>t)))),d.buttonView.bind("label").to(a,"value",c,"value",((t,e)=>{const n=t||e&&"paragraph";return r[n]?r[n]:o})),this.listenTo(d,"execute",(e=>{t.execute(e.source.commandName,e.source.commandValue?{value:e.source.commandValue}:void 0),t.editing.view.focus()})),d}))}}class jf extends V{static get requires(){return[bg]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",(e=>{(function(t){const e=t.getSelectedElement();return!(!e||!nm(e))})(t.editing.view.document.selection)&&e.stop()}),{priority:"high"})}this._toolbarDefinitions=new Map,this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",(()=>{this._updateToolbarsVisibility()})),this.listenTo(t.ui,"update",(()=>{this._updateToolbarsVisibility()})),this.listenTo(t.ui.focusTracker,"change:isFocused",(()=>{this._updateToolbarsVisibility()}),{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values())t.view.destroy()}register(t,{ariaLabel:e,items:n,getRelatedElement:o,balloonClassName:i="ck-toolbar-container"}){if(!n.length)return void l("widget-toolbar-no-items",{toolbarId:t});const r=this.editor,s=r.t,a=new Tu(r.locale);if(a.ariaLabel=e||s("Widget toolbar"),this._toolbarDefinitions.has(t))throw new c("widget-toolbar-duplicated",this,{toolbarId:t});a.fillFromConfig(n,r.ui.componentFactory);const d={view:a,getRelatedElement:o,balloonClassName:i};r.ui.addToolbar(a,{isContextual:!0,beforeFocus:()=>{const t=o(r.editing.view.document.selection);t&&this._showToolbar(d,t)},afterBlur:()=>{this._hideToolbar(d)}}),this._toolbarDefinitions.set(t,d)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const o of this._toolbarDefinitions.values()){const i=o.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&i)if(this.editor.ui.focusTracker.isFocused){const r=i.getAncestors().length;r>t&&(t=r,e=i,n=o)}else this._isToolbarVisible(o)&&this._hideToolbar(o);else this._isToolbarInBalloon(o)&&this._hideToolbar(o)}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){this._isToolbarVisible(t)?Ff(this.editor,e):this._isToolbarInBalloon(t)||(this._balloon.add({view:t.view,position:Vf(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",(()=>{for(const t of this._toolbarDefinitions.values())if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);Ff(this.editor,e)}})))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Ff(t,e){const n=t.plugins.get("ContextualBalloon"),o=Vf(t,e);n.updatePosition(o)}function Vf(t,e){const n=t.editing.view,o=Ph.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,o.viewportStickyNorth]}}class Hf{constructor(t){this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=t,this._referenceCoordinates=null}begin(t,e,n){const o=new Ea(e);this.activeHandlePosition=function(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e)if(t.classList.contains(Uf(n)))return n}(t),this._referenceCoordinates=function(t,e){const n=new Ea(t),o=e.split("-"),i={x:"right"==o[1]?n.right:n.left,y:"bottom"==o[0]?n.bottom:n.top};return i.x+=t.ownerDocument.defaultView.scrollX,i.y+=t.ownerDocument.defaultView.scrollY,i}(e,function(t){const e=t.split("-"),n={top:"bottom",bottom:"top",left:"right",right:"left"};return`${n[e[0]]}-${n[e[1]]}`}(this.activeHandlePosition)),this.originalWidth=o.width,this.originalHeight=o.height,this.aspectRatio=o.width/o.height;const i=n.style.width;i&&i.match(/^\d+(\.\d*)?%$/)?this.originalWidthPercents=parseFloat(i):this.originalWidthPercents=function(t,e){const n=t.parentElement,o=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);return e.width/o*100}(n,o)}update(t){this.proposedWidth=t.width,this.proposedHeight=t.height,this.proposedWidthPercents=t.widthPercents,this.proposedHandleHostWidth=t.handleHostWidth,this.proposedHandleHostHeight=t.handleHostHeight}}function Uf(t){return`ck-widget__resizer__handle-${t}`}F(Hf,B);class Wf extends xh{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",(t=>t?`ck-orientation-${t}`:""))],style:{display:t.if("_isVisible","none",(t=>!t))}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",((t,e)=>null!==t&&null!==e)),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",((e,n,o)=>"px"===t.unit?`${e}×${n}`:`${o}%`)),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",((t,e,n)=>e<50||n<50?"above-center":t))}_dismiss(){this.unbind(),this._isVisible=!1}}class Gf{constructor(t){this._options=t,this._viewResizerWrapper=null,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",((t,e)=>t&&e)),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",(t=>{this.state.proposedWidth||this.state.proposedWidthPercents||(this._cleanup(),t.stop())}),{priority:"high"}),this.on("change:isVisible",(()=>{this.isVisible?(this.show(),this.redraw()):this.hide()}))}show(){this._options.editor.editing.view.change((t=>{t.removeClass("ck-hidden",this._viewResizerWrapper)}))}hide(){this._options.editor.editing.view.change((t=>{t.addClass("ck-hidden",this._viewResizerWrapper)}))}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change((n=>{const o=n.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(e){const n=this.toDomElement(e);return t._appendHandles(n),t._appendSizeUI(n),n}));n.insert(n.createPositionAt(e,"end"),o),n.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=o,this.isVisible||this.hide()}))}begin(t){this.state=new Hf(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);this._options.editor.editing.view.change((t=>{const n=this._options.unit||"%",o=("%"===n?e.widthPercents:e.width)+n;t.setStyle("width",o,this._options.viewElement)}));const n=this._getHandleHost(),o=new Ea(n);e.handleHostWidth=Math.round(o.width),e.handleHostHeight=Math.round(o.height);const i=new Ea(n);e.width=Math.round(i.width),e.height=Math.round(i.height),this.redraw(o),this.state.update(e)}commit(){const t=this._options.unit||"%",e=("%"===t?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change((()=>{this._cleanup(),this._options.onCommit(e)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!((n=e)&&n.ownerDocument&&n.ownerDocument.contains(n)))return;var n;const o=e.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(o.isSameNode(i)){const e=t||new Ea(i);a=[e.width+"px",e.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];"same"!==Mo(s,a)&&this._options.editor.editing.view.change((t=>{t.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)}))}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();this._options.editor.editing.view.change((t=>{t.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(t){const e=this.state,n={x:(o=t).pageX,y:o.pageY};var o;const i=!this._options.isCentered||this._options.isCentered(this),r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};i&&e.activeHandlePosition.endsWith("-right")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),i&&(r.x*=2);const s={width:Math.abs(e.originalWidth+r.x),height:Math.abs(e.originalHeight+r.y)};s.dominant=s.width/e.aspectRatio>s.height?"width":"height",s.max=s[s.dominant];const a={width:s.width,height:s.height};return"width"==s.dominant?a.height=a.width/e.aspectRatio:a.width=a.height*e.aspectRatio,{width:Math.round(a.width),height:Math.round(a.height),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*a.width*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const o of e)t.appendChild(new oh({tag:"div",attributes:{class:"ck-widget__resizer__handle "+(n=o,`ck-widget__resizer__handle-${n}`)}}).render());var n}_appendSizeUI(t){this._sizeView=new Wf,this._sizeView.render(),t.appendChild(this._sizeView.element)}}F(Gf,B);var qf=n(8506),$f={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(qf.Z,$f);qf.Z.locals;F(class extends V{static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=Ao.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),this._resizers=new Map,t.view.addObserver(Vd),this._observer=Object.create(ws),this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this));this._redrawSelectedResizerThrottled=Mm((()=>{this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",(()=>{for(const[t,e]of this._resizers)t.isAttached()||(this._resizers.delete(t),e.destroy())}),{priority:"lowest"}),this._observer.listenTo(Ao.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",(()=>{const t=n.getSelectedElement(),e=this.getResizerByViewElement(t)||null;e?this.select(e):this.deselect()}))}destroy(){this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect(),this.selectedResizer=t,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(t){const e=new Gf(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const t=n.get("WidgetToolbarRepository");e.on("begin",(()=>{t.forceDisabled("resize")}),{priority:"lowest"}),e.on("cancel",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"}),e.on("commit",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(t.viewElement,e);const o=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(o)==e&&this.select(e),e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values())if(e.containsHandle(t))return e}_mouseDownListener(t,e){const n=e.domTarget;Gf.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n),this._activeResizer&&(this._activeResizer.begin(n),t.stop(),e.preventDefault()))}_mouseMoveListener(t,e){this._activeResizer&&this._activeResizer.updateSize(e)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}},B);class Yf extends U{refresh(){const t=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.isEnabled&&t.hasAttribute("alt")?this.value=t.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),o=e.model,i=n.getClosestSelectedImageElement(o.document.selection);o.change((e=>{e.setAttribute("alt",t.newValue,i)}))}}function Kf(t){return t.createContainerElement("figure",{class:"image"},[t.createEmptyElement("img"),t.createSlot()])}function Qf(t,e){const n=t.plugins.get("ImageUtils"),o=t.plugins.has("ImageInlineEditing")&&t.plugins.has("ImageBlockEditing");return t=>{if(!n.isInlineImageView(t))return null;if(!o)return i(t);return(t.findAncestor(n.isBlockImageView)?"imageBlock":"imageInline")!==e?null:i(t)};function i(t){const e={name:!0};return t.hasAttribute("src")&&(e.attributes=["src"]),e}}function Zf(t,e){const n=ba(e.getSelectedBlocks());return!n||t.isObject(n)||n.isEmpty&&"listItem"!=n.name?"imageBlock":"imageInline"}class Jf extends V{static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null){const o=this.editor,i=o.model,r=i.document.selection;n=Xf(o,e||r,n),t={...Object.fromEntries(r.getAttributes()),...t};for(const e in t)i.schema.checkAttribute(n,e)||delete t[e];return i.change((o=>{const r=o.createElement(n,t);return i.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:!e&&"imageInline"!=n}),r.parent?r:null}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let o=e.parent;for(;o;){if(o.is("element")&&this.isImageWidget(o))return o;o=o.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}isImageAllowed(){const t=this.editor.model.document.selection;return function(t,e){if("imageBlock"==Xf(t,e)){const n=function(t,e){const n=lm(t,e).start.parent;if(n.isEmpty&&!n.is("element","$root"))return n.parent;return n}(e,t.model);if(t.model.schema.checkChild(n,"imageBlock"))return!0}else if(t.model.schema.checkChild(e.focus,"imageInline"))return!0;return!1}(this.editor,t)&&function(t){return[...t.focus.getAncestors()].every((t=>!t.is("element","imageBlock")))}(t)}toImageWidget(t,e,n){e.setCustomProperty("image",!0,t);return om(t,e,{label:()=>{const e=this.findViewImgElement(t).getAttribute("alt");return e?`${e} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&nm(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}}function Xf(t,e,n){const o=t.model.schema,i=t.config.get("image.insert.type");return t.plugins.has("ImageBlockEditing")?t.plugins.has("ImageInlineEditing")?n||("inline"===i?"imageInline":"block"===i?"imageBlock":e.is("selection")?Zf(o,e):o.checkChild(e,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}class tk extends V{static get requires(){return[Jf]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new Yf(this.editor))}}var ek=n(1905),nk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(ek.Z,nk);ek.Z.locals;var ok=n(6764),ik={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(ok.Z,ik);ok.Z.locals;class rk extends xh{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new wa,this.keystrokes=new _a,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),Zh.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),Zh.cancel,"ck-button-cancel","cancel"),this._focusables=new nh,this._focusCycler=new Cu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-text-alternative-form","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]}),Xh(this)}render(){super.render(),this.keystrokes.listenTo(this.element),tu({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,o){const i=new au(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.extendTemplate({attributes:{class:n}}),o&&i.delegate("execute").to(this,o),i}_createLabeledInputView(){const t=this.locale.t,e=new lg(this.locale,dg);return e.label=t("Text alternative"),e}}function sk(t){const e=t.editing.view,n=Ph.defaultPositions,o=t.plugins.get("ImageUtils");return{target:e.domConverter.mapViewToDom(o.getClosestSelectedImageWidget(e.document.selection)),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}class ak extends V{static get requires(){return[bg]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton(),this._createForm()}destroy(){super.destroy(),this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",(n=>{const o=t.commands.get("imageTextAlternative"),i=new au(n);return i.set({label:e("Change image text alternative"),icon:Zh.lowVision,tooltip:!0}),i.bind("isEnabled").to(o,"isEnabled"),i.bind("isOn").to(o,"value",(t=>!!t)),this.listenTo(i,"execute",(()=>{this._showForm()})),i}))}_createForm(){const t=this.editor,e=t.editing.view.document,n=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new rk(t.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{t.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((t,e)=>{this._hideForm(!0),e()})),this.listenTo(t.ui,"update",(()=>{n.getClosestSelectedImageWidget(e.selection)?this._isVisible&&function(t){const e=t.plugins.get("ContextualBalloon");if(t.plugins.get("ImageUtils").getClosestSelectedImageWidget(t.editing.view.document.selection)){const n=sk(t);e.updatePosition(n)}}(t):this._hideForm(!0)})),Jh({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const t=this.editor,e=t.commands.get("imageTextAlternative"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:sk(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class ck extends V{static get requires(){return[tk,ak]}static get pluginName(){return"ImageTextAlternative"}}function lk(t,e){return t=>{t.on(`attribute:srcset:${e}`,n)};function n(e,n,o){if(!o.consumable.consume(n.item,e.name))return;const i=o.writer,r=o.mapper.toViewElement(n.item),s=t.findViewImgElement(r);if(null===n.attributeNewValue){const t=n.attributeOldValue;t.data&&(i.removeAttribute("srcset",s),i.removeAttribute("sizes",s),t.width&&i.removeAttribute("width",s))}else{const t=n.attributeNewValue;t.data&&(i.setAttribute("srcset",t.data,s),i.setAttribute("sizes","100vw",s),t.width&&i.setAttribute("width",t.width,s))}}}function dk(t,e,n){return t=>{t.on(`attribute:${n}:${e}`,o)};function o(e,n,o){if(!o.consumable.consume(n.item,e.name))return;const i=o.writer,r=o.mapper.toViewElement(n.item),s=t.findViewImgElement(r);i.setAttribute(n.attributeKey,n.attributeNewValue||"",s)}}class hk extends vs{observe(t){this.listenTo(t,"load",((t,e)=>{const n=e.target;this.checkShouldIgnoreEventFromTarget(n)||"IMG"==n.tagName&&this._fireEvents(e)}),{useCapture:!0})}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class uk extends U{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||"block"===e&&l("image-block-plugin-required"),t.plugins.has("ImageInlineEditing")||"inline"===e&&l("image-inline-plugin-required")}refresh(){this.isEnabled=this.editor.plugins.get("ImageUtils").isImageAllowed()}execute(t){const e=wo(t.source),n=this.editor.model.document.selection,o=this.editor.plugins.get("ImageUtils"),i=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if("string"==typeof t&&(t={src:t}),e&&r&&o.isImage(r)){const e=this.editor.model.createPositionAfter(r);o.insertImage({...t,...i},e)}else o.insertImage({...t,...i})}))}}class gk extends V{static get requires(){return[Jf]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(hk),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:{key:"srcset",value:t=>{const e={data:t.getAttribute("srcset")};return t.hasAttribute("width")&&(e.width=t.getAttribute("width")),e}}});const n=new uk(t);t.commands.add("insertImage",n),t.commands.add("imageInsert",n)}}class mk extends U{constructor(t,e){super(t),this._modelElementName=e}refresh(){const t=this.editor.plugins.get("ImageUtils"),e=t.getClosestSelectedImageElement(this.editor.model.document.selection);"imageBlock"===this._modelElementName?this.isEnabled=t.isInlineImage(e):this.isEnabled=t.isBlockImage(e)}execute(){const t=this.editor,e=this.editor.model,n=t.plugins.get("ImageUtils"),o=n.getClosestSelectedImageElement(e.document.selection),i=Object.fromEntries(o.getAttributes());return i.src||i.uploadId?e.change((t=>{const r=Array.from(e.markers).filter((t=>t.getRange().containsItem(o))),s=n.insertImage(i,e.createSelection(o,"on"),this._modelElementName);if(!s)return null;const a=t.createRangeOn(s);for(const e of r){const n=e.getRange(),o="$graveyard"!=n.root.rootName?n.getJoined(a,!0):a;t.updateMarker(e,{range:o})}return{oldElement:o,newElement:s}})):null}}class pk extends V{static get requires(){return[gk,Jf,Og]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new mk(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,o=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:e})=>Kf(e)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:n})=>o.toImageWidget(Kf(n),n,e("image widget"))}),n.for("downcast").add(dk(o,"imageBlock","src")).add(dk(o,"imageBlock","alt")).add(lk(o,"imageBlock")),n.for("upcast").elementToElement({view:Qf(t,"imageBlock"),model:(t,{writer:e})=>e.createElement("imageBlock",t.hasAttribute("src")?{src:t.getAttribute("src")}:null)}).add(function(t){return t=>{t.on("element:figure",e)};function e(e,n,o){if(!o.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const i=t.findViewImgElement(n.viewItem);if(!i||!o.consumable.test(i,{name:!0}))return;o.consumable.consume(n.viewItem,{name:!0,classes:"image"});const r=ba(o.convertItem(i,n.modelCursor).modelRange.getItems());r?(o.convertChildren(n.viewItem,r),o.updateConversionResult(r,n)):o.consumable.revert(n.viewItem,{name:!0,classes:"image"})}}(o))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,o=t.plugins.get("ImageUtils");this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",((i,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(o.isInlineImageView))return;a=r.targetRanges?t.editing.mapper.toModelRange(r.targetRanges[0]):e.document.selection.getFirstRange();const c=e.createSelection(a);if("imageBlock"===Zf(e.schema,c)){const t=new Hd(n.document),e=s.map((e=>t.createElement("figure",{class:"image"},e)));r.content=t.createDocumentFragment(e)}}))}}var fk=n(3508),kk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(fk.Z,kk);fk.Z.locals;class bk extends V{static get requires(){return[pk,Dm,ck]}static get pluginName(){return"ImageBlock"}}class wk extends V{static get requires(){return[gk,Jf,Og]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor,e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),e.addChildCheck(((t,e)=>{if(t.endsWith("caption")&&"imageInline"===e.name)return!1})),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new mk(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,o=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(t,{writer:e})=>e.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(t,{writer:n})=>o.toImageWidget(function(t){return t.createContainerElement("span",{class:"image-inline"},t.createEmptyElement("img"))}(n),n,e("image widget"))}),n.for("downcast").add(dk(o,"imageInline","src")).add(dk(o,"imageInline","alt")).add(lk(o,"imageInline")),n.for("upcast").elementToElement({view:Qf(t,"imageInline"),model:(t,{writer:e})=>e.createElement("imageInline",t.hasAttribute("src")?{src:t.getAttribute("src")}:null)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,o=t.plugins.get("ImageUtils");this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",((i,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(o.isBlockImageView))return;a=r.targetRanges?t.editing.mapper.toModelRange(r.targetRanges[0]):e.document.selection.getFirstRange();const c=e.createSelection(a);if("imageInline"===Zf(e.schema,c)){const t=new Hd(n.document),e=s.map((e=>1===e.childCount?(Array.from(e.getAttributes()).forEach((n=>t.setAttribute(...n,o.findViewImgElement(e)))),e.getChild(0)):e));r.content=t.createDocumentFragment(e)}}))}}class _k extends V{static get requires(){return[wk,Dm,ck]}static get pluginName(){return"ImageInline"}}class Ak extends U{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils");if(!t.plugins.has(pk))return this.isEnabled=!1,void(this.value=!1);const n=t.model.document.selection,o=n.getSelectedElement();if(!o){const t=e.getCaptionFromModelSelection(n);return this.isEnabled=!!t,void(this.value=!!t)}this.isEnabled=this.editor.plugins.get("ImageUtils").isImage(o),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(o):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change((t=>{this.value?this._hideImageCaption(t):this._showImageCaption(t,e)}))}_showImageCaption(t,e){const n=this.editor.model.document.selection,o=this.editor.plugins.get("ImageCaptionEditing");let i=n.getSelectedElement();const r=o._getSavedCaption(i);this.editor.plugins.get("ImageUtils").isInlineImage(i)&&(this.editor.execute("imageTypeBlock"),i=n.getSelectedElement());const s=r||t.createElement("caption");t.append(s,i),e&&t.setSelection(s,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,o=e.plugins.get("ImageCaptionEditing"),i=e.plugins.get("ImageCaptionUtils");let r,s=n.getSelectedElement();s?r=i.getCaptionFromImageModelElement(s):(r=i.getCaptionFromModelSelection(n),s=r.parent),o._saveCaption(s,r),t.setSelection(s,"on"),t.remove(r)}}class Ck extends V{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[Jf]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return"figcaption"==t.name&&e.isBlockImageView(t.parent)?{name:!0}:null}}class vk extends V{static get requires(){return[Jf,Ck]}static get pluginName(){return"ImageCaptionEditing"}constructor(t){super(t),this._savedCaptionsMap=new WeakMap}init(){const t=this.editor,e=t.model.schema;e.isRegistered("caption")?e.extend("caption",{allowIn:"imageBlock"}):e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),t.commands.add("toggleImageCaption",new Ak(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),o=t.plugins.get("ImageCaptionUtils"),i=t.t;t.conversion.for("upcast").elementToElement({view:t=>o.matchImageCaptionViewElement(t),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(t,{writer:e})=>n.isBlockImage(t.parent)?e.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(t,{writer:o})=>{if(!n.isBlockImage(t.parent))return null;const r=o.createEditableElement("figcaption");o.setCustomProperty("imageCaption",!0,r),yd({view:e,element:r,text:i("Enter image caption"),keepOnFocus:!0});const s=t.parent.getAttribute("alt");return cm(r,o,{label:s?i("Caption for image: %0",[s]):i("Caption for the image")})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),o=t.commands.get("imageTypeInline"),i=t.commands.get("imageTypeBlock"),r=t=>{if(!t.return)return;const{oldElement:o,newElement:i}=t.return;if(!o)return;if(e.isBlockImage(o)){const t=n.getCaptionFromImageModelElement(o);if(t)return void this._saveCaption(i,t)}const r=this._getSavedCaption(o);r&&this._saveCaption(i,r)};o&&this.listenTo(o,"execute",r,{priority:"low"}),i&&this.listenTo(i,"execute",r,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?Ga.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),o=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",(()=>{const i=e.document.differ.getChanges();for(const e of i){if("alt"!==e.attributeKey)continue;const i=e.range.start.nodeAfter;if(n.isBlockImage(i)){const e=o.getCaptionFromImageModelElement(i);if(!e)return;t.editing.reconvertItem(e)}}}))}}class yk extends V{static get requires(){return[Ck]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),o=t.t;t.ui.componentFactory.add("toggleImageCaption",(i=>{const r=t.commands.get("toggleImageCaption"),s=new au(i);return s.set({icon:Zh.caption,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.bind("label").to(r,"value",(t=>o(t?"Toggle caption off":"Toggle caption on"))),this.listenTo(s,"execute",(()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const o=n.getCaptionFromModelSelection(t.model.document.selection);if(o){const n=t.editing.mapper.toViewElement(o);e.scrollToTheSelection(),e.change((t=>{t.addClass("image__caption_highlighted",n)}))}t.editing.view.focus()})),s}))}}var xk=n(2640),Ek={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(xk.Z,Ek);xk.Z.locals;class Dk extends U{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map((t=>{if(t.isDefault)for(const e of t.modelElements)this._defaultStyles[e]=t.name;return[t.name,t]})))}refresh(){const t=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.isEnabled?t.hasAttribute("imageStyle")?this.value=t.getAttribute("imageStyle"):this.value=this._defaultStyles[t.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,o=e.plugins.get("ImageUtils");n.change((e=>{const i=t.value;let r=o.getClosestSelectedImageElement(n.document.selection);i&&this.shouldConvertImageType(i,r)&&(this.editor.execute(o.isBlockImage(r)?"imageTypeInline":"imageTypeBlock"),r=o.getClosestSelectedImageElement(n.document.selection)),!i||this._styles.get(i).isDefault?e.removeAttribute("imageStyle",r):e.setAttribute("imageStyle",i,r)}))}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const{objectFullWidth:Ik,objectInline:Mk,objectLeft:Tk,objectRight:Sk,objectCenter:Nk,objectBlockLeft:Bk,objectBlockRight:Pk}=Zh,zk={get inline(){return{name:"inline",title:"In line",icon:Mk,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:Tk,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:Bk,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:Nk,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:Sk,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:Pk,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:Nk,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:Sk,modelElements:["imageBlock"],className:"image-style-side"}}},Lk={full:Ik,left:Bk,right:Pk,center:Nk,inlineLeft:Tk,inlineRight:Sk,inline:Mk},Ok=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function Rk(t){l("image-style-configuration-definition-invalid",t)}const jk={normalizeStyles:function(t){return(t.configuredStyles.options||[]).map((t=>function(t){t="string"==typeof t?zk[t]?{...zk[t]}:{name:t}:function(t,e){const n={...e};for(const o in t)Object.prototype.hasOwnProperty.call(e,o)||(n[o]=t[o]);return n}(zk[t.name],t);"string"==typeof t.icon&&(t.icon=Lk[t.icon]||t.icon);return t}(t))).filter((e=>function(t,{isBlockPluginLoaded:e,isInlinePluginLoaded:n}){const{modelElements:o,name:i}=t;if(!(o&&o.length&&i))return Rk({style:t}),!1;{const i=[e?"imageBlock":null,n?"imageInline":null];if(!o.some((t=>i.includes(t))))return l("image-style-missing-dependency",{style:t,missingPlugins:o.map((t=>"imageBlock"===t?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(e,t)))},getDefaultStylesConfiguration:function(t,e){return t&&e?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:t?{options:["block","side"]}:e?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(t){return t.has("ImageBlockEditing")&&t.has("ImageInlineEditing")?[...Ok]:[]},warnInvalidStyle:Rk,DEFAULT_OPTIONS:zk,DEFAULT_ICONS:Lk,DEFAULT_DROPDOWN_DEFINITIONS:Ok};function Fk(t,e){for(const n of e)if(n.name===t)return n}class Vk extends V{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[Jf]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=jk,n=this.editor,o=n.plugins.has("ImageBlockEditing"),i=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(o,i)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:o,isInlinePluginLoaded:i}),this._setupConversion(o,i),this._setupPostFixer(),n.commands.add("imageStyle",new Dk(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,o=n.model.schema,i=(r=this.normalizedStyles,(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const o=Fk(e.attributeNewValue,r),i=Fk(e.attributeOldValue,r),s=n.mapper.toViewElement(e.item),a=n.writer;i&&a.removeClass(i.className,s),o&&a.addClass(o.className,s)});var r;const s=function(t){const e={imageInline:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageInline"))),imageBlock:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageBlock")))};return(t,n,o)=>{if(!n.modelRange)return;const i=n.viewItem,r=ba(n.modelRange.getItems());if(r&&o.schema.checkAttribute(r,"imageStyle"))for(const t of e[r.name])o.consumable.consume(i,{classes:t.className})&&o.writer.setAttribute("imageStyle",t.name,r)}}(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",i),n.data.downcastDispatcher.on("attribute:imageStyle",i),t&&(o.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),e&&(o.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(Jf),o=new Map(this.normalizedStyles.map((t=>[t.name,t])));e.registerPostFixer((t=>{let i=!1;for(const r of e.differ.getChanges())if("insert"==r.type||"attribute"==r.type&&"imageStyle"==r.attributeKey){let e="insert"==r.type?r.position.nodeAfter:r.range.start.nodeAfter;if(e&&e.is("element","paragraph")&&e.childCount>0&&(e=e.getChild(0)),!n.isImage(e))continue;const s=e.getAttribute("imageStyle");if(!s)continue;const a=o.get(s);a&&a.modelElements.includes(e.name)||(t.removeAttribute("imageStyle",e),i=!0)}return i}))}}var Hk=n(5083),Uk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Hk.Z,Uk);Hk.Z.locals;class Wk extends V{static get requires(){return[Vk]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins,e=this.editor.config.get("image.toolbar")||[],n=Gk(t.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const t of n)this._createButton(t);const o=Gk([...e.filter(D),...jk.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const t of o)this._createDropdown(t,n)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,(o=>{let i;const{defaultItem:r,items:s,title:a}=t,c=s.filter((t=>e.find((({name:e})=>qk(e)===t)))).map((t=>{const e=n.create(t);return t===r&&(i=e),e}));s.length!==c.length&&jk.warnInvalidStyle({dropdown:t});const l=Uu(o,ku),d=l.buttonView,h=d.arrowView;return Wu(l,c,{enableActiveItemFocusOnDropdownOpen:!0}),d.set({label:$k(a,i.label),class:null,tooltip:!0}),h.unbind("label"),h.set({label:a}),d.bind("icon").toMany(c,"isOn",((...t)=>{const e=t.findIndex(pi);return e<0?i.icon:c[e].icon})),d.bind("label").toMany(c,"isOn",((...t)=>{const e=t.findIndex(pi);return $k(a,e<0?i.label:c[e].label)})),d.bind("isOn").toMany(c,"isOn",((...t)=>t.some(pi))),d.bind("class").toMany(c,"isOn",((...t)=>t.some(pi)?"ck-splitbutton_flatten":null)),d.on("execute",(()=>{c.some((({isOn:t})=>t))?l.isOpen=!l.isOpen:i.fire("execute")})),l.bind("isEnabled").toMany(c,"isEnabled",((...t)=>t.some(pi))),this.listenTo(l,"execute",(()=>{this.editor.editing.view.focus()})),l}))}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(qk(e),(n=>{const o=this.editor.commands.get("imageStyle"),i=new au(n);return i.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),i.bind("isEnabled").to(o,"isEnabled"),i.bind("isOn").to(o,"value",(t=>t===e)),i.on("execute",this._executeCommand.bind(this,e)),i}))}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function Gk(t,e){for(const n of t)e[n.title]&&(n.title=e[n.title]);return t}function qk(t){return`imageStyle:${t}`}function $k(t,e){return(t?t+": ":"")+e}function Yk(t){const e=t.map((t=>t.replace("+","\\+")));return new RegExp(`^image\\/(${e.join("|")})$`)}function Kk(t){return new Promise(((e,n)=>{const o=t.getAttribute("src");fetch(o).then((t=>t.blob())).then((t=>{const n=Qk(t,o),i=n.replace("image/",""),r=new File([t],`image.${i}`,{type:n});e(r)})).catch((t=>t&&"TypeError"===t.name?function(t){return function(t){return new Promise(((e,n)=>{const o=Ao.document.createElement("img");o.addEventListener("load",(()=>{const t=Ao.document.createElement("canvas");t.width=o.width,t.height=o.height;t.getContext("2d").drawImage(o,0,0),t.toBlob((t=>t?e(t):n()))})),o.addEventListener("error",(()=>n())),o.src=t}))}(t).then((e=>{const n=Qk(e,t),o=n.replace("image/","");return new File([e],`image.${o}`,{type:n})}))}(o).then(e).catch(n):n(t)))}))}function Qk(t,e){return t.type?t.type:e.match(/data:(image\/\w+);base64/)?e.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class Zk extends V{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=n=>{const o=new Bp(n),i=t.commands.get("uploadImage"),r=t.config.get("image.upload.types"),s=Yk(r);return o.set({acceptedType:r.map((t=>`image/${t}`)).join(","),allowMultipleFiles:!0}),o.buttonView.set({label:e("Insert image"),icon:Zh.image,tooltip:!0}),o.buttonView.bind("isEnabled").to(i),o.on("done",((e,n)=>{const o=Array.from(n).filter((t=>s.test(t.type)));o.length&&(t.execute("uploadImage",{file:o}),t.editing.view.focus())})),o};t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n)}}var Jk=n(3689),Xk={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Jk.Z,Xk);Jk.Z.locals;var tb=n(4036),eb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(tb.Z,eb);tb.Z.locals;var nb=n(3773),ob={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(nb.Z,ob);nb.Z.locals;class ib extends V{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t),this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",((...t)=>this.uploadStatusChange(...t))),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",((...t)=>this.uploadStatusChange(...t)))}uploadStatusChange(t,e,n){const o=this.editor,i=e.item,r=i.getAttribute("uploadId");if(!n.consumable.consume(e.item,t.name))return;const s=o.plugins.get("ImageUtils"),a=o.plugins.get(Sp),c=r?e.attributeNewValue:null,l=this.placeholder,d=o.editing.mapper.toViewElement(i),h=n.writer;if("reading"==c)return rb(d,h),void sb(s,l,d,h);if("uploading"==c){const t=a.loaders.get(r);return rb(d,h),void(t?(ab(d,h),function(t,e,n,o){const i=function(t){const e=t.createUIElement("div",{class:"ck-progress-bar"});return t.setCustomProperty("progressBar",!0,e),e}(e);e.insert(e.createPositionAt(t,"end"),i),n.on("change:uploadedPercent",((t,e,n)=>{o.change((t=>{t.setStyle("width",n+"%",i)}))}))}(d,h,t,o.editing.view),function(t,e,n,o){if(o.data){const i=t.findViewImgElement(e);n.setAttribute("src",o.data,i)}}(s,d,h,t)):sb(s,l,d,h))}"complete"==c&&a.loaders.get(r)&&function(t,e,n){const o=e.createUIElement("div",{class:"ck-image-upload-complete-icon"});e.insert(e.createPositionAt(t,"end"),o),setTimeout((()=>{n.change((t=>t.remove(t.createRangeOn(o))))}),3e3)}(d,h,o.editing.view),function(t,e){lb(t,e,"progressBar")}(d,h),ab(d,h),function(t,e){e.removeClass("ck-appear",t)}(d,h)}}function rb(t,e){t.hasClass("ck-appear")||e.addClass("ck-appear",t)}function sb(t,e,n,o){n.hasClass("ck-image-upload-placeholder")||o.addClass("ck-image-upload-placeholder",n);const i=t.findViewImgElement(n);i.getAttribute("src")!==e&&o.setAttribute("src",e,i),cb(n,"placeholder")||o.insert(o.createPositionAfter(i),function(t){const e=t.createUIElement("div",{class:"ck-upload-placeholder-loader"});return t.setCustomProperty("placeholder",!0,e),e}(o))}function ab(t,e){t.hasClass("ck-image-upload-placeholder")&&e.removeClass("ck-image-upload-placeholder",t),lb(t,e,"placeholder")}function cb(t,e){for(const n of t.getChildren())if(n.getCustomProperty(e))return n}function lb(t,e,n){const o=cb(t,n);o&&e.remove(e.createRangeOn(o))}class db extends U{refresh(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=wo(t.file),n=this.editor.model.document.selection,o=this.editor.plugins.get("ImageUtils"),i=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(e&&r&&o.isImage(r)){const e=this.editor.model.createPositionAfter(r);this._uploadImage(t,i,e)}else this._uploadImage(t,i)}))}_uploadImage(t,e,n){const o=this.editor,i=o.plugins.get(Sp).createLoader(t),r=o.plugins.get("ImageUtils");i&&r.insertImage({...e,uploadId:i.id},n)}}class hb extends V{static get requires(){return[Sp,hg,Og,Jf]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t),t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const t=this.editor,e=t.model.document,n=t.conversion,o=t.plugins.get(Sp),i=t.plugins.get("ImageUtils"),r=Yk(t.config.get("image.upload.types")),s=new db(t);t.commands.add("uploadImage",s),t.commands.add("imageUpload",s),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",((e,n)=>{if(o=n.dataTransfer,Array.from(o.types).includes("text/html")&&""!==o.getData("text/html"))return;var o;const i=Array.from(n.dataTransfer.files).filter((t=>!!t&&r.test(t.type)));i.length&&(e.stop(),t.model.change((e=>{n.targetRanges&&e.setSelection(n.targetRanges.map((e=>t.editing.mapper.toModelRange(e)))),t.model.enqueueChange((()=>{t.execute("uploadImage",{file:i})}))})))})),this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",((e,n)=>{const r=Array.from(t.editing.view.createRangeIn(n.content)).filter((t=>function(t,e){return!(!t.isInlineImageView(e)||!e.getAttribute("src"))&&(e.getAttribute("src").match(/^data:image\/\w+;base64,/g)||e.getAttribute("src").match(/^blob:/g))}(i,t.item)&&!t.item.getAttribute("uploadProcessed"))).map((t=>({promise:Kk(t.item),imageElement:t.item})));if(!r.length)return;const s=new Hd(t.editing.view.document);for(const t of r){s.setAttribute("uploadProcessed",!0,t.imageElement);const e=o.createLoader(t.promise);e&&(s.setAttribute("src","",t.imageElement),s.setAttribute("uploadId",e.id,t.imageElement))}})),t.editing.view.document.on("dragover",((t,e)=>{e.preventDefault()})),e.on("change",(()=>{const n=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),i=new Set;for(const e of n)if("insert"==e.type&&"$text"!=e.name){const n=e.position.nodeAfter,r="$graveyard"==e.position.root.rootName;for(const e of ub(t,n)){const t=e.getAttribute("uploadId");if(!t)continue;const n=o.loaders.get(t);n&&(r?i.has(t)||n.abort():(i.add(t),this._uploadImageElements.set(t,e),"idle"==n.status&&this._readAndUpload(n)))}}})),this.on("uploadComplete",((t,{imageElement:e,data:n})=>{const o=n.urls?n.urls:n;this.editor.model.change((t=>{t.setAttribute("src",o.default,e),this._parseAndSetSrcsetAttributeOnImage(o,e,t)}))}),{priority:"low"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(t){const e=this.editor,n=e.model,o=e.locale.t,i=e.plugins.get(Sp),r=e.plugins.get(hg),s=e.plugins.get("ImageUtils"),a=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","reading",a.get(t.id))})),t.read().then((()=>{const o=t.upload(),i=a.get(t.id);if(lr.isSafari){const t=e.editing.mapper.toViewElement(i),n=s.findViewImgElement(t);e.editing.view.once("render",(()=>{if(!n.parent)return;const t=e.editing.view.domConverter.mapViewToDom(n.parent);if(!t)return;const o=t.style.display;t.style.display="none",t._ckHack=t.offsetHeight,t.style.display=o}))}return n.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("uploadStatus","uploading",i)})),o})).then((e=>{n.enqueueChange({isUndoable:!1},(n=>{const o=a.get(t.id);n.setAttribute("uploadStatus","complete",o),this.fire("uploadComplete",{data:e,imageElement:o})})),c()})).catch((e=>{if("error"!==t.status&&"aborted"!==t.status)throw e;"error"==t.status&&e&&r.showWarning(e,{title:o("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},(e=>{e.remove(a.get(t.id))})),c()}));function c(){n.enqueueChange({isUndoable:!1},(e=>{const n=a.get(t.id);e.removeAttribute("uploadId",n),e.removeAttribute("uploadStatus",n),a.delete(t.id)})),i.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let o=0;const i=Object.keys(t).filter((t=>{const e=parseInt(t,10);if(!isNaN(e))return o=Math.max(o,e),!0})).map((e=>`${t[e]} ${e}w`)).join(", ");""!=i&&n.setAttribute("srcset",{data:i,width:o},e)}}function ub(t,e){const n=t.plugins.get("ImageUtils");return Array.from(t.model.createRangeOn(e)).filter((t=>n.isImage(t.item))).map((t=>t.item))}class gb extends V{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new G(t)),t.commands.add("outdent",new G(t))}}const mb='',pb='';class fb extends V{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,o="ltr"==e.uiLanguageDirection?mb:pb,i="ltr"==e.uiLanguageDirection?pb:mb;this._defineButton("indent",n("Increase indent"),o),this._defineButton("outdent",n("Decrease indent"),i)}_defineButton(t,e,n){const o=this.editor;o.ui.componentFactory.add(t,(i=>{const r=o.commands.get(t),s=new au(i);return s.set({label:e,icon:n,tooltip:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(s,"execute",(()=>{o.execute(t),o.editing.view.focus()})),s}))}}class kb{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach((t=>this._definitions.add(t))):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",((t,e,n)=>{if(!n.consumable.test(e.item,"attribute:linkHref"))return;if(!e.item.is("selection")&&!n.schema.isInline(e.item))return;const o=n.writer,i=o.document.selection;for(const t of this._definitions){const r=o.createAttributeElement("a",t.attributes,{priority:5});t.classes&&o.addClass(t.classes,r);for(const e in t.styles)o.setStyle(e,t.styles[e],r);o.setCustomProperty("link",!0,r),t.callback(e.attributeNewValue)?e.item.is("selection")?o.wrap(i.getFirstRange(),r):o.wrap(n.mapper.toViewRange(e.range),r):o.unwrap(n.mapper.toViewRange(e.range),r)}}),{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",((t,e,{writer:n,mapper:o})=>{const i=o.toViewElement(e.item),r=Array.from(i.getChildren()).find((t=>"a"===t.name));for(const t of this._definitions){const o=Po(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of o)"class"===t?n.addClass(e,r):n.setAttribute(t,e,r);t.classes&&n.addClass(t.classes,r);for(const e in t.styles)n.setStyle(e,t.styles[e],r)}else{for(const[t,e]of o)"class"===t?n.removeClass(e,r):n.removeAttribute(t,r);t.classes&&n.removeClass(t.classes,r);for(const e in t.styles)n.removeStyle(e,r)}}}))}}}const bb=function(t,e,n){var o=t.length;return n=void 0===n?o:n,!e&&n>=o?t:oi(t,e,n)};var wb=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const _b=function(t){return wb.test(t)};const Ab=function(t){return t.split("")};var Cb="[\\ud800-\\udfff]",vb="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",yb="\\ud83c[\\udffb-\\udfff]",xb="[^\\ud800-\\udfff]",Eb="(?:\\ud83c[\\udde6-\\uddff]){2}",Db="[\\ud800-\\udbff][\\udc00-\\udfff]",Ib="(?:"+vb+"|"+yb+")"+"?",Mb="[\\ufe0e\\ufe0f]?",Tb=Mb+Ib+("(?:\\u200d(?:"+[xb,Eb,Db].join("|")+")"+Mb+Ib+")*"),Sb="(?:"+[xb+vb+"?",vb,Eb,Db,Cb].join("|")+")",Nb=RegExp(yb+"(?="+yb+")|"+Sb+Tb,"g");const Bb=function(t){return t.match(Nb)||[]};const Pb=function(t){return _b(t)?Bb(t):Ab(t)};const zb=function(t){return function(e){e=Jo(e);var n=_b(e)?Pb(e):void 0,o=n?n[0]:e.charAt(0),i=n?bb(n,1).join(""):e.slice(1);return o[t]()+i}}("toUpperCase"),Lb=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,Ob=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,Rb=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,jb=/^((\w+:(\/{2,})?)|(\W))/i,Fb="Ctrl+K";function Vb(t,{writer:e}){const n=e.createAttributeElement("a",{href:t},{priority:5});return e.setCustomProperty("link",!0,n),n}function Hb(t){return function(t){return t.replace(Lb,"").match(Ob)}(t=String(t))?t:"#"}function Ub(t,e){return!!t&&e.checkAttribute(t.name,"linkHref")}function Wb(t,e){const n=(o=t,Rb.test(o)?"mailto:":e);var o;const i=!!n&&!Gb(t);return t&&i?n+t:t}function Gb(t){return jb.test(t)}function qb(t){window.open(t,"_blank","noopener")}class $b extends U{constructor(t){super(t),this.manualDecorators=new ko,this.automaticDecorators=new kb}restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||ba(e.getSelectedBlocks());Ub(n,t.schema)?(this.value=n.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttribute(n,"linkHref")):(this.value=e.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref"));for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}execute(t,e={}){const n=this.editor.model,o=n.document.selection,i=[],r=[];for(const t in e)e[t]?i.push(t):r.push(t);n.change((e=>{if(o.isCollapsed){const s=o.getFirstPosition();if(o.hasAttribute("linkHref")){const a=bp(s,"linkHref",o.getAttribute("linkHref"),n);e.setAttribute("linkHref",t,a),i.forEach((t=>{e.setAttribute(t,!0,a)})),r.forEach((t=>{e.removeAttribute(t,a)})),e.setSelection(e.createPositionAfter(a.end.nodeBefore))}else if(""!==t){const r=Po(o.getAttributes());r.set("linkHref",t),i.forEach((t=>{r.set(t,!0)}));const{end:a}=n.insertContent(e.createText(t,r),s);e.setSelection(a)}["linkHref",...i,...r].forEach((t=>{e.removeSelectionAttribute(t)}))}else{const s=n.schema.getValidRanges(o.getRanges(),"linkHref"),a=[];for(const t of o.getSelectedBlocks())n.schema.checkAttribute(t,"linkHref")&&a.push(e.createRangeOn(t));const c=a.slice();for(const t of s)this._isRangeToUpdate(t,a)&&c.push(t);for(const n of c)e.setAttribute("linkHref",t,n),i.forEach((t=>{e.setAttribute(t,!0,n)})),r.forEach((t=>{e.removeAttribute(t,n)}))}}))}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,o=n.getSelectedElement();return Ub(o,e.schema)?o.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}}class Yb extends U{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();Ub(n,t.schema)?this.isEnabled=t.schema.checkAttribute(n,"linkHref"):this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}execute(){const t=this.editor,e=this.editor.model,n=e.document.selection,o=t.commands.get("link");e.change((t=>{const i=n.isCollapsed?[bp(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const e of i)if(t.removeAttribute("linkHref",e),o)for(const n of o.manualDecorators)t.removeAttribute(n.id,e)}))}}class Kb{constructor({id:t,label:e,attributes:n,classes:o,styles:i,defaultValue:r}){this.id=t,this.set("value"),this.defaultValue=r,this.label=e,this.attributes=n,this.classes=o,this.styles=i}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}F(Kb,B);var Qb=n(9773),Zb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Qb.Z,Zb);Qb.Z.locals;const Jb="automatic",Xb=/^(https?:)?\/\//;class tw extends V{static get pluginName(){return"LinkEditing"}static get requires(){return[op,Xm,Og]}constructor(t){super(t),t.config.define("link",{addTargetToExternalLinks:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"}),t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:Vb}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(t,e)=>Vb(Hb(t),e)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:t=>t.getAttribute("href")}}),t.commands.add("link",new $b(t)),t.commands.add("unlink",new Yb(t));const e=function(t,e){const n={"Open in a new tab":t("Open in a new tab"),Downloadable:t("Downloadable")};return e.forEach((t=>(t.label&&n[t.label]&&(t.label=n[t.label]),t))),e}(t.t,function(t){const e=[];if(t)for(const[n,o]of Object.entries(t)){const t=Object.assign({},o,{id:`link${zb(n)}`});e.push(t)}return e}(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter((t=>t.mode===Jb))),this._enableManualDecorators(e.filter((t=>"manual"===t.mode)));t.plugins.get(op).registerAttribute("linkHref"),function(t,e,n,o){const i=t.editing.view,r=new Set;i.document.registerPostFixer((i=>{const s=t.model.document.selection;let a=!1;if(s.hasAttribute(e)){const c=bp(s.getFirstPosition(),e,s.getAttribute(e),t.model),l=t.editing.mapper.toViewRange(c);for(const t of l.getItems())t.is("element",n)&&!t.hasClass(o)&&(i.addClass(o,t),r.add(t),a=!0)}return a})),t.conversion.for("editingDowncast").add((t=>{function e(){i.change((t=>{for(const e of r.values())t.removeClass(o,e),r.delete(e)}))}t.on("insert",e,{priority:"highest"}),t.on("remove",e,{priority:"highest"}),t.on("attribute",e,{priority:"highest"}),t.on("selection",e,{priority:"highest"})}))}(t,"linkHref","a","ck-link_selected"),this._enableLinkOpen(),this._enableInsertContentSelectionAttributesFixer(),this._enableClickingAfterLink(),this._enableTypingOverLink(),this._handleDeleteContentAfterLink()}_enableAutomaticDecorators(t){const e=this.editor,n=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&n.add({id:"linkIsExternal",mode:Jb,callback:t=>Xb.test(t),attributes:{target:"_blank",rel:"noopener noreferrer"}}),n.add(t),n.length&&e.conversion.for("downcast").add(n.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,n=e.commands.get("link").manualDecorators;t.forEach((t=>{e.model.schema.extend("$text",{allowAttributes:t.id}),t=new Kb(t),n.add(t),e.conversion.for("downcast").attributeToElement({model:t.id,view:(e,{writer:n,schema:o},{item:i})=>{if((i.is("selection")||o.isInline(i))&&e){const e=n.createAttributeElement("a",t.attributes,{priority:5});t.classes&&n.addClass(t.classes,e);for(const o in t.styles)n.setStyle(o,t.styles[o],e);return n.setCustomProperty("link",!0,e),e}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...t._createPattern()},model:{key:t.id}})}))}_enableLinkOpen(){const t=this.editor,e=t.editing.view.document,n=t.model.document;this.listenTo(e,"click",((t,e)=>{if(!(lr.isMac?e.domEvent.metaKey:e.domEvent.ctrlKey))return;let n=e.domTarget;if("a"!=n.tagName.toLowerCase()&&(n=n.closest("a")),!n)return;const o=n.getAttribute("href");o&&(t.stop(),e.preventDefault(),qb(o))}),{context:"$capture"}),this.listenTo(e,"enter",((t,e)=>{const o=n.selection,i=o.getSelectedElement(),r=i?i.getAttribute("linkHref"):o.getAttribute("linkHref");r&&e.domEvent.altKey&&(t.stop(),qb(r))}),{context:"a"})}_enableInsertContentSelectionAttributesFixer(){const t=this.editor.model,e=t.document.selection;this.listenTo(t,"insertContent",(()=>{const n=e.anchor.nodeBefore,o=e.anchor.nodeAfter;e.hasAttribute("linkHref")&&n&&n.hasAttribute("linkHref")&&(o&&o.hasAttribute("linkHref")||t.change((e=>{ew(e,ow(t.schema))})))}),{priority:"low"})}_enableClickingAfterLink(){const t=this.editor,e=t.model;t.editing.view.addObserver(Vd);let n=!1;this.listenTo(t.editing.view.document,"mousedown",(()=>{n=!0})),this.listenTo(t.editing.view.document,"selectionChange",(()=>{if(!n)return;n=!1;const t=e.document.selection;if(!t.isCollapsed)return;if(!t.hasAttribute("linkHref"))return;const o=t.getFirstPosition(),i=bp(o,"linkHref",t.getAttribute("linkHref"),e);(o.isTouching(i.start)||o.isTouching(i.end))&&e.change((t=>{ew(t,ow(e.schema))}))}))}_enableTypingOverLink(){const t=this.editor,e=t.editing.view;let n,o;this.listenTo(e.document,"delete",(()=>{o=!0}),{priority:"high"}),this.listenTo(t.model,"deleteContent",(()=>{const e=t.model.document.selection;e.isCollapsed||(o?o=!1:nw(t)&&function(t){const e=t.document.selection,n=e.getFirstPosition(),o=e.getLastPosition(),i=n.nodeAfter;if(!i)return!1;if(!i.is("$text"))return!1;if(!i.hasAttribute("linkHref"))return!1;const r=o.textNode||o.nodeBefore;if(i===r)return!0;return bp(n,"linkHref",i.getAttribute("linkHref"),t).containsRange(t.createRange(n,o),!0)}(t.model)&&(n=e.getAttributes()))}),{priority:"high"}),this.listenTo(t.model,"insertContent",((e,[i])=>{o=!1,nw(t)&&n&&(t.model.change((t=>{for(const[e,o]of n)t.setAttribute(e,o,i)})),n=null)}),{priority:"high"})}_handleDeleteContentAfterLink(){const t=this.editor,e=t.model,n=e.document.selection,o=t.editing.view;let i=!1,r=!1;this.listenTo(o.document,"delete",((t,e)=>{r=e.domEvent.keyCode===gr.backspace}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{i=!1;const t=n.getFirstPosition(),o=n.getAttribute("linkHref");if(!o)return;const r=bp(t,"linkHref",o,e);i=r.containsPosition(t)||r.end.isEqual(t)}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{r&&(r=!1,i||t.model.enqueueChange((t=>{ew(t,ow(e.schema))})))}),{priority:"low"})}}function ew(t,e){t.removeSelectionAttribute("linkHref");for(const n of e)t.removeSelectionAttribute(n)}function nw(t){return t.model.change((t=>t.batch)).isTyping}function ow(t){return t.getDefinition("$text").allowAttributes.filter((t=>t.startsWith("link")))}var iw=n(7754),rw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(iw.Z,rw);iw.Z.locals;class sw extends xh{constructor(t,e){super(t);const n=t.t;this.focusTracker=new wa,this.keystrokes=new _a,this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),Zh.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),Zh.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusables=new nh,this._focusCycler=new Cu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const o=["ck","ck-link-form","ck-responsive-form"];e.manualDecorators.length&&o.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:o,tabindex:"-1"},children:this.children}),Xh(this)}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>(t[e.name]=e.isOn,t)),{})}render(){super.render(),tu({view:this});[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t,e=new lg(this.locale,dg);return e.label=t("Link URL"),e}_createButton(t,e,n,o){const i=new au(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.extendTemplate({attributes:{class:n}}),o&&i.delegate("execute").to(this,o),i}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const o=new du(this.locale);o.set({name:n.id,label:n.label,withText:!0}),o.bind("isOn").toMany([n,t],"value",((t,e)=>void 0===e&&void 0===t?n.defaultValue:t)),o.on("execute",(()=>{n.set("value",!o.isOn)})),e.add(o)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const t=new xh;t.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map((t=>({tag:"li",children:[t],attributes:{class:["ck","ck-list__item"]}}))),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(t)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var aw=n(2347),cw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(aw.Z,cw);aw.Z.locals;class lw extends xh{constructor(t){super(t);const e=t.t;this.focusTracker=new wa,this.keystrokes=new _a,this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),'',"unlink"),this.editButtonView=this._createButton(e("Edit link"),Zh.pencil,"edit"),this.set("href"),this._focusables=new nh,this._focusCycler=new Cu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-actions","ck-responsive-form"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();[this.previewButtonView,this.editButtonView,this.unlinkButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const o=new au(this.locale);return o.set({label:t,icon:e,tooltip:!0}),o.delegate("execute").to(this,n),o}_createPreviewButton(){const t=new au(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n("Open link in new tab")}),t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",(t=>t&&Hb(t))),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",(t=>t||n("This link has no URL"))),t.bind("isEnabled").to(this,"href",(t=>!!t)),t.template.tag="a",t.template.eventListeners={},t}}const dw="link-ui";class hw extends V{static get requires(){return[bg]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(Fd),this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._balloon=t.plugins.get(bg),this._createToolbarLinkButton(),this._enableUserBalloonInteractions(),t.conversion.for("editingDowncast").markerToHighlight({model:dw,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:dw,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView.destroy()}_createActionsView(){const t=this.editor,e=new lw(t.locale),n=t.commands.get("link"),o=t.commands.get("unlink");return e.bind("href").to(n,"value"),e.editButtonView.bind("isEnabled").to(n),e.unlinkButtonView.bind("isEnabled").to(o),this.listenTo(e,"edit",(()=>{this._addFormView()})),this.listenTo(e,"unlink",(()=>{t.execute("unlink"),this._hideUI()})),e.keystrokes.set("Esc",((t,e)=>{this._hideUI(),e()})),e.keystrokes.set(Fb,((t,e)=>{this._addFormView(),e()})),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),o=new sw(t.locale,e);return o.urlInputView.fieldView.bind("value").to(e,"value"),o.urlInputView.bind("isReadOnly").to(e,"isEnabled",(t=>!t)),o.saveButtonView.bind("isEnabled").to(e),this.listenTo(o,"submit",(()=>{const{value:e}=o.urlInputView.fieldView.element,i=Wb(e,n);t.execute("link",i,o.getDecoratorSwitchesState()),this._closeFormView()})),this.listenTo(o,"cancel",(()=>{this._closeFormView()})),o.keystrokes.set("Esc",((t,e)=>{this._closeFormView(),e()})),o}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get("link"),n=t.t;t.keystrokes.set(Fb,((t,n)=>{n(),e.isEnabled&&this._showUI(!0)})),t.ui.componentFactory.add("link",(t=>{const o=new au(t);return o.isEnabled=!0,o.label=n("Link"),o.icon='',o.keystroke=Fb,o.tooltip=!0,o.isToggleable=!0,o.bind("isEnabled").to(e,"isEnabled"),o.bind("isOn").to(e,"value",(t=>!!t)),this.listenTo(o,"execute",(()=>this._showUI(!0))),o}))}_enableUserBalloonInteractions(){const t=this.editor.editing.view.document;this.listenTo(t,"click",(()=>{this._getSelectedLinkElement()&&this._showUI()})),this.editor.keystrokes.set("Tab",((t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())}),{priority:"high"}),this.editor.keystrokes.set("Esc",((t,e)=>{this._isUIVisible&&(this._hideUI(),e())})),Jh({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel)return;const t=this.editor.commands.get("link");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions(),this.formView.urlInputView.fieldView.element.value=t.value||""}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),void 0!==t.value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),t&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),t&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const t=this.editor;this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),t.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),o=r();const i=()=>{const t=this._getSelectedLinkElement(),e=r();n&&!t||!n&&e!==o?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=t,o=e};function r(){return e.selection.focus.getAncestors().reverse().find((t=>t.is("element")))}this.listenTo(t.ui,"update",i),this.listenTo(this._balloon,"change:visibleView",i)}get _isFormInPanel(){return this._balloon.hasView(this.formView)}get _areActionsInPanel(){return this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){return this._balloon.visibleView==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let o=null;if(e.markers.has(dw)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(dw)),n=t.createRange(t.createPositionBefore(e[0]),t.createPositionAfter(e[e.length-1]));o=t.domConverter.viewRangeToDom(n)}else o=()=>{const e=this._getSelectedLinkElement();return e?t.domConverter.mapViewToDom(e):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:o}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&nm(n))return uw(e.getFirstPosition());{const n=e.getFirstRange().getTrimmed(),o=uw(n.start),i=uw(n.end);return o&&o==i&&t.createRangeIn(o).getTrimmed().isEqual(n)?o:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change((e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(dw))e.updateMarker(dw,{range:n});else if(n.start.isAtEnd){const o=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(dw,{usingOperation:!1,affectsData:!1,range:e.createRange(o,n.end)})}else e.addMarker(dw,{usingOperation:!1,affectsData:!1,range:n})}))}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(dw)&&t.change((t=>{t.removeMarker(dw)}))}}function uw(t){return t.getAncestors().find((t=>{return(e=t).is("attributeElement")&&!!e.getCustomProperty("link");var e}))}const gw=new RegExp("(^|\\s)(((?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(((?!www\\.)|(www\\.))(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+(?:[a-z\\u00a1-\\uffff]{2,63})))(?::\\d{2,5})?(?:[/?#]\\S*)?)|((www.|(\\S+@))((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+(?:[a-z\\u00a1-\\uffff]{2,63})))$","i");class mw extends V{static get requires(){return[Kg]}static get pluginName(){return"AutoLink"}init(){const t=this.editor.model.document.selection;t.on("change:range",(()=>{this.isEnabled=!t.anchor.parent.is("element","codeBlock")})),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling()}_enableTypingHandling(){const t=this.editor,e=new np(t.model,(t=>{if(!function(t){return t.length>4&&" "===t[t.length-1]&&" "!==t[t.length-2]}(t))return;const e=pw(t.substr(0,t.length-1));return e?{url:e}:void 0}));e.on("matched:data",((e,n)=>{const{batch:o,range:i,url:r}=n;if(!o.isTyping)return;const s=i.end.getShiftedBy(-1),a=s.getShiftedBy(-r.length),c=t.model.createRange(a,s);this._applyAutoLink(r,c)})),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",(()=>{const t=e.document.selection.getFirstPosition();if(!t.parent.previousSibling)return;const n=e.createRangeIn(t.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(n)}))}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",(()=>{const t=e.document.selection.getFirstPosition(),n=e.createRange(e.createPositionAt(t.parent,0),t.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)}))}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:o}=ep(t,e),i=pw(n);if(i){const t=e.createRange(o.end.getShiftedBy(-i.length),o.end);this._applyAutoLink(i,t)}}_applyAutoLink(t,e){const n=this.editor.model,o=Wb(t,this.editor.config.get("link.defaultProtocol"));this.isEnabled&&function(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),"linkHref")}(e,n)&&Gb(o)&&!function(t){const e=t.start.nodeAfter;return e&&e.hasAttribute("linkHref")}(e)&&this._persistAutoLink(o,e)}_persistAutoLink(t,e){const n=this.editor.model,o=this.editor.plugins.get("Delete");n.enqueueChange((i=>{i.setAttribute("linkHref",t,e),n.enqueueChange((()=>{o.requestUndoOnBackspace()}))}))}}function pw(t){const e=gw.exec(t);return e?e[2]:null}class fw extends U{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,o=Array.from(n.selection.getSelectedBlocks()).filter((t=>bw(t,e.schema))),i=void 0!==t.forceValue?!t.forceValue:this.value;e.change((t=>{if(i){let e=o[o.length-1].nextSibling,n=Number.POSITIVE_INFINITY,i=[];for(;e&&"listItem"==e.name&&0!==e.getAttribute("listIndent");){const t=e.getAttribute("listIndent");t=n;)r>i.getAttribute("listIndent")&&(r=i.getAttribute("listIndent")),i.getAttribute("listIndent")==r&&t[e?"unshift":"push"](i),i=i[e?"previousSibling":"nextSibling"]}}function bw(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class ww extends U{constructor(t,e){super(t),this._indentBy="forward"==e?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=n[n.length-1];let o=e.nextSibling;for(;o&&"listItem"==o.name&&o.getAttribute("listIndent")>e.getAttribute("listIndent");)n.push(o),o=o.nextSibling;this._indentBy<0&&(n=n.reverse());for(const e of n){const n=e.getAttribute("listIndent")+this._indentBy;n<0?t.rename(e,"paragraph"):t.setAttribute("listIndent",n,e)}this.fire("_executeCleanup",n)}))}_checkEnabled(){const t=ba(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem"))return!1;if(this._indentBy>0){const e=t.getAttribute("listIndent"),n=t.getAttribute("listType");let o=t.previousSibling;for(;o&&o.is("element","listItem")&&o.getAttribute("listIndent")>=e;){if(o.getAttribute("listIndent")==e)return o.getAttribute("listType")==n;o=o.previousSibling}return!1}return!0}}function _w(t,e){const n=e.mapper,o=e.writer,i="numbered"==t.getAttribute("listType")?"ol":"ul",r=function(t){const e=t.createContainerElement("li");return e.getFillerOffset=Ew,e}(o),s=o.createContainerElement(i,null);return o.insert(o.createPositionAt(s,0),r),n.bindElements(t,r),r}function Aw(t,e,n,o){const i=e.parent,r=n.mapper,s=n.writer;let a=r.toViewPosition(o.createPositionBefore(t));const c=yw(t.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:t.getAttribute("listIndent")}),l=t.previousSibling;if(c&&c.getAttribute("listIndent")==t.getAttribute("listIndent")){const t=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(t))}else if(l&&"listItem"==l.name){a=r.toViewPosition(o.createPositionAt(l,"end"));const t=r.findMappedViewAncestor(a),e=function(t){for(const e of t.getChildren())if("ul"==e.name||"ol"==e.name)return e;return null}(t);a=e?s.createPositionBefore(e):s.createPositionAt(t,"end")}else a=r.toViewPosition(o.createPositionBefore(t));if(a=vw(a),s.insert(a,i),l&&"listItem"==l.name){const t=r.toViewElement(l),n=s.createRange(s.createPositionAt(t,0),a).getWalker({ignoreElementEnd:!0});for(const t of n)if(t.item.is("element","li")){const o=s.breakContainer(s.createPositionBefore(t.item)),i=t.item.parent,r=s.createPositionAt(e,"end");Cw(s,r.nodeBefore,r.nodeAfter),s.move(s.createRangeOn(i),r),n.position=o}}else{const n=i.nextSibling;if(n&&(n.is("element","ul")||n.is("element","ol"))){let o=null;for(const e of n.getChildren()){const n=r.toModelElement(e);if(!(n&&n.getAttribute("listIndent")>t.getAttribute("listIndent")))break;o=e}o&&(s.breakContainer(s.createPositionAfter(o)),s.move(s.createRangeOn(o.parent),s.createPositionAt(e,"end")))}}Cw(s,i,i.nextSibling),Cw(s,i.previousSibling,i)}function Cw(t,e,n){return!e||!n||"ul"!=e.name&&"ol"!=e.name||e.name!=n.name||e.getAttribute("class")!==n.getAttribute("class")?null:t.mergeContainers(t.createPositionAfter(e))}function vw(t){return t.getLastMatchingPosition((t=>t.item.is("uiElement")))}function yw(t,e){const n=!!e.sameIndent,o=!!e.smallerIndent,i=e.listIndent;let r=t;for(;r&&"listItem"==r.name;){const t=r.getAttribute("listIndent");if(n&&i==t||o&&i>t)return r;r="forward"===e.direction?r.nextSibling:r.previousSibling}return null}function xw(t,e,n,o){t.ui.componentFactory.add(e,(i=>{const r=t.commands.get(e),s=new au(i);return s.set({label:n,icon:o,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",(()=>{t.execute(e),t.editing.view.focus()})),s}))}function Ew(){const t=!this.isEmpty&&("ul"==this.getChild(0).name||"ol"==this.getChild(0).name);return this.isEmpty||t?0:Oi.call(this)}function Dw(t){return(e,n,o)=>{const i=o.consumable;if(!i.test(n.item,"insert")||!i.test(n.item,"attribute:listType")||!i.test(n.item,"attribute:listIndent"))return;i.consume(n.item,"insert"),i.consume(n.item,"attribute:listType"),i.consume(n.item,"attribute:listIndent");const r=n.item;Aw(r,_w(r,o),o,t)}}function Iw(t,e,n){if(!n.consumable.test(e.item,t.name))return;const o=n.mapper.toViewElement(e.item),i=n.writer;i.breakContainer(i.createPositionBefore(o)),i.breakContainer(i.createPositionAfter(o));const r=o.parent,s="numbered"==e.attributeNewValue?"ol":"ul";i.rename(s,r)}function Mw(t,e,n){n.consumable.consume(e.item,t.name);const o=n.mapper.toViewElement(e.item).parent,i=n.writer;Cw(i,o,o.nextSibling),Cw(i,o.previousSibling,o)}function Tw(t,e,n){if(n.consumable.test(e.item,t.name)&&"listItem"!=e.item.name){let t=n.mapper.toViewPosition(e.range.start);const o=n.writer,i=[];for(;("ul"==t.parent.name||"ol"==t.parent.name)&&(t=o.breakContainer(t),"li"==t.parent.name);){const e=t,n=o.createPositionAt(t.parent,"end");if(!e.isEqual(n)){const t=o.remove(o.createRange(e,n));i.push(t)}t=o.createPositionAfter(t.parent)}if(i.length>0){for(let e=0;e0){const e=Cw(o,n,n.nextSibling);e&&e.parent==n&&t.offset--}}Cw(o,t.nodeBefore,t.nodeAfter)}}}function Sw(t,e,n){const o=n.mapper.toViewPosition(e.position),i=o.nodeBefore,r=o.nodeAfter;Cw(n.writer,i,r)}function Nw(t,e,n){if(n.consumable.consume(e.viewItem,{name:!0})){const t=n.writer,o=t.createElement("listItem"),i=function(t){let e=0,n=t.parent;for(;n;){if(n.is("element","li"))e++;else{const t=n.previousSibling;t&&t.is("element","li")&&e++}n=n.parent}return e}(e.viewItem);t.setAttribute("listIndent",i,o);const r=e.viewItem.parent&&"ol"==e.viewItem.parent.name?"numbered":"bulleted";if(t.setAttribute("listType",r,o),!n.safeInsert(o,e.modelCursor))return;const s=function(t,e,n){const{writer:o,schema:i}=n;let r=o.createPositionAfter(t);for(const s of e)if("ul"==s.name||"ol"==s.name)r=n.convertItem(s,r).modelCursor;else{const e=n.convertItem(s,o.createPositionAt(t,"end")),a=e.modelRange.start.nodeAfter;a&&a.is("element")&&!i.checkChild(t,a.name)&&(t=e.modelCursor.parent.is("element","listItem")?e.modelCursor.parent:Ow(e.modelCursor),r=o.createPositionAfter(t))}return r}(o,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,s),n.updateConversionResult(o,e)}}function Bw(t,e,n){if(n.consumable.test(e.viewItem,{name:!0})){const t=Array.from(e.viewItem.getChildren());for(const e of t){!(e.is("element","li")||jw(e))&&e._remove()}}}function Pw(t,e,n){if(n.consumable.test(e.viewItem,{name:!0})){if(0===e.viewItem.childCount)return;const t=[...e.viewItem.getChildren()];let n=!1;for(const e of t)n&&!jw(e)&&e._remove(),jw(e)&&(n=!0)}}function zw(t){return(e,n)=>{if(n.isPhantom)return;const o=n.modelPosition.nodeBefore;if(o&&o.is("element","listItem")){const e=n.mapper.toViewElement(o),i=e.getAncestors().find(jw),r=t.createPositionAt(e,0).getWalker();for(const t of r){if("elementStart"==t.type&&t.item.is("element","li")){n.viewPosition=t.previousPosition;break}if("elementEnd"==t.type&&t.item==i){n.viewPosition=t.nextPosition;break}}}}}function Lw(t,[e,n]){let o,i=e.is("documentFragment")?e.getChild(0):e;if(o=n?this.createSelection(n):this.document.selection,i&&i.is("element","listItem")){const t=o.getFirstPosition();let e=null;if(t.parent.is("element","listItem")?e=t.parent:t.nodeBefore&&t.nodeBefore.is("element","listItem")&&(e=t.nodeBefore),e){const t=e.getAttribute("listIndent");if(t>0)for(;i&&i.is("element","listItem");)i._setAttribute("listIndent",i.getAttribute("listIndent")+t),i=i.nextSibling}}}function Ow(t){const e=new qa({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is("element","listItem"));return n.value.item}function Rw(t,e,n,o,i,r){const s=yw(e.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:t,foo:"b"}),a=i.mapper,c=i.writer,l=s?s.getAttribute("listIndent"):null;let d;if(s)if(l==t){const t=a.toViewElement(s).parent;d=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,"end");d=a.toViewPosition(t)}else d=n;d=vw(d);for(const t of[...o.getChildren()])jw(t)&&(d=c.move(c.createRangeOn(t),d).end,Cw(c,t,t.nextSibling),Cw(c,t.previousSibling,t))}function jw(t){return t.is("element","ol")||t.is("element","ul")}class Fw extends V{static get pluginName(){return"ListEditing"}static get requires(){return[Hg,Kg]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data,n=t.editing;var o;t.model.document.registerPostFixer((e=>function(t,e){const n=t.document.differ.getChanges(),o=new Map;let i=!1;for(const o of n)if("insert"==o.type&&"listItem"==o.name)r(o.position);else if("insert"==o.type&&"listItem"!=o.name){if("$text"!=o.name){const n=o.position.nodeAfter;n.hasAttribute("listIndent")&&(e.removeAttribute("listIndent",n),i=!0),n.hasAttribute("listType")&&(e.removeAttribute("listType",n),i=!0),n.hasAttribute("listStyle")&&(e.removeAttribute("listStyle",n),i=!0),n.hasAttribute("listReversed")&&(e.removeAttribute("listReversed",n),i=!0),n.hasAttribute("listStart")&&(e.removeAttribute("listStart",n),i=!0);for(const e of Array.from(t.createRangeIn(n)).filter((t=>t.item.is("element","listItem"))))r(e.previousPosition)}r(o.position.getShiftedBy(o.length))}else"remove"==o.type&&"listItem"==o.name?r(o.position):("attribute"==o.type&&"listIndent"==o.attributeKey||"attribute"==o.type&&"listType"==o.attributeKey)&&r(o.range.start);for(const t of o.values())s(t),a(t);return i;function r(t){const e=t.nodeBefore;if(e&&e.is("element","listItem")){let t=e;if(o.has(t))return;for(let e=t.previousSibling;e&&e.is("element","listItem");e=t.previousSibling)if(t=e,o.has(t))return;o.set(e,t)}else{const e=t.nodeAfter;e&&e.is("element","listItem")&&o.set(e,e)}}function s(t){let n=0,o=null;for(;t&&t.is("element","listItem");){const r=t.getAttribute("listIndent");if(r>n){let s;null===o?(o=r-n,s=n):(o>r&&(o=r),s=r-o),e.setAttribute("listIndent",s,t),i=!0}else o=null,n=t.getAttribute("listIndent")+1;t=t.nextSibling}}function a(t){let n=[],o=null;for(;t&&t.is("element","listItem");){const r=t.getAttribute("listIndent");if(o&&o.getAttribute("listIndent")>r&&(n=n.slice(0,r+1)),0!=r)if(n[r]){const o=n[r];t.getAttribute("listType")!=o&&(e.setAttribute("listType",o,t),i=!0)}else n[r]=t.getAttribute("listType");o=t,t=t.nextSibling}}}(t.model,e))),n.mapper.registerViewToModelLength("li",Vw),e.mapper.registerViewToModelLength("li",Vw),n.mapper.on("modelToViewPosition",zw(n.view)),n.mapper.on("viewToModelPosition",(o=t.model,(t,e)=>{const n=e.viewPosition,i=n.parent,r=e.mapper;if("ul"==i.name||"ol"==i.name){if(n.isAtEnd){const t=r.toModelElement(n.nodeBefore),i=r.getModelLength(n.nodeBefore);e.modelPosition=o.createPositionBefore(t).getShiftedBy(i)}else{const t=r.toModelElement(n.nodeAfter);e.modelPosition=o.createPositionBefore(t)}t.stop()}else if("li"==i.name&&n.nodeBefore&&("ul"==n.nodeBefore.name||"ol"==n.nodeBefore.name)){const s=r.toModelElement(i);let a=1,c=n.nodeBefore;for(;c&&jw(c);)a+=r.getModelLength(c),c=c.previousSibling;e.modelPosition=o.createPositionBefore(s).getShiftedBy(a),t.stop()}})),e.mapper.on("modelToViewPosition",zw(n.view)),t.conversion.for("editingDowncast").add((e=>{e.on("insert",Tw,{priority:"high"}),e.on("insert:listItem",Dw(t.model)),e.on("attribute:listType:listItem",Iw,{priority:"high"}),e.on("attribute:listType:listItem",Mw,{priority:"low"}),e.on("attribute:listIndent:listItem",function(t){return(e,n,o)=>{if(!o.consumable.consume(n.item,"attribute:listIndent"))return;const i=o.mapper.toViewElement(n.item),r=o.writer;r.breakContainer(r.createPositionBefore(i)),r.breakContainer(r.createPositionAfter(i));const s=i.parent,a=s.previousSibling,c=r.createRangeOn(s);r.remove(c),a&&a.nextSibling&&Cw(r,a,a.nextSibling),Rw(n.attributeOldValue+1,n.range.start,c.start,i,o,t),Aw(n.item,i,o,t);for(const t of n.item.getChildren())o.consumable.consume(t,"insert")}}(t.model)),e.on("remove:listItem",function(t){return(e,n,o)=>{const i=o.mapper.toViewPosition(n.position).getLastMatchingPosition((t=>!t.item.is("element","li"))).nodeAfter,r=o.writer;r.breakContainer(r.createPositionBefore(i)),r.breakContainer(r.createPositionAfter(i));const s=i.parent,a=s.previousSibling,c=r.createRangeOn(s),l=r.remove(c);a&&a.nextSibling&&Cw(r,a,a.nextSibling),Rw(o.mapper.toModelElement(i).getAttribute("listIndent")+1,n.position,c.start,i,o,t);for(const t of r.createRangeIn(l).getItems())o.mapper.unbindViewElement(t);e.stop()}}(t.model)),e.on("remove",Sw,{priority:"low"})})),t.conversion.for("dataDowncast").add((e=>{e.on("insert",Tw,{priority:"high"}),e.on("insert:listItem",Dw(t.model))})),t.conversion.for("upcast").add((t=>{t.on("element:ul",Bw,{priority:"high"}),t.on("element:ol",Bw,{priority:"high"}),t.on("element:li",Pw,{priority:"high"}),t.on("element:li",Nw)})),t.model.on("insertContent",Lw,{priority:"high"}),t.commands.add("numberedList",new fw(t,"numbered")),t.commands.add("bulletedList",new fw(t,"bulleted")),t.commands.add("indentList",new ww(t,"forward")),t.commands.add("outdentList",new ww(t,"backward"));const i=n.view.document;this.listenTo(i,"enter",((t,e)=>{const n=this.editor.model.document,o=n.selection.getLastPosition().parent;n.selection.isCollapsed&&"listItem"==o.name&&o.isEmpty&&(this.editor.execute("outdentList"),e.preventDefault(),t.stop())}),{context:"li"}),this.listenTo(i,"delete",((t,e)=>{if("backward"!==e.direction)return;const n=this.editor.model.document.selection;if(!n.isCollapsed)return;const o=n.getFirstPosition();if(!o.isAtStart)return;const i=o.parent;if("listItem"!==i.name)return;i.previousSibling&&"listItem"===i.previousSibling.name||(this.editor.execute("outdentList"),e.preventDefault(),t.stop())}),{context:"li"}),this.listenTo(t.editing.view.document,"tab",((e,n)=>{const o=n.shiftKey?"outdentList":"indentList";this.editor.commands.get(o).isEnabled&&(t.execute(o),n.stopPropagation(),n.preventDefault(),e.stop())}),{context:"li"})}afterInit(){const t=this.editor.commands,e=t.get("indent"),n=t.get("outdent");e&&e.registerChildCommand(t.get("indentList")),n&&n.registerChildCommand(t.get("outdentList"))}}function Vw(t){let e=1;for(const n of t.getChildren())if("ul"==n.name||"ol"==n.name)for(const t of n.getChildren())e+=Vw(t);return e}class Hw extends V{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;xw(this.editor,"numberedList",t("Numbered List"),''),xw(this.editor,"bulletedList",t("Bulleted List"),'')}}function Uw(t,e){return t=>{t.on("attribute:url:media",n)};function n(n,o,i){if(!i.consumable.consume(o.item,n.name))return;const r=o.attributeNewValue,s=i.writer,a=i.mapper.toViewElement(o.item),c=[...a.getChildren()].find((t=>t.getCustomProperty("media-content")));s.remove(c);const l=t.getMediaViewElement(s,r,e);s.insert(s.createPositionAt(a,0),l)}}function Ww(t,e,n,o){return t.createContainerElement("figure",{class:"media"},[e.getMediaViewElement(t,n,o),t.createSlot()])}function Gw(t){const e=t.getSelectedElement();return e&&e.is("element","media")?e:null}function qw(t,e,n,o){t.change((i=>{const r=i.createElement("media",{url:e});t.insertObject(r,n,null,{setSelection:"on",findOptimalPosition:o})}))}class $w extends U{refresh(){const t=this.editor.model,e=t.document.selection,n=Gw(e);this.value=n?n.getAttribute("url"):null,this.isEnabled=function(t){const e=t.getSelectedElement();return!!e&&"media"===e.name}(e)||function(t,e){let n=lm(t,e).start.parent;n.isEmpty&&!e.schema.isLimit(n)&&(n=n.parent);return e.schema.checkChild(n,"media")}(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,o=Gw(n);o?e.change((e=>{e.setAttribute("url",t,o)})):qw(e,t,n,!0)}}class Yw{constructor(t,e){const n=e.providers,o=e.extraProviders||[],i=new Set(e.removeProviders),r=n.concat(o).filter((t=>{const e=t.name;return e?!i.has(e):(l("media-embed-no-provider-name",{provider:t}),!1)}));this.locale=t,this.providerDefinitions=r}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t)return new Kw(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,o=wo(e.url);for(const e of o){const o=this._getUrlMatches(t,e);if(o)return new Kw(this.locale,t,o,n)}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n)return n;let o=t.replace(/^https?:\/\//,"");return n=o.match(e),n||(o=o.replace(/^www\./,""),n=o.match(e),n||null)}}class Kw{constructor(t,e,n,o){this.url=this._getValidUrl(e),this._locale=t,this._match=n,this._previewRenderer=o}getViewElement(t,e){const n={};let o;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(n["data-oembed-url"]=this.url),e.renderForEditingView&&(n.class="ck-media__wrapper");const i=this._getPreviewHtml(e);o=t.createRawElement("div",n,((t,e)=>{e.setContentOf(t,i)}))}else this.url&&(n.url=this.url),o=t.createEmptyElement(e.elementName,n);return t.setCustomProperty("media-content",!0,o),o}_getPreviewHtml(t){return this._previewRenderer?this._previewRenderer(this._match):this.url&&t.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const t=new iu,e=this._locale.t;t.content='',t.viewBox="0 0 64 42";return new oh({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(t){return t?t.match(/^https?/)?t:"https://"+t:null}}var Qw=n(7442),Zw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(Qw.Z,Zw);Qw.Z.locals;class Jw extends V{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:/^dailymotion\.com\/video\/(\w+)/,html:t=>`
`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:t=>`
`},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:t=>{const e=t[1],n=t[2];return`
`}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:t=>`
`},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new Yw(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,o=t.conversion,i=t.config.get("mediaEmbed.previewsInData"),r=t.config.get("mediaEmbed.elementName"),s=this.registry;t.commands.add("mediaEmbed",new $w(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),o.for("dataDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const n=t.getAttribute("url");return Ww(e,s,n,{elementName:r,renderMediaPreview:n&&i})}}),o.for("dataDowncast").add(Uw(s,{elementName:r,renderMediaPreview:i})),o.for("editingDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const o=t.getAttribute("url");return function(t,e,n){return e.setCustomProperty("media",!0,t),om(t,e,{label:n})}(Ww(e,s,o,{elementName:r,renderForEditingView:!0}),e,n("media widget"))}}),o.for("editingDowncast").add(Uw(s,{elementName:r,renderForEditingView:!0})),o.for("upcast").elementToElement({view:t=>["oembed",r].includes(t.name)&&t.getAttribute("url")?{name:!0}:null,model:(t,{writer:e})=>{const n=t.getAttribute("url");if(s.hasMedia(n))return e.createElement("media",{url:n})}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(t,{writer:e})=>{const n=t.getAttribute("data-oembed-url");if(s.hasMedia(n))return e.createElement("media",{url:n})}}).add((t=>{t.on("element:figure",(function(t,e,n){if(!n.consumable.consume(e.viewItem,{name:!0,classes:"media"}))return;const{modelRange:o,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=o,e.modelCursor=i;ba(o.getItems())||n.consumable.revert(e.viewItem,{name:!0,classes:"media"})}))}))}}const Xw=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class t_ extends V{static get requires(){return[Rm,Kg,Mp]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document;this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",(()=>{const t=e.selection.getFirstRange(),n=hd.fromPosition(t.start);n.stickiness="toPrevious";const o=hd.fromPosition(t.end);o.stickiness="toNext",e.once("change:data",(()=>{this._embedMediaBetweenPositions(n,o),n.detach(),o.detach()}),{priority:"high"})})),t.commands.get("undo").on("execute",(()=>{this._timeoutId&&(Ao.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)}),{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor,o=n.plugins.get(Jw).registry,i=new uc(t,e),r=i.getWalker({ignoreElementEnd:!0});let s="";for(const t of r)t.item.is("$textProxy")&&(s+=t.item.data);if(s=s.trim(),!s.match(Xw))return void i.detach();if(!o.hasMedia(s))return void i.detach();n.commands.get("mediaEmbed").isEnabled?(this._positionToInsert=hd.fromPosition(t),this._timeoutId=Ao.window.setTimeout((()=>{n.model.change((t=>{let e;this._timeoutId=null,t.remove(i),i.detach(),"$graveyard"!==this._positionToInsert.root.rootName&&(e=this._positionToInsert),qw(n.model,s,e,!1),this._positionToInsert.detach(),this._positionToInsert=null})),n.plugins.get("Delete").requestUndoOnBackspace()}),100)):i.detach()}}var e_=n(9292),n_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(e_.Z,n_);e_.Z.locals;class o_ extends xh{constructor(t,e){super(e);const n=e.t;this.focusTracker=new wa,this.keystrokes=new _a,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),Zh.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",(t=>!!t)),this.cancelButtonView=this._createButton(n("Cancel"),Zh.cancel,"ck-button-cancel","cancel"),this._focusables=new nh,this._focusCycler=new Cu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._validators=t,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]}),Xh(this)}render(){super.render(),tu({view:this});[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element);const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t),this.listenTo(this.urlInputView.element,"selectstart",((t,e)=>{e.stopPropagation()}),{priority:"high"})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t,e=new lg(this.locale,dg),n=e.fieldView;return this._urlInputViewInfoDefault=t("Paste the media URL in the input."),this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster."),e.label=t("Media URL"),e.infoText=this._urlInputViewInfoDefault,n.on("input",(()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=n.element.value.trim()})),e}_createButton(t,e,n,o){const i=new au(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.extendTemplate({attributes:{class:n}}),o&&i.delegate("execute").to(this,o),i}}class i_ extends V{static get requires(){return[Jw]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed"),n=t.plugins.get(Jw).registry;t.ui.componentFactory.add("mediaEmbed",(o=>{const i=Uu(o),r=new o_(function(t,e){return[e=>{if(!e.url.length)return t("The URL must not be empty.")},n=>{if(!e.hasMedia(n.url))return t("This media URL is not supported.")}]}(t.t,n),t.locale);return this._setUpDropdown(i,r,e,t),this._setUpForm(i,r,e),i}))}_setUpDropdown(t,e,n){const o=this.editor,i=o.t,r=t.buttonView;t.bind("isEnabled").to(n),t.panelView.children.add(e),r.set({label:i("Insert media"),icon:'',tooltip:!0}),r.on("open",(()=>{e.disableCssTransitions(),e.url=n.value||"",e.urlInputView.fieldView.select(),e.enableCssTransitions()}),{priority:"low"}),t.on("submit",(()=>{e.isValid()&&(o.execute("mediaEmbed",e.url),o.editing.view.focus())})),t.on("change:isOpen",(()=>e.resetFormStatus())),t.on("cancel",(()=>{o.editing.view.focus()}))}_setUpForm(t,e,n){e.delegate("submit","cancel").to(t),e.urlInputView.bind("value").to(n,"value"),e.urlInputView.bind("isReadOnly").to(n,"isEnabled",(t=>!t))}}var r_=n(4652),s_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ts()(r_.Z,s_);r_.Z.locals;function a_(t,e,n,{blockElements:o,inlineObjectElements:i}){let r=n.createPositionAt(t,"forward"==e?"after":"before");return r=r.getLastMatchingPosition((({item:t})=>t.is("element")&&!o.includes(t.name)&&!i.includes(t.name)),{direction:e}),"forward"==e?r.nodeAfter:r.nodeBefore}function c_(t,e){return!!t&&t.is("element")&&e.includes(t.name)}function l_(t,e){if(!t.childCount)return;const n=new Hd(t.document),o=function(t,e){const n=e.createRangeIn(t),o=new zo({name:/^p|h\d+$/,styles:{"mso-list":/.*/}}),i=[];for(const t of n)if("elementStart"===t.type&&o.match(t.item)){const e=u_(t.item);i.push({element:t.item,id:e.id,order:e.order,indent:e.indent})}return i}(t,n);if(!o.length)return;let i=null,r=1;o.forEach(((t,s)=>{const a=function(t,e){if(!t)return!0;if(t.id!==e.id)return e.indent-t.indent!=1;const n=e.element.previousSibling;if(!n)return!0;return o=n,!(o.is("element","ol")||o.is("element","ul"));var o}(o[s-1],t),c=a?null:o[s-1],l=(h=t,(d=c)?h.indent-d.indent:h.indent-1);var d,h;if(a&&(i=null,r=1),!i||0!==l){const o=function(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\s*({[^}]*)`,"gi"),o=/mso-level-number-format:([^;]{0,100});/gi,i=/mso-level-start-at:\s{0,100}([0-9]{0,10})\s{0,100};/gi,r=n.exec(e);let s="decimal",a="ol",c=null;if(r&&r[1]){const e=o.exec(r[1]);if(e&&e[1]&&(s=e[1].trim(),a="bullet"!==s&&"image"!==s?"ol":"ul"),"bullet"===s){const e=function(t){const e=function(t){if(t.getChild(0).is("$text"))return null;for(const e of t.getChildren()){if(!e.is("element","span"))continue;const t=e.getChild(0);return t.is("$text")?t:t.getChild(0)}}(t);if(!e)return null;const n=e._data;if("o"===n)return"circle";if("·"===n)return"disc";if("§"===n)return"square";return null}(t.element);e&&(s=e)}else{const t=i.exec(r[1]);t&&t[1]&&(c=parseInt(t[1]))}}return{type:a,startIndex:c,style:d_(s)}}(t,e);if(i){if(t.indent>r){const t=i.getChild(i.childCount-1),e=t.getChild(t.childCount-1);i=h_(o,e,n),r+=1}else if(t.indent1&&n.setAttribute("start",t.startIndex,i),i}function u_(t){const e={},n=t.getStyle("mso-list");if(n){const t=n.match(/(^|\s{1,100})l(\d+)/i),o=n.match(/\s{0,100}lfo(\d+)/i),i=n.match(/\s{0,100}level(\d+)/i);t&&o&&i&&(e.id=t[2],e.order=o[1],e.indent=i[1])}return e}const g_=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class m_{constructor(t){this.document=t}isActive(t){return g_.test(t)}execute(t){const e=new Hd(this.document),{body:n}=t._parsedData;!function(t,e){for(const n of t.getChildren())if(n.is("element","b")&&"normal"===n.getStyle("font-weight")){const o=t.getChildIndex(n);e.remove(n),e.insertChild(o,n.getChildren(),t)}}(n,e),function(t,e){for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","li")){const n=t.getChild(0);n&&n.is("element","p")&&e.unwrapElement(n)}}}(n,e),function(t,e){const n=new er(e.document.stylesProcessor),o=new ms(n,{renderingMode:"data"}),i=o.blockElements,r=o.inlineObjectElements,s=[];for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","br")){const n=a_(t,"forward",e,{blockElements:i,inlineObjectElements:r}),o=a_(t,"backward",e,{blockElements:i,inlineObjectElements:r}),a=c_(n,i);(c_(o,i)||a)&&s.push(t)}}for(const t of s)t.hasClass("Apple-interchange-newline")?e.remove(t):e.replace(t,e.createElement("p"))}(n,e),t.content=n}}function p_(t,e){if(!t.childCount)return;const n=new Hd,o=function(t,e){const n=e.createRangeIn(t),o=new zo({name:/v:(.+)/}),i=[];for(const t of n){if("elementStart"!=t.type)continue;const e=t.item,n=e.previousSibling&&e.previousSibling.name||null;o.match(e)&&e.getAttribute("o:gfxdata")&&"v:shapetype"!==n&&i.push(t.item.getAttribute("id"))}return i}(t,n);!function(t,e,n){const o=n.createRangeIn(e),i=new zo({name:"img"}),r=[];for(const e of o)if(i.match(e.item)){const n=e.item,o=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];o.length&&o.every((e=>t.indexOf(e)>-1))?r.push(n):n.getAttribute("src")||r.push(n)}for(const t of r)n.remove(t)}(o,t,n),function(t,e){const n=e.createRangeIn(t),o=new zo({name:/v:(.+)/}),i=[];for(const t of n)"elementStart"==t.type&&o.match(t.item)&&i.push(t.item);for(const t of i)e.remove(t)}(t,n);const i=function(t,e){const n=e.createRangeIn(t),o=new zo({name:"img"}),i=[];for(const t of n)o.match(t.item)&&t.item.getAttribute("src").startsWith("file://")&&i.push(t.item);return i}(t,n);i.length&&function(t,e,n){if(t.length===e.length)for(let o=0;oString.fromCharCode(parseInt(t,16)))).join(""))}const k_=//i,b_=/xmlns:o="urn:schemas-microsoft-com/i;class w_{constructor(t){this.document=t}isActive(t){return k_.test(t)||b_.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;l_(e,n),p_(e,t.dataTransfer.getData("text/rtf")),t.content=e}}function __(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>1===e.length?" ":Array(e.length+1).join("  ").substr(0,e.length)))}function A_(t,e){const n=new DOMParser,o=function(t){return __(__(t)).replace(/([^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}(function(t){const e="",n="",o=t.indexOf(e);if(o<0)return t;const i=t.indexOf(n,o+e.length);return t.substring(0,o+e.length)+(i>=0?t.substring(i):"")}(t=t.replace(/ // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset // +0200, so we adjust the time as needed, to be valid. // // Keeping the time actually adds/subtracts (one hour) // from the actual represented time. That is why we call updateOffset // a second time. In case it wants us to change the offset again // _changeInProgress == true case, then we have to adjust, because // there is no such time in the given timezone. function getSetOffset(input, keepLocalTime, keepMinutes) { var offset = this._offset || 0, localAdjust; if (!this.isValid()) { return input != null ? this : NaN; } if (input != null) { if (typeof input === 'string') { input = offsetFromString(matchShortOffset, input); if (input === null) { return this; } } else if (Math.abs(input) < 16 && !keepMinutes) { input = input * 60; } if (!this._isUTC && keepLocalTime) { localAdjust = getDateOffset(this); } this._offset = input; this._isUTC = true; if (localAdjust != null) { this.add(localAdjust, 'm'); } if (offset !== input) { if (!keepLocalTime || this._changeInProgress) { addSubtract( this, createDuration(input - offset, 'm'), 1, false ); } else if (!this._changeInProgress) { this._changeInProgress = true; hooks.updateOffset(this, true); this._changeInProgress = null; } } return this; } else { return this._isUTC ? offset : getDateOffset(this); } } function getSetZone(input, keepLocalTime) { if (input != null) { if (typeof input !== 'string') { input = -input; } this.utcOffset(input, keepLocalTime); return this; } else { return -this.utcOffset(); } } function setOffsetToUTC(keepLocalTime) { return this.utcOffset(0, keepLocalTime); } function setOffsetToLocal(keepLocalTime) { if (this._isUTC) { this.utcOffset(0, keepLocalTime); this._isUTC = false; if (keepLocalTime) { this.subtract(getDateOffset(this), 'm'); } } return this; } function setOffsetToParsedOffset() { if (this._tzm != null) { this.utcOffset(this._tzm, false, true); } else if (typeof this._i === 'string') { var tZone = offsetFromString(matchOffset, this._i); if (tZone != null) { this.utcOffset(tZone); } else { this.utcOffset(0, true); } } return this; } function hasAlignedHourOffset(input) { if (!this.isValid()) { return false; } input = input ? createLocal(input).utcOffset() : 0; return (this.utcOffset() - input) % 60 === 0; } function isDaylightSavingTime() { return ( this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset() ); } function isDaylightSavingTimeShifted() { if (!isUndefined(this._isDSTShifted)) { return this._isDSTShifted; } var c = {}, other; copyConfig(c, this); c = prepareConfig(c); if (c._a) { other = c._isUTC ? createUTC(c._a) : createLocal(c._a); this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0; } else { this._isDSTShifted = false; } return this._isDSTShifted; } function isLocal() { return this.isValid() ? !this._isUTC : false; } function isUtcOffset() { return this.isValid() ? this._isUTC : false; } function isUtc() { return this.isValid() ? this._isUTC && this._offset === 0 : false; } // ASP.NET json date format regex var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere // and further modified to allow for strings containing both week and day isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; function createDuration(input, key) { var duration = input, // matching against regexp is expensive, do it on demand match = null, sign, ret, diffRes; if (isDuration(input)) { duration = { ms: input._milliseconds, d: input._days, M: input._months, }; } else if (isNumber(input) || !isNaN(+input)) { duration = {}; if (key) { duration[key] = +input; } else { duration.milliseconds = +input; } } else if ((match = aspNetRegex.exec(input))) { sign = match[1] === '-' ? -1 : 1; duration = { y: 0, d: toInt(match[DATE]) * sign, h: toInt(match[HOUR]) * sign, m: toInt(match[MINUTE]) * sign, s: toInt(match[SECOND]) * sign, ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match }; } else if ((match = isoRegex.exec(input))) { sign = match[1] === '-' ? -1 : 1; duration = { y: parseIso(match[2], sign), M: parseIso(match[3], sign), w: parseIso(match[4], sign), d: parseIso(match[5], sign), h: parseIso(match[6], sign), m: parseIso(match[7], sign), s: parseIso(match[8], sign), }; } else if (duration == null) { // checks for null or undefined duration = {}; } else if ( typeof duration === 'object' && ('from' in duration || 'to' in duration) ) { diffRes = momentsDifference( createLocal(duration.from), createLocal(duration.to) ); duration = {}; duration.ms = diffRes.milliseconds; duration.M = diffRes.months; } ret = new Duration(duration); if (isDuration(input) && hasOwnProp(input, '_locale')) { ret._locale = input._locale; } if (isDuration(input) && hasOwnProp(input, '_isValid')) { ret._isValid = input._isValid; } return ret; } createDuration.fn = Duration.prototype; createDuration.invalid = createInvalid$1; function parseIso(inp, sign) { // We'd normally use ~~inp for this, but unfortunately it also // converts floats to ints. // inp may be undefined, so careful calling replace on it. var res = inp && parseFloat(inp.replace(',', '.')); // apply sign while we're at it return (isNaN(res) ? 0 : res) * sign; } function positiveMomentsDifference(base, other) { var res = {}; res.months = other.month() - base.month() + (other.year() - base.year()) * 12; if (base.clone().add(res.months, 'M').isAfter(other)) { --res.months; } res.milliseconds = +other - +base.clone().add(res.months, 'M'); return res; } function momentsDifference(base, other) { var res; if (!(base.isValid() && other.isValid())) { return { milliseconds: 0, months: 0 }; } other = cloneWithOffset(other, base); if (base.isBefore(other)) { res = positiveMomentsDifference(base, other); } else { res = positiveMomentsDifference(other, base); res.milliseconds = -res.milliseconds; res.months = -res.months; } return res; } // TODO: remove 'name' arg after deprecation is removed function createAdder(direction, name) { return function (val, period) { var dur, tmp; //invert the arguments, but complain about it if (period !== null && !isNaN(+period)) { deprecateSimple( name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' ); tmp = val; val = period; period = tmp; } dur = createDuration(val, period); addSubtract(this, dur, direction); return this; }; } function addSubtract(mom, duration, isAdding, updateOffset) { var milliseconds = duration._milliseconds, days = absRound(duration._days), months = absRound(duration._months); if (!mom.isValid()) { // No op return; } updateOffset = updateOffset == null ? true : updateOffset; if (months) { setMonth(mom, get(mom, 'Month') + months * isAdding); } if (days) { set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); } if (milliseconds) { mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); } if (updateOffset) { hooks.updateOffset(mom, days || months); } } var add = createAdder(1, 'add'), subtract = createAdder(-1, 'subtract'); function isString(input) { return typeof input === 'string' || input instanceof String; } // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined function isMomentInput(input) { return ( isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === undefined ); } function isMomentInputObject(input) { var objectTest = isObject(input) && !isObjectEmpty(input), propertyTest = false, properties = [ 'years', 'year', 'y', 'months', 'month', 'M', 'days', 'day', 'd', 'dates', 'date', 'D', 'hours', 'hour', 'h', 'minutes', 'minute', 'm', 'seconds', 'second', 's', 'milliseconds', 'millisecond', 'ms', ], i, property; for (i = 0; i < properties.length; i += 1) { property = properties[i]; propertyTest = propertyTest || hasOwnProp(input, property); } return objectTest && propertyTest; } function isNumberOrStringArray(input) { var arrayTest = isArray(input), dataTypeTest = false; if (arrayTest) { dataTypeTest = input.filter(function (item) { return !isNumber(item) && isString(input); }).length === 0; } return arrayTest && dataTypeTest; } function isCalendarSpec(input) { var objectTest = isObject(input) && !isObjectEmpty(input), propertyTest = false, properties = [ 'sameDay', 'nextDay', 'lastDay', 'nextWeek', 'lastWeek', 'sameElse', ], i, property; for (i = 0; i < properties.length; i += 1) { property = properties[i]; propertyTest = propertyTest || hasOwnProp(input, property); } return objectTest && propertyTest; } function getCalendarFormat(myMoment, now) { var diff = myMoment.diff(now, 'days', true); return diff < -6 ? 'sameElse' : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse'; } function calendar$1(time, formats) { // Support for single parameter, formats only overload to the calendar function if (arguments.length === 1) { if (isMomentInput(arguments[0])) { time = arguments[0]; formats = undefined; } else if (isCalendarSpec(arguments[0])) { formats = arguments[0]; time = undefined; } } // We want to compare the start of today, vs this. // Getting start-of-today depends on whether we're local/utc/offset or not. var now = time || createLocal(), sod = cloneWithOffset(now, this).startOf('day'), format = hooks.calendarFormat(this, sod) || 'sameElse', output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]); return this.format( output || this.localeData().calendar(format, this, createLocal(now)) ); } function clone() { return new Moment(this); } function isAfter(input, units) { var localInput = isMoment(input) ? input : createLocal(input); if (!(this.isValid() && localInput.isValid())) { return false; } units = normalizeUnits(units) || 'millisecond'; if (units === 'millisecond') { return this.valueOf() > localInput.valueOf(); } else { return localInput.valueOf() < this.clone().startOf(units).valueOf(); } } function isBefore(input, units) { var localInput = isMoment(input) ? input : createLocal(input); if (!(this.isValid() && localInput.isValid())) { return false; } units = normalizeUnits(units) || 'millisecond'; if (units === 'millisecond') { return this.valueOf() < localInput.valueOf(); } else { return this.clone().endOf(units).valueOf() < localInput.valueOf(); } } function isBetween(from, to, units, inclusivity) { var localFrom = isMoment(from) ? from : createLocal(from), localTo = isMoment(to) ? to : createLocal(to); if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { return false; } inclusivity = inclusivity || '()'; return ( (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units)) ); } function isSame(input, units) { var localInput = isMoment(input) ? input : createLocal(input), inputMs; if (!(this.isValid() && localInput.isValid())) { return false; } units = normalizeUnits(units) || 'millisecond'; if (units === 'millisecond') { return this.valueOf() === localInput.valueOf(); } else { inputMs = localInput.valueOf(); return ( this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf() ); } } function isSameOrAfter(input, units) { return this.isSame(input, units) || this.isAfter(input, units); } function isSameOrBefore(input, units) { return this.isSame(input, units) || this.isBefore(input, units); } function diff(input, units, asFloat) { var that, zoneDelta, output; if (!this.isValid()) { return NaN; } that = cloneWithOffset(input, this); if (!that.isValid()) { return NaN; } zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; units = normalizeUnits(units); switch (units) { case 'year': output = monthDiff(this, that) / 12; break; case 'month': output = monthDiff(this, that); break; case 'quarter': output = monthDiff(this, that) / 3; break; case 'second': output = (this - that) / 1e3; break; // 1000 case 'minute': output = (this - that) / 6e4; break; // 1000 * 60 case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60 case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst default: output = this - that; } return asFloat ? output : absFloor(output); } function monthDiff(a, b) { if (a.date() < b.date()) { // end-of-month calculations work correct when the start month has more // days than the end month. return -monthDiff(b, a); } // difference in months var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), // b is in (anchor - 1 month, anchor + 1 month) anchor = a.clone().add(wholeMonthDiff, 'months'), anchor2, adjust; if (b - anchor < 0) { anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); // linear across the month adjust = (b - anchor) / (anchor - anchor2); } else { anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); // linear across the month adjust = (b - anchor) / (anchor2 - anchor); } //check for negative zero, return zero if negative zero return -(wholeMonthDiff + adjust) || 0; } hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; function toString() { return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); } function toISOString(keepOffset) { if (!this.isValid()) { return null; } var utc = keepOffset !== true, m = utc ? this.clone().utc() : this; if (m.year() < 0 || m.year() > 9999) { return formatMoment( m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' ); } if (isFunction(Date.prototype.toISOString)) { // native implementation is ~50x faster, use it when we can if (utc) { return this.toDate().toISOString(); } else { return new Date(this.valueOf() + this.utcOffset() * 60 * 1000) .toISOString() .replace('Z', formatMoment(m, 'Z')); } } return formatMoment( m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' ); } /** * Return a human readable representation of a moment that can * also be evaluated to get a new moment which is the same * * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects */ function inspect() { if (!this.isValid()) { return 'moment.invalid(/* ' + this._i + ' */)'; } var func = 'moment', zone = '', prefix, year, datetime, suffix; if (!this.isLocal()) { func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; zone = 'Z'; } prefix = '[' + func + '("]'; year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'; datetime = '-MM-DD[T]HH:mm:ss.SSS'; suffix = zone + '[")]'; return this.format(prefix + year + datetime + suffix); } function format(inputString) { if (!inputString) { inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat; } var output = formatMoment(this, inputString); return this.localeData().postformat(output); } function from(time, withoutSuffix) { if ( this.isValid() && ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) ) { return createDuration({ to: this, from: time }) .locale(this.locale()) .humanize(!withoutSuffix); } else { return this.localeData().invalidDate(); } } function fromNow(withoutSuffix) { return this.from(createLocal(), withoutSuffix); } function to(time, withoutSuffix) { if ( this.isValid() && ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) ) { return createDuration({ from: this, to: time }) .locale(this.locale()) .humanize(!withoutSuffix); } else { return this.localeData().invalidDate(); } } function toNow(withoutSuffix) { return this.to(createLocal(), withoutSuffix); } // If passed a locale key, it will set the locale for this // instance. Otherwise, it will return the locale configuration // variables for this instance. function locale(key) { var newLocaleData; if (key === undefined) { return this._locale._abbr; } else { newLocaleData = getLocale(key); if (newLocaleData != null) { this._locale = newLocaleData; } return this; } } var lang = deprecate( 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (key) { if (key === undefined) { return this.localeData(); } else { return this.locale(key); } } ); function localeData() { return this._locale; } var MS_PER_SECOND = 1000, MS_PER_MINUTE = 60 * MS_PER_SECOND, MS_PER_HOUR = 60 * MS_PER_MINUTE, MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; // actual modulo - handles negative numbers (for dates before 1970): function mod$1(dividend, divisor) { return ((dividend % divisor) + divisor) % divisor; } function localStartOfDate(y, m, d) { // the date constructor remaps years 0-99 to 1900-1999 if (y < 100 && y >= 0) { // preserve leap years using a full 400 year cycle, then reset return new Date(y + 400, m, d) - MS_PER_400_YEARS; } else { return new Date(y, m, d).valueOf(); } } function utcStartOfDate(y, m, d) { // Date.UTC remaps years 0-99 to 1900-1999 if (y < 100 && y >= 0) { // preserve leap years using a full 400 year cycle, then reset return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; } else { return Date.UTC(y, m, d); } } function startOf(units) { var time, startOfDate; units = normalizeUnits(units); if (units === undefined || units === 'millisecond' || !this.isValid()) { return this; } startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; switch (units) { case 'year': time = startOfDate(this.year(), 0, 1); break; case 'quarter': time = startOfDate( this.year(), this.month() - (this.month() % 3), 1 ); break; case 'month': time = startOfDate(this.year(), this.month(), 1); break; case 'week': time = startOfDate( this.year(), this.month(), this.date() - this.weekday() ); break; case 'isoWeek': time = startOfDate( this.year(), this.month(), this.date() - (this.isoWeekday() - 1) ); break; case 'day': case 'date': time = startOfDate(this.year(), this.month(), this.date()); break; case 'hour': time = this._d.valueOf(); time -= mod$1( time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR ); break; case 'minute': time = this._d.valueOf(); time -= mod$1(time, MS_PER_MINUTE); break; case 'second': time = this._d.valueOf(); time -= mod$1(time, MS_PER_SECOND); break; } this._d.setTime(time); hooks.updateOffset(this, true); return this; } function endOf(units) { var time, startOfDate; units = normalizeUnits(units); if (units === undefined || units === 'millisecond' || !this.isValid()) { return this; } startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; switch (units) { case 'year': time = startOfDate(this.year() + 1, 0, 1) - 1; break; case 'quarter': time = startOfDate( this.year(), this.month() - (this.month() % 3) + 3, 1 ) - 1; break; case 'month': time = startOfDate(this.year(), this.month() + 1, 1) - 1; break; case 'week': time = startOfDate( this.year(), this.month(), this.date() - this.weekday() + 7 ) - 1; break; case 'isoWeek': time = startOfDate( this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7 ) - 1; break; case 'day': case 'date': time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; break; case 'hour': time = this._d.valueOf(); time += MS_PER_HOUR - mod$1( time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR ) - 1; break; case 'minute': time = this._d.valueOf(); time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; break; case 'second': time = this._d.valueOf(); time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; break; } this._d.setTime(time); hooks.updateOffset(this, true); return this; } function valueOf() { return this._d.valueOf() - (this._offset || 0) * 60000; } function unix() { return Math.floor(this.valueOf() / 1000); } function toDate() { return new Date(this.valueOf()); } function toArray() { var m = this; return [ m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond(), ]; } function toObject() { var m = this; return { years: m.year(), months: m.month(), date: m.date(), hours: m.hours(), minutes: m.minutes(), seconds: m.seconds(), milliseconds: m.milliseconds(), }; } function toJSON() { // new Date(NaN).toJSON() === null return this.isValid() ? this.toISOString() : null; } function isValid$2() { return isValid(this); } function parsingFlags() { return extend({}, getParsingFlags(this)); } function invalidAt() { return getParsingFlags(this).overflow; } function creationData() { return { input: this._i, format: this._f, locale: this._locale, isUTC: this._isUTC, strict: this._strict, }; } addFormatToken('N', 0, 0, 'eraAbbr'); addFormatToken('NN', 0, 0, 'eraAbbr'); addFormatToken('NNN', 0, 0, 'eraAbbr'); addFormatToken('NNNN', 0, 0, 'eraName'); addFormatToken('NNNNN', 0, 0, 'eraNarrow'); addFormatToken('y', ['y', 1], 'yo', 'eraYear'); addFormatToken('y', ['yy', 2], 0, 'eraYear'); addFormatToken('y', ['yyy', 3], 0, 'eraYear'); addFormatToken('y', ['yyyy', 4], 0, 'eraYear'); addRegexToken('N', matchEraAbbr); addRegexToken('NN', matchEraAbbr); addRegexToken('NNN', matchEraAbbr); addRegexToken('NNNN', matchEraName); addRegexToken('NNNNN', matchEraNarrow); addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function ( input, array, config, token ) { var era = config._locale.erasParse(input, token, config._strict); if (era) { getParsingFlags(config).era = era; } else { getParsingFlags(config).invalidEra = input; } }); addRegexToken('y', matchUnsigned); addRegexToken('yy', matchUnsigned); addRegexToken('yyy', matchUnsigned); addRegexToken('yyyy', matchUnsigned); addRegexToken('yo', matchEraYearOrdinal); addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR); addParseToken(['yo'], function (input, array, config, token) { var match; if (config._locale._eraYearOrdinalRegex) { match = input.match(config._locale._eraYearOrdinalRegex); } if (config._locale.eraYearOrdinalParse) { array[YEAR] = config._locale.eraYearOrdinalParse(input, match); } else { array[YEAR] = parseInt(input, 10); } }); function localeEras(m, format) { var i, l, date, eras = this._eras || getLocale('en')._eras; for (i = 0, l = eras.length; i < l; ++i) { switch (typeof eras[i].since) { case 'string': // truncate time date = hooks(eras[i].since).startOf('day'); eras[i].since = date.valueOf(); break; } switch (typeof eras[i].until) { case 'undefined': eras[i].until = +Infinity; break; case 'string': // truncate time date = hooks(eras[i].until).startOf('day').valueOf(); eras[i].until = date.valueOf(); break; } } return eras; } function localeErasParse(eraName, format, strict) { var i, l, eras = this.eras(), name, abbr, narrow; eraName = eraName.toUpperCase(); for (i = 0, l = eras.length; i < l; ++i) { name = eras[i].name.toUpperCase(); abbr = eras[i].abbr.toUpperCase(); narrow = eras[i].narrow.toUpperCase(); if (strict) { switch (format) { case 'N': case 'NN': case 'NNN': if (abbr === eraName) { return eras[i]; } break; case 'NNNN': if (name === eraName) { return eras[i]; } break; case 'NNNNN': if (narrow === eraName) { return eras[i]; } break; } } else if ([name, abbr, narrow].indexOf(eraName) >= 0) { return eras[i]; } } } function localeErasConvertYear(era, year) { var dir = era.since <= era.until ? +1 : -1; if (year === undefined) { return hooks(era.since).year(); } else { return hooks(era.since).year() + (year - era.offset) * dir; } } function getEraName() { var i, l, val, eras = this.localeData().eras(); for (i = 0, l = eras.length; i < l; ++i) { // truncate time val = this.startOf('day').valueOf(); if (eras[i].since <= val && val <= eras[i].until) { return eras[i].name; } if (eras[i].until <= val && val <= eras[i].since) { return eras[i].name; } } return ''; } function getEraNarrow() { var i, l, val, eras = this.localeData().eras(); for (i = 0, l = eras.length; i < l; ++i) { // truncate time val = this.startOf('day').valueOf(); if (eras[i].since <= val && val <= eras[i].until) { return eras[i].narrow; } if (eras[i].until <= val && val <= eras[i].since) { return eras[i].narrow; } } return ''; } function getEraAbbr() { var i, l, val, eras = this.localeData().eras(); for (i = 0, l = eras.length; i < l; ++i) { // truncate time val = this.startOf('day').valueOf(); if (eras[i].since <= val && val <= eras[i].until) { return eras[i].abbr; } if (eras[i].until <= val && val <= eras[i].since) { return eras[i].abbr; } } return ''; } function getEraYear() { var i, l, dir, val, eras = this.localeData().eras(); for (i = 0, l = eras.length; i < l; ++i) { dir = eras[i].since <= eras[i].until ? +1 : -1; // truncate time val = this.startOf('day').valueOf(); if ( (eras[i].since <= val && val <= eras[i].until) || (eras[i].until <= val && val <= eras[i].since) ) { return ( (this.year() - hooks(eras[i].since).year()) * dir + eras[i].offset ); } } return this.year(); } function erasNameRegex(isStrict) { if (!hasOwnProp(this, '_erasNameRegex')) { computeErasParse.call(this); } return isStrict ? this._erasNameRegex : this._erasRegex; } function erasAbbrRegex(isStrict) { if (!hasOwnProp(this, '_erasAbbrRegex')) { computeErasParse.call(this); } return isStrict ? this._erasAbbrRegex : this._erasRegex; } function erasNarrowRegex(isStrict) { if (!hasOwnProp(this, '_erasNarrowRegex')) { computeErasParse.call(this); } return isStrict ? this._erasNarrowRegex : this._erasRegex; } function matchEraAbbr(isStrict, locale) { return locale.erasAbbrRegex(isStrict); } function matchEraName(isStrict, locale) { return locale.erasNameRegex(isStrict); } function matchEraNarrow(isStrict, locale) { return locale.erasNarrowRegex(isStrict); } function matchEraYearOrdinal(isStrict, locale) { return locale._eraYearOrdinalRegex || matchUnsigned; } function computeErasParse() { var abbrPieces = [], namePieces = [], narrowPieces = [], mixedPieces = [], i, l, eras = this.eras(); for (i = 0, l = eras.length; i < l; ++i) { namePieces.push(regexEscape(eras[i].name)); abbrPieces.push(regexEscape(eras[i].abbr)); narrowPieces.push(regexEscape(eras[i].narrow)); mixedPieces.push(regexEscape(eras[i].name)); mixedPieces.push(regexEscape(eras[i].abbr)); mixedPieces.push(regexEscape(eras[i].narrow)); } this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i'); this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i'); this._erasNarrowRegex = new RegExp( '^(' + narrowPieces.join('|') + ')', 'i' ); } // FORMATTING addFormatToken(0, ['gg', 2], 0, function () { return this.weekYear() % 100; }); addFormatToken(0, ['GG', 2], 0, function () { return this.isoWeekYear() % 100; }); function addWeekYearFormatToken(token, getter) { addFormatToken(0, [token, token.length], 0, getter); } addWeekYearFormatToken('gggg', 'weekYear'); addWeekYearFormatToken('ggggg', 'weekYear'); addWeekYearFormatToken('GGGG', 'isoWeekYear'); addWeekYearFormatToken('GGGGG', 'isoWeekYear'); // ALIASES addUnitAlias('weekYear', 'gg'); addUnitAlias('isoWeekYear', 'GG'); // PRIORITY addUnitPriority('weekYear', 1); addUnitPriority('isoWeekYear', 1); // PARSING addRegexToken('G', matchSigned); addRegexToken('g', matchSigned); addRegexToken('GG', match1to2, match2); addRegexToken('gg', match1to2, match2); addRegexToken('GGGG', match1to4, match4); addRegexToken('gggg', match1to4, match4); addRegexToken('GGGGG', match1to6, match6); addRegexToken('ggggg', match1to6, match6); addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function ( input, week, config, token ) { week[token.substr(0, 2)] = toInt(input); }); addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { week[token] = hooks.parseTwoDigitYear(input); }); // MOMENTS function getSetWeekYear(input) { return getSetWeekYearHelper.call( this, input, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy ); } function getSetISOWeekYear(input) { return getSetWeekYearHelper.call( this, input, this.isoWeek(), this.isoWeekday(), 1, 4 ); } function getISOWeeksInYear() { return weeksInYear(this.year(), 1, 4); } function getISOWeeksInISOWeekYear() { return weeksInYear(this.isoWeekYear(), 1, 4); } function getWeeksInYear() { var weekInfo = this.localeData()._week; return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); } function getWeeksInWeekYear() { var weekInfo = this.localeData()._week; return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy); } function getSetWeekYearHelper(input, week, weekday, dow, doy) { var weeksTarget; if (input == null) { return weekOfYear(this, dow, doy).year; } else { weeksTarget = weeksInYear(input, dow, doy); if (week > weeksTarget) { week = weeksTarget; } return setWeekAll.call(this, input, week, weekday, dow, doy); } } function setWeekAll(weekYear, week, weekday, dow, doy) { var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); this.year(date.getUTCFullYear()); this.month(date.getUTCMonth()); this.date(date.getUTCDate()); return this; } // FORMATTING addFormatToken('Q', 0, 'Qo', 'quarter'); // ALIASES addUnitAlias('quarter', 'Q'); // PRIORITY addUnitPriority('quarter', 7); // PARSING addRegexToken('Q', match1); addParseToken('Q', function (input, array) { array[MONTH] = (toInt(input) - 1) * 3; }); // MOMENTS function getSetQuarter(input) { return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + (this.month() % 3)); } // FORMATTING addFormatToken('D', ['DD', 2], 'Do', 'date'); // ALIASES addUnitAlias('date', 'D'); // PRIORITY addUnitPriority('date', 9); // PARSING addRegexToken('D', match1to2); addRegexToken('DD', match1to2, match2); addRegexToken('Do', function (isStrict, locale) { // TODO: Remove "ordinalParse" fallback in next major release. return isStrict ? locale._dayOfMonthOrdinalParse || locale._ordinalParse : locale._dayOfMonthOrdinalParseLenient; }); addParseToken(['D', 'DD'], DATE); addParseToken('Do', function (input, array) { array[DATE] = toInt(input.match(match1to2)[0]); }); // MOMENTS var getSetDayOfMonth = makeGetSet('Date', true); // FORMATTING addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); // ALIASES addUnitAlias('dayOfYear', 'DDD'); // PRIORITY addUnitPriority('dayOfYear', 4); // PARSING addRegexToken('DDD', match1to3); addRegexToken('DDDD', match3); addParseToken(['DDD', 'DDDD'], function (input, array, config) { config._dayOfYear = toInt(input); }); // HELPERS // MOMENTS function getSetDayOfYear(input) { var dayOfYear = Math.round( (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 ) + 1; return input == null ? dayOfYear : this.add(input - dayOfYear, 'd'); } // FORMATTING addFormatToken('m', ['mm', 2], 0, 'minute'); // ALIASES addUnitAlias('minute', 'm'); // PRIORITY addUnitPriority('minute', 14); // PARSING addRegexToken('m', match1to2); addRegexToken('mm', match1to2, match2); addParseToken(['m', 'mm'], MINUTE); // MOMENTS var getSetMinute = makeGetSet('Minutes', false); // FORMATTING addFormatToken('s', ['ss', 2], 0, 'second'); // ALIASES addUnitAlias('second', 's'); // PRIORITY addUnitPriority('second', 15); // PARSING addRegexToken('s', match1to2); addRegexToken('ss', match1to2, match2); addParseToken(['s', 'ss'], SECOND); // MOMENTS var getSetSecond = makeGetSet('Seconds', false); // FORMATTING addFormatToken('S', 0, 0, function () { return ~~(this.millisecond() / 100); }); addFormatToken(0, ['SS', 2], 0, function () { return ~~(this.millisecond() / 10); }); addFormatToken(0, ['SSS', 3], 0, 'millisecond'); addFormatToken(0, ['SSSS', 4], 0, function () { return this.millisecond() * 10; }); addFormatToken(0, ['SSSSS', 5], 0, function () { return this.millisecond() * 100; }); addFormatToken(0, ['SSSSSS', 6], 0, function () { return this.millisecond() * 1000; }); addFormatToken(0, ['SSSSSSS', 7], 0, function () { return this.millisecond() * 10000; }); addFormatToken(0, ['SSSSSSSS', 8], 0, function () { return this.millisecond() * 100000; }); addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { return this.millisecond() * 1000000; }); // ALIASES addUnitAlias('millisecond', 'ms'); // PRIORITY addUnitPriority('millisecond', 16); // PARSING addRegexToken('S', match1to3, match1); addRegexToken('SS', match1to3, match2); addRegexToken('SSS', match1to3, match3); var token, getSetMillisecond; for (token = 'SSSS'; token.length <= 9; token += 'S') { addRegexToken(token, matchUnsigned); } function parseMs(input, array) { array[MILLISECOND] = toInt(('0.' + input) * 1000); } for (token = 'S'; token.length <= 9; token += 'S') { addParseToken(token, parseMs); } getSetMillisecond = makeGetSet('Milliseconds', false); // FORMATTING addFormatToken('z', 0, 0, 'zoneAbbr'); addFormatToken('zz', 0, 0, 'zoneName'); // MOMENTS function getZoneAbbr() { return this._isUTC ? 'UTC' : ''; } function getZoneName() { return this._isUTC ? 'Coordinated Universal Time' : ''; } var proto = Moment.prototype; proto.add = add; proto.calendar = calendar$1; proto.clone = clone; proto.diff = diff; proto.endOf = endOf; proto.format = format; proto.from = from; proto.fromNow = fromNow; proto.to = to; proto.toNow = toNow; proto.get = stringGet; proto.invalidAt = invalidAt; proto.isAfter = isAfter; proto.isBefore = isBefore; proto.isBetween = isBetween; proto.isSame = isSame; proto.isSameOrAfter = isSameOrAfter; proto.isSameOrBefore = isSameOrBefore; proto.isValid = isValid$2; proto.lang = lang; proto.locale = locale; proto.localeData = localeData; proto.max = prototypeMax; proto.min = prototypeMin; proto.parsingFlags = parsingFlags; proto.set = stringSet; proto.startOf = startOf; proto.subtract = subtract; proto.toArray = toArray; proto.toObject = toObject; proto.toDate = toDate; proto.toISOString = toISOString; proto.inspect = inspect; if (typeof Symbol !== 'undefined' && Symbol.for != null) { proto[Symbol.for('nodejs.util.inspect.custom')] = function () { return 'Moment<' + this.format() + '>'; }; } proto.toJSON = toJSON; proto.toString = toString; proto.unix = unix; proto.valueOf = valueOf; proto.creationData = creationData; proto.eraName = getEraName; proto.eraNarrow = getEraNarrow; proto.eraAbbr = getEraAbbr; proto.eraYear = getEraYear; proto.year = getSetYear; proto.isLeapYear = getIsLeapYear; proto.weekYear = getSetWeekYear; proto.isoWeekYear = getSetISOWeekYear; proto.quarter = proto.quarters = getSetQuarter; proto.month = getSetMonth; proto.daysInMonth = getDaysInMonth; proto.week = proto.weeks = getSetWeek; proto.isoWeek = proto.isoWeeks = getSetISOWeek; proto.weeksInYear = getWeeksInYear; proto.weeksInWeekYear = getWeeksInWeekYear; proto.isoWeeksInYear = getISOWeeksInYear; proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear; proto.date = getSetDayOfMonth; proto.day = proto.days = getSetDayOfWeek; proto.weekday = getSetLocaleDayOfWeek; proto.isoWeekday = getSetISODayOfWeek; proto.dayOfYear = getSetDayOfYear; proto.hour = proto.hours = getSetHour; proto.minute = proto.minutes = getSetMinute; proto.second = proto.seconds = getSetSecond; proto.millisecond = proto.milliseconds = getSetMillisecond; proto.utcOffset = getSetOffset; proto.utc = setOffsetToUTC; proto.local = setOffsetToLocal; proto.parseZone = setOffsetToParsedOffset; proto.hasAlignedHourOffset = hasAlignedHourOffset; proto.isDST = isDaylightSavingTime; proto.isLocal = isLocal; proto.isUtcOffset = isUtcOffset; proto.isUtc = isUtc; proto.isUTC = isUtc; proto.zoneAbbr = getZoneAbbr; proto.zoneName = getZoneName; proto.dates = deprecate( 'dates accessor is deprecated. Use date instead.', getSetDayOfMonth ); proto.months = deprecate( 'months accessor is deprecated. Use month instead', getSetMonth ); proto.years = deprecate( 'years accessor is deprecated. Use year instead', getSetYear ); proto.zone = deprecate( 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone ); proto.isDSTShifted = deprecate( 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted ); function createUnix(input) { return createLocal(input * 1000); } function createInZone() { return createLocal.apply(null, arguments).parseZone(); } function preParsePostFormat(string) { return string; } var proto$1 = Locale.prototype; proto$1.calendar = calendar; proto$1.longDateFormat = longDateFormat; proto$1.invalidDate = invalidDate; proto$1.ordinal = ordinal; proto$1.preparse = preParsePostFormat; proto$1.postformat = preParsePostFormat; proto$1.relativeTime = relativeTime; proto$1.pastFuture = pastFuture; proto$1.set = set; proto$1.eras = localeEras; proto$1.erasParse = localeErasParse; proto$1.erasConvertYear = localeErasConvertYear; proto$1.erasAbbrRegex = erasAbbrRegex; proto$1.erasNameRegex = erasNameRegex; proto$1.erasNarrowRegex = erasNarrowRegex; proto$1.months = localeMonths; proto$1.monthsShort = localeMonthsShort; proto$1.monthsParse = localeMonthsParse; proto$1.monthsRegex = monthsRegex; proto$1.monthsShortRegex = monthsShortRegex; proto$1.week = localeWeek; proto$1.firstDayOfYear = localeFirstDayOfYear; proto$1.firstDayOfWeek = localeFirstDayOfWeek; proto$1.weekdays = localeWeekdays; proto$1.weekdaysMin = localeWeekdaysMin; proto$1.weekdaysShort = localeWeekdaysShort; proto$1.weekdaysParse = localeWeekdaysParse; proto$1.weekdaysRegex = weekdaysRegex; proto$1.weekdaysShortRegex = weekdaysShortRegex; proto$1.weekdaysMinRegex = weekdaysMinRegex; proto$1.isPM = localeIsPM; proto$1.meridiem = localeMeridiem; function get$1(format, index, field, setter) { var locale = getLocale(), utc = createUTC().set(setter, index); return locale[field](utc, format); } function listMonthsImpl(format, index, field) { if (isNumber(format)) { index = format; format = undefined; } format = format || ''; if (index != null) { return get$1(format, index, field, 'month'); } var i, out = []; for (i = 0; i < 12; i++) { out[i] = get$1(format, i, field, 'month'); } return out; } // () // (5) // (fmt, 5) // (fmt) // (true) // (true, 5) // (true, fmt, 5) // (true, fmt) function listWeekdaysImpl(localeSorted, format, index, field) { if (typeof localeSorted === 'boolean') { if (isNumber(format)) { index = format; format = undefined; } format = format || ''; } else { format = localeSorted; index = format; localeSorted = false; if (isNumber(format)) { index = format; format = undefined; } format = format || ''; } var locale = getLocale(), shift = localeSorted ? locale._week.dow : 0, i, out = []; if (index != null) { return get$1(format, (index + shift) % 7, field, 'day'); } for (i = 0; i < 7; i++) { out[i] = get$1(format, (i + shift) % 7, field, 'day'); } return out; } function listMonths(format, index) { return listMonthsImpl(format, index, 'months'); } function listMonthsShort(format, index) { return listMonthsImpl(format, index, 'monthsShort'); } function listWeekdays(localeSorted, format, index) { return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); } function listWeekdaysShort(localeSorted, format, index) { return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); } function listWeekdaysMin(localeSorted, format, index) { return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); } getSetGlobalLocale('en', { eras: [ { since: '0001-01-01', until: +Infinity, offset: 1, name: 'Anno Domini', narrow: 'AD', abbr: 'AD', }, { since: '0000-12-31', until: -Infinity, offset: 1, name: 'Before Christ', narrow: 'BC', abbr: 'BC', }, ], dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: function (number) { var b = number % 10, output = toInt((number % 100) / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th'; return number + output; }, }); // Side effect imports hooks.lang = deprecate( 'moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale ); hooks.langData = deprecate( 'moment.langData is deprecated. Use moment.localeData instead.', getLocale ); var mathAbs = Math.abs; function abs() { var data = this._data; this._milliseconds = mathAbs(this._milliseconds); this._days = mathAbs(this._days); this._months = mathAbs(this._months); data.milliseconds = mathAbs(data.milliseconds); data.seconds = mathAbs(data.seconds); data.minutes = mathAbs(data.minutes); data.hours = mathAbs(data.hours); data.months = mathAbs(data.months); data.years = mathAbs(data.years); return this; } function addSubtract$1(duration, input, value, direction) { var other = createDuration(input, value); duration._milliseconds += direction * other._milliseconds; duration._days += direction * other._days; duration._months += direction * other._months; return duration._bubble(); } // supports only 2.0-style add(1, 's') or add(duration) function add$1(input, value) { return addSubtract$1(this, input, value, 1); } // supports only 2.0-style subtract(1, 's') or subtract(duration) function subtract$1(input, value) { return addSubtract$1(this, input, value, -1); } function absCeil(number) { if (number < 0) { return Math.floor(number); } else { return Math.ceil(number); } } function bubble() { var milliseconds = this._milliseconds, days = this._days, months = this._months, data = this._data, seconds, minutes, hours, years, monthsFromDays; // if we have a mix of positive and negative values, bubble down first // check: https://github.com/moment/moment/issues/2166 if ( !( (milliseconds >= 0 && days >= 0 && months >= 0) || (milliseconds <= 0 && days <= 0 && months <= 0) ) ) { milliseconds += absCeil(monthsToDays(months) + days) * 864e5; days = 0; months = 0; } // The following code bubbles up values, see the tests for // examples of what that means. data.milliseconds = milliseconds % 1000; seconds = absFloor(milliseconds / 1000); data.seconds = seconds % 60; minutes = absFloor(seconds / 60); data.minutes = minutes % 60; hours = absFloor(minutes / 60); data.hours = hours % 24; days += absFloor(hours / 24); // convert days to months monthsFromDays = absFloor(daysToMonths(days)); months += monthsFromDays; days -= absCeil(monthsToDays(monthsFromDays)); // 12 months -> 1 year years = absFloor(months / 12); months %= 12; data.days = days; data.months = months; data.years = years; return this; } function daysToMonths(days) { // 400 years have 146097 days (taking into account leap year rules) // 400 years have 12 months === 4800 return (days * 4800) / 146097; } function monthsToDays(months) { // the reverse of daysToMonths return (months * 146097) / 4800; } function as(units) { if (!this.isValid()) { return NaN; } var days, months, milliseconds = this._milliseconds; units = normalizeUnits(units); if (units === 'month' || units === 'quarter' || units === 'year') { days = this._days + milliseconds / 864e5; months = this._months + daysToMonths(days); switch (units) { case 'month': return months; case 'quarter': return months / 3; case 'year': return months / 12; } } else { // handle milliseconds separately because of floating point math errors (issue #1867) days = this._days + Math.round(monthsToDays(this._months)); switch (units) { case 'week': return days / 7 + milliseconds / 6048e5; case 'day': return days + milliseconds / 864e5; case 'hour': return days * 24 + milliseconds / 36e5; case 'minute': return days * 1440 + milliseconds / 6e4; case 'second': return days * 86400 + milliseconds / 1000; // Math.floor prevents floating point math errors here case 'millisecond': return Math.floor(days * 864e5) + milliseconds; default: throw new Error('Unknown unit ' + units); } } } // TODO: Use this.as('ms')? function valueOf$1() { if (!this.isValid()) { return NaN; } return ( this._milliseconds + this._days * 864e5 + (this._months % 12) * 2592e6 + toInt(this._months / 12) * 31536e6 ); } function makeAs(alias) { return function () { return this.as(alias); }; } var asMilliseconds = makeAs('ms'), asSeconds = makeAs('s'), asMinutes = makeAs('m'), asHours = makeAs('h'), asDays = makeAs('d'), asWeeks = makeAs('w'), asMonths = makeAs('M'), asQuarters = makeAs('Q'), asYears = makeAs('y'); function clone$1() { return createDuration(this); } function get$2(units) { units = normalizeUnits(units); return this.isValid() ? this[units + 's']() : NaN; } function makeGetter(name) { return function () { return this.isValid() ? this._data[name] : NaN; }; } var milliseconds = makeGetter('milliseconds'), seconds = makeGetter('seconds'), minutes = makeGetter('minutes'), hours = makeGetter('hours'), days = makeGetter('days'), months = makeGetter('months'), years = makeGetter('years'); function weeks() { return absFloor(this.days() / 7); } var round = Math.round, thresholds = { ss: 44, // a few seconds to seconds s: 45, // seconds to minute m: 45, // minutes to hour h: 22, // hours to day d: 26, // days to month/week w: null, // weeks to month M: 11, // months to year }; // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); } function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) { var duration = createDuration(posNegDuration).abs(), seconds = round(duration.as('s')), minutes = round(duration.as('m')), hours = round(duration.as('h')), days = round(duration.as('d')), months = round(duration.as('M')), weeks = round(duration.as('w')), years = round(duration.as('y')), a = (seconds <= thresholds.ss && ['s', seconds]) || (seconds < thresholds.s && ['ss', seconds]) || (minutes <= 1 && ['m']) || (minutes < thresholds.m && ['mm', minutes]) || (hours <= 1 && ['h']) || (hours < thresholds.h && ['hh', hours]) || (days <= 1 && ['d']) || (days < thresholds.d && ['dd', days]); if (thresholds.w != null) { a = a || (weeks <= 1 && ['w']) || (weeks < thresholds.w && ['ww', weeks]); } a = a || (months <= 1 && ['M']) || (months < thresholds.M && ['MM', months]) || (years <= 1 && ['y']) || ['yy', years]; a[2] = withoutSuffix; a[3] = +posNegDuration > 0; a[4] = locale; return substituteTimeAgo.apply(null, a); } // This function allows you to set the rounding function for relative time strings function getSetRelativeTimeRounding(roundingFunction) { if (roundingFunction === undefined) { return round; } if (typeof roundingFunction === 'function') { round = roundingFunction; return true; } return false; } // This function allows you to set a threshold for relative time strings function getSetRelativeTimeThreshold(threshold, limit) { if (thresholds[threshold] === undefined) { return false; } if (limit === undefined) { return thresholds[threshold]; } thresholds[threshold] = limit; if (threshold === 's') { thresholds.ss = limit - 1; } return true; } function humanize(argWithSuffix, argThresholds) { if (!this.isValid()) { return this.localeData().invalidDate(); } var withSuffix = false, th = thresholds, locale, output; if (typeof argWithSuffix === 'object') { argThresholds = argWithSuffix; argWithSuffix = false; } if (typeof argWithSuffix === 'boolean') { withSuffix = argWithSuffix; } if (typeof argThresholds === 'object') { th = Object.assign({}, thresholds, argThresholds); if (argThresholds.s != null && argThresholds.ss == null) { th.ss = argThresholds.s - 1; } } locale = this.localeData(); output = relativeTime$1(this, !withSuffix, th, locale); if (withSuffix) { output = locale.pastFuture(+this, output); } return locale.postformat(output); } var abs$1 = Math.abs; function sign(x) { return (x > 0) - (x < 0) || +x; } function toISOString$1() { // for ISO strings we do not use the normal bubbling rules: // * milliseconds bubble up until they become hours // * days do not bubble at all // * months bubble up until they become years // This is because there is no context-free conversion between hours and days // (think of clock changes) // and also not between days and months (28-31 days per month) if (!this.isValid()) { return this.localeData().invalidDate(); } var seconds = abs$1(this._milliseconds) / 1000, days = abs$1(this._days), months = abs$1(this._months), minutes, hours, years, s, total = this.asSeconds(), totalSign, ymSign, daysSign, hmsSign; if (!total) { // this is the same as C#'s (Noda) and python (isodate)... // but not other JS (goog.date) return 'P0D'; } // 3600 seconds -> 60 minutes -> 1 hour minutes = absFloor(seconds / 60); hours = absFloor(minutes / 60); seconds %= 60; minutes %= 60; // 12 months -> 1 year years = absFloor(months / 12); months %= 12; // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; totalSign = total < 0 ? '-' : ''; ymSign = sign(this._months) !== sign(total) ? '-' : ''; daysSign = sign(this._days) !== sign(total) ? '-' : ''; hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; return ( totalSign + 'P' + (years ? ymSign + years + 'Y' : '') + (months ? ymSign + months + 'M' : '') + (days ? daysSign + days + 'D' : '') + (hours || minutes || seconds ? 'T' : '') + (hours ? hmsSign + hours + 'H' : '') + (minutes ? hmsSign + minutes + 'M' : '') + (seconds ? hmsSign + s + 'S' : '') ); } var proto$2 = Duration.prototype; proto$2.isValid = isValid$1; proto$2.abs = abs; proto$2.add = add$1; proto$2.subtract = subtract$1; proto$2.as = as; proto$2.asMilliseconds = asMilliseconds; proto$2.asSeconds = asSeconds; proto$2.asMinutes = asMinutes; proto$2.asHours = asHours; proto$2.asDays = asDays; proto$2.asWeeks = asWeeks; proto$2.asMonths = asMonths; proto$2.asQuarters = asQuarters; proto$2.asYears = asYears; proto$2.valueOf = valueOf$1; proto$2._bubble = bubble; proto$2.clone = clone$1; proto$2.get = get$2; proto$2.milliseconds = milliseconds; proto$2.seconds = seconds; proto$2.minutes = minutes; proto$2.hours = hours; proto$2.days = days; proto$2.weeks = weeks; proto$2.months = months; proto$2.years = years; proto$2.humanize = humanize; proto$2.toISOString = toISOString$1; proto$2.toString = toISOString$1; proto$2.toJSON = toISOString$1; proto$2.locale = locale; proto$2.localeData = localeData; proto$2.toIsoString = deprecate( 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1 ); proto$2.lang = lang; // FORMATTING addFormatToken('X', 0, 0, 'unix'); addFormatToken('x', 0, 0, 'valueOf'); // PARSING addRegexToken('x', matchSigned); addRegexToken('X', matchTimestamp); addParseToken('X', function (input, array, config) { config._d = new Date(parseFloat(input) * 1000); }); addParseToken('x', function (input, array, config) { config._d = new Date(toInt(input)); }); //! moment.js hooks.version = '2.27.0'; setHookCallback(createLocal); hooks.fn = proto; hooks.min = min; hooks.max = max; hooks.now = now; hooks.utc = createUTC; hooks.unix = createUnix; hooks.months = listMonths; hooks.isDate = isDate; hooks.locale = getSetGlobalLocale; hooks.invalid = createInvalid; hooks.duration = createDuration; hooks.isMoment = isMoment; hooks.weekdays = listWeekdays; hooks.parseZone = createInZone; hooks.localeData = getLocale; hooks.isDuration = isDuration; hooks.monthsShort = listMonthsShort; hooks.weekdaysMin = listWeekdaysMin; hooks.defineLocale = defineLocale; hooks.updateLocale = updateLocale; hooks.locales = listLocales; hooks.weekdaysShort = listWeekdaysShort; hooks.normalizeUnits = normalizeUnits; hooks.relativeTimeRounding = getSetRelativeTimeRounding; hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; hooks.calendarFormat = getCalendarFormat; hooks.prototype = proto; // currently HTML5 input type only supports 24-hour formats hooks.HTML5_FMT = { DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // DATE: 'YYYY-MM-DD', // TIME: 'HH:mm', // TIME_SECONDS: 'HH:mm:ss', // TIME_MS: 'HH:mm:ss.SSS', // WEEK: 'GGGG-[W]WW', // MONTH: 'YYYY-MM', // }; return hooks; }))); /***/ }), /***/ 79940: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { "default": function() { return /* binding */ pages_editorv2; } }); // EXTERNAL MODULE: ./node_modules/styled-jsx/style.js var style = __webpack_require__(65988); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./node_modules/lodash/get.js var get = __webpack_require__(27361); var get_default = /*#__PURE__*/__webpack_require__.n(get); // EXTERNAL MODULE: ./src/components/Revamped/Page/index.js + 6 modules var Page = __webpack_require__(79809); // EXTERNAL MODULE: ./src/components/FireBaseSetUserId/index.js var FireBaseSetUserId = __webpack_require__(60629); // EXTERNAL MODULE: ./src/components/Revamped/PageImpressionTracking/index.js var PageImpressionTracking = __webpack_require__(51378); // EXTERNAL MODULE: ./src/resources/constant/tinhteAds.js var tinhteAds = __webpack_require__(62583); // EXTERNAL MODULE: ./src/components/Revamped/Header/index.js + 4 modules var Header = __webpack_require__(44547); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/defineProperty.js var defineProperty = __webpack_require__(92809); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules var toConsumableArray = __webpack_require__(83789); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js var assertThisInitialized = __webpack_require__(14695); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules var inherits = __webpack_require__(13444); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js + 1 modules var possibleConstructorReturn = __webpack_require__(30268); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js var getPrototypeOf = __webpack_require__(92953); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js var asyncToGenerator = __webpack_require__(30266); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/classCallCheck.js var classCallCheck = __webpack_require__(68216); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/createClass.js var createClass = __webpack_require__(25997); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/regenerator/index.js var regenerator = __webpack_require__(809); var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator); // EXTERNAL MODULE: ./node_modules/tinhte-api-react/es/index.js + 21 modules var es = __webpack_require__(48484); // EXTERNAL MODULE: ./node_modules/react-toastify/dist/react-toastify.esm.js + 1 modules var react_toastify_esm = __webpack_require__(39249); // EXTERNAL MODULE: ./node_modules/react-textarea-autosize/dist/react-textarea-autosize.es.js var react_textarea_autosize_es = __webpack_require__(23013); // EXTERNAL MODULE: ./src/resources/normalize/thread.js + 3 modules var normalize_thread = __webpack_require__(76096); // EXTERNAL MODULE: ./src/resources/normalize/forum.js var forum = __webpack_require__(59611); // EXTERNAL MODULE: ./src/components/Revamped/DragAndDrop/index.js + 1 modules var DragAndDrop = __webpack_require__(79535); // EXTERNAL MODULE: ./node_modules/react-modal/lib/index.js var lib = __webpack_require__(83253); var lib_default = /*#__PURE__*/__webpack_require__.n(lib); // EXTERNAL MODULE: ./node_modules/react-select/dist/react-select.browser.esm.js + 15 modules var react_select_browser_esm = __webpack_require__(3822); ;// CONCATENATED MODULE: ./src/components/Editor/ThreadPrefixModal/styles.js var _defaultExport = [".modal.jsx-3594930565{position:relative;background:var(--color-light-0);}", ".modal-title.jsx-3594930565{padding:12px 24px;width:100%;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;background:var(--page-background);border-bottom:1px solid var(--border-light);}", ".title-text.jsx-3594930565{color:var(--primary-text);font-size:16px;line-height:2;font-weight:600;}", ".modal-button__close.jsx-3594930565{width:18px;height:18px;z-index:2;}", ".model-content.jsx-3594930565{overflow:auto;min-height:300px;height:100%;color:black;padding:12px 24px;background:var(--page-background);}", ".block-title.jsx-3594930565{margin-bottom:12px;font-size:16px;color:var(--primary-text);font-weight:600;}", ".select-forum.jsx-3594930565{margin-bottom:1rem;}", ".select-forum.disabled.jsx-3594930565{opacity:0.5;}", ".options.jsx-3594930565{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;}", ".option.jsx-3594930565{width:25%;margin-bottom:10px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;color:var(--primary-text);}", ".option.jsx-3594930565 .icon.jsx-3594930565{margin-right:5px;}", ".option.jsx-3594930565 .icon.selected.jsx-3594930565{color:var(--color-accent-dark);}", ".tag-input.jsx-3594930565{font-size:16px;line-height:24px;width:100%;min-height:100px;padding:12px;background-color:var(--dropdown-control-background);border:1px solid var(--dropdown-control-border);color:var(--editor-control-text);border-radius:4px;resize:none;}", ".save-button.jsx-3594930565{border-radius:4px;padding:12px 48px;background-color:var(--color-accent-dark);color:var(--color-light-0);font-size:18px;font-weight:bold;margin:24px 0;width:100%;}", ".error.jsx-3594930565{color:red;}"]; _defaultExport.__hash = "3594930565"; /* harmony default export */ var styles = (_defaultExport); // EXTERNAL MODULE: ./src/resources/constant/tag.js var tag = __webpack_require__(12688); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/Editor/ThreadPrefixModal/index.js function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var CloseModalIcon = function CloseModalIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("svg", _objectSpread(_objectSpread({}, props), {}, { children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("style", { children: [".st0", "{", "fill-rule:evenodd;clip-rule:evenodd;fill:#2d3748", "}"] }), /*#__PURE__*/(0,jsx_runtime.jsx)("path", { className: "st0", d: "M29.5 2.7c.6-.6.6-1.6 0-2.3-.6-.6-1.6-.6-2.3 0L15 12.7 2.7.5C2.1-.1 1.1-.1.4.5s-.6 1.6 0 2.3L12.7 15 .5 27.3c-.6.6-.6 1.6 0 2.3.6.6 1.6.6 2.3 0L15 17.3l12.3 12.3c.6.6 1.6.6 2.3 0 .6-.6.6-1.6 0-2.3L17.3 15 29.5 2.7z" })] })); }; CloseModalIcon.defaultProps = { id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 30 30" }; /* eslint-disable arrow-parens */ /* eslint-disable max-len */ lib_default().setAppElement('body'); var customModalStyles = { content: { maxWidth: '680px', width: '90%', top: '50%', left: '50%', maxHeight: '90%', right: 'auto', bottom: 'auto', marginRight: '-50%', padding: '0 !important', transform: 'translate(-50%, -50%)', boxShadow: '-10px 10px #3DE4D1', display: 'flex', flexDirection: 'column', border: '1px solid var(--border-light)' } }; var ThreadPrefixModal = function ThreadPrefixModal(_ref) { var isOpen = _ref.isOpen, thread = _ref.thread, handleCloseModal = _ref.handleCloseModal, handleSubmitModal = _ref.handleSubmitModal, api = _ref.api, loadedForums = _ref.loadedForums; var _useState = (0,react.useState)(isOpen), showModal = _useState[0], updateShowModal = _useState[1]; var _useState2 = (0,react.useState)([]), isLoading = _useState2[0], setIsLoading = _useState2[1]; var _useState3 = (0,react.useState)(null), tagString = _useState3[0], updateTagString = _useState3[1]; var _useState4 = (0,react.useState)(null), error = _useState4[0], updateError = _useState4[1]; var _useState5 = (0,react.useState)(false), isSubmitting = _useState5[0], updateSubmittingFlag = _useState5[1]; var _useState6 = (0,react.useState)([]), forums = _useState6[0], setForums = _useState6[1]; var _useState7 = (0,react.useState)(null), selectedForum = _useState7[0], setSelectedForum = _useState7[1]; var _useState8 = (0,react.useState)([]), prefixOptions = _useState8[0], setPrefixOptions = _useState8[1]; var _useState9 = (0,react.useState)(null), selectedPrefix = _useState9[0], setSelectedPrefix = _useState9[1]; var disableScroll = function disableScroll() { window.document.body.style.overflow = 'hidden'; }; var onTagChange = function onTagChange(e) { updateTagString(e.target.value); }; var isDraft = function isDraft() { return !thread || thread && thread.isDraft; }; var isSelectedPrefix = function isSelectedPrefix(prefix) { return prefix && selectedPrefix && prefix.value === selectedPrefix.value; }; var submit = function submit() { var selectedPrefixId = selectedPrefix && selectedPrefix.value; var selectedForumId = selectedForum && selectedForum.value; if (!selectedForumId && isDraft()) { react_toastify_esm/* toast.error */.Am.error('Vui lòng chọn forum cho bài viết'); return; } updateSubmittingFlag(true); var params = { forum_id: selectedForumId, thread_tags: tagString, thread_prefix_id: selectedPrefixId }; if (!thread || thread && !thread.id) { updateSubmittingFlag(false); handleCloseModal(); return; } api.put({ uri: "https://tinhte.vn/appforo/index.php?threads/".concat(thread.id), params: params }).then(function () { updateSubmittingFlag(false); handleSubmitModal(params); })["catch"](function (err) { updateSubmittingFlag(false); console.log(err); updateError(err.toString()); }); }; var onForumChange = function onForumChange(inputForum) { setSelectedForum(inputForum); var forum = forums.find(function (_forum) { return _forum.id === inputForum.value; }); if (forum) { var grouPrefixes = []; if (forum.prefixes) { grouPrefixes = forum.prefixes.filter(function (grouPrefix) { return grouPrefix.group_title === 'Phân loại'; }); } var prefixes = []; if (grouPrefixes.length > 0 && grouPrefixes[0].group_prefixes) { // eslint-disable-next-line prefixes = grouPrefixes[0].group_prefixes.map(function (prefix) { return { value: prefix.prefix_id, label: prefix.prefix_title }; }); } setPrefixOptions(prefixes); } }; var getForums = function getForums() { api.onAuthenticated(function () { setIsLoading(true); api.get({ uri: '/forums?order=list' }).then(function (response) { var responseForums = get_default()(response, 'forums', []).map(forum/* normalizeForum */.p$).filter(function (forum) { return tag/* displayedForums.indexOf */.a.indexOf(forum.id) > -1; }); setForums(responseForums); if (thread && thread.forumId) { var currentForum = responseForums.find(function (forum) { return forum.id === thread.forumId; }); if (currentForum) { onForumChange({ value: currentForum.id, label: currentForum.title }); } } if (thread && thread.prefixes && thread.prefixes.length > 0) { setSelectedPrefix({ value: thread.prefixes[0].prefix_id, label: thread.prefixes[0].prefix_title }); } setIsLoading(false); })["catch"](function (responseError) { console.log('Error', responseError); setIsLoading(false); }); }); }; var formatForums = function formatForums(inputForums) { return inputForums.map(function (inputForum) { return { value: inputForum.id, label: inputForum.title }; }); }; (0,react.useEffect)(function () { if (loadedForums && loadedForums.length > 0) { setForums(loadedForums); if (thread && thread.forumId) { var currentForum = loadedForums.find(function (forum) { return forum.id === thread.forumId; }); if (currentForum) { onForumChange({ value: currentForum.id, label: currentForum.title }); } } if (thread && thread.prefixes && thread.prefixes.length > 0) { setSelectedPrefix({ value: thread.prefixes[0].prefix_id, label: thread.prefixes[0].prefix_title }); } } else { getForums(); } }, [loadedForums, thread]); (0,react.useEffect)(function () { updateShowModal(isOpen); }, [isOpen]); (0,react.useEffect)(function () { if (!tagString) { updateTagString(thread && thread.tagString); } }, [thread]); return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(styles.__hash) + " " + "modal", children: [/*#__PURE__*/(0,jsx_runtime.jsxs)((lib_default()), { isOpen: showModal, onRequestClose: handleCloseModal, onAfterOpen: function onAfterOpen() { return disableScroll(); }, style: customModalStyles, shouldCloseOnOverlayClick: true, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(styles.__hash) + " " + "modal-title", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(styles.__hash) + " " + "title-text", children: "Ph\xE2n lo\u1EA1i b\xE0i vi\u1EBFt" }), /*#__PURE__*/(0,jsx_runtime.jsx)("button", { onClick: function onClick() { return handleCloseModal(); }, className: "jsx-".concat(styles.__hash) + " " + "modal-button__close", children: /*#__PURE__*/(0,jsx_runtime.jsx)(CloseModalIcon, {}) })] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(styles.__hash) + " " + "model-content", children: [isLoading ? 'Đang tải fourms ...' : /*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment, { children: isDraft() ? /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(styles.__hash) + " " + "block-title", children: "Ch\u1ECDn Forum" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(styles.__hash) + " " + "select-forum", children: /*#__PURE__*/(0,jsx_runtime.jsx)(react_select_browser_esm/* default */.ZP, { value: selectedForum, options: formatForums(forums), onChange: onForumChange, placeholder: "Ch\u1ECDn Forum t\u1EA1i \u0111\xE2y", isOptionDisabled: !isDraft(), isSearchable: true, styles: { input: function input(base) { return _objectSpread(_objectSpread({}, base), {}, { color: 'var(--dropdown-control-text)' }); }, placeholder: function placeholder(base) { return _objectSpread(_objectSpread({}, base), {}, { color: 'var(--dropdown-control-text)' }); }, container: function container(base) { return _objectSpread(_objectSpread({}, base), {}, { borderRadius: 4, zIndex: 500, backgroundColor: 'var(--dropdown-control-background)', border: '1px solid var(--dropdown-control-border)' }); }, option: function option(base, _ref2) { var isFocused = _ref2.isFocused; return _objectSpread(_objectSpread({}, base), {}, { fontSize: 16, color: 'var(--dropdown-control-text)', backgroundColor: isFocused ? 'var(--dropdown-control-background-hover)' : 'var(--dropdown-control-background)', '&:hover': { backgroundColor: 'var(--dropdown-control-background-hover)' } }); }, valueContainer: function valueContainer(base) { return _objectSpread(_objectSpread({}, base), {}, { fontSize: 16, backgroundColor: 'var(--dropdown-control-background)' }); }, control: function control(base) { return _objectSpread(_objectSpread({}, base), {}, { fontSize: 16, backgroundColor: 'var(--dropdown-control-background)', borderRadius: 4 }); }, menu: function menu(base) { return _objectSpread(_objectSpread({}, base), {}, { fontSize: 16, backgroundColor: 'var(--dropdown-control-background)' }); }, menuList: function menuList(base) { return _objectSpread(_objectSpread({}, base), {}, { maxHeight: 200 }); }, singleValue: function singleValue(base) { return _objectSpread(_objectSpread({}, base), {}, { fontSize: 16, color: 'var(--dropdown-control-text)' }); } } }) })] }) : /*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment, { children: /*#__PURE__*/(0,jsx_runtime.jsxs)("p", { className: "jsx-".concat(styles.__hash) + " " + "block-title", children: ["Forum: ", selectedForum && selectedForum.label] }) }) }), prefixOptions && prefixOptions.length > 0 && /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(styles.__hash) + " " + "block-title", children: "Ph\xE2n lo\u1EA1i b\xE0i vi\u1EBFt" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(styles.__hash) + " " + "options", children: prefixOptions.map(function (prefixOption) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("button", { onClick: function onClick() { return setSelectedPrefix(prefixOption); }, className: "jsx-".concat(styles.__hash) + " " + "option ".concat(isSelectedPrefix(prefixOption) ? 'selected' : ''), children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "jsx-".concat(styles.__hash) + " " + "icon ".concat(isSelectedPrefix(prefixOption) ? 'selected fas fa-dot-circle' : 'far fa-circle') }), prefixOption.label] }, prefixOption.value); }) })] }), /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(styles.__hash) + " " + "block-title", children: "Th\xEAm tag v\xE0o b\xE0i vi\u1EBFt c\u1EE7a b\u1EA1n" }), /*#__PURE__*/(0,jsx_runtime.jsx)("textarea", { type: "text", value: tagString, onChange: function onChange(e) { return onTagChange(e); }, placeholder: "B\u1EA1n c\xF3 th\u1EC3 th\xEAm nhi\u1EC1u tag b\u1EB1ng vi\u1EC7c ng\u0103n c\xE1ch b\u1EB1ng d\u1EA5u ph\u1EA9y. (V\xED d\u1EE5: \u0111i\u1EC7n tho\u1EA1i, iphone14)", className: "jsx-".concat(styles.__hash) + " " + "tag-input" }), /*#__PURE__*/(0,jsx_runtime.jsx)("button", { onClick: function onClick() { return submit(); }, disabled: isSubmitting, className: "jsx-".concat(styles.__hash) + " " + "save-button ".concat(isSubmitting ? 'isSubmitting' : ''), children: isSubmitting ? 'Đang lưu, chờ xíu nhen...' : 'Đăng' }), /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(styles.__hash) + " " + "error", children: error })] })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: styles.__hash, children: styles })] }); }; /* harmony default export */ var Editor_ThreadPrefixModal = (es.apiHoc.ApiConsumer(ThreadPrefixModal)); ;// CONCATENATED MODULE: ./src/components/Editor/styles.js var styles_defaultExport = [".tinhte-editor-header.jsx-1108449286{position:-webkit-sticky;position:-webkit-sticky;position:sticky;top:0;background-color:var(--color-light-0);z-index:3;opacity:0.9;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}", "@media (max-width:1000px){.tinhte-editor-header.jsx-1108449286{padding:12px;}}", "@media (min-width:1001px){.tinhte-editor-header.jsx-1108449286{padding:6px 64px;}}", "@media (min-width:1200px){.tinhte-editor-header.jsx-1108449286{padding:6px 150px;}}", ".not-have-permission.jsx-1108449286{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;min-height:300px;font-size:16px;font-weight:700;color:black;}", ".editor-guideline-wrap.jsx-1108449286{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;position:absolute;right:0;}", ".editor-guideline-wrap.jsx-1108449286 .editor-helper.jsx-1108449286{margin-top:8px;}", ".editor-guideline-wrap.jsx-1108449286 .editor-helper.jsx-1108449286 a.jsx-1108449286{color:var(--primary-color);}", ".editor-guideline-wrap.jsx-1108449286 .save-button.jsx-1108449286{margin-left:0;}", ".editor-guideline.jsx-1108449286{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;border:1px solid #CBD5E0;padding:1rem;border-top-left-radius:8px;border-bottom-left-radius:8px;}", ".editor-guideline.jsx-1108449286 .editor-guideline_title.jsx-1108449286{font-weight:700;margin-bottom:10px;}", ".editor-guideline.jsx-1108449286 .editor-guideline_image.jsx-1108449286{width:100%;max-width:200px;}", "@media (max-width:1249px){.editor-guideline-wrap.jsx-1108449286{display:none;}.editor-guideline.jsx-1108449286{display:none;}}", ".toolbar.jsx-1108449286{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".autosave-text.jsx-1108449286{color:var(--text-light-3);margin-right:12px;}", ".is-uploading-video.jsx-1108449286{color:var(--text-dark);font-weight:700;}", ".thread-title-count.jsx-1108449286{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;color:#718096;}", ".toolbar-save-button.jsx-1108449286{font-size:14px;font-weight:bold;padding:6px 28px;background-color:var(--color-accent-dark);color:var(--color-light-0);border-radius:16px;}", "@media (min-width:768px){.toolbar-save-button.jsx-1108449286{padding:6px 48px;}}", ".toolbar-save-button.draft-toggle.jsx-1108449286{padding:6px 24px;margin-left:6px;background-color:var(--button-light);color:var(--text-dark);}", ".toolbar-save-button.is-draft.jsx-1108449286{background-color:var(--button-accent-green);color:var(--text-dark);}", ".toolbar-save-button.isSubmitting.jsx-1108449286{background-color:var(--button-dark);color:var(--text-light);}", ".toolbar-show-attachment-popup.jsx-1108449286{color:var(--color-accent-dark);font-size:16px;margin-right:12px;font-weight:bold;}", ".tinhte-editor.jsx-1108449286{max-width:800px;min-height:1000px;padding:12px;margin:auto;background:var(--color-light-0);border-radius:12px;}", "@media (max-width:767px){.tinhte-editor.jsx-1108449286{margin:auto;}}", "@media (min-width:768px){.tinhte-editor.jsx-1108449286{margin-left:38px;margin-right:38px;}}", "@media (min-width:1024px){.tinhte-editor.jsx-1108449286{margin:auto;}}", ".tinhte-editor.jsx-1108449286:focus{outline:none;}", ".editor.jsx-1108449286{overflow-x:hidden;border:2px solid var(--color-light-0);}", ".editor.highlight.jsx-1108449286{border:2px solid var(--color-accent-dark);}", ".editor.jsx-1108449286:focus-visible{outline:none;}", ".editor-wrapper.jsx-1108449286{position:relative;}", ".editor-wrapper.jsx-1108449286:focus-visible{outline:none;}", ".title-input{font-size:32px;font-weight:700;line-height:38px;padding:0;width:100%;display:block;word-wrap:break-word;resize:none;outline:none;}", "@media (min-width:768px){.title-input{font-size:32px;}}", ".thread-toolbar.jsx-1108449286{visibility:hidden;margin-bottom:10px;margin-left:9px;margin-right:9px;}", ".thread-toolbar.show.jsx-1108449286{visibility:visible;}", ".mobile-hint.jsx-1108449286{margin-left:9px;margin-right:9px;color:var(--text-light-3);}", "@media (min-width:768px){.mobile-hint.jsx-1108449286{display:none;}}", ".thread-thumb-selection.jsx-1108449286{position:relative;margin-bottom:12px;}", ".thread-cover.jsx-1108449286{position:relative;display:block;margin:auto;border-radius:8px;}", ".thread-cover-selection-placeholder.jsx-1108449286{width:100%;min-height:60px;background-color:rgba(226,232,240,0.25);border-radius:8px;border:2px dashed #CBD5E0;color:var(--text-dark);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:24px 0px;cursor:pointer;}", ".thread-cover-selection-placeholder.jsx-1108449286 p.jsx-1108449286{font-size:16px;font-weight:400;line-height:24px;}", ".thread-cover-selection-placeholder.jsx-1108449286 .placeholder-main.jsx-1108449286{margin-top:10px;}", ".thread-cover-selection-placeholder.jsx-1108449286 .placeholder-sub.jsx-1108449286{font-size:12px;}", ".choose-file-button.jsx-1108449286{margin-top:10px;border-radius:4px;padding:6px 16px;border:1px solid #CBD5E0;}", ".thread-cover-uploading.jsx-1108449286{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:12px;background-color:var(--hover-background);opacity:0.5;border-radius:4px;width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".thread-cover-uploading.is-uploading.jsx-1108449286{opacity:0.8;}", ".thread-cover-uploading.jsx-1108449286 .uploading-text.jsx-1108449286{font-size:16px;font-weight:700;}", ".thread-cover-static.jsx-1108449286{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px;background-color:var(--hover-background);opacity:0.7;border-radius:4px;z-index:10;text-align:center;cursor:pointer;}", ".thread-cover-static.jsx-1108449286 span.jsx-1108449286{font-size:16px;font-weight:700;}", ".tinhte-editor > p{font-size:16px;margin-top:12px;margin-botttom:12px;}", ".tinhte-editor > p:focus{outline:none;}", ".editor > .ck.ck-editor__editable_inline{padding:0;border:0;overflow-x:hidden;}", ".editor > .ck.ck-content.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners.ck-editor__editable_inline.ck-focused{border:0;box-shadow:none;outline:none;}", ".ck-block-toolbar-button{font-size:14px;}", ".ck.ck-button.ck-off.ck-block-toolbar-button{font-size:13px;color:var(--text-grey);border-radius:50%;width:30px;height:30px;border:1px solid var(--text-grey);}", "@media (max-width:767px){.ck.ck-button.ck-off.ck-block-toolbar-button{margin-left:30px;margin-top:-30px;background-color:white;}}", "@media (max-width:767px){.ck.ck-balloon-panel{margin-left:40px !important;}}", ".ck.ck-button.ck-on.ck-block-toolbar-button{font-size:13px;color:var(--text-grey);border-radius:50%;width:30px;height:30px;border:1px solid var(--text-grey);}", ".ck-content{min-height:100px;}", ".ck-content:focus-visible{outline:none !important;box-shadow:none !important;border:0 !important;}", ".ck-content > p{font-size:17px;line-height:25px;}", ".ck-content > p > strong{font-weight:bold;}", ".ck-content > p > a > strong{font-weight:bold;}", ".ck-content > p > i > strong{font-weight:bold;}", ".ck-content > p > a{color:var(--color-accent-dark);}", ".ck-content > h2{font-size:21px;font-weight:700;line-height:28px;padding:10px 0;}", ".ck-content > h2 > strong{font-weight:bold;}", ".ck-content > h3{font-size:18px;}", ".ck-content > h3 > strong{font-weight:bold;}", ".ck-content > figure{max-width:760px;}", ".ck-content .image > figcaption{display:none !important;}", ".ck-content > ul{list-style-type:inherit;list-style-position:inside;font-size:17px;margin-top:6px;padding-left:12px;}", ".ck-content > ul > li{margin-bottom:6px;line-height:26px;}", ".ck-content > ul > li > a{color:var(--color-accent-dark);}", ".ck-content > ul > li > strong{font-weight:bold;}", ".ck-content > ul > li > a > strong{font-weight:bold;}", ".ck-content > ol{list-style-type:decimal;list-style-position:inside;font-size:17px;margin-top:6px;padding-left:12px;}", ".ck-content > ol > li{display:list-item;margin-bottom:6px;line-height:26px;}", ".ck-content > ol > li > a{color:var(--color-accent-dark);}", ".ck-content > ol > li > a > strong{font-weight:bold;}", ".ck-editor__editable{line-height:25px;}", ".ck-editor__editable p > br{display:initial !important;line-height:inherit;}", ".ck-editor__editable p:has(> br[data-cke-filler]){height:auto;line-height:25px;visibility:visible;}", ".save-thread-button-group.jsx-1108449286{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;border-top:1px solid var(--button-light);}", ".goto-thread-button.jsx-1108449286{border-radius:4px;padding:12px;background-color:transparent;color:var(--text-dark);border:1px solid transparent;font-size:18px;margin:16px 0 0 10px;}", ".save-button.jsx-1108449286{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;border-radius:4px;padding:12px 48px;background-color:transparent;color:var(--text-dark);border:1px solid var(--button-light);font-size:18px;font-weight:bold;margin:16px 0 0 10px;}", ".save-button.isSubmitting.jsx-1108449286{background-color:var(--button-light);color:var(--text-dark);}", ".save-counter.jsx-1108449286{font-size:12px;margin-left:5px;width:24px;height:24px;background-color:var(--button-light);color:var(--text-dark);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;}", ".submit-button.jsx-1108449286{border-radius:4px;padding:12px 48px;background-color:var(--color-accent-dark);color:var(--color-light-0);font-size:18px;font-weight:bold;margin:16px 0 0 10px;}", ".submit-button.jsx-1108449286:disabled{opacity:0.5;}", ".submit-button.isSubmitting.jsx-1108449286{background-color:var(--button-light);color:var(--text-dark);}", ".tag-headrer.jsx-1108449286{font-size:16px;color:var(--color-light-2);margin-top:24px;margin-bottom:12px;}", ".tag-input.jsx-1108449286{font-size:16px;line-height:24px;width:100%;min-height:36px;padding:12px;background-color:var(--editor-control-background);color:var(--editor-control-text);border-radius:4px;resize:none;}", ".tag-input.jsx-1108449286:focus{outline:none;}", ".thread-prefix-selector.jsx-1108449286{padding:12px;}", ".dark .logo-item svg g{fill:var(--dark-icon);}", ".dark .logo-item svg path{fill:var(--dark-icon);}", ".heading-input{resize:none;font-size:20px;font-weight:700;line-height:28px;padding:10px 0.6em;width:100%;display:block;word-wrap:break-word;}", ".heading-input:focus{outline:none;}", ".remove-paragraph-button.jsx-1108449286{position:absolute;top:15px;right:0;}", ".add-paragraph-button.jsx-1108449286{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 0px;border:1px dashed #CBD5E0;border-radius:8px;}", ".add-paragraph-button.jsx-1108449286 span.jsx-1108449286{margin-left:5px;}", ".remove-image.jsx-1108449286{position:absolute;top:10px;right:10px;background-color:#ffffff;border:1px solid #f1f1f1;width:34px;height:34px;border-radius:4px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}", ".thread-count-word.jsx-1108449286{width:100%;text-align:right;margin-top:24px;margin-bottom:16px;}"]; styles_defaultExport.__hash = "1108449286"; /* harmony default export */ var Editor_styles = (styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Editor/index.js function Editor_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function Editor_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Editor_ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Editor_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0,getPrototypeOf/* default */.Z)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,getPrototypeOf/* default */.Z)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,possibleConstructorReturn/* default */.Z)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* eslint-disable class-methods-use-this */ /* eslint-disable consistent-return */ /* eslint-disable no-param-reassign */ /* eslint-disable array-callback-return */ /* eslint-disable prefer-destructuring */ /* eslint-disable no-useless-return */ /* eslint-disable no-else-return */ // https://alloyeditor.com/ // https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/react.html // https://ckeditor.com/docs/ckeditor5/latest/features/image-upload/image-upload.html // https://ckeditor.com/docs/ckeditor5/latest/framework/guides/deep-dive/ui/theme-customization.html // https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installing-plugins.html var AddCoverButton = function AddCoverButton(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Editor_objectSpread(Editor_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M19 12v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm.008-12c.548 0 .992.445.992.993v9.349A5.99 5.99 0 0 0 18 10V2H2l.001 14 9.292-9.293a1 1 0 0 1 1.32-.084l.093.085 3.546 3.55a6.003 6.003 0 0 0-3.91 7.743L.992 18A.993.993 0 0 1 0 17.007V.993A1 1 0 0 1 .992 0h18.016zM6 4a2 2 0 1 1 0 4 2 2 0 0 1 0-4z", fill: "#4A5568" }) })); }; AddCoverButton.defaultProps = { width: "22", height: "20", viewBox: "0 0 22 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }; var RemoveParagraphIcon = function RemoveParagraphIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Editor_objectSpread(Editor_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M15 4h5v2h-2v13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6H0V4h5V1a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3zm1 2H4v12h12V6zM7 2v2h6V2H7z", fill: "#718096" }) })); }; RemoveParagraphIcon.defaultProps = { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }; var bodyCountToShowSaveButton = 520; var defaultForumId = 767; /* eslint-disable max-len */ var CustomUploadAdapter = /*#__PURE__*/function () { function CustomUploadAdapter(loader, api, attachmentSuccessCallback, postData) { (0,classCallCheck/* default */.Z)(this, CustomUploadAdapter); // The file loader instance to use during the upload. It sounds scary but do not // worry — the loader will be passed into the adapter later on in this guide. this.loader = loader; this.api = api; this.attachmentSuccessCallback = attachmentSuccessCallback; this.postData = postData; } (0,createClass/* default */.Z)(CustomUploadAdapter, [{ key: "getFormData", value: function getFormData(file, threadId, postId, forumId, attachmentHash) { var formData = new window.FormData(); if (postId) { formData.append('post_id', postId); } if (threadId) { formData.append('thread_id', threadId); } if (forumId) { formData.append('forum_id', forumId); } if (file) { formData.append('file', file); } if (attachmentHash) { formData.append('attachment_hash', attachmentHash); } return formData; } // Starts the upload process. }, { key: "upload", value: function upload() { var _this = this; return this.loader.file /* eslint-disable-next-line */ .then(function (file) { return new Promise( /*#__PURE__*/function () { var _ref = (0,asyncToGenerator/* default */.Z)( /*#__PURE__*/regenerator_default().mark(function _callee(resolve, reject) { var forumId, threadId, postId, attachmentHash, body, uri; return regenerator_default().wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: // Prepare thread data forumId = defaultForumId; threadId = null; postId = null; attachmentHash = null; if (_this.postData) { if (_this.postData.forumId) { forumId = _this.postData.forumId; } if (_this.postData.threadId) { threadId = _this.postData.threadId; } if (_this.postData.postId) { postId = _this.postData.postId; } if (_this.postData.attachmentHash) { attachmentHash = _this.postData.attachmentHash; } } body = _this.getFormData(file, threadId, postId, forumId, attachmentHash); uri = 'threads/attachments'; if (!(file.size > 1024 * 1024)) { _context.next = 9; break; } return _context.abrupt("return", reject(new Error('Hình ảnh quá lớn, vui lòng chọn hình ảnh nhỏ hơn 1MB'))); case 9: // Call Upload API _this.api.post({ uri: uri, body: body }).then(function (res) { return _this.attachmentSuccess(res, resolve); }, _this.attachmentError); case 10: case "end": return _context.stop(); } } }, _callee); })); return function (_x, _x2) { return _ref.apply(this, arguments); }; }()); }); } }, { key: "attachmentSuccess", value: function attachmentSuccess(res, resolve) { if (this.attachmentSuccessCallback) { this.attachmentSuccessCallback(res.attachment); } return resolve({ "default": res.attachment.links.permalink, alt: "attachFull".concat(res.attachment.attachment_id) }); } }, { key: "attachmentError", value: function attachmentError(res) { console.error('Upload error', res); } // Aborts the upload process. }, { key: "abort", value: function abort() { console.log('User aborting'); } }]); return CustomUploadAdapter; }(); var generateAttachmentHash = function generateAttachmentHash(threadId) { var randomId = threadId; if (threadId) { randomId = Math.random().toString(36).substring(7); } var randomIdSuffix = Math.random().toString(36).substring(7); return "".concat(randomId).concat(Date.now()).concat(randomIdSuffix); }; /* eslint-disable-next-line */ var wordCount = function wordCount(str) { return str.split(' ').filter(function (n) { return n !== ''; }).length; }; var Editor = /*#__PURE__*/function (_React$Component) { (0,inherits/* default */.Z)(Editor, _React$Component); var _super = _createSuper(Editor); function Editor(props) { var _this2; (0,classCallCheck/* default */.Z)(this, Editor); _this2 = _super.call(this, props); var inputThreadId = null; var inputForumId = null; if (_this2.props.threadId) { inputThreadId = _this2.props.threadId; } if (_this2.props.forumId) { inputForumId = _this2.props.forumId; } _this2.state = { threadId: inputThreadId, contentData: '', savedContentData: '', forumId: inputForumId || defaultForumId, title: '', savedTitle: '', thread: null, isClientRendered: false, attachments: [], attachmentHash: generateAttachmentHash(_this2.props.threadId), threadTitleCount: '0/100 ký tự', showTitleCount: false, highlightTextEditor: false, isUploadingThreadCover: false, isUploadingVideo: false, isUploadingAudio: false, threadPrefixModalIsOpen: false, saveTimer: 0, forums: [] }; _this2.contentRef = /*#__PURE__*/react.createRef(); _this2.savePost = _this2.savePost.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.submitPost = _this2.submitPost.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.attachmentSuccessCallback = _this2.attachmentSuccessCallback.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.preparePostContent = _this2.preparePostContent.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.getPostData = _this2.getPostData.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.threadCoverOpenFileRef = /*#__PURE__*/react.createRef(); _this2.handleCloseThreadPrefixModal = _this2.handleCloseThreadPrefixModal.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.handlePublishThread = _this2.handlePublishThread.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.getThreadWordCount = _this2.getThreadWordCount.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.removeThreadCover = _this2.removeThreadCover.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.onFocusThreadTitle = _this2.onFocusThreadTitle.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.onBlurThreadTitle = _this2.onBlurThreadTitle.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.getBodyCharacterCount = _this2.getBodyCharacterCount.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.renderSaveButton = _this2.renderSaveButton.bind((0,assertThisInitialized/* default */.Z)(_this2)); _this2.baseToolbarConfig = ['heading', '|', 'bold', 'italic', '|', 'alignment', '|', 'bulletedList', 'numberedList', '|', 'link', '|']; _this2.editorConfig = { extraPlugins: [CustomUploadAdapter], placeholder: 'Nhập đoạn giới thiệu tổng quan của bài để anh em hiểu được nội dung bài viết...', blockToolbar: [].concat((0,toConsumableArray/* default */.Z)(_this2.baseToolbarConfig), ['imageUpload', 'mediaEmbed']), toolbar: (0,toConsumableArray/* default */.Z)(_this2.baseToolbarConfig), heading: { options: [{ model: 'paragraph', title: 'Paragraph', "class": 'ck-heading_paragraph' }, { model: 'heading2', view: 'h2', title: 'Heading 2' }, { model: 'heading3', view: 'h3', title: 'Heading 3' }, { model: 'heading4', view: 'h4', title: 'Heading 4' }] }, image: { toolbar: null } }; return _this2; } (0,createClass/* default */.Z)(Editor, [{ key: "componentDidMount", value: function componentDidMount() { // https://github.com/ckeditor/ckeditor5-react/issues/194 /* eslint-disable-next-line */ this.CKEditor = __webpack_require__(3813).CKEditor; /* eslint-disable-next-line */ this.ClassicEditor = __webpack_require__(73271); /* eslint-disable-next-line */ this.setState({ isClientRendered: true }, this.getPostData); // this.startAutoSaveDeterminationTimer(); this.startAutoSaveTimer(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { clearInterval(this.autoSaveTimer); clearInterval(this.autoSaveDeterminationTimer); } }, { key: "onTitleChange", value: function onTitleChange(text) { this.setState({ title: text }); var threadTitleCount = this.buildThreadTitleCount(text); this.setState({ threadTitleCount: threadTitleCount }); window.document.title = text; } }, { key: "onFocusThreadTitle", value: function onFocusThreadTitle() { this.setState({ showTitleCount: true }); } }, { key: "onBlurThreadTitle", value: function onBlurThreadTitle() { this.setState({ showTitleCount: false }); } }, { key: "getThreadWordCount", value: function getThreadWordCount() { var contentData = this.state.contentData; var total = wordCount(contentData) || 0; return "".concat(total, " ch\u1EEF"); } }, { key: "getBodyCharacterCount", value: function getBodyCharacterCount() { var contentData = this.state.contentData; return wordCount(contentData) || 0; // const tempDiv = document.createElement('div'); // tempDiv.innerHTML = contentData; // return (tempDiv.textContent || tempDiv.innerText || '').length; } }, { key: "getPostData", value: function getPostData(onGetFinished) { var _this3 = this; var api = this.props.api; var threadId = this.state.threadId; api.onAuthenticated(function () { api.get({ uri: '/forums?order=list' }).then(function (response) { var responseForums = get_default()(response, 'forums', []).map(forum/* normalizeForum */.p$).filter(function (forum) { return tag/* displayedForums.indexOf */.a.indexOf(forum.id) > -1; }); _this3.setState({ forums: responseForums }); })["catch"](function (responseError) { console.log('Error', responseError); }); if (!threadId || threadId === 'new') return; // Get thread data api.get({ uri: "/threads/".concat(threadId), headers: { 'Api-Post-Tree': 1 } }).then(function (json) { if (json.thread) { var rawThreadData = (0,normalize_thread/* default */.ZP)(json.thread); var postId = rawThreadData.firstPost.id; var attachments = rawThreadData.firstPost.attachments; _this3.setState({ forumId: rawThreadData.forumId, title: rawThreadData.title, savedTitle: rawThreadData.title, threadTitleCount: _this3.buildThreadTitleCount(rawThreadData.title), thread: rawThreadData, attachments: attachments, postId: postId }); window.document.title = rawThreadData.title; // Get post data api.get({ uri: "/posts/".concat(postId, "/editor-config&fields_include=post_body_editor_html") }).then(function (postJson) { if (postJson && postJson) { var contentData = _this3.cleanContentDataAfterLoad(postJson.post_body_editor_html, attachments); _this3.setState({ contentData: contentData, savedContentData: contentData }, function () { if (onGetFinished) { onGetFinished(); } }); } }); } })["catch"](function (response) { var errorMessage = response.toString(); react_toastify_esm/* toast.error */.Am.error(errorMessage); }); }); } }, { key: "buildThreadTitleCount", value: function buildThreadTitleCount(text) { var threadTitleCount = ''; if (text.length > 100) { threadTitleCount = 'Tiêu đề không được dài quá 100 kí tự'; } else { threadTitleCount = "".concat(text.length, "/100 k\xFD t\u1EF1"); } return threadTitleCount; } }, { key: "deleteMultipleAttachments", value: function deleteMultipleAttachments(attachmentsToDelete) { var api = this.props.api; var thread = this.state.thread; if (!thread || thread && !thread.id) return; var postId = thread && thread.firstPost && thread.firstPost.id; api.onAuthenticated(function () { attachmentsToDelete.forEach(function (attachment) { api.del({ uri: "/posts/".concat(postId, "/attachments/").concat(attachment.attachment_id) }); }); }); } }, { key: "deleteAttachment", value: function deleteAttachment(attachmentId, doNotAutoSave) { var _this4 = this; var api = this.props.api; var _this$state = this.state, attachments = _this$state.attachments, thread = _this$state.thread; if (!thread) return; var postId = thread.firstPost.id; api.onAuthenticated(function () { // Get thread data api.del({ uri: "/posts/".concat(postId, "/attachments/").concat(attachmentId) }).then(function () { var newAttachments = attachments.filter(function (attachment) { return attachment.attachment_id !== attachmentId; }); _this4.setState({ attachments: newAttachments }, function () { if (!doNotAutoSave) { _this4.savePost({}); } }); })["catch"](function (response) { var errorMessage = response.toString(); react_toastify_esm/* toast.error */.Am.error(errorMessage); }); }); } }, { key: "handleDragEnter", value: function handleDragEnter(e) { e.preventDefault(); e.stopPropagation(); this.setState({ highlightTextEditor: true }); } }, { key: "handleDragLeave", value: function handleDragLeave(e) { e.preventDefault(); e.stopPropagation(); this.setState({ highlightTextEditor: false }); } }, { key: "handleDragOver", value: function handleDragOver(e) { e.preventDefault(); e.stopPropagation(); this.setState({ highlightTextEditor: true }); } }, { key: "handleDrop", value: function handleDrop(e) { e.preventDefault(); this.setState({ highlightTextEditor: false }); } }, { key: "showThreadCoverFileSelection", value: function showThreadCoverFileSelection() { this.threadCoverOpenFileRef.current.click(); } }, { key: "handleThreadCoverFileDrop", value: function handleThreadCoverFileDrop(files) { var _this5 = this; var editor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var isVideoUpload = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var isAudioUpload = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; if (!files || files.length <= 0) return; var _this$state2 = this.state, forumId = _this$state2.forumId, threadId = _this$state2.threadId, attachmentHash = _this$state2.attachmentHash, postId = _this$state2.postId, thread = _this$state2.thread, attachments = _this$state2.attachments; var api = this.props.api; var uploadAdapter = new CustomUploadAdapter(); var formDataToUpload = uploadAdapter.getFormData(files[0], threadId, postId, forumId, attachmentHash); var oldThreadCoverUrl = thread && thread.image; if (isAudioUpload) { this.setState({ isUploadingAudio: true }); } else if (isVideoUpload) { this.setState({ isUploadingVideo: true }); } else { this.setState({ isUploadingThreadCover: true, thread: Editor_objectSpread(Editor_objectSpread({}, thread), {}, { image: URL.createObjectURL(files[0]) }) }); } var uri = 'threads/attachments'; // Call Upload API api.post({ uri: uri, body: formDataToUpload }).then(function (response) { if (response.attachment) { // If video upload, insert content into the editor and return, do nothing else if (isAudioUpload) { _this5.setState({ isUploadingAudio: false }); if (editor) { var audioAttachmentId = response.attachment.attachment_id; var audioBbCodeElement = "[attach]".concat(audioAttachmentId, "[/attach]"); editor.model.change(function (writer) { writer.insertText(audioBbCodeElement, editor.model.document.selection.getFirstPosition()); }); } } else if (isVideoUpload) { _this5.setState({ isUploadingVideo: false }); if (editor) { var attachmentId = response.attachment.attachment_id; var videoBbCodeElement = "[video]".concat(attachmentId, "[/video]"); editor.model.change(function (writer) { writer.insertText(videoBbCodeElement, editor.model.document.selection.getFirstPosition()); }); } } else { if (!thread || thread && !thread.id) { _this5.setState({ isUploadingThreadCover: false, thread: Editor_objectSpread(Editor_objectSpread({}, thread), {}, { image: response.attachment.links.permalink }) }); return; } // For image upload, set it to cover image _this5.setState({ thread: Editor_objectSpread(Editor_objectSpread({}, thread), {}, { image: response.attachment.links.permalink }) }); // Set thread cover var threadCoverFormData = new window.FormData(); var attachmentDataToSet = Editor_objectSpread({ url: response.attachment.links.permalink || thread.image, type: 'attachment' }, response.attachment); threadCoverFormData.append('thread_id', threadId); threadCoverFormData.append('is_cover', 1); threadCoverFormData.append('is_cover_included', 1); threadCoverFormData.append('image', JSON.stringify(attachmentDataToSet)); api.post({ uri: "/threads/".concat(threadId, "/image"), body: threadCoverFormData }).then(function (json) { if (json.status === 'ok') { _this5.setState({ isUploadingThreadCover: false }); _this5.savePost({}); if (oldThreadCoverUrl) { // Auto delete old cover image // But only if the image is not inserted into the document var attachmentToDelete = attachments.find(function (attachment) { return attachment.links.permalink === oldThreadCoverUrl && !attachment.attachment_is_inserted; }); if (attachmentToDelete) { _this5.deleteAttachment(attachmentToDelete.attachment_id); } } } })["catch"](function (errorResponse) { var errorMessage = errorResponse.toString(); react_toastify_esm/* toast.error */.Am.error(errorMessage); _this5.setState({ isUploadingThreadCover: false, thread: { image: null } }); }); } } })["catch"](function (errorResponse) { var errorMessage = errorResponse.toString(); react_toastify_esm/* toast.error */.Am.error(errorMessage); _this5.setState({ isUploadingThreadCover: false, thread: { image: null } }); }); } }, { key: "startAutoSaveTimer", value: function startAutoSaveTimer() { var _this6 = this; this.autoSaveTimer = setInterval(function () { var saveTimer = _this6.state.saveTimer; if (saveTimer <= 0) { _this6.autoSavePost(); } else { _this6.setState({ saveTimer: saveTimer - 1 }); } }, 1000); } // startAutoSaveDeterminationTimer() { // this.autoSaveDeterminationTimer = setInterval(() => // this.setState({ shouldAutoSave: false }), 5000); // } }, { key: "cleanContentDataAfterLoad", value: function cleanContentDataAfterLoad(inputContent, attachments) { var contentDataAfterPrepared = inputContent; // [ATTACH=full]4559181[/ATTACH] // Find attach full tag and replace with img tag var imgAttachmentIdRegex = /\[ATTACH=full](.*?)\[\/ATTACH]/g; var imgSrcs = inputContent.match(imgAttachmentIdRegex); // console.log('imgSrcsSettt', imgSrcs); if (imgSrcs && imgSrcs.length > 0) { imgSrcs.map(function (imgSrc) { var attachmentIdRegex = /\[ATTACH=full](.*?)\[\/ATTACH]/; var attachentIdSrc = attachmentIdRegex.exec(imgSrc); if (attachentIdSrc) { var attachmentId = attachentIdSrc[1]; // Then map the src URL with the list of attachments attachments.map(function (attachment) { if (attachment.attachment_id === parseInt(attachmentId, 10)) { var newImgSrc = imgSrc.replace(imgSrc, "\"attachFull").concat(attachment.attachment_id,")); contentDataAfterPrepared = contentDataAfterPrepared.replace(imgSrc, newImgSrc); } }); } else { console.error("No src found for ".concat(imgSrc, " with regex = ").concat(attachmentIdRegex)); } }); } // Remove duplicated line break var linkBreakHtml = /

 <\/p>

 <\/p>/g; contentDataAfterPrepared = contentDataAfterPrepared.replace(linkBreakHtml, '

 

'); var heading2ParagraphBreakHtml = /

/g; contentDataAfterPrepared = contentDataAfterPrepared.replace(heading2ParagraphBreakHtml, '

'); contentDataAfterPrepared = contentDataAfterPrepared.replace(/<\/h2><\/p>/g, '

'); var heading3ParagraphBreakHtml = /

/g; contentDataAfterPrepared = contentDataAfterPrepared.replace(heading3ParagraphBreakHtml, '

'); contentDataAfterPrepared = contentDataAfterPrepared.replace(/<\/h3><\/p>/g, '

'); var heading4ParagraphBreakHtml = /

/g; contentDataAfterPrepared = contentDataAfterPrepared.replace(heading4ParagraphBreakHtml, '

'); contentDataAfterPrepared = contentDataAfterPrepared.replace(/<\/h3><\/p>/g, '

'); return contentDataAfterPrepared; } }, { key: "attachmentSuccessCallback", value: function attachmentSuccessCallback(attachment) { var attachments = this.state.attachments; attachments.push(attachment); this.setState({ attachments: attachments, highlightTextEditor: false }); } }, { key: "preparePostContent", value: function preparePostContent() { var _this$state3 = this.state, attachments = _this$state3.attachments, contentData = _this$state3.contentData; var contentDataAfterPrepared = contentData; // Find all images link without alt // Image with alt indicated that it is insert inline before, do not touch var imgSrcRegex = //g; var imgSrcs = contentDataAfterPrepared.match(imgSrcRegex); // For each found , get the Url from src attribute if (imgSrcs && imgSrcs.length > 0) { imgSrcs.map(function (imgSrc) { var imgSrcRegexInternal = //; var src = imgSrcRegexInternal.exec(imgSrc); if (src) { var srcUrl = src[1]; // Then map the src URL with the list of attachments // Then append the alt as required by Xenforo for inline attachment insert attachments.map(function (attachment) { if (attachment.links.permalink === srcUrl) { var newImgSrc = imgSrc.replace('>', " alt=\"attachFull".concat(attachment.attachment_id, "\">")); contentDataAfterPrepared = contentDataAfterPrepared.replace(imgSrc, newImgSrc); } }); } else { console.error("No src found for ".concat(imgSrc, " with regex = ").concat(imgSrcRegex)); } }); } // Convert image caption to paragraph with text-align: center // const imageCaptionFigcaption = /(.*?)<\/figcaption>/g; // contentDataAfterPrepared = contentDataAfterPrepared.replace( // imageCaptionFigcaption, '

$1

' // ); // Remove figure and oembed tag from CKeditor var mediaSrcRegex = /
<\/oembed><\/figure>/g; contentDataAfterPrepared = contentDataAfterPrepared.replace(mediaSrcRegex, '$1'); // Return end result return contentDataAfterPrepared; } }, { key: "isSaved", value: function isSaved() { var _this$state4 = this.state, title = _this$state4.title, savedTitle = _this$state4.savedTitle, contentData = _this$state4.contentData, savedContentData = _this$state4.savedContentData; return title.length === 0 || contentData.length === 0 || savedTitle === title && savedContentData === contentData; } }, { key: "autoSavePost", value: function autoSavePost() { var _this7 = this; var _this$state5 = this.state, title = _this$state5.title, contentData = _this$state5.contentData; // Do not auto save if not allow if (!(title.length > 0 && contentData.length > 0)) return; if (this.isSaved()) return; this.setState({ isSubmitting: true, saveTimer: 10 }, function () { return _this7.submitPost({}); }); } }, { key: "warningBeforeSavingPost", value: function warningBeforeSavingPost() { var _this$state6 = this.state, title = _this$state6.title, contentData = _this$state6.contentData; if (title.length === 0) { react_toastify_esm/* toast.error */.Am.error('Hãy nhập tiêu đề bài viết'); } else if (contentData.length === 0) { react_toastify_esm/* toast.error */.Am.error('Hãy nhập nội dung bài viết'); } else { react_toastify_esm/* toast.error */.Am.error('Không có thay đổi gì để lưu'); } } }, { key: "warningBeforeSubmittingPost", value: function warningBeforeSubmittingPost() { var _this$state7 = this.state, title = _this$state7.title, contentData = _this$state7.contentData; if (title.length === 0) { react_toastify_esm/* toast.error */.Am.error('Hãy nhập tiêu đề bài viết'); } else if (contentData.length === 0) { react_toastify_esm/* toast.error */.Am.error('Hãy nhập nội dung bài viết'); } else { react_toastify_esm/* toast.error */.Am.error('Đang tạo bài viết đợi xíu nhé'); } } }, { key: "savePost", value: function savePost(_ref2) { var _this8 = this; var goToDraft = _ref2.goToDraft; this.setState({ isSubmitting: true }, function () { return _this8.submitPost({ goToDraft: goToDraft }); }); } }, { key: "viewPost", value: function viewPost() { var thread = this.state.thread; var goToDraft = !thread || thread && thread.isDraft; var goToThread = thread && !thread.isDraft; if (this.isSaved()) { if (goToDraft) { window.location.href = '/my-draft'; } else { window.location.href = thread.link; } } else { this.submitPost({ goToDraft: goToDraft, goToThread: goToThread }); } } }, { key: "openThreadPrefixModal", value: function openThreadPrefixModal() { this.setState({ threadPrefixModalIsOpen: true }); } }, { key: "handleCloseThreadPrefixModal", value: function handleCloseThreadPrefixModal() { window.document.body.style.overflow = 'initial'; this.setState({ threadPrefixModalIsOpen: false }); } // eslint-disable-next-line }, { key: "handlePublishThread", value: function handlePublishThread(_ref3) { var forum_id = _ref3.forum_id; window.document.body.style.overflow = 'initial'; this.setState({ threadPrefixModalIsOpen: false, forumId: forum_id }); this.publishThread(); } }, { key: "publishThread", value: function publishThread() { var _this$state8 = this.state, thread = _this$state8.thread, forumId = _this$state8.forumId; var api = this.props.api; if (thread && thread.isDraft) { api.post({ uri: "/threads/".concat(thread.id, "/tinhte-creator-publish"), params: { forum_id: forumId } }).then(function () { window.location.href = thread.link; }); } else { this.submitPost({ goToThread: true }); } } }, { key: "submitPost", value: function submitPost(_ref4) { var _this9 = this; var goToThread = _ref4.goToThread, goToDraft = _ref4.goToDraft; var _this$state9 = this.state, forumId = _this$state9.forumId, title = _this$state9.title, contentData = _this$state9.contentData, threadId = _this$state9.threadId, attachmentHash = _this$state9.attachmentHash, thread = _this$state9.thread; var api = this.props.api; // PUT request does not accept FormData, only Form urlencode is accepted // Thus we have to handle this case var postFormData = threadId ? new URLSearchParams() : new window.FormData(); postFormData.append('forum_id', forumId); postFormData.append('thread_title', title); postFormData.append('post_body_html', this.preparePostContent()); postFormData.append('attachment_hash', attachmentHash); if (thread && thread.image) { postFormData.append('bdimage_image', thread && thread.image); } var apiAction = 'post'; var uri = 'threads'; if (threadId) { apiAction = 'put'; uri = "threads/".concat(threadId); if (thread) { postFormData.append('is_draft', thread.isDraft ? 1 : 0); } } // On create new post, default it should be draft // For mod, if forumId = Nháp or Chờ Duyệt, do not set draft mode if (apiAction === 'post') { if (forumId !== '215' && forumId !== '123') { postFormData.append('is_draft', 1); } } return api[apiAction]({ uri: uri, body: postFormData }).then(function (response) { if (response.thread) { // Delete non-inserted attachments // But do not apply to TinhteFact post edit var threadNewData = (0,normalize_thread/* default */.ZP)(response.thread); if (!threadNewData.isTinhteFact) { var attachmentListToCheck = threadNewData.firstPost.attachments; var attachmentsToDelete = attachmentListToCheck.filter(function (attachment) { return !attachment.attachment_is_inserted && attachment.links.permalink !== threadNewData.image; }); _this9.deleteMultipleAttachments(attachmentsToDelete); } if (goToThread) { window.location.href = threadNewData.link; } else if (goToDraft) { window.location.href = '/my-draft'; } else { // Set the path to editorv2 update window.history.replaceState(null, threadNewData.title, "/editorv2/edit/".concat(threadNewData.id)); _this9.setState({ isSubmitting: false, threadId: threadNewData.id, thread: threadNewData, savedTitle: title, savedContentData: contentData }); } } else { _this9.setState({ isSubmitting: false }); } })["catch"](function (response) { // log on browser to debug console.log({ uri: uri, apiAction: apiAction, postFormData: (0,toConsumableArray/* default */.Z)(postFormData.entries()), accessToken: api.getAccessToken() }); var errorMessage = response.toString(); react_toastify_esm/* toast.error */.Am.error(errorMessage); _this9.setState({ isSubmitting: false }); }); } }, { key: "removeThreadCover", value: function removeThreadCover() { var _this10 = this; var _this$state10 = this.state, thread = _this$state10.thread, threadId = _this$state10.threadId, attachments = _this$state10.attachments; var api = this.props.api; var oldThreadCoverUrl = thread && thread.image; if (oldThreadCoverUrl) { var threadCoverFormData = new window.FormData(); var attachmentToDelete = attachments.find(function (attachment) { return attachment.links.permalink === oldThreadCoverUrl && !attachment.attachment_is_inserted; }); if (threadId) { threadCoverFormData.append('thread_id', threadId); threadCoverFormData.append('is_cover', 1); threadCoverFormData.append('is_cover_included', 1); threadCoverFormData.append('image', ''); api.post({ uri: "/threads/".concat(threadId, "/image"), body: threadCoverFormData }).then(function (json) { if (json.status === 'ok') { _this10.savePost({}); // Auto delete old cover image // But only if the image is not inserted into the document if (attachmentToDelete) { _this10.deleteAttachment(attachmentToDelete.attachment_id); _this10.setState({ thread: Editor_objectSpread(Editor_objectSpread({}, thread), {}, { image: '' }) }); } } })["catch"](function (errorResponse) { var errorMessage = errorResponse.toString(); react_toastify_esm/* toast.error */.Am.error(errorMessage); _this10.setState({ thread: { image: null } }); }); } else if (attachmentToDelete) { this.deleteAttachment(attachmentToDelete.attachment_id); this.setState({ thread: Editor_objectSpread(Editor_objectSpread({}, thread), {}, { image: '' }) }); } else { this.setState({ thread: Editor_objectSpread(Editor_objectSpread({}, thread), {}, { image: '' }) }); } } } }, { key: "renderSaveButton", value: function renderSaveButton() { var _this11 = this; var _this$state11 = this.state, isSubmitting = _this$state11.isSubmitting, saveTimer = _this$state11.saveTimer; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Editor_styles.__hash), children: [this.isSaved() ? /*#__PURE__*/(0,jsx_runtime.jsx)("button", { onClick: function onClick() { return _this11.warningBeforeSavingPost(); }, className: "jsx-".concat(Editor_styles.__hash) + " " + "save-button isSubmitting", children: "\u0110\xE3 l\u01B0u" }) : /*#__PURE__*/(0,jsx_runtime.jsxs)("button", { onClick: function onClick() { return _this11.savePost({}); }, disabled: isSubmitting, className: "jsx-".concat(Editor_styles.__hash) + " " + "save-button ".concat(isSubmitting ? 'isSubmitting' : ''), children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "jsx-".concat(Editor_styles.__hash), children: "\u0110ang l\u01B0u" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "save-counter", children: saveTimer })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Editor_styles.__hash, children: Editor_styles })] }); } }, { key: "render", value: function render() { var _this12 = this; var _this$state12 = this.state, isClientRendered = _this$state12.isClientRendered, contentData = _this$state12.contentData, title = _this$state12.title, threadId = _this$state12.threadId, forumId = _this$state12.forumId, postId = _this$state12.postId, attachmentHash = _this$state12.attachmentHash, isSubmitting = _this$state12.isSubmitting, threadTitleCount = _this$state12.threadTitleCount, thread = _this$state12.thread, highlightTextEditor = _this$state12.highlightTextEditor, showTitleCount = _this$state12.showTitleCount, isUploadingThreadCover = _this$state12.isUploadingThreadCover, threadPrefixModalIsOpen = _this$state12.threadPrefixModalIsOpen, isUploadingVideo = _this$state12.isUploadingVideo, isUploadingAudio = _this$state12.isUploadingAudio, forums = _this$state12.forums; var api = this.props.api; var bodyCount = this.getBodyCharacterCount(); return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { onDrop: function onDrop(e) { return _this12.handleDrop(e); }, onDragOver: function onDragOver(e) { return _this12.handleDragOver(e); }, onDragEnter: function onDragEnter(e) { return _this12.handleDragEnter(e); }, onDragLeave: function onDragLeave(e) { return _this12.handleDragLeave(e); }, className: "jsx-".concat(Editor_styles.__hash) + " " + "tinhte-editor-wrapper", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "tinhte-editor-header", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "toolbar", children: [isUploadingVideo && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "autosave-text hidden-xs", children: /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Editor_styles.__hash) + " " + "is-uploading-video", children: "\u0110ang upload video..." }) }), isUploadingAudio && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "autosave-text hidden-xs", children: /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Editor_styles.__hash) + " " + "is-uploading-video", children: "\u0110ang upload audio..." }) })] }) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "editor-guideline-wrap", children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: "https://tinhte.vn/thread/huong-dan-viet-bai-tren-tinhte-vn.3702060/", target: "_blank", rel: "noreferrer", className: "jsx-".concat(Editor_styles.__hash) + " " + "editor-guideline", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Editor_styles.__hash) + " " + "editor-guideline_title", children: "H\u01B0\u1EDBng d\u1EABn vi\u1EBFt b\xE0i" }), /*#__PURE__*/(0,jsx_runtime.jsx)("img", { src: "https://photo2.tinhte.vn/data/attachment-files/2024/07/8387115_thumb_cuhiep.jpg", alt: "H\u01B0\u1EDBng d\u1EABn vi\u1EBFt b\xE0i", className: "jsx-".concat(Editor_styles.__hash) + " " + "editor-guideline_image" })] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { className: "jsx-".concat(Editor_styles.__hash) + " " + "editor-helper", children: ["Li\xEAn h\u1EC7 khi b\u1ECB l\u1ED7i: ", /*#__PURE__*/(0,jsx_runtime.jsx)("a", { href: "https://www.facebook.com/messages/t/122102927812763?locale=vi_VN", target: "_blank", rel: "noreferrer", className: "jsx-".concat(Editor_styles.__hash), children: "Tinhte.vn" })] }), bodyCount >= bodyCountToShowSaveButton && threadId && this.renderSaveButton()] }), thread && thread.permissions && !thread.permissions.post && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "not-have-permission", children: "B\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n truy c\u1EADp trang n\xE0y" }), isClientRendered && this.CKEditor && !(thread && thread.permissions && !thread.permissions.post) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "tinhte-editor", children: [/*#__PURE__*/(0,jsx_runtime.jsx)(react_textarea_autosize_es/* default */.Z, { className: "title-input", value: title, onChange: function onChange(e) { return _this12.onTitleChange(e.target.value); }, onFocus: function onFocus(e) { return _this12.onFocusThreadTitle(e.target.value); }, onBlur: function onBlur(e) { return _this12.onBlurThreadTitle(e.target.value); }, placeholder: "Nh\u1EADp ti\xEAu \u0111\u1EC1 b\xE0i vi\u1EBFt...", minRows: 1 }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "thread-toolbar ".concat(showTitleCount ? 'show' : ''), children: threadTitleCount && /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Editor_styles.__hash) + " " + "thread-title-count", children: threadTitleCount }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Editor_styles.__hash) + " " + "mobile-hint", children: "Tr\xEAn di \u0111\u1ED9ng, xoay ngang \u0111\u1EC3 hi\u1EC7n thanh c\xF4ng c\u1EE5" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "thread-thumb-selection", children: /*#__PURE__*/(0,jsx_runtime.jsxs)(DragAndDrop/* default */.Z, { onFileDrop: function onFileDrop(files) { return _this12.handleThreadCoverFileDrop(files); }, placeholder: "K\xE9o th\u1EA3 \u1EA3nh v\xE0o \u0111\xE2y \u0111\u1EC3 ch\u1ECDn h\xECnh \u0111\u1EA1i di\u1EC7n", children: [thread && thread.image && thread.image !== 'null' ? /*#__PURE__*/ /* eslint-disable-next-line */ (0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", { alt: "H\xECnh \u0111\u1EA1i di\u1EC7n cho b\xE0i vi\u1EBFt", src: thread.image, className: "jsx-".concat(Editor_styles.__hash) + " " + "thread-cover" }), /*#__PURE__*/(0,jsx_runtime.jsx)("button", { onClick: function onClick() { return _this12.removeThreadCover(); }, className: "jsx-".concat(Editor_styles.__hash) + " " + "remove-image", children: /*#__PURE__*/(0,jsx_runtime.jsx)(RemoveParagraphIcon, {}) })] }) : /*#__PURE__*/ /* eslint-disable-next-line */ (0,jsx_runtime.jsxs)("div", { onClick: function onClick() { return _this12.showThreadCoverFileSelection(); }, className: "jsx-".concat(Editor_styles.__hash) + " " + "thread-cover-selection-placeholder", children: [/*#__PURE__*/(0,jsx_runtime.jsx)(AddCoverButton, {}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Editor_styles.__hash) + " " + "placeholder-main", children: "Th\xEAm \u1EA3nh \u0111\u1EA1i di\u1EC7n" }), /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Editor_styles.__hash) + " " + "placeholder-sub", children: "Ho\u1EB7c k\xE9o v\xE0 th\u1EA3" }), /*#__PURE__*/(0,jsx_runtime.jsx)("input", { ref: this.threadCoverOpenFileRef, type: "file", style: { display: 'none' }, onChange: function onChange(e) { return _this12.handleThreadCoverFileDrop(e.target.files); }, className: "jsx-".concat(Editor_styles.__hash) })] }), isUploadingThreadCover && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "thread-cover-uploading", children: /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Editor_styles.__hash) + " " + "uploading-text", children: "\u0110ang upload \u1EA3nh \u0111\u1EA1i di\u1EC7n..." }) }), thread && thread.image && thread.image !== 'null' && !isUploadingThreadCover && /*#__PURE__*/ /* eslint-disable-next-line */ (0,jsx_runtime.jsxs)("button", { onClick: function onClick() { return _this12.showThreadCoverFileSelection(); }, className: "jsx-".concat(Editor_styles.__hash) + " " + "thread-cover-static", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "jsx-".concat(Editor_styles.__hash), children: "K\xE9o th\u1EA3 \u1EA3nh ho\u1EB7c click \u0111\u1EC3 ch\u1ECDn h\xECnh \u0111\u1EA1i di\u1EC7n" }), /*#__PURE__*/(0,jsx_runtime.jsx)("input", { ref: this.threadCoverOpenFileRef, type: "file", style: { display: 'none' }, onChange: function onChange(e) { return _this12.handleThreadCoverFileDrop(e.target.files); }, className: "jsx-".concat(Editor_styles.__hash) })] })] }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "editor ".concat(highlightTextEditor ? 'highlight' : ''), children: /*#__PURE__*/(0,jsx_runtime.jsx)(this.CKEditor, { editor: this.ClassicEditor, config: this.editorConfig, data: contentData, onReady: function onReady(editor) { // You can store the "editor" and use when it is needed. // Connect the upload adapter using code below /* eslint-disable-next-line */ editor.plugins.get('FileRepository').createUploadAdapter = function (loader) { return new CustomUploadAdapter(loader, api, _this12.attachmentSuccessCallback, { threadId: threadId, forumId: forumId, postId: postId, attachmentHash: attachmentHash }); }; editor.editing.view.document.on('drop', /*#__PURE__*/function () { var _ref5 = (0,asyncToGenerator/* default */.Z)( /*#__PURE__*/regenerator_default().mark(function _callee2(event, data) { return regenerator_default().wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: if (data.dataTransfer.files && data.dataTransfer.files[0].type.includes('video')) { _this12.handleThreadCoverFileDrop(data.dataTransfer.files, editor, true, false); } if (data.dataTransfer.files && data.dataTransfer.files[0].type.includes('audio')) { _this12.handleThreadCoverFileDrop(data.dataTransfer.files, editor, false, true); } case 2: case "end": return _context2.stop(); } } }, _callee2); })); return function (_x3, _x4) { return _ref5.apply(this, arguments); }; }(), { priority: 'high' }); console.log('Editor is ready to use!', editor); }, onChange: function onChange(event, editor) { var data = editor.getData(); _this12.setState({ contentData: data, saveTimer: 10 }); }, plugins: (0,toConsumableArray/* default */.Z)(this.ClassicEditor.builtinPlugins) }) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", { className: "jsx-".concat(Editor_styles.__hash) + " " + "thread-count-word", children: ["B\xE0i vi\u1EBFt ", this.getThreadWordCount()] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Editor_styles.__hash) + " " + "save-thread-button-group", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("button", { onClick: function onClick() { return _this12.viewPost(); }, disabled: isSubmitting, className: "jsx-".concat(Editor_styles.__hash) + " " + "goto-thread-button", children: !thread || thread && thread.isDraft ? 'Xem nháp' : 'Xem bài' }), this.renderSaveButton(), isSubmitting || !thread || thread && !thread.id ? /*#__PURE__*/(0,jsx_runtime.jsx)("button", { onClick: function onClick() { return _this12.warningBeforeSubmittingPost(); }, className: "jsx-".concat(Editor_styles.__hash) + " " + "submit-button isSubmitting", children: "\u0110\u0103ng" }) : /*#__PURE__*/(0,jsx_runtime.jsx)("button", { onClick: function onClick() { return _this12.openThreadPrefixModal(); }, className: "jsx-".concat(Editor_styles.__hash) + " " + "submit-button", children: "\u0110\u0103ng" })] })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(Editor_ThreadPrefixModal, { isOpen: threadPrefixModalIsOpen, handleCloseModal: this.handleCloseThreadPrefixModal, handleSubmitModal: this.handlePublishThread, thread: thread, loadedForums: forums }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Editor_styles.__hash, children: Editor_styles })] }); } }]); return Editor; }(react.Component); /* harmony default export */ var components_Editor = (es.apiHoc.ApiConsumer(Editor)); ;// CONCATENATED MODULE: ./src/pages/editorv2/Body/styles.js var Body_styles_defaultExport = [".editor.jsx-362892249{background:var(--color-light-0);}"]; Body_styles_defaultExport.__hash = "362892249"; /* harmony default export */ var Body_styles = (Body_styles_defaultExport); ;// CONCATENATED MODULE: ./src/pages/editorv2/Body/index.js var Body = function Body(_ref) { var threadId = _ref.threadId, forumId = _ref.forumId; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Body_styles.__hash) + " " + "editor", children: [/*#__PURE__*/(0,jsx_runtime.jsx)(components_Editor, { threadId: threadId, forumId: forumId }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Body_styles.__hash, children: Body_styles })] }); }; /* harmony default export */ var editorv2_Body = (es.apiHoc.ApiConsumer(Body)); ;// CONCATENATED MODULE: ./src/pages/editorv2/styles.js var editorv2_styles_defaultExport = []; editorv2_styles_defaultExport.__hash = "3867722346"; /* harmony default export */ var editorv2_styles = (editorv2_styles_defaultExport); ;// CONCATENATED MODULE: ./src/pages/editorv2/index.js var TextEditor = function TextEditor(props) { var query = props.query; var threadId = get_default()(query, 'threadId', null); var forumId = get_default()(query, 'forumId', null); var PageName = tinhteAds/* default.PageName */.Z.PageName; var trackingExtraData = {}; if (threadId) { trackingExtraData.thread_id = threadId; trackingExtraData.action = 'edit'; } if (forumId) { trackingExtraData.forum_id = forumId; trackingExtraData.action = 'create'; } return /*#__PURE__*/(0,jsx_runtime.jsxs)(Page/* default */.Z, { title: "Vi\u1EBFt b\xE0i m\u1EDBi", url: "https://tinhte.vn/editorv2", description: "Vi\u1EBFt b\xE0i m\u1EDBi", children: [/*#__PURE__*/(0,jsx_runtime.jsx)(Header/* default */.Z, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(editorv2_Body, { threadId: threadId, forumId: forumId }), /*#__PURE__*/(0,jsx_runtime.jsx)(PageImpressionTracking/* default */.Z, { pageDesktopName: PageName.editorV2DesktopWeb, pageMobileName: PageName.editorV2MobileWeb, extraData: trackingExtraData }), /*#__PURE__*/(0,jsx_runtime.jsx)(FireBaseSetUserId/* default */.Z, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: editorv2_styles.__hash, children: editorv2_styles })] }); }; /* harmony default export */ var editorv2 = ((0,Page/* wrapPageWApi */.w)(TextEditor)); ;// CONCATENATED MODULE: ./pages/editorv2.js /* harmony default export */ var pages_editorv2 = (editorv2); /***/ }), /***/ 60629: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(68216); /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(25997); /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(13444); /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30268); /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(92953); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67294); /* harmony import */ var tinhte_api_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48484); /* harmony import */ var _resources_normalize_user__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(23816); /* harmony import */ var _utils_fireBaseTrackingEvent__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(98171); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(85893); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__/* .default */ .Z)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var FireBaseSetUserId = /*#__PURE__*/function (_React$Component) { (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__/* .default */ .Z)(FireBaseSetUserId, _React$Component); var _super = _createSuper(FireBaseSetUserId); function FireBaseSetUserId() { (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_7__/* .default */ .Z)(this, FireBaseSetUserId); return _super.apply(this, arguments); } (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_8__/* .default */ .Z)(FireBaseSetUserId, [{ key: "componentDidMount", value: function componentDidMount() { var _this = this; this.props.api.onAuthenticated(function () { _this.getUserProfile(); }); } }, { key: "getUserProfile", value: function getUserProfile() { var api = this.props.api; if (!api || !api.getUserId()) { return; } api.get('users/me').then(function (json) { var normalizedUser = (0,_resources_normalize_user__WEBPACK_IMPORTED_MODULE_4__/* .default */ .Z)(json.user || {}); var id = normalizedUser.id; (0,_utils_fireBaseTrackingEvent__WEBPACK_IMPORTED_MODULE_9__/* .getUserId */ .n5)(id); }, function () { (0,_utils_fireBaseTrackingEvent__WEBPACK_IMPORTED_MODULE_9__/* .getUserId */ .n5)(null); })["catch"](function () { (0,_utils_fireBaseTrackingEvent__WEBPACK_IMPORTED_MODULE_9__/* .getUserId */ .n5)(null); }); } }, { key: "render", value: function render() { return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {}); } }]); return FireBaseSetUserId; }(react__WEBPACK_IMPORTED_MODULE_2__.Component); /* harmony default export */ __webpack_exports__["Z"] = (tinhte_api_react__WEBPACK_IMPORTED_MODULE_3__.apiHoc.ApiConsumer(FireBaseSetUserId)); /***/ }), /***/ 50823: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ Loading; } }); // EXTERNAL MODULE: ./node_modules/styled-jsx/style.js var style = __webpack_require__(65988); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); ;// CONCATENATED MODULE: ./src/components/Loading/styles.js var _defaultExport = [".main.jsx-3266495114{height:2px;background:var(--color-light-0);opacity:0;width:0;}", ".busy.jsx-3266495114{-webkit-animation-name:zoomingA-jsx-3266495114;animation-name:zoomingA-jsx-3266495114;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-duration:2s;animation-duration:2s;}", ".main.busy.jsx-3266495114{opacity:1;}", "@-webkit-keyframes zoomingA-jsx-3266495114{0%{width:0%;}50%{width:100%;}100%{width:0%;}}", "@keyframes zoomingA-jsx-3266495114{0%{width:0%;}50%{width:100%;}100%{width:0%;}}"]; _defaultExport.__hash = "3266495114"; /* harmony default export */ var styles = (_defaultExport); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/Loading/index.js var Icon = function Icon(_ref) { var busy = _ref.busy, _ref$color = _ref.color, color = _ref$color === void 0 ? null : _ref$color; var inlineStyles = {}; if (color) { inlineStyles.background = color; } return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { style: inlineStyles, className: "jsx-".concat(styles.__hash) + " " + "main ".concat(busy ? 'busy' : ''), children: /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: styles.__hash, children: styles }) }); }; /* harmony default export */ var Loading = (Icon); /***/ }), /***/ 79535: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ Revamped_DragAndDrop; } }); // EXTERNAL MODULE: ./node_modules/styled-jsx/style.js var style = __webpack_require__(65988); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); ;// CONCATENATED MODULE: ./src/components/Revamped/DragAndDrop/styles.js var _defaultExport = [".drag-drop-zone.jsx-1920989708{border:2px solid rgba(0,0,0,0);}", ".drag-drop-zone.drag-over.jsx-1920989708{border:2px solid var(--color-accent-dark);}"]; _defaultExport.__hash = "1920989708"; /* harmony default export */ var styles = (_defaultExport); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/Revamped/DragAndDrop/index.js // https://www.smashingmagazine.com/2020/02/html-drag-drop-api-react/ var DragAndDrop = function DragAndDrop(_ref) { var onFileDrop = _ref.onFileDrop, children = _ref.children, placeholder = _ref.placeholder; var _useState = (0,react.useState)(false), isDragOver = _useState[0], setIsDragOver = _useState[1]; var handleDragEnter = function handleDragEnter(e) { e.preventDefault(); e.stopPropagation(); }; var handleDragLeave = function handleDragLeave(e) { e.preventDefault(); e.stopPropagation(); setIsDragOver(false); }; var handleDragOver = function handleDragOver(e) { e.preventDefault(); e.stopPropagation(); setIsDragOver(true); }; var handleDrop = function handleDrop(e) { e.preventDefault(); e.stopPropagation(); if (onFileDrop) { if (e.dataTransfer.files && e.dataTransfer.files.length > 0) { onFileDrop(e.dataTransfer.files); e.dataTransfer.clearData(); setIsDragOver(false); } } }; var placeholderToDisplay = placeholder || 'Kéo thả file vào đây để upload'; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { onDrop: function onDrop(e) { return handleDrop(e); }, onDragOver: function onDragOver(e) { return handleDragOver(e); }, onDragEnter: function onDragEnter(e) { return handleDragEnter(e); }, onDragLeave: function onDragLeave(e) { return handleDragLeave(e); }, className: "jsx-".concat(styles.__hash) + " " + "drag-drop-zone ".concat(isDragOver ? 'drag-over' : ''), children: [children ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(styles.__hash), children: children }) : /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(styles.__hash), children: placeholderToDisplay }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: styles.__hash, children: styles })] }); }; /* harmony default export */ var Revamped_DragAndDrop = (DragAndDrop); /***/ }), /***/ 33396: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ Header_Search; } }); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/defineProperty.js var defineProperty = __webpack_require__(92809); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/classCallCheck.js var classCallCheck = __webpack_require__(68216); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/createClass.js var createClass = __webpack_require__(25997); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js var assertThisInitialized = __webpack_require__(14695); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules var inherits = __webpack_require__(13444); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js + 1 modules var possibleConstructorReturn = __webpack_require__(30268); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js var getPrototypeOf = __webpack_require__(92953); // EXTERNAL MODULE: ./node_modules/styled-jsx/style.js var style = __webpack_require__(65988); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./node_modules/react-click-outside/build/index.js var build = __webpack_require__(48683); // EXTERNAL MODULE: ./node_modules/tinhte-api-react/es/index.js + 21 modules var es = __webpack_require__(48484); // EXTERNAL MODULE: ./src/components/Loading/index.js + 1 modules var Loading = __webpack_require__(50823); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/Search/Results/Item/getDesc.js var getDesc = function getDesc(infos) { // resource - chuyên trang if (typeof infos === 'string') { return infos; } // resource - others if (Array.isArray(infos)) { return infos.map(function (info) { return "".concat(info.title, ": ").concat(info.value); }).join(' / '); } // thread, post, photo, album var text = infos.author; // post if (infos.thread) { text = "".concat(text, " \u0111\u0103ng trong \u201C").concat(infos.thread, "\u201D"); // thread } else if (infos.forum) { text = "".concat(text, " \u0111\u0103ng trong \u201C").concat(infos.forum, "\u201D"); // photo & album } else if (infos.description) { text = "".concat(text, " \u2013 ").concat(infos.description); } return text; }; /* harmony default export */ var Item_getDesc = (getDesc); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/Search/Results/Item/styles.js var _defaultExport = [".item.jsx-3616973028{padding:8px 16px;}", ".item.jsx-3616973028:last-child{padding-bottom:0;}", ".link.jsx-3616973028{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".thumb.jsx-3616973028{border-radius:4px;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;background-size:cover;background-position:center;background-color:var(--button-light);}", ".img.jsx-3616973028{display:block;opacity:0;}", ".content.jsx-3616973028{-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-left:12px;overflow:hidden;white-space:nowrap;}", ".title.jsx-3616973028{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;}", ".link.jsx-3616973028:hover .title.jsx-3616973028{-webkit-text-decoration:underline;text-decoration:underline;}", ".description.jsx-3616973028{overflow:hidden;text-overflow:ellipsis;}"]; _defaultExport.__hash = "3616973028"; /* harmony default export */ var styles = (_defaultExport); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/Search/Results/Item/index.js var Item = function Item(item) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("li", { className: "jsx-".concat(styles.__hash) + " " + "item", children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: item.link, className: "jsx-".concat(styles.__hash) + " " + "link", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { style: { backgroundImage: "url(".concat(item.thumb, ")") }, className: "jsx-".concat(styles.__hash) + " " + "thumb", children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", { alt: item.title, width: "48", height: "48", src: item.thumb, className: "jsx-".concat(styles.__hash) + " " + "img" }) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(styles.__hash) + " " + "content", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h4", { title: item.title, className: "jsx-".concat(styles.__hash) + " " + "title", children: item.title }), /*#__PURE__*/(0,jsx_runtime.jsx)("p", { title: item.infos, className: "jsx-".concat(styles.__hash) + " " + "description", children: Item_getDesc(item.infos) })] })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: styles.__hash, children: styles })] }, item.id); }; /* harmony default export */ var Results_Item = (Item); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/Search/Results/styles.js var styles_defaultExport = [".main.jsx-2475889304{min-width:230px;border-radius:8px;box-shadow:var(--box-shadow);background:var(--context-menu-background);}", "@media (min-width:576px){.main.jsx-2475889304{min-width:270px;}}", "@media (min-width:768px){.main.jsx-2475889304{min-width:400px;}}", ".group.jsx-2475889304{padding:16px 0;border-top:1px solid var(--primary-border);}", ".group.jsx-2475889304:first-child{border-top:none;}", ".title.jsx-2475889304{font-size:18px;font-weight:600;padding:0 16px;}", ".view-all-btn.jsx-2475889304{font-weight:500;font-size:16px;text-align:center;padding:16px;border-top:1px solid var(--primary-border);display:block;width:100%;}"]; styles_defaultExport.__hash = "2475889304"; /* harmony default export */ var Results_styles = (styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/Search/Results/index.js var Group = function Group(group) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("section", { className: "jsx-".concat(Results_styles.__hash) + " " + "group", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h3", { className: "jsx-".concat(Results_styles.__hash) + " " + "title", children: group.title }), /*#__PURE__*/(0,jsx_runtime.jsx)("ol", { className: "jsx-".concat(Results_styles.__hash) + " " + "items", children: group.items.map(Results_Item) }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Results_styles.__hash, children: Results_styles })] }, group.title); }; // TODO: More should be a link here var Results = function Results(_ref) { var submit = _ref.submit, results = _ref.results; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Results_styles.__hash) + " " + "main", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Results_styles.__hash) + " " + "body", children: results.map(Group) }), /*#__PURE__*/(0,jsx_runtime.jsx)("button", { onClick: submit, className: "jsx-".concat(Results_styles.__hash) + " " + "view-all-btn", children: "Xem t\u1EA5t c\u1EA3 k\u1EBFt qu\u1EA3" }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Results_styles.__hash, children: Results_styles })] }); }; /* harmony default export */ var Search_Results = (Results); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/Search/remoteSubmit/index.js /* eslint-env browser */ var remoteSubmit = function remoteSubmit(query) { if (query) { document.location.href = "https://tinhte.vn/search/search/?keywords=".concat(query); } }; /* harmony default export */ var Search_remoteSubmit = (remoteSubmit); // EXTERNAL MODULE: ./node_modules/lodash/debounce.js var debounce = __webpack_require__(23279); var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/Search/remoteRequest/normalize.js var normalizers = {}; normalizers.thread = function (raw) { // https://repo.tinhte.vn/tinhte/TinhteHome/issues/25#note_8462 if (raw.search_result_content_type === 'post') { return false; } return { category: 'Chủ đề', id: raw.content_id, title: raw.thread_title, thumb: raw.thread_thumbnail && raw.thread_thumbnail.link, link: raw.links.permalink, infos: { author: raw.creator_username, forum: raw.forum.forum_title } }; }; normalizers.resource = function (raw) { // 54 is data for chuyen trang if (raw.resource_category_id === 54) { return false; } return { category: raw.category.category_title, id: raw.content_id, title: raw.resource_title, thumb: raw.attachments && raw.attachments[0].links.thumbnail, link: raw.links.permalink, // 55 is chuyen trang itself infos: raw.resource_category_id === 55 ? raw.resource_description : raw.fields.slice(0, 3).map(function (field) { return { title: field.title, value: field.value || field.values[0].value }; }) }; }; normalizers.post = function (raw) { return { category: 'Bình luận', id: raw.content_id, title: raw.post_body_plain_text, thumb: raw.links.poster_avatar, link: raw.links.permalink, infos: { author: raw.poster_username, thread: raw.thread.thread_title } }; }; normalizers.photo = function (raw) { return { category: 'Hình', id: raw.content_id, title: raw.photo_title, thumb: raw.links.thumbnail, link: raw.links.permalink, infos: { author: raw.creator_username, description: raw.photo_description } }; }; normalizers.album = function (raw) { return { category: 'Album', id: raw.content_id, title: raw.album_title, thumb: raw.links.cover_thumbnail, link: raw.links.permalink, infos: { author: raw.creator_username, description: raw.album_description } }; }; var normalize = function normalize(raw) { var func = normalizers[raw.content_type]; if (!func) { return false; } // to be clear, the result here might be falsy or object return func(raw); }; /* harmony default export */ var remoteRequest_normalize = (normalize); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/Search/remoteRequest/index.js function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } // Limit = 3 is used for search textbox on Home, Forums... only // When displaying full search page, limit should be 0 var parseData = function parseData(response) { var limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3; // at first we store it as an object for easier lookup and // and extending. We will convert it to array later var dataAsObject = response.data.reduce(function (prev, raw) { var item = remoteRequest_normalize(raw); // item might be rejected in normalization if (!item) { return prev; } var category = item.category; // undefined ---> first item if (!prev[category]) { var next = _objectSpread(_objectSpread({}, prev), {}, (0,defineProperty/* default */.Z)({}, category, [item])); return next; } // if less than 3 then add if (prev[category].length < limit || limit === 0) { var _next = _objectSpread(_objectSpread({}, prev), {}, (0,defineProperty/* default */.Z)({}, category, prev[category].concat(item))); return _next; } // if more than 3 then do nothing return prev; }, {}); // turning into array for easier rendering var dataAsArray = Object.keys(dataAsObject).map(function (key) { return { title: key, items: dataAsObject[key] }; }); return dataAsArray; }; var orgRemoteRequest = function orgRemoteRequest(api, query, _ref) { var onDone = _ref.onDone, onStart = _ref.onStart; var limit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 3; onStart(); api.post("search?q=".concat(query)).then(function (response) { return parseData(response, limit); }).then(onDone) // like searching with empty string // TODO: only return [] for expected error ["catch"](function () { onDone([]); }); }; var remoteRequest = debounce_default()(orgRemoteRequest, 500); /* harmony default export */ var Search_remoteRequest = (remoteRequest); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/Search/styles.js var Search_styles_defaultExport = [".jsx-2288209474::-webkit-input-placeholder{color:var(--place-holder-text);opacity:1;}", ".jsx-2288209474::-moz-placeholder{color:var(--place-holder-text);opacity:1;}", ".jsx-2288209474:-ms-input-placeholder{color:var(--place-holder-text);opacity:1;}", ".jsx-2288209474::placeholder{color:var(--place-holder-text);opacity:1;}", ".jsx-2288209474::-ms-input-placeholder{color:var(--place-holder-text);}", ".jsx-2288209474::-ms-input-placeholder{color:var(--place-holder-text);}", ".search-wrapper.jsx-2288209474{width:100%;position:relative;}", "form.jsx-2288209474{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", "form.compact-search.jsx-2288209474{padding:0px 16px;border-radius:50px;width:100%;height:40px;background-color:var(--header-menu-button);}", "form.compact-search.jsx-2288209474 .search-textbox.jsx-2288209474{width:100%;max-width:400px;}", "form.compact-search.jsx-2288209474 .search-icon.jsx-2288209474{width:35px;height:35px;opacity:0.5;}", ".results.jsx-2288209474{top:calc(100% + 12px);left:0;right:0;position:absolute;z-index:1;}", ".loading.jsx-2288209474{width:50%;bottom:0px;left:20px;right:0;margin:0 auto;position:absolute;}", "@media (min-width:576px){.loading.jsx-2288209474{width:100%;padding-right:35px;}}", ".search-icon.jsx-2288209474{width:40px;height:40px;border-radius:50%;background-color:var(--header-menu-button);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".search-icon.jsx-2288209474:hover{cursor:pointer;}", ".search-textbox.jsx-2288209474{font-size:14px;padding-right:57px;display:block;-webkit-transition:width 0.3s ease;transition:width 0.3s ease;width:0px;padding:0;}", ".search-textbox.jsx-2288209474:focus{outline:none;}", ".open.jsx-2288209474 .search-textbox.jsx-2288209474{width:180px;padding-right:5px;}"]; Search_styles_defaultExport.__hash = "2288209474"; /* harmony default export */ var Search_styles = (Search_styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/Search/index.js function Search_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function Search_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Search_ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Search_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0,getPrototypeOf/* default */.Z)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,getPrototypeOf/* default */.Z)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,possibleConstructorReturn/* default */.Z)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var SearchIcon = function SearchIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Search_objectSpread(Search_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M2.439 7.802a5.363 5.363 0 1 1 10.725 0 5.363 5.363 0 0 1-10.725 0zM7.802 0a7.802 7.802 0 1 0 4.232 14.356l4.333 4.333a1.06 1.06 0 1 0 1.5-1.499l-4.22-4.22A7.802 7.802 0 0 0 7.801 0z", fill: "#393A3B" }) })); }; SearchIcon.defaultProps = { width: "19", height: "19", viewBox: "0 0 19 19", fill: "none", xmlns: "http://www.w3.org/2000/svg" }; var Search = /*#__PURE__*/function (_React$Component) { (0,inherits/* default */.Z)(Search, _React$Component); var _super = _createSuper(Search); function Search(props) { var _this; (0,classCallCheck/* default */.Z)(this, Search); _this = _super.call(this, props); _this.state = { query: '', results: [], // this means user has typed something requested: false, // this is the number of current on-going requests requesting: 0, // toggle search box visible: false }; _this.setQuery = _this.setQuery.bind((0,assertThisInitialized/* default */.Z)(_this)); _this.setResults = _this.setResults.bind((0,assertThisInitialized/* default */.Z)(_this)); _this.increaseRequesting = _this.increaseRequesting.bind((0,assertThisInitialized/* default */.Z)(_this)); _this.submit = _this.submit.bind((0,assertThisInitialized/* default */.Z)(_this)); _this.cancel = _this.cancel.bind((0,assertThisInitialized/* default */.Z)(_this)); _this.showSearchBox = _this.showSearchBox.bind((0,assertThisInitialized/* default */.Z)(_this)); return _this; } (0,createClass/* default */.Z)(Search, [{ key: "setResults", value: function setResults(results) { var requesting = this.state.requesting - 1; this.setState({ results: results, requested: false, requesting: requesting }); } }, { key: "setQuery", value: function setQuery(e) { var query = e.target.value; this.setState({ query: query }); if (!query || !query.trim()) return; this.setState({ requested: true }); Search_remoteRequest(this.props.api, query, { onStart: this.increaseRequesting, onDone: this.setResults }); } }, { key: "increaseRequesting", value: function increaseRequesting() { this.setState({ requesting: this.state.requesting + 1 }); } }, { key: "submit", value: function submit(e) { e.preventDefault(); Search_remoteSubmit(this.state.query); } }, { key: "cancel", value: function cancel() { this.setState({ results: [], visible: false, query: '' }); } }, { key: "showSearchBox", value: function showSearchBox() { this.setState({ visible: true }); } }, { key: "render", value: function render() { var compactMode = this.props.compactMode; var _this$state = this.state, results = _this$state.results, query = _this$state.query, requesting = _this$state.requesting, requested = _this$state.requested, visible = _this$state.visible; var busy = requesting || requested; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Search_styles.__hash) + " " + "search-wrapper", children: [compactMode ? /*#__PURE__*/(0,jsx_runtime.jsxs)("form", { onSubmit: this.submit, className: "jsx-".concat(Search_styles.__hash) + " " + "compact-search", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("button", { type: "submit", tabIndex: 0, className: "jsx-".concat(Search_styles.__hash) + " " + "search-icon dark-theme-icon", children: /*#__PURE__*/(0,jsx_runtime.jsx)(SearchIcon, {}) }), /*#__PURE__*/(0,jsx_runtime.jsx)("input", { placeholder: "T\xECm s\u1EA3n ph\u1EA9m c\xF4ng ngh\u1EC7, c\u1ED9ng \u0111\u1ED3ng, b\u1EA1n b\xE8,...", value: query, onChange: this.setQuery, type: "text", className: "jsx-".concat(Search_styles.__hash) + " " + "search-textbox" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Search_styles.__hash) + " " + "loading", children: /*#__PURE__*/(0,jsx_runtime.jsx)(Loading/* default */.Z, { busy: busy, color: "var(--primary-color)" }) })] }) : /*#__PURE__*/(0,jsx_runtime.jsx)(build/* default */.Z, { onClickOutside: this.cancel, children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Search_styles.__hash) + " " + "main ".concat(this.props.expanded ? 'expanded' : 'collapsed'), children: /*#__PURE__*/(0,jsx_runtime.jsxs)("form", { onSubmit: this.submit, className: "jsx-".concat(Search_styles.__hash) + " " + (visible && 'open' || ""), children: [/*#__PURE__*/(0,jsx_runtime.jsx)("input", { placeholder: "T\xECm s\u1EA3n ph\u1EA9m c\xF4ng ngh\u1EC7, c\u1ED9ng \u0111\u1ED3ng, b\u1EA1n b\xE8,...", value: query, onChange: this.setQuery, type: "text", className: "jsx-".concat(Search_styles.__hash) + " " + "search-textbox" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Search_styles.__hash) + " " + "loading", children: /*#__PURE__*/(0,jsx_runtime.jsx)(Loading/* default */.Z, { busy: busy, color: "#44d7b6" }) }), visible ? /*#__PURE__*/(0,jsx_runtime.jsx)("button", { type: "submit", tabIndex: 0, className: "jsx-".concat(Search_styles.__hash) + " " + "search-icon dark-theme-icon", children: /*#__PURE__*/(0,jsx_runtime.jsx)(SearchIcon, {}) }) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", { onClick: this.showSearchBox, onKeyDown: this.showSearchBox, role: "button", tabIndex: 0, className: "jsx-".concat(Search_styles.__hash) + " " + "search-icon placeholder dark-theme-icon", children: /*#__PURE__*/(0,jsx_runtime.jsx)(SearchIcon, {}) })] }) }) }), results.length !== 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Search_styles.__hash) + " " + "results", children: /*#__PURE__*/(0,jsx_runtime.jsx)(Search_Results, { submit: this.submit, results: results }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Search_styles.__hash, children: Search_styles })] }); } }]); return Search; }(react.Component); /* harmony default export */ var Header_Search = (es.apiHoc.ApiConsumer(Search)); /***/ }), /***/ 75989: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ Item; } }); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/classCallCheck.js var classCallCheck = __webpack_require__(68216); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/createClass.js var createClass = __webpack_require__(25997); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js var assertThisInitialized = __webpack_require__(14695); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules var inherits = __webpack_require__(13444); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js + 1 modules var possibleConstructorReturn = __webpack_require__(30268); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js var getPrototypeOf = __webpack_require__(92953); // EXTERNAL MODULE: ./node_modules/styled-jsx/style.js var style = __webpack_require__(65988); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./src/components/Time/FromNow/index.js var FromNow = __webpack_require__(89802); // EXTERNAL MODULE: ./src/components/UserAvatar/index.js + 1 modules var UserAvatar = __webpack_require__(209); // EXTERNAL MODULE: ./src/components/Revamped/HighlightIcon/index.js + 1 modules var HighlightIcon = __webpack_require__(38012); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Noti/Menu/Item/styles.js var _defaultExport = [".item-wrapper.jsx-3928831755{padding:12px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:14px;}", ".item-wrapper.jsx-3928831755:hover{background-color:var(--grey-background);}", ".item-wrapper.unread.jsx-3928831755{font-weight:600;background-color:var(--progress-bar-background);}", ".item-wrapper.jsx-3928831755 .avatar-container.jsx-3928831755{position:relative;}", ".item-wrapper.jsx-3928831755 .avatar-container.jsx-3928831755 .noti-icon-container.jsx-3928831755{top:30px;right:5px;position:absolute;}", ".item-wrapper.jsx-3928831755 .overview.jsx-3928831755{-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-left:16px;overflow:hidden;}", ".item-wrapper.jsx-3928831755 .overview.jsx-3928831755 .title.jsx-3928831755{overflow:hidden;text-overflow:ellipsis;}", ".item-wrapper.jsx-3928831755 .overview.jsx-3928831755 .body.jsx-3928831755{color:var(--secondary-text);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".item-wrapper.jsx-3928831755 .overview.jsx-3928831755 .body.jsx-3928831755 .dot.jsx-3928831755{height:18px;-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;}"]; _defaultExport.__hash = "3928831755"; /* harmony default export */ var styles = (_defaultExport); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Noti/Menu/Item/index.js function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0,getPrototypeOf/* default */.Z)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,getPrototypeOf/* default */.Z)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,possibleConstructorReturn/* default */.Z)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var NotiMenuItem = /*#__PURE__*/function (_React$Component) { (0,inherits/* default */.Z)(NotiMenuItem, _React$Component); var _super = _createSuper(NotiMenuItem); function NotiMenuItem(props) { var _this; (0,classCallCheck/* default */.Z)(this, NotiMenuItem); _this = _super.call(this, props); _this.state = { noti: _this.props.noti }; _this.markNotiItemAsRead = _this.markNotiItemAsRead.bind((0,assertThisInitialized/* default */.Z)(_this)); return _this; } (0,createClass/* default */.Z)(NotiMenuItem, [{ key: "markNotiItemAsRead", value: function markNotiItemAsRead() { var _this$props = this.props, api = _this$props.api, noti = _this$props.noti; api.post({ uri: '/notifications/read', params: { notification_id: noti.id } }); } }, { key: "render", value: function render() { var _this2 = this; var noti = this.state.noti; if (!noti || !noti.author) return null; return /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: noti.link, onClick: function onClick() { return _this2.markNotiItemAsRead(); }, className: "jsx-".concat(styles.__hash) + " " + "item-wrapper ".concat(noti.unread ? 'unread' : ''), children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(styles.__hash) + " " + "avatar-container", children: [/*#__PURE__*/(0,jsx_runtime.jsx)(UserAvatar/* default */.Z, { src: noti.author.avatar, alt: noti.author.name, width: "48px", height: "48px", noBorder: true }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(styles.__hash) + " " + "noti-icon-container", children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", { alt: noti.author.name, src: noti.reaction && noti.reaction.links ? noti.reaction.links.imageUrl : noti.icon, width: "20", height: "20", className: "jsx-".concat(styles.__hash) + " " + "noti-icon" }) })] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(styles.__hash) + " " + "overview", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(styles.__hash) + " " + "title", children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { dangerouslySetInnerHTML: { __html: noti.bodyHtml }, className: "jsx-".concat(styles.__hash) }) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(styles.__hash) + " " + "body", children: [noti.unread && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(styles.__hash) + " " + "dot", children: /*#__PURE__*/(0,jsx_runtime.jsx)(HighlightIcon/* default */.Z, {}) }), /*#__PURE__*/(0,jsx_runtime.jsx)(FromNow/* default */.Z, { value: noti.at })] })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: styles.__hash, children: styles })] }); } }]); return NotiMenuItem; }(react.Component); /* harmony default export */ var Item = (NotiMenuItem); /***/ }), /***/ 20217: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ Header_User; } }); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/classCallCheck.js var classCallCheck = __webpack_require__(68216); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/createClass.js var createClass = __webpack_require__(25997); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules var inherits = __webpack_require__(13444); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js + 1 modules var possibleConstructorReturn = __webpack_require__(30268); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js var getPrototypeOf = __webpack_require__(92953); // EXTERNAL MODULE: ./node_modules/styled-jsx/style.js var style = __webpack_require__(65988); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./node_modules/tinhte-api-react/es/index.js + 21 modules var es = __webpack_require__(48484); // EXTERNAL MODULE: ./src/resources/normalize/user.js + 1 modules var normalize_user = __webpack_require__(23816); // EXTERNAL MODULE: ./src/resources/constant/tinhteTheme.js var tinhteTheme = __webpack_require__(31971); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js var assertThisInitialized = __webpack_require__(14695); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/defineProperty.js var defineProperty = __webpack_require__(92809); // EXTERNAL MODULE: ./node_modules/react-click-outside/build/index.js var build = __webpack_require__(48683); ;// CONCATENATED MODULE: ./src/components/Revamped/PopMenu/styles.js var _defaultExport = ["@media (min-width:576px){.main.jsx-2504361010{position:relative;}}", ".menu.jsx-2504361010{top:80px;right:0;left:0;z-index:99;position:absolute;}", ".menu.align-right.jsx-2504361010{right:0;}", "@media (min-width:576px){.menu.jsx-2504361010{top:calc(100% + 10px);left:auto;}}"]; _defaultExport.__hash = "2504361010"; /* harmony default export */ var styles = (_defaultExport); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/Revamped/PopMenu/index.js function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0,getPrototypeOf/* default */.Z)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,getPrototypeOf/* default */.Z)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,possibleConstructorReturn/* default */.Z)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var PopMenu = /*#__PURE__*/function (_React$Component) { (0,inherits/* default */.Z)(PopMenu, _React$Component); var _super = _createSuper(PopMenu); function PopMenu(props) { var _this; (0,classCallCheck/* default */.Z)(this, PopMenu); _this = _super.call(this, props); _this.state = { popped: false }; _this.toggle = _this.toggle.bind((0,assertThisInitialized/* default */.Z)(_this)); _this.close = _this.close.bind((0,assertThisInitialized/* default */.Z)(_this)); return _this; } (0,createClass/* default */.Z)(PopMenu, [{ key: "toggle", value: function toggle() { if (this.props.onToggle) { this.props.onToggle(); } this.setState({ popped: !this.state.popped }); } }, { key: "close", value: function close() { this.setState({ popped: false }); } }, { key: "render", value: function render() { var popped = this.state.popped; var _this$props = this.props, Button = _this$props.Button, Menu = _this$props.Menu, passedProps = _this$props.passedProps, alignRight = _this$props.alignRight; var passedPropsObj = passedProps || {}; return /*#__PURE__*/(0,jsx_runtime.jsxs)(build/* default */.Z, { onClickOutside: this.close, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(styles.__hash) + " " + "main", children: [/*#__PURE__*/(0,jsx_runtime.jsx)(Button, _objectSpread(_objectSpread({ popped: popped, toggle: this.toggle }, passedPropsObj), {}, { className: "jsx-".concat(styles.__hash) + " " + (passedPropsObj && passedPropsObj.className != null && passedPropsObj.className || "") })), popped && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(styles.__hash) + " " + "menu ".concat(alignRight ? 'align-right' : ''), children: /*#__PURE__*/(0,jsx_runtime.jsx)(Menu, _objectSpread(_objectSpread({}, passedPropsObj), {}, { className: "jsx-".concat(styles.__hash) + " " + (passedPropsObj && passedPropsObj.className != null && passedPropsObj.className || "") })) })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: styles.__hash, children: styles })] }); } }]); return PopMenu; }(react.Component); /* harmony default export */ var Revamped_PopMenu = (PopMenu); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Button/styles.js var styles_defaultExport = [".main.jsx-4205696072{width:40px;height:40px;border-radius:50%;background-color:var(--header-menu-button);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;}", ".main.jsx-4205696072:hover{cursor:pointer;}", ".unread.jsx-4205696072{color:var(--inverse-text);width:21px;height:21px;top:-4px;right:-10px;position:absolute;border-radius:50%;border:1.5px solid var(--inverse-text);background-color:var(--red-background);font-size:9px;font-weight:600;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".icon.jsx-4205696072{width:21px;height:auto;}"]; styles_defaultExport.__hash = "4205696072"; /* harmony default export */ var Button_styles = (styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Button/index.js var Button = function Button(_ref) { var count = _ref.count, Icon = _ref.Icon, _ref$iconType = _ref.iconType, iconType = _ref$iconType === void 0 ? 'svg' : _ref$iconType, toggle = _ref.toggle; return /*#__PURE__*/(0,jsx_runtime.jsxs)("button", { type: "button", onClick: toggle, className: "jsx-".concat(Button_styles.__hash) + " " + "main dark-theme-icon", children: [iconType === 'png' ? /*#__PURE__*/(0,jsx_runtime.jsx)("img", { src: Icon, alt: "icon", className: "jsx-".concat(Button_styles.__hash) + " " + "icon" }) : /*#__PURE__*/(0,jsx_runtime.jsx)(Icon, { className: "jsx-".concat(Button_styles.__hash) }), count && /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "jsx-".concat(Button_styles.__hash) + " " + "unread", children: count < 100 ? count : '99+' }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Button_styles.__hash, children: Button_styles })] }); }; /* harmony default export */ var Message_Button = (Button); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules var toConsumableArray = __webpack_require__(83789); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js var asyncToGenerator = __webpack_require__(30266); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/regenerator/index.js var regenerator = __webpack_require__(809); var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator); // EXTERNAL MODULE: ./node_modules/lodash/get.js var get = __webpack_require__(27361); var get_default = /*#__PURE__*/__webpack_require__.n(get); // EXTERNAL MODULE: ./src/resources/normalize/noti.js var noti = __webpack_require__(83155); // EXTERNAL MODULE: ./src/components/Revamped/Header/User/Message/Noti/Menu/Item/index.js + 1 modules var Item = __webpack_require__(75989); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Noti/Menu/styles.js var Menu_styles_defaultExport = [".list-header.jsx-3565946150{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}", ".mark-read-all-button.jsx-3565946150{color:var(--primary-color);font-weight:600;}"]; Menu_styles_defaultExport.__hash = "3565946150"; /* harmony default export */ var Menu_styles = (Menu_styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Noti/Menu/index.js var NotiMenu = function NotiMenu(_ref) { var notis = _ref.notis, api = _ref.api; var _useState = (0,react.useState)([]), notifications = _useState[0], setNotifications = _useState[1]; var markReadAllNotification = /*#__PURE__*/function () { var _ref2 = (0,asyncToGenerator/* default */.Z)( /*#__PURE__*/regenerator_default().mark(function _callee() { return regenerator_default().wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: api.post({ uri: '/notifications/read' }).then(function () { var currentNotifications = (0,toConsumableArray/* default */.Z)(notifications); /* eslint-disable-next-line */ currentNotifications.forEach(function (noti) { return noti.unread = false; }); setNotifications(currentNotifications); }); case 1: case "end": return _context.stop(); } } }, _callee); })); return function markReadAllNotification() { return _ref2.apply(this, arguments); }; }(); (0,react.useEffect)(function () { if (notis && notis.length > 0) { setNotifications(notis); } }, [notis]); return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Menu_styles.__hash) + " " + "notification-menu", children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Menu_styles.__hash) + " " + "list-header", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Menu_styles.__hash) + " " + "list-title", children: "Th\xF4ng b\xE1o" }), /*#__PURE__*/(0,jsx_runtime.jsx)("button", { onClick: markReadAllNotification, className: "jsx-".concat(Menu_styles.__hash) + " " + "mark-read-all-button", children: "\u0110\xE1nh d\u1EA5u \u0111\u1ECDc t\u1EA5t c\u1EA3" })] }), /*#__PURE__*/(0,jsx_runtime.jsx)("ul", { className: "jsx-".concat(Menu_styles.__hash) + " " + "list", children: notifications.map(function (noti) { return /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsx)(Item/* default */.Z, { noti: noti, api: api }) }, noti.id); }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("a", { href: "/notifications", className: "jsx-".concat(Menu_styles.__hash) + " " + "view-all-btn", children: "Xem t\u1EA5t c\u1EA3" }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Menu_styles.__hash, children: Menu_styles })] }); }; NotiMenu.defaultProps = { notis: [] }; NotiMenu.apiFetches = { notis: { uri: '/notifications', success: function success(json) { return get_default()(json, 'notifications', []).map(noti/* default */.Z); } }, markRead: { method: 'POST', uri: 'notifications/read' } }; /* harmony default export */ var Menu = (es.apiHoc.ApiConsumer(NotiMenu)); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Noti/index.js function Noti_createSuper(Derived) { var hasNativeReflectConstruct = Noti_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0,getPrototypeOf/* default */.Z)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,getPrototypeOf/* default */.Z)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,possibleConstructorReturn/* default */.Z)(this, result); }; } function Noti_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function Noti_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function Noti_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Noti_ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Noti_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var NotiIcon = function NotiIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("svg", Noti_objectSpread(Noti_objectSpread({}, props), {}, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("defs", { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M13.455 12.358c-.656-.501-1.125-4.647-1.125-4.647-.757-5.901-4.945-5.49-4.945-5.49S3.196 1.81 2.439 7.71c0 0-.493 4.152-1.148 4.653C.554 12.52 0 13.156 0 13.917c0 .878.738 1.59 1.647 1.59h11.476c.908 0 1.646-.712 1.646-1.59 0-.768-.565-1.41-1.314-1.559z", id: "path-1" }) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("g", { fill: "none", fillRule: "evenodd", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M3.079 7.664C3.86 1.576 8.002 1.82 8.39 1.857c.297-.018 2.125-.061 3.59 1.565.77.853 1.444 2.177 1.71 4.248 0 0 .346 3.72.936 4.354.42.106.785.34 1.05.655a1.914 1.914 0 0 1-.137 2.624c-.363.35-.864.568-1.417.568H2.647a2.034 2.034 0 0 1-1.417-.568 1.913 1.913 0 0 1-.148-2.613 2.02 2.02 0 0 1 1.036-.66c.591-.63.96-4.363.96-4.366z", stroke: "#0E3869", strokeWidth: ".727", fill: "#83FFFF", fillRule: "nonzero" }), /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M13.554 7.618c.065-4.06-4.482-6.408-4.711-5.998a6.646 6.646 0 0 0 5.804 9.887l-1.093-3.89z", fill: "#C6F7FF" }), /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M8.495 2.05s.609-.064 1.44.165V1.43C9.935.64 9.291 0 8.495 0c-.795 0-1.44.64-1.44 1.43v.785c.83-.229 1.44-.167 1.44-.165zM7.13 15.508a1.606 1.606 0 0 0-.148.678c0 .849.644 1.537 1.44 1.537.794 0 1.44-.688 1.44-1.537 0-.244-.054-.473-.149-.678H7.13z", fill: "#0E3869" }), /*#__PURE__*/(0,jsx_runtime.jsx)("path", { stroke: "#0E3869", strokeWidth: ".727", d: "M3.079 7.664C3.86 1.576 8.002 1.82 8.39 1.857c.297-.018 2.125-.061 3.59 1.565.77.853 1.444 2.177 1.71 4.248 0 0 .346 3.72.936 4.354.42.106.785.34 1.05.655a1.914 1.914 0 0 1-.137 2.624c-.363.35-.864.568-1.417.568H2.647a2.034 2.034 0 0 1-1.417-.568 1.913 1.913 0 0 1-.148-2.613 2.02 2.02 0 0 1 1.036-.66c.591-.63.96-4.363.96-4.366z" })] })] })); }; NotiIcon.defaultProps = { width: "17", height: "18", viewBox: "0 0 17 18", xmlns: "http://www.w3.org/2000/svg" }; var Noti_Button = function Button(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)(Message_Button, Noti_objectSpread({ Icon: NotiIcon }, props)); }; var Noti = /*#__PURE__*/function (_React$Component) { (0,inherits/* default */.Z)(Noti, _React$Component); var _super = Noti_createSuper(Noti); function Noti(props) { var _this; (0,classCallCheck/* default */.Z)(this, Noti); _this = _super.call(this, props); _this.state = { count: _this.props.user.messages.noti }; _this.markNotiAsRead = _this.markNotiAsRead.bind((0,assertThisInitialized/* default */.Z)(_this)); return _this; } (0,createClass/* default */.Z)(Noti, [{ key: "markNotiAsRead", value: function markNotiAsRead() { // Clear notification count when clicking on the icon this.setState({ count: 0 }); } }, { key: "render", value: function render() { var _this2 = this; // Note that the passProps need to pass a `count` object to the PopMenu return /*#__PURE__*/(0,jsx_runtime.jsx)(Revamped_PopMenu, { Button: Noti_Button, Menu: Menu, passedProps: this.state.count === 0 ? null : { count: this.state.count }, onToggle: function onToggle() { return _this2.markNotiAsRead(); } }); } }]); return Noti; }(react.Component); /* harmony default export */ var Message_Noti = (Noti); // EXTERNAL MODULE: ./src/resources/normalize/conv.js var conv = __webpack_require__(2058); // EXTERNAL MODULE: ./src/components/Time/FromNow/index.js var FromNow = __webpack_require__(89802); // EXTERNAL MODULE: ./src/components/UserAvatar/index.js + 1 modules var UserAvatar = __webpack_require__(209); // EXTERNAL MODULE: ./src/components/Revamped/HighlightIcon/index.js + 1 modules var HighlightIcon = __webpack_require__(38012); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Conv/Menu/Item/styles.js var Item_styles_defaultExport = [".item-wrapper.jsx-3513794968{padding:24px 16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".item-wrapper.jsx-3513794968:hover{background-color:var(--grey-background);}", ".item-wrapper.unread.jsx-3513794968{font-weight:600;background-color:var(--progress-bar-background);}", ".overview.jsx-3513794968{-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-left:10px;overflow:hidden;}", ".overview.jsx-3513794968 .title.jsx-3513794968{overflow:hidden;text-overflow:ellipsis;}", ".overview.jsx-3513794968 .body.jsx-3513794968{color:var(--secondary-text);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".overview.jsx-3513794968 .body.jsx-3513794968 .dot.jsx-3513794968{height:18px;-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;}"]; Item_styles_defaultExport.__hash = "3513794968"; /* harmony default export */ var Item_styles = (Item_styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Conv/Menu/Item/index.js var ConvMenuItem = function ConvMenuItem(_ref) { var conv = _ref.conv; return /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: conv.link, className: "jsx-".concat(Item_styles.__hash) + " " + "item-wrapper ".concat(conv.unread ? 'unread' : ''), children: [/*#__PURE__*/(0,jsx_runtime.jsx)(UserAvatar/* default */.Z, { src: conv.author.avatar, alt: conv.author.name, width: "48px", height: "48px", noBorder: true }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Item_styles.__hash) + " " + "overview", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Item_styles.__hash) + " " + "title", children: conv.title }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Item_styles.__hash) + " " + "body", children: [conv.unread && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Item_styles.__hash) + " " + "dot", children: /*#__PURE__*/(0,jsx_runtime.jsx)(HighlightIcon/* default */.Z, {}) }), /*#__PURE__*/(0,jsx_runtime.jsx)(FromNow/* default */.Z, { value: conv.at })] })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Item_styles.__hash, children: Item_styles })] }); }; /* harmony default export */ var Menu_Item = (ConvMenuItem); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Conv/Menu/styles.js var Conv_Menu_styles_defaultExport = []; Conv_Menu_styles_defaultExport.__hash = "3867722346"; /* harmony default export */ var Conv_Menu_styles = (Conv_Menu_styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Conv/Menu/index.js var ConvItem = function ConvItem(conv) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("li", { className: "jsx-".concat(Conv_Menu_styles.__hash) + " " + "item", children: [/*#__PURE__*/(0,jsx_runtime.jsx)(Menu_Item, { conv: conv }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Conv_Menu_styles.__hash, children: Conv_Menu_styles })] }, conv.id); }; var ConvMenu = function ConvMenu(_ref) { var convs = _ref.convs; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Conv_Menu_styles.__hash) + " " + "notification-menu", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Conv_Menu_styles.__hash) + " " + "list-header", children: /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Conv_Menu_styles.__hash) + " " + "list-title", children: "Tin nh\u1EAFn" }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("ul", { className: "jsx-".concat(Conv_Menu_styles.__hash) + " " + "list", children: convs.map(ConvItem) }), /*#__PURE__*/(0,jsx_runtime.jsx)("a", { href: "https://tinhte.vn/conversations/", className: "jsx-".concat(Conv_Menu_styles.__hash) + " " + "view-all-btn", children: "Xem t\u1EA5t c\u1EA3" }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Conv_Menu_styles.__hash, children: Conv_Menu_styles })] }); }; ConvMenu.defaultProps = { convs: [] }; ConvMenu.apiFetches = { convs: { uri: '/conversations', success: function success(json) { return get_default()(json, 'conversations', []).map(conv/* default */.Z); } } }; /* harmony default export */ var Conv_Menu = (es.apiHoc.ApiConsumer(ConvMenu)); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/Conv/index.js function Conv_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function Conv_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Conv_ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Conv_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var MailIcon = function MailIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("svg", Conv_objectSpread(Conv_objectSpread({}, props), {}, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M17.235.835l-5.044 5.012 5.044 5.012c.092-.19.147-.402.147-.627v-8.77c0-.225-.055-.436-.147-.627zM15.92 0H2.212c-.225 0-.436.055-.627.147L8.032 6.56c.57.57 1.497.57 2.067 0L16.546.147A1.445 1.445 0 0 0 15.92 0zM.897.835c-.092.191-.147.402-.147.627v8.77c0 .226.055.436.147.627L5.94 5.847.897.835z", fill: "#344054" }), /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M11.502 6.536l-.713.714c-.95.95-2.496.95-3.446 0l-.713-.714-5.045 5.012c.191.091.402.146.627.146H15.92c.225 0 .436-.055.626-.146l-5.044-5.012z", fill: "#344054" })] })); }; MailIcon.defaultProps = { width: "18", height: "12", viewBox: "0 0 18 12", fill: "none", xmlns: "http://www.w3.org/2000/svg" }; var Conv_Button = function Button(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)(Message_Button, Conv_objectSpread({ Icon: MailIcon }, props)); }; var Conv = function Conv(_ref) { var user = _ref.user; var count = user.messages.conv; if (count === 0) { count = null; } return /*#__PURE__*/(0,jsx_runtime.jsx)(Revamped_PopMenu, { Button: Conv_Button, Menu: Conv_Menu, passedProps: { count: count } }); }; /* harmony default export */ var Message_Conv = (Conv); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/styles.js var Message_styles_defaultExport = [".main.jsx-3877662000{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".item.jsx-3877662000{margin-left:6px;margin-right:6px;}", ".item.jsx-3877662000:last-child{margin-right:0;}", ".thread-editor.jsx-3877662000{position:relative;}", ".thread-editor.jsx-3877662000 .blue-switch.jsx-3877662000{color:var(--text-on-primary-color);font-size:14px;line-height:24px;text-transform:capitalize;padding:8px 18px;width:100%;border-radius:50px;background-color:var(--primary-color);display:block;}", ".thread-editor.jsx-3877662000 .blue-switch.header-mode.jsx-3877662000{font-size:14px;padding:0;border-radius:80px;width:40px;height:40px;margin:0;white-space:nowrap;}", "@media (min-width:992px){.thread-editor.jsx-3877662000 .blue-switch.header-mode.jsx-3877662000{padding:8px 24px;width:auto;height:auto;}}", ".thread-editor.jsx-3877662000 .blue-switch.header-mode.jsx-3877662000 .text.jsx-3877662000{display:none;}", "@media (min-width:992px){.thread-editor.jsx-3877662000 .blue-switch.header-mode.jsx-3877662000 .text.jsx-3877662000{display:block;}}", ".thread-editor.jsx-3877662000 .blue-switch.header-mode.jsx-3877662000 .icon.jsx-3877662000{display:block;}", "@media (min-width:992px){.thread-editor.jsx-3877662000 .blue-switch.header-mode.jsx-3877662000 .icon.jsx-3877662000{display:none;}}", ".thread-editor.jsx-3877662000 .blue-switch.header-mode.jsx-3877662000 .icon.jsx-3877662000 svg path{fill:var(--inverse-text);}"]; Message_styles_defaultExport.__hash = "3877662000"; /* harmony default export */ var Message_styles = (Message_styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Message/index.js // import NewThread from 'components/Revamped/NewThread'; // import Bookmark from './Bookmark'; var Message = function Message(_ref) { var user = _ref.user, api = _ref.api, forTinhteFactTheme = _ref.forTinhteFactTheme; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Message_styles.__hash) + " " + "main", children: [!forTinhteFactTheme && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Message_styles.__hash) + " " + "item hidden-xs", children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", { href: "/editorv2/create/767/", className: "jsx-".concat(Message_styles.__hash), children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Message_styles.__hash) + " " + "thread-editor", children: /*#__PURE__*/(0,jsx_runtime.jsx)("button", { className: "jsx-".concat(Message_styles.__hash) + " " + "blue-switch", children: "Vi\u1EBFt b\xE0i chia s\u1EBB" }) }) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Message_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsx)(Message_Conv, { user: user, api: api }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Message_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsx)(Message_Noti, { user: user, api: api }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Message_styles.__hash, children: Message_styles })] }); }; /* harmony default export */ var User_Message = (Message); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Setting/Button/styles.js var Button_styles_defaultExport = [".profile-button.jsx-1294226563{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}", ".avatar.jsx-1294226563{border-radius:50%;object-fit:cover;}", ".name.jsx-1294226563{font-size:14px;margin-left:16px;}", "@media (max-width:768px){.name.jsx-1294226563{display:none;}}", ".toggle-icon.jsx-1294226563{font-size:14px;margin-left:16px;}", "@media (max-width:768px){.toggle-icon.jsx-1294226563{display:none;}}"]; Button_styles_defaultExport.__hash = "1294226563"; /* harmony default export */ var Setting_Button_styles = (Button_styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Setting/Button/index.js var NameButton = function NameButton(_ref) { var user = _ref.user, toggle = _ref.toggle; return /*#__PURE__*/(0,jsx_runtime.jsxs)("button", { type: "button", onClick: toggle, className: "jsx-".concat(Setting_Button_styles.__hash) + " " + "profile-button", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", { src: user.avatar, alt: user.name, title: user.name, width: "40", height: "40", className: "jsx-".concat(Setting_Button_styles.__hash) + " " + "avatar" }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Setting_Button_styles.__hash, children: Setting_Button_styles })] }); }; /* harmony default export */ var Setting_Button = (NameButton); // EXTERNAL MODULE: ./node_modules/react-toastify/dist/react-toastify.esm.js + 1 modules var react_toastify_esm = __webpack_require__(39249); // EXTERNAL MODULE: ./src/components/Revamped/Header/Search/index.js + 9 modules var Search = __webpack_require__(33396); // EXTERNAL MODULE: ./src/resources/normalize/error.js var error = __webpack_require__(97487); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Setting/Menu/styles.js var Setting_Menu_styles_defaultExport = [".toggle-dark.jsx-1348027204{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}", ".dark-theme-icon.jsx-1348027204 .item.new-theme-icon.jsx-1348027204 svg path{stroke:var(--dark-icon);fill:none;}", ".search.jsx-1348027204{padding-top:16px;display:block;position:relative;}", "@media (min-width:768px){.search.jsx-1348027204{display:none;}}", ".flex.jsx-1348027204{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".flex-column.jsx-1348027204{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}", ".flex-start.jsx-1348027204{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}", ".menu-button.jsx-1348027204{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;}", ".menu-header.jsx-1348027204{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}", ".menu-header.go-back-button.jsx-1348027204{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}", ".menu-title.jsx-1348027204{position:relative;margin-bottom:5px;}", ".menu-title.jsx-1348027204 .icon.jsx-1348027204{margin-right:16px;}", ".menu-title.jsx-1348027204 .title.jsx-1348027204{font-size:18px;font-weight:700;}", ".menu-description.jsx-1348027204{position:relative;width:100%;max-width:400px;font-size:14px;line-height:20px;opacity:0.5;white-space:normal;text-align:left;}", ".icon-check.jsx-1348027204{visibility:hidden;margin-right:18px;}", ".active.jsx-1348027204{visibility:visible;}", ".beta.jsx-1348027204{font-size:13px;color:var(--text-on-primary-color);padding:0 8px;border-radius:50px;background-color:var(--primary-color);}"]; Setting_Menu_styles_defaultExport.__hash = "1348027204"; /* harmony default export */ var Setting_Menu_styles = (Setting_Menu_styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Setting/Menu/index.js var _darkThemeConfig; function Menu_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function Menu_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Menu_ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Menu_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } /* eslint-disable */ /* eslint-env browser */ var ProfileIcon = function ProfileIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Menu_objectSpread(Menu_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M9.75 0c5.385 0 9.75 4.365 9.75 9.75s-4.365 9.75-9.75 9.75S0 15.135 0 9.75 4.365 0 9.75 0zm0 13.5a5.84 5.84 0 0 0-4.995 2.816A8.212 8.212 0 0 0 9.75 18a8.214 8.214 0 0 0 4.995-1.684A5.838 5.838 0 0 0 9.75 13.5zm0-12a8.25 8.25 0 0 0-6.117 13.786 7.336 7.336 0 0 1 12.235-.001A8.25 8.25 0 0 0 9.75 1.5zm0 2.1a3.75 3.75 0 1 1 0 7.5 3.75 3.75 0 0 1 0-7.5zm0 1.5a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5z", fill: "#111", fillRule: "nonzero" }) })); }; ProfileIcon.defaultProps = { width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg" }; var PersonalInfoIcon = function PersonalInfoIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Menu_objectSpread(Menu_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M10.35 12a.75.75 0 0 1 .102 1.493l-.102.007h-3.6a5.251 5.251 0 0 0-5.181 4.398L1.554 18H7.95a.75.75 0 0 1 .743.648l.007.102a.75.75 0 0 1-.648.743l-.102.007H.75a.75.75 0 0 1-.75-.75 6.75 6.75 0 0 1 6.513-6.746L6.75 12h3.6zm5.47-2.18a.75.75 0 0 1 1.06 0l2.4 2.4a.75.75 0 0 1 0 1.06l-5.4 5.4a.75.75 0 0 1-.383.205l-3 .6a.75.75 0 0 1-.882-.882l.6-3a.75.75 0 0 1 .205-.383zm.53 1.591l-4.709 4.709-.335 1.674 1.674-.335 4.709-4.709-1.339-1.339zM8.55 0a4.95 4.95 0 1 1 0 9.9 4.95 4.95 0 0 1 0-9.9zm0 1.5a3.45 3.45 0 1 0 0 6.9 3.45 3.45 0 0 0 0-6.9z", fill: "#111", fillRule: "nonzero" }) })); }; PersonalInfoIcon.defaultProps = { width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg" }; var NotificationSettingIcon = function NotificationSettingIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Menu_objectSpread(Menu_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M12.8 16.513a.75.75 0 0 1 .388.987 3.75 3.75 0 0 1-6.875.003.75.75 0 1 1 1.373-.603 2.253 2.253 0 0 0 4.127 0 .75.75 0 0 1 .988-.387zM9.766.25l.232.005A6.15 6.15 0 0 1 15.9 6.4v.355c0 1.445.77 2.782 2.014 3.495l.194.116c.88.553 1.392 1.231 1.392 2.034 0 1.56-2.02 2.733-5.004 3.323l-.537.098-.555.086c-.282.04-.57.075-.865.105l-.597.054-.304.022-.617.034c-.416.019-.84.028-1.271.028l-.322-.002c-.32-.003-.637-.012-.949-.026l-.617-.034a26.162 26.162 0 0 1-.304-.022l-.597-.054c-.294-.03-.583-.065-.865-.105l-.555-.086-.537-.098C2.02 15.133 0 13.96 0 12.4c0-.86.589-1.578 1.587-2.15l.192-.118A4.03 4.03 0 0 0 3.6 6.755V6.4A6.15 6.15 0 0 1 9.75.25h.015zm-.022 1.5l-.206.005A4.65 4.65 0 0 0 5.1 6.4v.355a5.527 5.527 0 0 1-2.767 4.795l-.15.09c-.474.299-.683.57-.683.76 0 .373.725.944 2.123 1.41 1.595.531 3.784.84 6.127.84s4.532-.309 6.127-.84C17.275 13.344 18 12.773 18 12.4c0-.209-.252-.516-.832-.85l-.21-.126A5.53 5.53 0 0 1 14.4 6.755V6.4c0-2.498-1.975-4.548-4.448-4.646l-.209-.004z", fill: "#111", fillRule: "nonzero" }) })); }; NotificationSettingIcon.defaultProps = { width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg" }; var FeedbackIcon = function FeedbackIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Menu_objectSpread(Menu_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M16.5 0H1.875C.84 0 0 .84 0 1.875v9l.006.146a1.876 1.876 0 0 0 1.869 1.729H4.5v3.75l.007.104a.75.75 0 0 0 1.231.465l5.038-4.318 5.724-.001c1.035 0 1.875-.84 1.875-1.875v-9C18.375.84 17.535 0 16.5 0zM1.875 1.5H16.5c.207 0 .375.168.375.375v9a.375.375 0 0 1-.375.375h-6l-.106.008a.75.75 0 0 0-.382.173L6 14.87 6 12a.75.75 0 0 0-.75-.75H1.875a.375.375 0 0 1-.375-.375v-9c0-.207.168-.375.375-.375z", fill: "#111", fillRule: "nonzero" }) })); }; FeedbackIcon.defaultProps = { width: "19", height: "18", viewBox: "0 0 19 18", xmlns: "http://www.w3.org/2000/svg" }; var ChangePasswordIcon = function ChangePasswordIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Menu_objectSpread(Menu_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M8 0c3.015 0 5.474 2.234 5.595 5.034l.005.216V9h1.6c.405 0 .74.282.793.648L16 9.75v9c0 .414-.358.75-.8.75H.8c-.442 0-.8-.336-.8-.75v-9C0 9.336.358 9 .8 9h1.6V5.25C2.4 2.35 4.907 0 8 0zm6.4 10.5H1.6V18h12.8v-7.5zM8 1.5c-2.138 0-3.884 1.572-3.994 3.55L4 5.25V9h8V5.25c0-2.071-1.79-3.75-4-3.75z", fill: "#111", fillRule: "nonzero" }) })); }; ChangePasswordIcon.defaultProps = { width: "16", height: "20", viewBox: "0 0 16 20", xmlns: "http://www.w3.org/2000/svg" }; var LogOutIcon = function LogOutIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Menu_objectSpread(Menu_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M17.5 0c.986 0 1.795.762 1.87 1.729l.005.146v13.5c0 .986-.762 1.795-1.729 1.87l-.146.005h-9a1.876 1.876 0 0 1-1.87-1.729l-.005-.146V12a.75.75 0 0 1 1.493-.102l.007.102v3.375c0 .18.129.332.3.367l.075.008h9c.18 0 .332-.129.367-.3l.008-.075v-13.5a.376.376 0 0 0-.3-.367L17.5 1.5h-9a.376.376 0 0 0-.367.3l-.008.075V5.25a.75.75 0 0 1-1.493.102l-.007-.102V1.875c0-.986.762-1.795 1.729-1.87L8.5 0h9zM3.679 4.647a.75.75 0 0 1 .976.073l.073.084a.75.75 0 0 1-.073.976L2.56 7.875h11.565l.102.007a.75.75 0 0 1-.102 1.493H2.56l2.095 2.095.073.084a.75.75 0 0 1-1.133.976L.22 9.155l-.073-.084a.75.75 0 0 1 .073-.976L3.595 4.72z", fill: "#111", fillRule: "nonzero" }) })); }; LogOutIcon.defaultProps = { width: "20", height: "18", viewBox: "0 0 20 18", xmlns: "http://www.w3.org/2000/svg" }; var DraftIcon = function DraftIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Menu_objectSpread(Menu_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M16.769.685c.372 0 .68.266.729.612l.006.097v4.11c0 .39-.329.708-.735.708a.727.727 0 0 1-.729-.613l-.007-.096v-3.4H2.155v16.665l2.676-.001c.372 0 .68.267.729.613l.007.096a.718.718 0 0 1-.636.702l-.1.007h-3.41a.727.727 0 0 1-.73-.613l-.006-.096V1.394c0-.36.276-.656.635-.703l.1-.006H16.77zM15.396 8.29a.755.755 0 0 1 1.04 0l2.558 2.465a.69.69 0 0 1 0 1.003l-6.821 6.575a.743.743 0 0 1-.342.187l-3.41.822c-.54.13-1.027-.34-.893-.86l.853-3.288a.703.703 0 0 1 .194-.329zm.52 1.504l-6.157 5.935-.507 1.952 2.025-.489 6.157-5.935-1.518-1.463z", fill: "#111", fillRule: "nonzero" }) })); }; DraftIcon.defaultProps = { width: "20", height: "21", viewBox: "0 0 20 21", xmlns: "http://www.w3.org/2000/svg" }; var DarkModeIcon = function DarkModeIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Menu_objectSpread(Menu_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M7.44 4.918c-.5.354-.958.764-1.374 1.228-2.85 3.171-2.756 8.245.207 11.31A8.274 8.274 0 0 0 12.197 20l.077.001a8.277 8.277 0 0 0 5.89-2.436c.328-.327.626-.678.893-1.052-3.146.392-6.371-.662-8.662-2.948a10.402 10.402 0 0 1-2.954-8.647m4.833 17.083L12.179 22a10.26 10.26 0 0 1-7.344-3.153C1.158 15.042 1.043 8.745 4.577 4.81a10.22 10.22 0 0 1 3.994-2.743 1 1 0 1 1 1.296 1.278 8.4 8.4 0 0 0 1.94 8.804c2.299 2.293 5.764 3.054 8.829 1.938a1 1 0 0 1 1.276 1.298 10.225 10.225 0 0 1-2.336 3.596 10.26 10.26 0 0 1-7.302 3.02", fill: "#000", fillRule: "evenodd" }) })); }; DarkModeIcon.defaultProps = { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24" }; var UserSettingIcon = function UserSettingIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Menu_objectSpread(Menu_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M10.588 0a.75.75 0 0 1 .75.75v1.949l.049.016c.681.261 1.315.628 1.88 1.085l.036.032 1.686-.974a.75.75 0 0 1 .968.19l.056.084 1.688 2.923a.75.75 0 0 1-.275 1.025l-1.688.976.022.115c.034.226.058.452.07.678l.008.338c0 .337-.026.674-.077 1.013l-.022.122 1.69.975a.75.75 0 0 1 .32.932l-.046.092-1.687 2.923a.75.75 0 0 1-1.025.274l-1.688-.974-.037.032a6.937 6.937 0 0 1-1.878 1.084l-.05.018.001 1.947a.75.75 0 0 1-.648.743l-.102.007H7.214a.75.75 0 0 1-.75-.75v-1.947l-.048-.018a6.909 6.909 0 0 1-1.88-1.085l-.037-.03-1.686.972a.75.75 0 0 1-.968-.19l-.057-.084L.101 12.32a.75.75 0 0 1 .274-1.025l1.688-.975-.021-.116a6.793 6.793 0 0 1-.07-.678l-.009-.338c0-.34.027-.678.079-1.017l.02-.115L.376 7.08a.75.75 0 0 1-.32-.933l.046-.092 1.687-2.923a.75.75 0 0 1 1.025-.274l1.686.974.037-.032a6.936 6.936 0 0 1 1.878-1.085l.049-.018V.75a.75.75 0 0 1 .648-.743L7.213 0zm-.75 1.5H7.963V3.24a.75.75 0 0 1-.441.683l-.104.038c-.87.247-1.66.705-2.304 1.33a.75.75 0 0 1-.897.111l-1.505-.869-.938 1.625 1.508.869a.75.75 0 0 1 .371.723l-.019.109c-.113.45-.17.891-.17 1.33 0 .437.057.879.17 1.33a.75.75 0 0 1-.352.831l-1.508.87.938 1.625 1.506-.87a.75.75 0 0 1 .813.04l.085.072a5.41 5.41 0 0 0 2.302 1.328.75.75 0 0 1 .546.721v1.74h1.875v-1.739a.75.75 0 0 1 .442-.683l.104-.038a5.44 5.44 0 0 0 2.304-1.33.75.75 0 0 1 .897-.11l1.505.87.938-1.625-1.507-.87a.75.75 0 0 1-.372-.72l.019-.108c.112-.456.17-.899.17-1.335 0-.438-.059-.878-.172-1.33a.75.75 0 0 1 .353-.831l1.507-.87-.938-1.623-1.504.868a.75.75 0 0 1-.814-.04l-.084-.072a5.41 5.41 0 0 0-2.303-1.328.75.75 0 0 1-.546-.721V1.5zM8.9 5.625a3.563 3.563 0 1 1 0 7.125 3.563 3.563 0 0 1 0-7.125zm0 1.5a2.062 2.062 0 1 0 0 4.125 2.062 2.062 0 0 0 0-4.125z", fill: "#111", fillRule: "nonzero" }) })); }; UserSettingIcon.defaultProps = { width: "18", height: "19", viewBox: "0 0 18 19", xmlns: "http://www.w3.org/2000/svg" }; var BookmarkIcon = function BookmarkIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Menu_objectSpread(Menu_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M11.438 3.25a2.437 2.437 0 0 1 2.437 2.438v12.937a.75.75 0 0 1-1.191.607l-5.746-4.178-5.747 4.178a.75.75 0 0 1-1.184-.502L0 18.625V5.687A2.437 2.437 0 0 1 2.438 3.25zm0 1.5h-9a.938.938 0 0 0-.938.938v11.465l4.996-3.635a.75.75 0 0 1 .78-.062l.103.062 4.995 3.634.001-11.465a.938.938 0 0 0-.828-.93l-.11-.007zM14.688 0a2.438 2.438 0 0 1 2.432 2.277l.005.16v12.376a.75.75 0 0 1-1.493.101l-.007-.101V2.437a.938.938 0 0 0-.828-.93l-.11-.007h-9A.75.75 0 0 1 5.587.007L5.687 0h9z", fill: "#111", fillRule: "nonzero" }) })); }; BookmarkIcon.defaultProps = { width: "18", height: "20", viewBox: "0 0 18 20", xmlns: "http://www.w3.org/2000/svg" }; var NewThemeIcon = function NewThemeIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("svg", Menu_objectSpread(Menu_objectSpread({}, props), {}, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M9.548 9.597l8-8.005a2.02 2.02 0 0 1 2.858 0 2.02 2.02 0 0 1 0 2.857l-8.002 8.004", stroke: "#101828", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M6.83 10.532a3.28 3.28 0 0 1 4.638 4.637c-1.28 1.28-6.182 1.545-6.182 1.545s.265-4.901 1.545-6.182z", stroke: "#101828", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M13.143 1H1v20h20V8.857", stroke: "#101828", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] })); }; NewThemeIcon.defaultProps = { width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", xmlns: "http://www.w3.org/2000/svg" }; var prefix = 'https://tinhte.vn/account'; var darkThemeConfig = (_darkThemeConfig = { '--text-dark': '#ffffff', '--text-grey': '#92abc8', '--text-since': '#8f9bb3', '--text-light-2': '#bab9b9', '--button-light-text': '#ffffff', '--button-light': '#31455f', '--button-light-3': '#213243', '--border-light-2': '#223243', '--page-background': '#0e161e', '--light-grey-background': '#101828', '--gradient-background-1': 'linear-gradient(0deg, #223243 6.39%, #0f161e 72.37%, #0f161e 99.99%)', '--new-thread-header': '#0e161e', '--new-thread-body': '#0e161e', '--new-thread-footer': '#0e161e', '--thread-report-background': '#0f171f', '--thread-delete-background': '#0f171f', '--thread-event-background': '#0f171f', '--color-light-1': '#213243', '--color-light-0': '#213243', '--light-background': '#213243', '--light-background-2': '#4b6e95', '--light-background-3': '#213243', '--light-background-4': 'rgba(7,104,234,0.08)', '--light-background-5': 'rgba(7,104,234,0.08)', '--light-background-6': '#213243', '--light-background-7': '#111c2e', '--fact-slider-background': 'transparent', '--border-light': '#213243', '--border-light-1': '#213243', '--border-thread-thumbnail': '#0e161e', '--color-accent-dark': '#20c6bf', '--hover-background': '#0e161e', '--box-shadow': 'transparent', '--trending-threads-background': '#070a0f', '--post-background': '#344054', '--thread-background': '#0f1e2f', '--dark-icon': '#D0D5DD', '--second-featured-threads-background': 'linear-gradient(to bottom, #213243 42%, #0e161e 81%, #0e161e 97%)', '--footer-background': '#0f161e', '--footer-background-dark': '#213243', '--editor-control-background': '#0f1e2f', '--editor-control-text': '#ffffff', '--dropdown-control-background': '#0f1e2f', '--dropdown-control-background-hover': '#213243', '--dropdown-control-text': '#ffffff', '--dropdown-control-border': '#0f1e2f', '--scrollbar-track-bg': '#192f46', '--scrollbar-thumb-bg': '#2c4865', '--primary-text': '#FFFFFF', '--hover-primary-text': '#3986EE', '--secondary-text': '#B7B9BC', '--hover-secondary-text': '#A0A1A6', '--content-text': '#D0D5DD', '--content-bubble-text': '#FFFFFF', '--light-text': '#E5E6ED', '--trending-index-text': '#F5F5F8', '--primary-background': '#0F161E', '--grey-background': '#1d2939', '--grey-darker-background': '#272D34', '--tinhte-creator-widget-background': '#272D34' }, (0,defineProperty/* default */.Z)(_darkThemeConfig, "--second-featured-threads-background", 'linear-gradient(180deg, #131629 35.46%, #0F161E 78.74%, #0F161E 96.86%)'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--white-background', '#272D34'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--context-menu-background', '#272D34'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--progress-bar-background', '#3F454B'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--widget-label-background', '#3F454B'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--header-menu-button', '#344054'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--hover-header-menu-button', '#E6F0FD'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--burger-button', '#FFFFFF'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--hover-burger-button', '#0768EA'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--secondary-button', '#344054'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--light-button', '#043E8C'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--text-on-light-button', '#E6F0FD'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--text-on-gradient-button', '#FFFFFF'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--primary-border', '#3F454B'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--secondary-border', '#3F454B'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--secondary-button-border', '#3F454B'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--blue-border', '#0768EA'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--primary-color', '#3986EE'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--text-on-primary-color', '#FFFFFF'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--tinhte-xe-color', '#F5222D'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--tinhte-audio-color', '#EB2F96'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--yt-background', '#112A45'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--yt-active-selection', '#15395B'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--input-background', '#3F454B'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--toastify-color-light', '#272D34 !important'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--toastify-text-color-light', '#FFFFFF !important'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--place-holder-text', '#98A2B3'), (0,defineProperty/* default */.Z)(_darkThemeConfig, "--light-grey-background", '#101828'), (0,defineProperty/* default */.Z)(_darkThemeConfig, '--light-grey-background-mobile', '#101828'), _darkThemeConfig); var NameMenu = function NameMenu(_ref) { var api = _ref.api, user = _ref.user; var _useState = (0,react.useState)(false), darkModeMenu = _useState[0], setDarkModeMenu = _useState[1]; var _useState2 = (0,react.useState)(localStorage.getItem(tinhteTheme/* THEME_STORAGE_KEY */.Fh)), theme = _useState2[0], setTheme = _useState2[1]; var themeVersion = localStorage.getItem(tinhteTheme/* THEME_VERSION_KEY */.Kl) || 'old'; var updateUserSettings = function updateUserSettings(api, user, theme) { var data = Menu_objectSpread(Menu_objectSpread({}, user.UISetting), {}, { theme: theme }); api.post({ uri: '/tinhte/app-preferences', params: data }).then(function () { setLocalStorage(tinhteTheme/* THEME_STORAGE_KEY */.Fh, theme); updateDOM(theme); setTheme(theme); })["catch"](function (e) { var _normalizedError = (0,error/* default */.Z)(e), message = _normalizedError.message; react_toastify_esm/* toast.error */.Am.error(message); removeDocumentStyle(); }); }; var setLocalStorage = function setLocalStorage(key, value) { return localStorage.setItem(key, value); }; var updateDOM = function updateDOM(theme) { var current = theme; if (theme == tinhteTheme/* SYSTEM */.we) { if (window.matchMedia) { // Check if the dark-mode Media-Query matches if (window.matchMedia('(prefers-color-scheme: dark)').matches) { current = tinhteTheme/* DARK_THEME */.$J; } else { current = tinhteTheme/* LIGHT_THEME */.f8; } } else { current = tinhteTheme/* LIGHT_THEME */.f8; } } if (current == tinhteTheme/* DARK_THEME */.$J) { document.documentElement.classList.add(tinhteTheme/* DARK_THEME */.$J); document.documentElement.classList.remove(tinhteTheme/* LIGHT_THEME */.f8); } else { document.documentElement.classList.add(tinhteTheme/* LIGHT_THEME */.f8); document.documentElement.classList.remove(tinhteTheme/* DARK_THEME */.$J); removeDocumentStyle(); } }; /* To remove hacking document style, which helps prevent page flash when get theme config * The theme config can be found in static/js/tinhteTheme.js */ var removeDocumentStyle = function removeDocumentStyle() { for (var key in darkThemeConfig) { document.documentElement.style.removeProperty(key, darkThemeConfig[key]); } }; var getMode = function getMode() { if (theme == tinhteTheme/* DARK_THEME */.$J) { return 'Tối'; } else if (theme == tinhteTheme/* SYSTEM */.we) { return 'Tự động'; } else { return 'Sáng'; } }; var isDarkMode = function isDarkMode() { return theme == tinhteTheme/* DARK_THEME */.$J; }; var isLightMode = function isLightMode() { return theme == tinhteTheme/* LIGHT_THEME */.f8; }; var isSystemMode = function isSystemMode() { return theme == tinhteTheme/* SYSTEM */.we; }; var redirectOnThemeVersion = function redirectOnThemeVersion(version) { if (version === 'new') { window.location.href = "https://tinhte.vn/home-2023"; } else { window.location.href = "https://tinhte.vn"; } }; var switchThemeVersion = function switchThemeVersion(version) { setLocalStorage(tinhteTheme/* THEME_VERSION_KEY */.Kl, version); redirectOnThemeVersion(version); }; var onLogoutClicked = function onLogoutClicked() { localStorage.removeItem(tinhteTheme/* THEME_STORAGE_KEY */.Fh); window.location.href = 'https://tinhte.vn/logout'; }; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "header-context-menu dark-theme-icon", children: [!darkModeMenu && /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("ul", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "list", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item search", children: /*#__PURE__*/(0,jsx_runtime.jsx)(Search/* default */.Z, { compactMode: true }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: user.link, className: "jsx-".concat(Setting_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ProfileIcon, {}), " Trang c\xE1 nh\xE2n"] }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: "".concat(prefix, "/personal-details"), className: "jsx-".concat(Setting_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)(PersonalInfoIcon, {}), " Th\xF4ng tin c\xE1 nh\xE2n"] }) })] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "list", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: "/bookmark", className: "jsx-".concat(Setting_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)(BookmarkIcon, {}), " Bookmark"] }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: "/my-draft", className: "jsx-".concat(Setting_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)(DraftIcon, {}), " B\xE0i vi\u1EBFt nh\xE1p"] }) })] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "list", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: "".concat(prefix, "/alert-preferences"), className: "jsx-".concat(Setting_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)(NotificationSettingIcon, {}), " Tu\u1EF3 ch\u1ECDn th\xF4ng b\xE1o"] }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: "".concat(prefix, "/security"), className: "jsx-".concat(Setting_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ChangePasswordIcon, {}), " Thay \u0111\u1ED5i m\u1EADt kh\u1EA9u"] }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: "".concat(prefix, "/"), className: "jsx-".concat(Setting_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)(UserSettingIcon, {}), " C\xE0i \u0111\u1EB7t kh\xE1c"] }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash), children: /*#__PURE__*/(0,jsx_runtime.jsxs)("button", { onClick: function onClick() { return setDarkModeMenu(true); }, className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item menu-button", children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "flex", children: [/*#__PURE__*/(0,jsx_runtime.jsx)(DarkModeIcon, {}), " Giao di\u1EC7n: ", getMode()] }), /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "fas fa-chevron-right" })] }) })] }), /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "list", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: "/thread/feedback-trang-home-moi-2021.3401897/", className: "jsx-".concat(Setting_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)(FeedbackIcon, {}), " G\xF3p \xFD giao di\u1EC7n 8.11.3"] }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("button", { onClick: function onClick() { return onLogoutClicked(); }, className: "jsx-".concat(Setting_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)(LogOutIcon, {}), " \u0110\u0103ng xu\u1EA5t"] }) })] })] }), darkModeMenu && /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("ul", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "list", children: /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash), children: /*#__PURE__*/(0,jsx_runtime.jsxs)("button", { onClick: function onClick() { return setDarkModeMenu(false); }, className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "menu-header go-back-button", children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "menu-title", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "icon fas fa-arrow-left" }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "title", children: "Giao di\u1EC7n" })] }), /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "menu-description", children: "T\xF9y ch\u1ECDn giao di\u1EC7n ph\xF9 h\u1EE3p" })] }) }) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "list", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("button", { onClick: function onClick() { return updateUserSettings(api, user, tinhteTheme/* DARK_THEME */.$J); }, className: "jsx-".concat(Setting_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "icon-check fa fa-check ".concat(isDarkMode() ? 'active' : '') }), "Giao di\u1EC7n t\u1ED1i"] }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("button", { onClick: function onClick() { return updateUserSettings(api, user, tinhteTheme/* LIGHT_THEME */.f8); }, className: "jsx-".concat(Setting_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "icon-check fa fa-check ".concat(isLightMode() ? 'active' : '') }), "Giao di\u1EC7n s\xE1ng"] }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "item", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("button", { onClick: function onClick() { return updateUserSettings(api, user, tinhteTheme/* SYSTEM */.we); }, className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "menu-button", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "icon-check fa fa-check ".concat(isSystemMode() ? 'active' : '') }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "flex-column flex-start", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Setting_Menu_styles.__hash), children: "T\u1EF1 \u0111\u1ED9ng" }), /*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(Setting_Menu_styles.__hash) + " " + "menu-description", children: "T\u1EF1 \u0111\u1ED9ng thay \u0111\u1ED5i giao di\u1EC7n theo c\xE0i \u0111\u1EB7t h\u1EC7 th\u1ED1ng tr\xEAn thi\u1EBFt b\u1ECB c\u1EE7a b\u1EA1n" })] })] }) })] })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Setting_Menu_styles.__hash, children: Setting_Menu_styles })] }); }; /* harmony default export */ var Setting_Menu = (NameMenu); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/Setting/index.js var Setting = function Setting(_ref) { var api = _ref.api, user = _ref.user; return /*#__PURE__*/(0,jsx_runtime.jsx)(Revamped_PopMenu, { Button: Setting_Button, Menu: Setting_Menu, passedProps: { api: api, user: user }, alignRight: true }); }; /* harmony default export */ var User_Setting = (Setting); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/SignInMenu/Button/styles.js var SignInMenu_Button_styles_defaultExport = []; SignInMenu_Button_styles_defaultExport.__hash = "3867722346"; /* harmony default export */ var SignInMenu_Button_styles = (SignInMenu_Button_styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/SignInMenu/Button/index.js function Button_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function Button_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Button_ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Button_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var AnonymousIcon = function AnonymousIcon(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)("svg", Button_objectSpread(Button_objectSpread({}, props), {}, { children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M0 16C0 7.177 7.177 0 16 0s16 7.177 16 16-7.177 16-16 16S0 24.823 0 16zm18.667 5.333c2.93 0 5.378 1.908 6.264 4.539 2.696-2.441 4.402-5.957 4.402-9.872 0-7.352-5.981-13.333-13.333-13.333S2.667 8.648 2.667 16c0 3.916 1.708 7.432 4.405 9.873.885-2.63 3.33-4.54 6.261-4.54h5.334zm-8-9.333a5.334 5.334 0 0 1 10.666 0v1.333a5.334 5.334 0 0 1-10.666 0V12z", fill: "#393A3B" }) })); }; AnonymousIcon.defaultProps = { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }; var Button_NameButton = function NameButton(_ref) { var user = _ref.user, toggle = _ref.toggle; return /*#__PURE__*/(0,jsx_runtime.jsxs)("button", { type: "button", onClick: toggle, className: "jsx-".concat(SignInMenu_Button_styles.__hash) + " " + "burger-menu dark-theme-icon", children: [user.id ? /*#__PURE__*/(0,jsx_runtime.jsx)("img", { src: user.avatar, alt: user.name, width: "32", height: "32", className: "jsx-".concat(SignInMenu_Button_styles.__hash) + " " + "user" }) : /*#__PURE__*/(0,jsx_runtime.jsx)(AnonymousIcon, {}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { className: "jsx-".concat(SignInMenu_Button_styles.__hash) + " " + "burger", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "jsx-".concat(SignInMenu_Button_styles.__hash) }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "jsx-".concat(SignInMenu_Button_styles.__hash) }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "jsx-".concat(SignInMenu_Button_styles.__hash) })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: SignInMenu_Button_styles.__hash, children: SignInMenu_Button_styles })] }); }; /* harmony default export */ var SignInMenu_Button = (Button_NameButton); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/SignInMenu/Menu/styles.js var SignInMenu_Menu_styles_defaultExport = []; SignInMenu_Menu_styles_defaultExport.__hash = "3867722346"; /* harmony default export */ var SignInMenu_Menu_styles = (SignInMenu_Menu_styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/SignInMenu/Menu/index.js /* eslint-disable */ /* eslint-env browser */ var Menu_prefix = 'https://tinhte.vn/account'; var LoginMenu = function LoginMenu() { return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(SignInMenu_Menu_styles.__hash) + " " + "header-context-menu", children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("ul", { className: "jsx-".concat(SignInMenu_Menu_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(SignInMenu_Menu_styles.__hash), children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", { href: "https://tinhte.vn/login/", className: "jsx-".concat(SignInMenu_Menu_styles.__hash), children: "\u0110\u0103ng nh\u1EADp t\xE0i kho\u1EA3n" }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("li", { className: "jsx-".concat(SignInMenu_Menu_styles.__hash), children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", { href: "https://tinhte.vn/register/", className: "jsx-".concat(SignInMenu_Menu_styles.__hash), children: "\u0110\u0103ng k\xFD t\xE0i kho\u1EA3n m\u1EDBi" }) })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: SignInMenu_Menu_styles.__hash, children: SignInMenu_Menu_styles })] }); }; /* harmony default export */ var SignInMenu_Menu = (LoginMenu); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/SignInMenu/index.js var SignInMenu = function SignInMenu(_ref) { var api = _ref.api, user = _ref.user; return /*#__PURE__*/(0,jsx_runtime.jsx)(Revamped_PopMenu, { Button: SignInMenu_Button, Menu: SignInMenu_Menu, passedProps: { api: api, user: user }, alignRight: true }); }; /* harmony default export */ var User_SignInMenu = (SignInMenu); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/styles.js var User_styles_defaultExport = [".user-cta.jsx-365471853{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".item.jsx-365471853{margin-left:12px;}", ".mobileCompactMode.jsx-365471853{display:none;}", "@media (min-width:768px){.mobileCompactMode.jsx-365471853{display:block;}}", ".forU.jsx-365471853{max-width:none;}", ".hidden-sm.jsx-365471853{display:none;}", "@media (min-width:576px){.hidden-sm.jsx-365471853{display:block;}}"]; User_styles_defaultExport.__hash = "365471853"; /* harmony default export */ var User_styles = (User_styles_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/User/index.js function User_createSuper(Derived) { var hasNativeReflectConstruct = User_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0,getPrototypeOf/* default */.Z)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,getPrototypeOf/* default */.Z)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,possibleConstructorReturn/* default */.Z)(this, result); }; } function User_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* global window */ /* eslint-env browser */ // import FeedIcon from 'components/Revamped/Header/icons/Feed.png'; // import gaTrackingEvents from 'utils/gaTrackingEvents'; // import Name from './Name'; // const headerFeedClick = () => { // ga('send', { // hitType: 'event', // eventCategory: gaTrackingEvents.tinhteHomeGAEventCategory, // eventAction: gaTrackingEvents.gaEventClick, // eventLabel: gaTrackingEvents.gaHeaderMenuFeed, // transport: 'beacon', // }); // }; var User = /*#__PURE__*/function (_React$Component) { (0,inherits/* default */.Z)(User, _React$Component); var _super = User_createSuper(User); function User(props) { var _this; (0,classCallCheck/* default */.Z)(this, User); _this = _super.call(this, props); _this.state = { user: props.user }; return _this; } (0,createClass/* default */.Z)(User, [{ key: "componentDidMount", value: function componentDidMount() { var _this2 = this; var _this$props = this.props, api = _this$props.api, _user = _this$props.user; if (!api || !!_user) return; var setUser = function setUser(user) { return _this2.setState({ user: user }); }; var setGuest = function setGuest() { return _this2.setState({ user: (0,normalize_user/* default */.Z)({}) }); }; var setTheme = function setTheme(theme) { return document.documentElement.classList.add(theme); }; var setLocalStorage = function setLocalStorage(theme) { return localStorage.setItem(tinhteTheme/* THEME_STORAGE_KEY */.Fh, theme); }; var onReject = function onReject() { return setGuest(); }; var onSuccess = function onSuccess(json) { var user = (0,normalize_user/* default */.Z)(json.user || {}); setUser(user); var UISettingTheme = user.UISetting && user.UISetting.theme; if (UISettingTheme) { var currentTheme = UISettingTheme; if (UISettingTheme === tinhteTheme/* SYSTEM */.we && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { currentTheme = tinhteTheme/* DARK_THEME */.$J; } setTheme(currentTheme); setLocalStorage(UISettingTheme); } }; api.onAuthenticated(function () { return api.getUserId() > 0 ? api.get('users/me').then(onSuccess, onReject) : setGuest(); }); } }, { key: "render", value: function render() { var _this$props2 = this.props, api = _this$props2.api, mobileCompactMode = _this$props2.mobileCompactMode, forTinhteFactTheme = _this$props2.forTinhteFactTheme; var user = this.state.user; if (!api || !user) { // Waiting for user authentication and verification, display nothing return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {}); } if (!user.id) { // User is not logged in, display sign in button return /*#__PURE__*/(0,jsx_runtime.jsx)(User_SignInMenu, { user: user }); } // User is logged in and user object is retrieved, display username and related info return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(User_styles.__hash) + " " + "user-cta", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(User_styles.__hash) + " " + "item ".concat(mobileCompactMode ? 'mobileCompactMode' : ''), children: /*#__PURE__*/(0,jsx_runtime.jsx)(User_Message, { user: user, api: api, forTinhteFactTheme: forTinhteFactTheme }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(User_styles.__hash) + " " + "item ".concat(mobileCompactMode ? 'mobileCompactMode' : ''), children: /*#__PURE__*/(0,jsx_runtime.jsx)(User_Setting, { user: user, api: api }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: User_styles.__hash, children: User_styles })] }); } }], [{ key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(nextProps, prevState) { if (nextProps.user && nextProps.user.id && prevState.user && prevState.user.id !== nextProps.user.id) { return { user: nextProps.user }; } return null; } }]); return User; }(react.Component); /* harmony default export */ var Header_User = (es.apiHoc.ApiConsumer(User)); /***/ }), /***/ 44547: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ Revamped_Header; } }); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/defineProperty.js var defineProperty = __webpack_require__(92809); // EXTERNAL MODULE: ./node_modules/styled-jsx/style.js var style = __webpack_require__(65988); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./node_modules/tinhte-api-react/es/index.js + 21 modules var es = __webpack_require__(48484); // EXTERNAL MODULE: ./src/resources/normalize/trend.js + 1 modules var trend = __webpack_require__(5737); // EXTERNAL MODULE: ./node_modules/lodash/get.js var get = __webpack_require__(27361); var get_default = /*#__PURE__*/__webpack_require__.n(get); // EXTERNAL MODULE: ./node_modules/lodash/random.js var random = __webpack_require__(83608); var random_default = /*#__PURE__*/__webpack_require__.n(random); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/HotTag/styles.js var _defaultExport = [".tag-wrapper.jsx-2646259745{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:40px;padding:0px 16px;border-radius:50px;width:100%;background-color:var(--header-menu-button);}", ".title.jsx-2646259745{font-size:14px;white-space:nowrap;}", ".tag.jsx-2646259745{font-size:14px;white-space:nowrap;color:var(--primary-color);margin:0 16px 0 5px;}"]; _defaultExport.__hash = "2646259745"; /* harmony default export */ var styles = (_defaultExport); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/HotTag/index.js var HotTag = function HotTag(_ref) { var trendTag = _ref.trendTag; if (trendTag) { var tag = trendTag.tag; return /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: "https://tinhte.vn/tags?t=".concat(encodeURIComponent(tag)), className: "jsx-".concat(styles.__hash) + " " + "tag-wrapper", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "jsx-".concat(styles.__hash) + " " + "title", children: "C\xE1c b\xE0i v\u1EC1" }), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", { className: "jsx-".concat(styles.__hash) + " " + "tag", children: ["#", tag] }), /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "jsx-".concat(styles.__hash) + " " + "icon fas fa-arrow-right" }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: styles.__hash, children: styles })] }); } return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {}); }; HotTag.defaultProps = { trendTag: null }; // Force to render in client by using apiFetchesWithAuth() // to prevent mismatch content between server and client due to random() use HotTag.apiFetchesWithAuth = { trendTag: { uri: trend/* threadsInTrendingTagsUri */.I, params: { limit: 10, fields_exclude: 'latest_thread' }, success: function success(json) { var trends = get_default()(json, 'trending_tag_threads', []).map(trend/* default */.Z); return trends[random_default()(trends.length - 1)] || {}; } } }; /* harmony default export */ var Header_HotTag = (es.apiHoc.ApiConsumer(HotTag)); // EXTERNAL MODULE: ./src/components/Revamped/Header/User/index.js + 25 modules var User = __webpack_require__(20217); // EXTERNAL MODULE: ./src/components/Revamped/Header/Search/index.js + 9 modules var Search = __webpack_require__(33396); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/styles.js var styles_defaultExport = [".gssb_a{padding:5px 9px !important;font-size:17px;color:#2D3748 !important;}", "header.jsx-3078770720{z-index:98;position:relative;background-color:var(--primary-background);}", ".header-wrapper.jsx-3078770720{position:relative;margin:0;padding:16px 12px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}", "@media (min-width:576px){.header-wrapper.jsx-3078770720{padding:16px 20px;}}", ".header-wrapper.jsx-3078770720 .left.jsx-3078770720{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;padding:0;width:auto;}", ".header-wrapper.jsx-3078770720 .middle.jsx-3078770720{padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", "@media (max-width:1199px){.header-wrapper.jsx-3078770720 .middle.jsx-3078770720{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;}}", ".header-wrapper.jsx-3078770720 .right.jsx-3078770720{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;width:auto;padding-right:0;}", "@media (max-width:1199px){.header-wrapper.jsx-3078770720 .right.jsx-3078770720{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;}}", ".header-wrapper.jsx-3078770720 .menu-wrapper.jsx-3078770720{position:relative;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".header-wrapper.jsx-3078770720 .desktop-menu.jsx-3078770720{display:none;}", "@media (min-width:768px){.header-wrapper.jsx-3078770720 .desktop-menu.jsx-3078770720{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}", ".logo.jsx-3078770720{margin-right:15px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", "@media (max-width:375px){.logo.jsx-3078770720{margin-right:10px;}}", "@media (min-width:768px){.logo.jsx-3078770720{margin-right:26px;}}", ".logo.jsx-3078770720 .tinhte-logo.jsx-3078770720{width:40px;vertical-align:middle;display:inline-block;}", ".logo.jsx-3078770720 .tinhte-logo.jsx-3078770720 svg{display:block;}", ".logo.jsx-3078770720 .tinhte-text.jsx-3078770720{font-size:28px;font-weight:600;margin-left:12px;vertical-align:middle;display:inline-block;}", ".logo.jsx-3078770720 .tinhte-text.jsx-3078770720 .tinhte-text__name.jsx-3078770720{text-align:justify;}", ".logo.jsx-3078770720 .tinhte-text.jsx-3078770720 .tinhte-text__subtitle.jsx-3078770720{font-weight:600;font-size:8px;line-height:7px;-webkit-letter-spacing:3.3px;-moz-letter-spacing:3.3px;-ms-letter-spacing:3.3px;letter-spacing:3.3px;text-transform:uppercase;margin-top:3px;text-align:justify;}", ".hot-tag.jsx-3078770720{display:none;position:relative;width:auto;margin-right:16px;}", "@media (min-width:992px){.hot-tag.jsx-3078770720{display:block;}}", ".search.jsx-3078770720{display:block;position:relative;width:80%;max-width:400px;}", ".search.jsx-3078770720 .gsc-search-button{display:none;}", ".search.jsx-3078770720 .gsc-control-cse{padding:0;background-color:var(--primary-background);border:1px solid var(--primary-background);}", ".search.jsx-3078770720 .gsc-input-box{background-color:var(--header-menu-button);border-radius:50px;border:none;}", ".search.jsx-3078770720 .gsc-input{width:100%;background:none !important;}", ".search.jsx-3078770720 .gsib_a{padding-left:15px;padding-right:15px;}", ".search.jsx-3078770720 .gsst_a{display:none;}", ".search.jsx-3078770720 input{padding-left:32px !important;}", ".menu-icon.jsx-3078770720{position:relative;width:100%;font-size:15px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;}", ".menu-icon.jsx-3078770720 .icon.jsx-3078770720{width:40px;height:40px;border-radius:50%;background-color:var(--header-menu-button);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".menu-icon.jsx-3078770720 .icon.jsx-3078770720:hover{cursor:pointer;}", ".menu-icon.jsx-3078770720 .icon-label.jsx-3078770720{margin-left:12px;display:none;}", "@media (min-width:992px){.menu-icon.jsx-3078770720 .icon-label.jsx-3078770720{display:block;}}", ".black-header.jsx-3078770720{box-shadow:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:6px;position:fixed;top:0 !important;left:0;right:0;background:rgba(0,0,0,0.9);z-index:1;visibility:visible !important;opacity:1 !important;-webkit-transition:all 0.3s;transition:all 0.3s;-webkit-transition:all 0.3s;min-height:40px;}", "@media (min-width:768px){.black-header.jsx-3078770720{padding:12px 20px;}}", ".main-logo.jsx-3078770720{width:80px;height:27px;display:block;}", "@media (min-width:1000px){.main-logo.jsx-3078770720{display:block;margin-left:12px;width:115px;height:40px;}}", ".special-logo-container.jsx-3078770720{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:fixed;left:50%;-webkit-transform:translate(-50%,0%);-ms-transform:translate(-50%,0%);transform:translate(-50%,0%);-webkit-transform:translate(-50%,0%);-moz-transform:translate(-50%,0%);-o-transform:translate(-50%,0%);-ms-transform:translate(-50%,0%);}", ".special-logo.jsx-3078770720{width:80px;height:24px;display:block;}", "@media (min-width:768px){.special-logo.jsx-3078770720{width:120px;height:36px;}}", "@media (min-width:768px){.main-user.jsx-3078770720{display:block;margin-right:12px;}.main-user.jsx-3078770720 .toggle-icon{color:var(--text-always-white);}}", ".old-version-button-wrapper.jsx-3078770720{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}", ".old-version-button-wrapper.jsx-3078770720 .old-version-button.jsx-3078770720{margin:0 10px;padding:10px 15px;font-size:12px;color:white;border-radius:50px;background-image:linear-gradient(30deg,#076beb,#25dcaa);line-height:17px;display:block;font-weight:700;}"]; styles_defaultExport.__hash = "3078770720"; /* harmony default export */ var Header_styles = (styles_defaultExport); // EXTERNAL MODULE: ./node_modules/next/script.js var script = __webpack_require__(4298); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/GoogleSearch/index.js var GoogleSearch = function GoogleSearch() { return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)(script.default, { async: true, src: "https://cse.google.com/cse.js?cx=e6b724fe5ee2441f9", onLoad: function onLoad() { var interval = null; interval = setInterval(function () { var search = document.getElementById('gsc-i-id1'); if (search) { search.placeholder = 'Tìm sản phẩm công nghệ, cộng đồng, bạn bè...'; clearInterval(interval); } }, 500); } }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "gcse-search" })] }); }; /* harmony default export */ var Header_GoogleSearch = (GoogleSearch); ;// CONCATENATED MODULE: ./src/components/Revamped/Header/index.js function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } /* eslint-disable no-unused-vars */ /* eslint-disable max-len */ var TinhteLogoMobile = function TinhteLogoMobile(props) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("svg", _objectSpread(_objectSpread({}, props), {}, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("defs", { children: /*#__PURE__*/(0,jsx_runtime.jsxs)("linearGradient", { x1: "92.129%", y1: "100%", x2: "0%", y2: "6.503%", id: "linearGradient-2", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("stop", { stopColor: "#2AF598", offset: "0%" }), /*#__PURE__*/(0,jsx_runtime.jsx)("stop", { stopColor: "#0049FD", offset: "100%" })] }) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("g", { fill: "none", fillRule: "evenodd", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("rect", { fill: "url(#linearGradient-2)", fillRule: "nonzero", width: "40", height: "40", rx: "20" }), /*#__PURE__*/(0,jsx_runtime.jsxs)("g", { fillRule: "nonzero", fill: "#FFF", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M32.99 16.072c-.044 2.099-.663 4.06-1.587 5.93-1.632 3.299-3.859 6.13-6.93 8.261-1.182.821-2.453 1.473-3.912 1.684-2.345.337-3.986-.95-4.225-3.274-.216-2.099.287-4.069 1.113-5.966 1.665-3.83 4.132-7.045 7.663-9.407 1.07-.715 2.228-1.248 3.521-1.468 2.183-.372 3.815.713 4.232 2.85.09.456.161.919.126 1.39z" }), /*#__PURE__*/(0,jsx_runtime.jsx)("path", { d: "M16.257 31.08c-1.495-.387-2.79-1.127-3.984-2.016-2.381-1.77-4.174-3.934-4.994-6.707-.306-1.036-.397-2.088-.087-3.144.49-1.674 1.955-2.748 3.814-2.842 1.602-.082 3.085.293 4.509.93.83.37 1.597.834 2.345 1.332.31.207.37.36.156.684-1.144 1.72-2.025 3.548-2.51 5.527-.324 1.328-.462 2.663-.179 4.015.158.776.504 1.51 1.013 2.142l-.083.079zM20 11.76c-.002 1.515-1.233 2.746-2.761 2.76-1.528.013-2.782-1.196-2.81-2.711A2.771 2.771 0 0 1 17.186 9a2.81 2.81 0 0 1 1.983.802c.528.517.827 1.222.831 1.958z" })] })] })] })); }; TinhteLogoMobile.defaultProps = { width: "115", height: "40", viewBox: "0 0 115 40", xmlns: "http://www.w3.org/2000/svg" }; var Header = function Header(_ref) { var blackHeader = _ref.blackHeader, headerSpecialLogo = _ref.headerSpecialLogo, headerSpecialTitle = _ref.headerSpecialTitle, headerSpecialUrl = _ref.headerSpecialUrl, mobileCompactMode = _ref.mobileCompactMode; if (blackHeader) { return /*#__PURE__*/(0,jsx_runtime.jsxs)("header", { className: "jsx-".concat(Header_styles.__hash) + " " + "".concat(blackHeader && 'black-header'), children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "main-logo-container", children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", { href: "/", className: "jsx-".concat(Header_styles.__hash), children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", { src: "/static/images/Tinhte2020LogoAlwaysWhiteText.svg", width: "115", height: "40", alt: "Tinhte.vn", className: "jsx-".concat(Header_styles.__hash) + " " + "main-logo" }) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "special-logo-container", children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", { href: headerSpecialUrl, className: "jsx-".concat(Header_styles.__hash), children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", { src: headerSpecialLogo, alt: headerSpecialTitle || 'Tinhte.vn', className: "jsx-".concat(Header_styles.__hash) + " " + "special-logo" }) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "main-user", children: /*#__PURE__*/(0,jsx_runtime.jsx)(User/* default */.Z, { mobileCompactMode: mobileCompactMode }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Header_styles.__hash, children: Header_styles })] }); } return /*#__PURE__*/(0,jsx_runtime.jsxs)("header", { className: "jsx-".concat(Header_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "row header-wrapper", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "col-left left", children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "logo", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { href: "https://tinhte.vn", className: "jsx-".concat(Header_styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "tinhte-logo", children: /*#__PURE__*/(0,jsx_runtime.jsx)(TinhteLogoMobile, {}) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "tinhte-text", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "tinhte-text__name", children: "Tinh t\u1EBF" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "tinhte-text__subtitle", children: "M\u1EA1ng x\xE3 h\u1ED9i" })] })] }) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "col-main middle desktop-menu", children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "menu-wrapper", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "menu-icon", children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "hot-tag" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "search", children: /*#__PURE__*/(0,jsx_runtime.jsx)(Header_GoogleSearch, {}) })] }) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(Header_styles.__hash) + " " + "col-right right", children: /*#__PURE__*/(0,jsx_runtime.jsx)(User/* default */.Z, {}) })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: Header_styles.__hash, children: Header_styles })] }); }; /* harmony default export */ var Revamped_Header = (Header); /***/ }), /***/ 38012: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ Revamped_HighlightIcon; } }); // EXTERNAL MODULE: ./node_modules/styled-jsx/style.js var style = __webpack_require__(65988); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); ;// CONCATENATED MODULE: ./src/components/Revamped/HighlightIcon/styles.js var _defaultExport = ["div.jsx-1625898595{width:24px;height:24px;position:relative;}", "div.jsx-1625898595:before,div.jsx-1625898595:after{content:\"\";border-radius:100%;position:absolute;margin:auto;top:0;right:0;bottom:0;left:0;}", "div.jsx-1625898595:before{width:100%;height:100%;background:var(--primary-color);opacity:0.2;-webkit-animation:zoom-jsx-1625898595 1s ease-out infinite;animation:zoom-jsx-1625898595 1s ease-out infinite;}", "div.jsx-1625898595:after{width:10px;height:10px;background:var(--primary-color);-webkit-animation:zoom-jsx-1625898595 1s ease-in 0.05s infinite;animation:zoom-jsx-1625898595 1s ease-in 0.05s infinite;}", "@-webkit-keyframes zoom-jsx-1625898595{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}50%{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}}", "@keyframes zoom-jsx-1625898595{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}50%{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75);}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}}"]; _defaultExport.__hash = "1625898595"; /* harmony default export */ var styles = (_defaultExport); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/Revamped/HighlightIcon/index.js var HighlightIcon = function HighlightIcon() { return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "jsx-".concat(styles.__hash), children: /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: styles.__hash, children: styles }) }); }; /* harmony default export */ var Revamped_HighlightIcon = (HighlightIcon); /***/ }), /***/ 79809: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ Revamped_Page; }, "w": function() { return /* reexport */ wrapPageWApi/* default */.Z; } }); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules var toConsumableArray = __webpack_require__(83789); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/classCallCheck.js var classCallCheck = __webpack_require__(68216); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/createClass.js var createClass = __webpack_require__(25997); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules var inherits = __webpack_require__(13444); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js + 1 modules var possibleConstructorReturn = __webpack_require__(30268); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js var getPrototypeOf = __webpack_require__(92953); // EXTERNAL MODULE: ./node_modules/styled-jsx/style.js var style = __webpack_require__(65988); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./node_modules/next/head.js var head = __webpack_require__(9008); // EXTERNAL MODULE: ./src/globals/pageConfigs.js var pageConfigs = __webpack_require__(9552); // EXTERNAL MODULE: ./src/hocs/pageConfigs.js var hocs_pageConfigs = __webpack_require__(2960); // EXTERNAL MODULE: ./src/hocs/tinhteAdsConfigs.js var tinhteAdsConfigs = __webpack_require__(68286); // EXTERNAL MODULE: ./src/hocs/reactionConfigs.js var reactionConfigs = __webpack_require__(14803); // EXTERNAL MODULE: ./src/resources/normalize/homeConfigs.js var homeConfigs = __webpack_require__(19645); // EXTERNAL MODULE: ./src/resources/normalize/reactionConfigs.js var normalize_reactionConfigs = __webpack_require__(80298); // EXTERNAL MODULE: ./node_modules/react-device-detect/main.js var main = __webpack_require__(59359); // EXTERNAL MODULE: ./src/components/Revamped/Page/wrapPageWApi/index.js var wrapPageWApi = __webpack_require__(91525); // EXTERNAL MODULE: ./src/components/Revamped/Page/tracking/index.js + 6 modules var tracking = __webpack_require__(84367); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/styles/reset.js var _defaultExport = ["*{margin:0;padding:0;border:none;box-sizing:border-box;font:inherit;color:inherit;background:none;}", "ul,ol{list-style:none;}", "a{-webkit-text-decoration:none;text-decoration:none;cursor:pointer;}", "a:focus{outline:0;}", "button{cursor:pointer;}", "button:focus{outline:0;}", "i{font-style:italic;}", "b{font-weight:700;}"]; _defaultExport.__hash = "878626024"; /* harmony default export */ var styles_reset = (_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/styles/variables.js /** * Remember to update darkThemeConfig in * src/components/Revamped/Header/User/Setting/Menu/index.js * static/js/tinhteTheme.js */ var variables_defaultExport = ["html{--color-light-1:#ffffff;--color-light-0:#ffffff;--color-dark-0:#000000;--color-alert-badge:#e03030;--color-always-white:#ffffff;--text-dark:#222b45;--text-light:#ffffff;--text-always-white:#ffffff;--text-always-black:#000000;--text-light-1:#f1f1f1;--text-light-2:#606670;--text-light-3:#6c6c6c;--text-highlight:#34c0dd;--text-grey:#222b45;--text-since:#8f9bb3;--text-color-rank:#f6b142;--trending-threads-text-light:#ffffff;--trending-threads-text-dark:#bababa;--text-link:#2ebfd9;--text-rank:#f5a623;--text-action:#1a6bc8;--color-user-stats-text:#FFFFFF;--color-hero-light:#39F1E9;--text-button-active:#0768ea;--tinhte-creator-theme:#7666ef;--tinhte-creator-button:#44d7b6;--reaction-angry:#f2323f;--button-dark:#0f1e2f;--button-dark-1:#213243;--button-dark-text:#44d7b6;--button-light:#e5e6ec;--button-light-text:#242424;--button-light-2:#f2f3f5;--button-light-text:#242424;--button-high-contrast:#0768ea;--button-high-contrast-text:#ffffff;--button-high-contrast-hover:#004096;--button-accent-green:#23D7A9;--button-accent-green-text:#23D7A9;--trending-threads-button-text:#ffffff;--trending-threads-button-1:#2d4e7b;--trending-threads-button-2:#30655b;--button-facebook:#4267b2;--button-active:#e6effc;--button-orange:#FF7034;--button-orange-dark:#E55300;--button-light-disabled:#e6e6e6;--button-light-disabled-text:#b9b9b9;--notification-icon:#83ffff;--create-fact-icon:#0E3869;--active-indicator:#44d7b6;--active-indicator-red:#e02020;--active-indicator-border:#ebf1fd;--page-background:#ffffff;--light-background:#ffffff;--light-background-2:#f2f3f5;--light-background-3:#eaedf1;--light-background-4:#f5f5f5;--light-background-5:#ebf1fd;--light-background-6:#EBE6FF;--light-background-7:#ebe6ff;--gradient-background-1:linear-gradient(0deg,#E5E6ED 6.39%,#F1F2F4 72.37%,#FFFFFF 99.99%);--dark-background:#e4e4e4;--footer-background:#f1f1f1;--footer-background-dark:#e5e6ec;--role-badge:#f5a623;--role-badge-text:#FFFFFF;--avatar-background-dark:#e5e6ec;--trending-threads-background:#192433;--thread-background:#FFFFFF;--hover-background:#EEEFF2;--highlight-zone-background-1:#f3f2f7;--highlight-background:#20c6bf;--second-featured-threads-background:linear-gradient(to bottom,#e5e6ed 42%,#f1f2f4 81%,#ffffff 97%);--new-thread-header:#f2f3f5;--new-thread-body:#ffffff;--new-thread-footer:#f2f3f5;--thread-report-background:#fff9f1;--thread-report-border:#f79500;--thread-delete-background:#ffeeee;--thread-delete-border:#f75551;--thread-event-background:#f79500;--color-mod-badge-background:#e3ecff;--color-mod-badge-main:#4064b5;--color-profile-sidebar-border:#dddddd;--color-user-stats-background:#4266b3;--thread-intro-background:#fffec7;--thread-intro-border:#fecb2e;--special-header-background:rgba(19,25,41,.90);--color-reward-quantity:#ffc100;--editor-control-background:#e4e4e4;--editor-control-text:#000000;--dropdown-control-background:#ffffff;--dropdown-control-background-hover:#e4e4e4;--dropdown-control-text:#000000;--dropdown-control-border:#e4e4e4;--border-light:#e5e6ec;--border-light-1:#E4E4E4;--border-light-2:#EBEBEB;--border-dark:#15202b;--trending-threads-border:rgba(219,219,219,0.1);--fact-dark:hsla(0,0%,10%,1);--fact-highlight:#44d7b6;--color-dark-3:hsla(0,0%,10%,1);--color-accent-dark:#0768ea;--color-accent-light:hsla(180,100%,55%,1);--color-accent-blue:#00bad7;--color-accent-dark-audio:hsl(330,85%,48%);--color-accent-dark-xe:hsla(2,65%,44%,1);--color-light-action-box-text:#757575;--color-dark-2:hsl(215,34%,15%);--thread-fact-background:#232f3d;--fact-slider-background:#ffffff;--color-moderator-content:#008001;--special-thread-item-underline:#ccdbff;--card-padding:10px;--card-height:180px;--card-width:100px;--card-skeleton:linear-gradient(rgba(242,243,245,1) var(--card-height),transparent 0);--avatar-size:32px;--avatar-position:var(--card-padding) 110px;--avatar-skeleton:radial-gradient(circle 16px at center,white 99%,transparent 0 );--title-height:6px;--title-width:80px;--title-position:var(--card-padding) 150px;--title-skeleton:linear-gradient(white var(--title-height),transparent 0);--blur-width:200px;--blur-size:var(--blur-width) var(--card-height);--scrollbar-track-bg:#e2e2e2;--scrollbar-thumb-bg:#b9b9b9;--gap-thread-action:28px;}", "html.dark,.root.dark{--text-dark:#ffffff;--text-grey:#92abc8;--text-since:#8f9bb3;--text-light-2:#bab9b9;--button-light-text:#ffffff;--button-light:#31455f;--button-light-3:#213243;--border-light-2:#223243;--page-background:#0e161e;--gradient-background-1:linear-gradient(0deg,#223243 6.39%,#0f161e 72.37%,#0f161e 99.99%);--new-thread-header:#0e161e;--new-thread-body:#0e161e;--new-thread-footer:#0e161e;--thread-report-background:#0f171f;--thread-delete-background:#0f171f;--thread-event-background:#0f171f;--color-light-1:#213243;--color-light-0:#213243;--light-background:#213243;--light-background-2:#4b6e95;--light-background-3:#213243;--light-background-4:rgba(7,104,234,0.08);--light-background-5:rgba(7,104,234,0.08);--light-background-6:#213243;--light-background-7:#111c2e;--fact-slider-background:transparent;--border-light:#213243;--border-light-1:#213243;--color-accent-dark:#20c6bf;--hover-background:#0e161e;--trending-threads-background:#070a0f;--thread-background:#0f1e2f;--second-featured-threads-background:linear-gradient(to bottom,#213243 42%,#0e161e 81%,#0e161e 97%);--footer-background:#0f161e;--footer-background-dark:#213243;--create-fact-icon:#C3C4C9;--scrollbar-track-bg:#192f46;--scrollbar-thumb-bg:#2c4865;}", "html{--primary-text:#2D3748;--hover-primary-text:#3986EE;--secondary-text:#00000073;--hover-secondary-text:#A0A1A6;--content-text:#344054;--content-bubble-text:#000000D9;--light-text:#E5E6ED;--trending-index-text:#98A2B3;--inverse-text:#FFFFFF;--place-holder-text:#667085;--error-text:#E53E3E;--title-light-bg-text:#4A5568;--primary-background:#FFFFFF;--grey-background:#FCFCFD;--grey-darker-background:#F5F5F8;--light-grey-background:#EDF2F7;--light-grey-background-mobile:#FFFFFF;--tinhte-creator-widget-background:#01152F;--post-background:#F2F4F7;--second-featured-threads-background:linear-gradient(180deg,#E5E6ED 41.65%,#F1F2F4 80.57%,#FFFFFF 96.86%);--mask-background:linear-gradient(180deg,rgba(0,0,0,0.0001) 3.17%,#000000 100%);--white-background:#FFFFFF;--context-menu-background:#FCFDFD;--progress-bar-background:#EDEEF2;--widget-label-background:#213143;--red-background:#e02020;--input-background:#E5E6ED;--mod-tag-background:#FAAD14;--inverse-background:#00000073;--java-ads-background:#E0F2FE;--background-fact-overlay:linear-gradient(rgba(255,255,255,0.6),rgba(255,255,255,1));--dark-icon:#344054;--header-menu-button:#E5E6ED;--hover-header-menu-button:#E6F0FD;--burger-button:#393A3B;--hover-burger-button:#1570EF;--secondary-button:#E5E6ED;--light-button:#E6F0FD;--text-on-light-button:#1570EF;--gradient-1-button:linear-gradient(270.49deg,#8426CC 0.21%,#DC3D6F 100%);--gradient-2-button:linear-gradient(94.95deg,#2AF598 -43.99%,#0049FD 106.14%);--gradient-3-button:linear-gradient(315.42deg,#2AF598 3.91%,#0049FD 96.72%);--text-on-gradient-button:#FFFFFF;--primary-border:#E5E6ED;--secondary-border:#032A5E;--secondary-button-border:#EDEEF2;--blue-border:#1570EF;--white-border:#FFFFFF;--border-thread-thumbnail:#e5e6ed;--primary-color:#1570EF;--text-on-primary-color:#FFFFFF;--top-thread:linear-gradient(0deg,#2AF598 -37.81%,#0049FD 100%);--top-thread-header-text:#FFFFFF;--top-thread-slider-item:#FFFFFF;--yt-background:#01152F;--yt-active-selection:#032A5E;--box-shadow:0px 3px 6px -4px rgba(0,0,0,0.12),0px 6px 16px rgba(0,0,0,0.08),0px 9px 28px 8px rgba(0,0,0,0.05);--box-shadow-2:0px 1.80952px 7.2381px rgba(0,0,0,0.15);--box-shadow-3:0px 1px 2px rgba(16,24,40,0.05);--fact-card-width:108px;--fact-card-height:180px;--toastify-font-family:\"Lato\",\"Lato\",Arial !important;--toastify-color-light:#FCFDFD !important;--toastify-text-color-light:#000000D9 !important;}", "html.dark,.root.dark{--primary-text:#FFFFFF;--hover-primary-text:#3986EE;--secondary-text:#B7B9BC;--hover-secondary-text:#A0A1A6;--content-text:#D0D5DD;--content-bubble-text:#FFFFFF;--light-text:#E5E6ED;--trending-index-text:#F5F5F8;--place-holder-text:#98A2B3;--title-light-bg-text:#FFFFFF;--primary-background:#0F161E;--grey-background:#1D2939;--grey-darker-background:#272D34;--light-grey-background:#101828;--light-grey-background-mobile:#101828;--tinhte-creator-widget-background:#272D34;--post-background:#344054;--second-featured-threads-background:linear-gradient(180deg,#131629 35.46%,#0F161E 78.74%,#0F161E 96.86%);--white-background:#272D34;--context-menu-background:#272D34;--progress-bar-background:#3F454B;--widget-label-background:#3F454B;--input-background:#3F454B;--java-ads-background:#15395b;--background-fact-overlay:linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,1));--dark-icon:#D0D5DD;--header-menu-button:#344054;--hover-header-menu-button:#E6F0FD;--burger-button:#FFFFFF;--hover-burger-button:#1570EF;--secondary-button:#344054;--light-button:#043E8C;--text-on-light-button:#E6F0FD;--text-on-gradient-button:#FFFFFF;--primary-border:#3F454B;--secondary-border:#3F454B;--secondary-button-border:#3F454B;--blue-border:#1570EF;--white-border:#272D34;--border-thread-thumbnail:#0e161e;--primary-color:#3986EE;--text-on-primary-color:#FFFFFF;--tinhte-xe-color:#F5222D;--tinhte-audio-color:#EB2F96;--yt-background:#112A45;--yt-active-selection:#15395B;--toastify-color-light:#272D34 !important;--toastify-text-color-light:#FFFFFF !important;}"]; variables_defaultExport.__hash = "1355923940"; /* harmony default export */ var variables = (variables_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/styles/base.js var base_defaultExport = ["@font-face{font-family:\"Lato\";font-weight:300;src:url(\"/static/fonts/Lato/Lato-Medium.ttf\");}", "@font-face{font-family:\"Lato\";font-weight:400;src:url(\"/static/fonts/Lato/Lato-Regular.ttf\");}", "@font-face{font-family:\"Lato\";font-weight:500;src:url(\"/static/fonts/Lato/Lato-Semibold.ttf\");}", "@font-face{font-family:\"Lato\";font-weight:600;src:url(\"/static/fonts/Lato/Lato-Semibold.ttf\");}", "@font-face{font-family:\"Lato\";font-weight:700;src:url(\"/static/fonts/Lato/Lato-Bold.ttf\");}", "@font-face{font-family:\"Lato\";font-weight:900;src:url(\"/static/fonts/Lato/Lato-Heavy.ttf\");}", "*:not(.no-custom-scrollbar)::-webkit-scrollbar{width:14px;height:14px;}", "*:not(.no-custom-scrollbar)::-webkit-scrollbar:horizontal{width:9px;height:9px;}", "*:not(.no-custom-scrollbar)::-webkit-scrollbar-track{background-color:var(--scrollbar-track-bg);}", "*:not(.no-custom-scrollbar)::-webkit-scrollbar-track:horizontal{border-radius:8px;}", "*:not(.no-custom-scrollbar)::-webkit-scrollbar-thumb{border-radius:8px;border:3px solid var(--scrollbar-track-bg);background-color:var(--scrollbar-thumb-bg);}", "*:not(.no-custom-scrollbar)::-webkit-scrollbar-thumb:horizontal{border:0;}", "*:not(.no-custom-scrollbar)::-webkit-scrollbar-corner{border-radius:8px;background-color:var(--scrollbar-track-bg);}", "html{-webkit-transition:all 0.3s ease;transition:all 0.3s ease;}", "html .light-logo{display:block;}", "html .dark-logo{display:none;}", "html.dark .light-logo{display:none;}", "html.dark .dark-logo{display:block;}", "body{color:var(--primary-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,\".SFNSText-Regular\",sans-serif,\"Lato\",Arial;font-size:16px;font-weight:400;line-height:24px;background-color:var(--primary-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}", "strong{font-weight:600;}", "img{max-width:100%;}", "br{content:\" \";display:block;margin-top:16px;}", ".text-center{text-align:center;}", ".no-user-select{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}", ".light-btn{color:var(--color-accent-dark);font-size:14px;font-weight:700;text-align:center;border-radius:6px;padding:9px 15px;background-color:var(--light-background-5);}", ".dark-btn{color:var(--button-dark-text);font-size:14px;font-weight:700;text-align:center;border-radius:6px;padding:11px 15px;min-width:220px;background-color:var(--button-dark);}", ".btn-with-icon{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".btn-with-icon svg{margin-right:8px;}", ".dark-theme-icon svg g{fill:var(--dark-icon);}", ".dark-theme-icon svg path{fill:var(--dark-icon);}", ".dark-theme-icon svg circle{stroke:var(--dark-icon);}", ".load-more-btn{border-radius:4px;color:var(--color-accent-dark);background-color:var(--light-background-5);padding:12px;width:100%;font-weight:900;}", ".load-more-btn:hover{background-color:var(--button-high-contrast);color:var(--text-light);}", ".section-heading{font-size:18px;font-weight:900;margin-bottom:16px;}", ".review-editor-text-input{width:100%;padding:12px;border:2px solid var(--border-light);border-radius:4px;resize:none;font-size:16px;}", ".review-editor-text-input:focus{outline:none;border:2px solid var(--color-accent-dark);}", ".dark .section-heading svg g{fill:var(--dark-icon);}", ".dark .section-heading svg path{fill:var(--dark-icon);}", ".ReactModal__Content{border:0;box-shadow:0 1px 4px 0 rgba(102,98,98,0.4) !important;}", ".LinkExpander_Ratio .TinhteMods_Media_Youtube>iframe{left:0;height:100%;margin:0;padding:0;position:absolute;top:0;width:100%;}", ".vjs-fluid{padding-top:56.25% !important;}", ".Toastify__toast-container{font-size:13px !important;border-radius:8px !important;z-index:10001;}", ".Toastify__close-button{color:var(--primary-text) !important;}", "article~br{height:16px;}", "@media (min-width:768px){article~br{height:32px;}}"]; base_defaultExport.__hash = "483423815"; /* harmony default export */ var base = (base_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/styles/flex-layout.js var flex_layout_defaultExport = [".d-flex-row{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".d-flex-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".jc-space-between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}", ".ai-center{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".container{width:100%;margin:0 auto;padding:0 10px;}", "@media (min-width:576px){.container{padding:0 20px;max-width:none;}}", "@media (min-width:1200px){.container{max-width:1216px;}}", ".row{margin-left:-10px;margin-right:-10px;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}", "@media (min-width:576px){.row{margin-left:-20px;margin-right:-20px;}}", ".col-full-width{width:100%;padding-left:10px;padding-right:10px;}", "@media (min-width:576px){.col-full-width{padding-left:20px;padding-right:20px;}}", ".col-full-width.no-padding{padding:0;}", ".col-left{width:100%;padding-left:10px;padding-right:10px;}", "@media (min-width:576px){.col-left{padding-left:20px;padding-right:20px;}}", "@media (min-width:992px){.col-left{width:350px;}}", ".col-right{width:100%;padding-left:10px;padding-right:10px;}", "@media (min-width:576px){.col-right{padding-left:20px;padding-right:20px;}}", "@media (min-width:992px){.col-right{width:350px;}}", ".col-main{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding-left:10px;padding-right:10px;overflow:hidden;}", "@media (min-width:992px){.col-main~.col-right{padding-left:0;}}", "@media (min-width:576px){.col-main{padding-left:20px;padding-right:20px;}}", "@media (min-width:992px){.col-main{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;}}", ".fluid.container{max-width:none;}", ".fluid .row{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}", "@media (min-width:992px){.fluid .col-main{max-width:750px;}}", "@media (min-width:992px){.fluid .col-main.main-large{max-width:900px;}}", ".hidden-xs{display:none;}", "@media (min-width:576px){.hidden-xs{display:block;}}", ".hidden-sm{display:none;}", "@media (min-width:768px){.hidden-sm{display:block;}}", ".hidden-md{display:none;}", "@media (min-width:992px){.hidden-md{display:block;}}", ".hidden-xmd{display:none;}", "@media (min-width:1100px){.hidden-xmd{display:block;}}", ".visible-xs{display:block;}", "@media (min-width:576px){.visible-xs{display:none;}}", ".visible-sm{display:block;}", "@media (min-width:768px){.visible-sm{display:none;}}", ".visible-md{display:block;}", "@media (min-width:992px){.visible-md{display:none;}}", ".visible-xmd{display:block;}", "@media (min-width:1100px){.visible-xmd{display:none;}}"]; flex_layout_defaultExport.__hash = "2563925219"; /* harmony default export */ var flex_layout = (flex_layout_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/styles/customized-plugin.js var customized_plugin_defaultExport = [".ReactModal__Overlay{z-index:10000;background-color:rgba(0,0,0,0.9) !important;opacity:0 !important;-webkit-transition:opacity 0.3s ease;transition:opacity 0.3s ease;}", ".ReactModal__Overlay--after-open{opacity:1 !important;}", ".ReactModal__Overlay--before-close{opacity:0 !important;}", ".ReactModal__Overlay .ReactModal__Content{border-radius:0;border:none;}", ".lightBox .imageContainer{background:var(--text-always-black) !important;}", ".ril-caption-content.ril__captionContent{font-size:16px;padding:10px;}", "@media (min-width:768px){.ril-caption-content.ril__captionContent{font-size:16px;padding:20px;}}"]; customized_plugin_defaultExport.__hash = "1595348801"; /* harmony default export */ var customized_plugin = (customized_plugin_defaultExport); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/styles/common.js var common_defaultExport = [".seperator{margin:12px 0;height:1px;background-color:var(--primary-border);}", ".burger-menu{padding:4px 8px;border-radius:40px;background-color:var(--header-menu-button);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".burger-menu .user{border-radius:50%;}", ".burger-menu .burger{margin:0 8px 0 16px;}", ".burger-menu .burger span{border-radius:3px;width:16px;height:2px;margin:2px 0;display:block;background-color:var(--burger-button);}", ".burger-menu:hover burger span,.burger-menu:focus burger span{background-color:var(--hover-burger-button);}", ".header-context-menu{font-size:16px;line-height:24px;padding:0 0 12px;border-radius:0;min-width:280px;box-shadow:var(--box-shadow);background:var(--context-menu-background);}", "@media (min-width:576px){.header-context-menu{border-radius:8px;padding:12px 0;}}", ".header-context-menu ul{border-top:1px solid var(--primary-border);}", ".header-context-menu ul:first-child{border-top:0;}", ".header-context-menu ul li{padding:8px 12px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;white-space:nowrap;}", ".header-context-menu ul li>*{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".header-context-menu ul li:hover{cursor:pointer;}", ".header-context-menu ul li>a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;}", ".header-context-menu ul li svg{margin-right:20px;width:20px;height:20px;}", "@media (min-width:576px){.header-context-menu ul li{padding:12px 24px;}}", ".notification-menu{border-radius:8px;min-width:230px;box-shadow:var(--box-shadow);background:var(--context-menu-background);}", "@media (min-width:576px){.notification-menu{min-width:270px;}}", "@media (min-width:768px){.notification-menu{min-width:400px;}}", ".notification-menu .list-header{padding:12px;border-bottom:1px solid var(--primary-border);}", ".notification-menu .list-title{font-size:18px;font-weight:600;}", ".notification-menu .list{max-height:360px;overflow-y:auto;}", ".notification-menu .item{border-top:1px solid var(--primary-border);}", ".notification-menu .item:first-child{border-top:none;}", ".notification-menu .view-all-btn{font-size:16px;font-weight:500;text-align:center;padding:16px;border-top:1px solid var(--primary-border);display:block;}", ".section-heading{color:var(--primary-text);font-size:18px;font-weight:700;margin:0 0 16px;}", ".button{text-align:center;font-size:14px;font-weight:600;border-radius:4px;padding:7px 16px;display:block;}", ".button-primary{color:var(--text-on-primary-color);font-size:16px;background-color:var(--primary-color);}", ".button-secondary{border:1px solid var(--secondary-button-border);background-color:var(--secondary-button);}", ".button-light{font-size:16px;color:var(--text-on-light-button);background-color:var(--light-button);}", ".button-gradient-1{color:var(--text-on-gradient-button);font-weight:500;line-height:18px;background-image:var(--gradient-1-button);}", ".button-gradient-2{color:var(--text-on-gradient-button);font-weight:500;line-height:18px;background-image:var(--gradient-2-button);}", ".button-full-size{width:100%;}", ".thread-title{font-size:16px;font-weight:700;line-height:1.4;margin-bottom:8px;}", ".thread-title:hover{color:var(--hover-primary-text);}", ".author{color:var(--primary-text);font-size:13px;line-height:18px;font-weight:700;}", ".excerpt{color:var(--content-text);font-size:14px;line-height:20px;}", ".excerpt-bubble{color:var(--content-bubble-text);}"]; common_defaultExport.__hash = "3673800074"; /* harmony default export */ var common = (common_defaultExport); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/index.js /* provided dependency */ var process = __webpack_require__(34155); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0,getPrototypeOf/* default */.Z)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,getPrototypeOf/* default */.Z)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,possibleConstructorReturn/* default */.Z)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* eslint-env browser */ /* eslint-disable react/no-danger */ /* eslint-disable max-len */ /* eslint-disable react/no-array-index-key */ var Page = /*#__PURE__*/function (_React$Component) { (0,inherits/* default */.Z)(Page, _React$Component); var _super = _createSuper(Page); function Page() { (0,classCallCheck/* default */.Z)(this, Page); return _super.apply(this, arguments); } (0,createClass/* default */.Z)(Page, [{ key: "componentDidMount", value: function componentDidMount() { var theme = 'tinhte'; if (/xe\./.test(window.location.href)) { theme = 'xe'; } else if (/audio\./.test(window.location.href)) { theme = 'audio'; } else if (/camera\./.test(window.location.href)) { theme = 'camera'; } else { theme = 'tinhte'; } if (!theme) { return; } document.documentElement.classList.add("theme-".concat(theme)); } }, { key: "render", value: function render() { var _this$props = this.props, title = _this$props.title, description = _this$props.description, ogImageUrl = _this$props.ogImageUrl, url = _this$props.url, gaId = _this$props.gaId, _this$props$ga4Id = _this$props.ga4Id, ga4Id = _this$props$ga4Id === void 0 ? 'G-EHPF9BTE3E' : _this$props$ga4Id, keywords = _this$props.keywords, reFetching = _this$props.reFetching, structuredSchema = _this$props.structuredSchema, wordCount = _this$props.wordCount, author = _this$props.author, noIndex = _this$props.noIndex, ogType = _this$props.ogType, threadView = _this$props.threadView, isCommunityPage = _this$props.isCommunityPage; var organizationStructuredSchema = { '@id': 'https://tinhte.vn/#Organization', '@context': 'http://schema.org', '@type': 'Organization', name: 'Tinh tế', url: 'https://tinhte.vn/', logo: { '@type': 'ImageObject', url: 'https://tinhte.vn/static/images/tinhte_logo_length_black.png', width: 289, height: 67 }, contactPoint: [{ '@type': 'ContactPoint', telephone: '02822460095', contactType: 'customer service', areaServed: 'VN', availableLanguage: ['EN', 'VN'] }], sameAs: ['https://www.youtube.com/user/tinhtevideo', 'https://www.facebook.com/tinhte', 'https://vi.wikipedia.org/wiki/Tinhte.vn'] }; var getAdmicro = function getAdmicro() { if (true) { if (main/* isMobile */.tq) { return 'https://static.amcdn.vn/core/mbtk.js'; } return 'https://static.amcdn.vn/tka/cdn.js'; } return ''; }; var structuredSchemaToRender = structuredSchema || []; if (structuredSchemaToRender) { structuredSchemaToRender = [organizationStructuredSchema].concat((0,toConsumableArray/* default */.Z)(structuredSchemaToRender)); } return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "root", children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(head.default, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("title", { children: title }), structuredSchemaToRender && structuredSchemaToRender.map(function (schema, idx) { return /*#__PURE__*/(0,jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: JSON.stringify(schema) }, type: "application/ld+json" }, "schemaIndex-".concat(idx)); }), /*#__PURE__*/(0,jsx_runtime.jsx)("link", { rel: "preconnect", href: "https://fonts.googleapis.com" }), /*#__PURE__*/(0,jsx_runtime.jsx)("link", { rel: "preconnect", href: "https://fonts.gstatic.com", crossOrigin: true }), /*#__PURE__*/(0,jsx_runtime.jsx)("link", { href: "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap", rel: "stylesheet" }), /*#__PURE__*/(0,jsx_runtime.jsx)("link", { rel: "stylesheet", href: "/static/fonts/FontAwesome/all.css" }), /*#__PURE__*/(0,jsx_runtime.jsx)("link", { rel: "stylesheet", href: "https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css" }), /*#__PURE__*/(0,jsx_runtime.jsx)("link", { rel: "shortcut icon", type: "image/x-icon", href: "/static/images/icons/favicon.ico" }, "favicon"), /*#__PURE__*/(0,jsx_runtime.jsx)("script", { src: "https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" }), wordCount && /*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment, { children: wordCount < 150 || !author.verified_badge ? /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { name: "robots", content: "index,follow" }) : /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { content: "index,follow", name: "robots" }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { charSet: "utf-8" }, "charset"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { name: "viewport", content: "width=device-width, initial-scale=1, maximum-scale=1" }, "viewport"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { name: "keywords", content: keywords || 'công nghệ, khoa học, kĩ thuật, mẹo vặt, cộng đồng, thảo luận, hỏi đáp, sửa lỗi, máy tính, sự cố, camera, lỗi điện thoại, lỗi máy tính' }), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { name: "author", content: "Tinh t\u1EBF" }), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { name: "publisher", content: "C\u1ED5ng ty C\u1ED5 ph\u1EA7n M\u1EA1ng x\xE3 h\u1ED9i Tinh t\u1EBF" }), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { name: "copyright", content: "C\u1ED5ng ty C\u1ED5 ph\u1EA7n M\u1EA1ng x\xE3 h\u1ED9i Tinh t\u1EBF" }), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "fb:pages", content: "122102927812763" }, "fb:pages"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { name: "description", content: description || 'Diễn đàn thảo luận về Điện thoại, Máy tính, Máy ảnh và các thiết bị Khoa học & Công nghệ.' }, "description"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "og:site_name", content: "Tinh t\u1EBF" }, "og:site_name"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "og:image", content: ogImageUrl || '/static/images/icons/apple-touch-icon.png' }, "og:image"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "og:type", content: ogType || 'article' }, "og:type"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "og:url", content: url || 'https://tinhte.vn/' }, "og:url"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "og:title", content: "".concat(title) || 'Tinhte.vn' }, "og:title"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "og:description", content: description || 'Diễn đàn thảo luận về Điện thoại, Máy tính, Máy ảnh và các thiết bị Khoa học & Công nghệ.' }, "og:description"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "twitter:card", content: "summary" }, "twitter:card"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "twitter:title", content: "".concat(title) || 'Tinhte.vn' }, "twitter:title"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "twitter:description", content: description || 'Diễn đàn thảo luận về Điện thoại, Máy tính, Máy ảnh và các thiết bị Khoa học & Công nghệ.' }, "twitter:description"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "twitter:image", content: ogImageUrl || '/static/images/icons/apple-touch-icon.png' }, "twitter:image"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "twitter:url", content: url && url !== '' ? url : 'https://tinhte.vn/' }, "twitter:url"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { property: "fb:app_id", content: "145923738846814" }, "fb:app_id"), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { name: "robots", content: "max-image-preview:large, index" }), /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { name: "msapplication-TileColor", content: "#0E1620" }, "msapplication-TileColor"), noIndex && /*#__PURE__*/(0,jsx_runtime.jsx)("meta", { name: "robots", content: "noindex, follow" }), /*#__PURE__*/(0,jsx_runtime.jsx)("link", { rel: "alternate", type: "application/rss+xml", title: "RSS c\u1EE7a Tinhte.vn", href: "https://tinhte.vn/rss/" }, "alternate"), /*#__PURE__*/(0,jsx_runtime.jsx)("link", { rel: "apple-touch-icon", type: "image/png", href: "/static/images/icons/apple-touch-icon.png" }, "apple-touch-icon"), /*#__PURE__*/(0,jsx_runtime.jsx)("link", { rel: "canonical", href: url && url !== '' ? url : 'https://tinhte.vn' }, "canonical"), !reFetching && /*#__PURE__*/(0,jsx_runtime.jsx)("script", { async: true, src: "//servg1.net/o.js?uid=b919b371bbd86ededf59d7af", type: "text/javascript" }), !reFetching && /*#__PURE__*/(0,jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: "\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');\n\n ga('create', '".concat(gaId || process.env.TINHTE_GOOGLE_ANALYTICS_ID, "', 'auto');\n ga('send', 'pageview');\n ") } }), !reFetching && /*#__PURE__*/(0,jsx_runtime.jsx)("script", { async: true, src: "https://www.googletagmanager.com/gtag/js?id=".concat(ga4Id) }), !reFetching && /*#__PURE__*/(0,jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: "\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n\n gtag('config', '".concat(ga4Id, "');\n ") } }), !reFetching && /*#__PURE__*/(0,jsx_runtime.jsx)("script", { async: true, src: "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" }), !reFetching && /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("script", { type: "text/javascript", src: "//nc.pubpowerplatform.io/w/8f0d96a8-2360-41c5-afb3-6ebbabca2b2e.js", async: true, defer: true }), /*#__PURE__*/(0,jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: 'var powerTag = powerTag || {};powerTag.gdprShowConsentToolButton = false;' } }), /*#__PURE__*/(0,jsx_runtime.jsx)("script", { type: "text/javascript", src: "//nc.pubpowerplatform.io/ata/adv/8f0d96a8-2360-41c5-afb3-6ebbabca2b2e.js", async: true, defer: true })] }), !reFetching && /*#__PURE__*/(0,jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: "\n (adsbygoogle = window.adsbygoogle || []).push({\n google_ad_client: \"ca-pub-1548701443069821\",\n enable_page_level_ads: true\n });\n " } }), !reFetching && /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("script", { async: true, src: getAdmicro() }), /*#__PURE__*/(0,jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: "\n var arfAsync = arfAsync || [];\n " } }), /*#__PURE__*/(0,jsx_runtime.jsx)("script", { id: "arf-core-js", onError: "window.arferrorload=true;", src: "//media1.admicro.vn/cms/Arf.min.js", async: true })] }), !reFetching && tracking/* default */.Z, !reFetching && /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: "\n window.gnshbrequest = window.gnshbrequest || {cmd:[]};\n window.gnshbrequest.cmd.push(function(){\n window.gnshbrequest.forceInternalRequest();\n });\n " } }), /*#__PURE__*/(0,jsx_runtime.jsx)("script", { async: true, src: "https://securepubads.g.doubleclick.net/tag/js/gpt.js" }), /*#__PURE__*/(0,jsx_runtime.jsx)("script", { async: true, src: "https://cpt.geniee.jp/hb/v1/219655/1534/wrapper.min.js" })] })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(hocs_pageConfigs/* default.Provider */.Z.Provider, { value: (0,homeConfigs/* default */.Z)((0,pageConfigs.getPageConfigs)()), children: /*#__PURE__*/(0,jsx_runtime.jsx)(tinhteAdsConfigs/* default.Provider */.Z.Provider, { value: (0,pageConfigs.getTinhteAdsConfigs)(), children: /*#__PURE__*/(0,jsx_runtime.jsx)(reactionConfigs/* default.Provider */.Z.Provider, { value: (0,normalize_reactionConfigs/* default */.Z)((0,pageConfigs.getReactionConfigs)()), children: this.props.children }) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: styles_reset.__hash, children: styles_reset }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: variables.__hash, children: variables }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: base.__hash, children: base }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: flex_layout.__hash, children: flex_layout }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: customized_plugin.__hash, children: customized_plugin }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: common.__hash, children: common })] }); } }]); return Page; }(react.Component); /* harmony default export */ var Revamped_Page = (Page); /***/ }), /***/ 84367: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ tracking; } }); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/tracking/FacebookPixel.js /* harmony default export */ var FacebookPixel = (function () { return ( /*#__PURE__*/ /* eslint-disable react/no-danger */ (0,jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: "\n !function(f,b,e,v,n,t,s)\n {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n n.queue=[];t=b.createElement(e);t.async=!0;\n t.src=v;s=b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t,s)}(window, document,'script',\n 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', '559511104461231');\n fbq('track', 'PageView');\n " } }) ); }); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/tracking/FacebookPixelEvents.js /* harmony default export */ var FacebookPixelEvents = (function () { return ( /*#__PURE__*/ /* eslint-disable react/no-danger */ (0,jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: "\n fbq('track', 'ViewContent', {\n value: 1,\n currency: 'VND',\n });\n " } }) ); }); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/tracking/FacebookJavaScriptSDK.js /* harmony default export */ var FacebookJavaScriptSDK = (function () { return ( /*#__PURE__*/ /* eslint-disable react/no-danger */ (0,jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: "\n window.fbAsyncInit = function() {\n FB.init({\n appId : '145923738846814',\n autoLogAppEvents : true,\n xfbml : true,\n version : 'v12.0'\n });\n };\n \n (function(d, s, id){\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) {return;}\n js = d.createElement(s); js.id = id;\n js.src = \"https://connect.facebook.net/en_US/sdk.js\";\n fjs.parentNode.insertBefore(js, fjs);\n }(document, 'script', 'facebook-jssdk'));\n " } }) ); }); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/tracking/FireBaseApp.js /* harmony default export */ var FireBaseApp = (function () { return ( /*#__PURE__*/ /* eslint-disable react/no-danger */ (0,jsx_runtime.jsx)("script", { type: "text/javascript", src: "https://www.gstatic.com/firebasejs/7.5.2/firebase-app.js" }) ); }); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/tracking/FireBaseAnalytics.js /* harmony default export */ var FireBaseAnalytics = (function () { return ( /*#__PURE__*/ /* eslint-disable react/no-danger */ (0,jsx_runtime.jsx)("script", { type: "text/javascript", src: "https://www.gstatic.com/firebasejs/7.5.2/firebase-analytics.js" }) ); }); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/tracking/FireBaseConfig.js /* harmony default export */ var FireBaseConfig = (function () { return ( /*#__PURE__*/ /* eslint-disable react/no-danger */ (0,jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: "\n var firebaseConfig = {\n apiKey: \"AIzaSyDWAPFMaWXFbERvNRUpiMdEvvVEo4_4gtc\",\n authDomain: \"tinhte-apps.firebaseapp.com\",\n databaseURL: \"https://tinhte-apps.firebaseio.com\",\n projectId: \"tinhte-apps\",\n storageBucket: \"tinhte-apps.appspot.com\",\n messagingSenderId: \"460325099291\",\n appId: \"1:460325099291:web:dc1cfc774ab8b65a4ae5be\",\n measurementId: \"G-L2J9ZH0B0E\"\n };\n firebase.initializeApp(firebaseConfig);\n firebase.analytics();\n " } }) ); }); ;// CONCATENATED MODULE: ./src/components/Revamped/Page/tracking/index.js // import GoogleAnalytics from './GoogleAnalytics'; // import CrazyEgg from './CrazyEgg'; /* harmony default export */ var tracking = ([ /*#__PURE__*/ // , (0,jsx_runtime.jsx)(FacebookPixel, {}, "Facebook Pixel"), /*#__PURE__*/(0,jsx_runtime.jsx)(FacebookPixelEvents, {}, "Facebook Pixel Events"), /*#__PURE__*/(0,jsx_runtime.jsx)(FacebookJavaScriptSDK, {}, "Facebook JavaScript SDK"), /*#__PURE__*/(0,jsx_runtime.jsx)(FireBaseApp, {}, "FireBaseApp"), /*#__PURE__*/(0,jsx_runtime.jsx)(FireBaseAnalytics, {}, "FireBaseAnalytics"), /*#__PURE__*/(0,jsx_runtime.jsx)(FireBaseConfig, {}, "FireBaseConfig")]); /***/ }), /***/ 91525: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(92809); /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(30266); /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(809); /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67294); /* harmony import */ var tinhte_api_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48484); /* harmony import */ var _globals_env__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(89288); /* harmony import */ var _globals_env__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_globals_env__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _globals_pageConfigs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9552); /* harmony import */ var _globals_pageConfigs__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_globals_pageConfigs__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(85893); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_1__/* .default */ .Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } /* eslint-disable */ // import Head from 'next/head'; // - This "api" instance is global, shared across users and requests on // server-side. // - It is intentional that there is no config here. The config will be set // later in each getInitialProps var api = (0,tinhte_api_react__WEBPACK_IMPORTED_MODULE_3__.apiFactory)(); var wrapPageWApi = function wrapPageWApi(PageComponent) { var PageWApi = api.ProviderHoc(PageComponent); // TODO: explaining how the below code works... PageWApi.getInitialProps = /*#__PURE__*/function () { var _ref = (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_7__/* .default */ .Z)( /*#__PURE__*/_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee(ctx) { var apiConfig, query, tempApi, TempProvider, clientSecret, tempProvider, apiData, pageProps; return _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: // TODO: need explaination apiConfig = (0,_globals_env__WEBPACK_IMPORTED_MODULE_4__.getApiConfig)(); query = ctx.query; // const { cookie } = ctx.req.headers; // let output = {}; // cookie.split(/\s*;\s*/).forEach((pair) => { // pair = pair.split(/\s*=\s*/); // output[pair[0]] = pair.splice(1).join('='); // }); // const json = JSON.stringify(output, null, 4); // console.log('ctx1'); if (query.shareableHash) { Object.assign(apiConfig, { headers: { 'Tinhte-Shareable-Hash': query.shareableHash } }); } // make sure all configs are available before pre-fetch attempt _context.next = 5; return Promise.all([(0,_globals_pageConfigs__WEBPACK_IMPORTED_MODULE_5__.getPageConfigs)(true), (0,_globals_pageConfigs__WEBPACK_IMPORTED_MODULE_5__.getTinhteAdsConfigs)(true), (0,_globals_pageConfigs__WEBPACK_IMPORTED_MODULE_5__.getReactionConfigs)(true)]); case 5: // TODO: need explanation tempApi = api.clone(apiConfig); TempProvider = tempApi.ProviderHoc(PageComponent); if (false) {} tempProvider = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(TempProvider, { apiConfig: apiConfig, query: query }); apiData = null; _context.prev = 10; _context.next = 13; return tempApi.fetchApiDataForProvider(tempProvider); case 13: apiData = _context.sent; _context.next = 19; break; case 16: _context.prev = 16; _context.t0 = _context["catch"](10); console.log('wrapPageWApi: ', _context.t0); case 19: _context.next = 21; return Promise.resolve(PageComponent.getInitialProps ? PageComponent.getInitialProps(ctx) : {}); case 21: pageProps = _context.sent; return _context.abrupt("return", _objectSpread(_objectSpread({}, pageProps), {}, { apiConfig: apiConfig, apiData: apiData, query: query })); case 23: case "end": return _context.stop(); } } }, _callee, null, [[10, 16]]); })); return function (_x) { return _ref.apply(this, arguments); }; }(); return PageWApi; }; /* harmony default export */ __webpack_exports__["Z"] = (wrapPageWApi); /***/ }), /***/ 51378: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(92809); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67294); /* harmony import */ var react_device_detect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59359); /* harmony import */ var tinhte_api_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48484); /* harmony import */ var _utils_deviceFingerprint__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(66317); /* harmony import */ var _utils_tinhteAnalytics__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(94138); /* harmony import */ var _errorWrapped__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(53764); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } /* eslint-disable */ var PageImpressionTracking = function PageImpressionTracking(_ref) { var pageName = _ref.pageName, taPageName = _ref.taPageName, taAttributes = _ref.taAttributes, pageDesktopName = _ref.pageDesktopName, pageMobileName = _ref.pageMobileName, api = _ref.api, extraData = _ref.extraData, taFromBlock = _ref.taFromBlock; var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0), isTracked = _useState[0], setIsTracked = _useState[1]; var pageNameToTrack = null; if (pageName) { pageNameToTrack = pageName || taPageName; } else { // Log mobile and desktop separately // eslint-disable-next-line if (react_device_detect__WEBPACK_IMPORTED_MODULE_2__/* .isMobile */ .tq) { pageNameToTrack = pageMobileName; } else { pageNameToTrack = pageDesktopName; } } var trackImpression = function trackImpression() { if (pageNameToTrack) { var referrer = window.document.referrer; var objectToSubmit = { block_id: 11, page: pageNameToTrack, referrer: referrer }; if (extraData) { objectToSubmit.data = extraData; } else { objectToSubmit.data = {}; } var deviceFingerprintData = null; try { Promise.resolve(_utils_deviceFingerprint__WEBPACK_IMPORTED_MODULE_4__/* .default.getFingerprint */ .Z.getFingerprint()).then(function (fpData) { deviceFingerprintData = fpData; if (deviceFingerprintData) { objectToSubmit.data.device_fingerprint_hash = deviceFingerprintData.fingerprintHash; objectToSubmit.data = _objectSpread({}, objectToSubmit.data); } }); } catch (err) { console.error('Cannot get df:', err); } api.onAuthenticated(function () { api.post({ uri: 'tinhte-ads/blocks/impressions', params: objectToSubmit }); }); } }; (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () { // trackImpression(); if (window && isTracked === 0) { api.onAuthenticated(function () { var ta = new _utils_tinhteAnalytics__WEBPACK_IMPORTED_MODULE_5__/* .default */ .Z(api); ta.trackPageView(taPageName, api.getUserId(), taAttributes, taFromBlock); }); } setIsTracked(isTracked + 1); }, []); return null; }; /* harmony default export */ __webpack_exports__["Z"] = ((0,_errorWrapped__WEBPACK_IMPORTED_MODULE_6__/* .default */ .Z)(tinhte_api_react__WEBPACK_IMPORTED_MODULE_3__.apiHoc.ApiConsumer(PageImpressionTracking), { errorMsg: 'Lỗi API' })); /***/ }), /***/ 89802: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294); /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30381); /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(85893); // set moment globally moment__WEBPACK_IMPORTED_MODULE_1___default().locale('vi', { relativeTime: { future: 'trong %s', past: '%s trước', s: '1 giây', ss: '%s giây', m: '1 phút', mm: '%d phút', h: '1h', hh: '%dh', d: '1 ngày', dd: '%d ngày', M: '1 tháng', MM: '%d tháng', y: '1 năm', yy: '%d năm' } }); var TimeFromNow = function TimeFromNow(_ref) { var value = _ref.value, _ref$noSuffix = _ref.noSuffix, noSuffix = _ref$noSuffix === void 0 ? true : _ref$noSuffix, _ref$title = _ref.title, title = _ref$title === void 0 ? '' : _ref$title, _ref$showSpecificTime = _ref.showSpecificTime, showSpecificTime = _ref$showSpecificTime === void 0 ? true : _ref$showSpecificTime; var m = moment__WEBPACK_IMPORTED_MODULE_1___default()(value, 'X'); var diffDays = moment__WEBPACK_IMPORTED_MODULE_1___default()().diff(m, 'days'); if (showSpecificTime && diffDays > 7) { return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("span", { title: title, children: m.format('DD/MM/YYYY') }); } return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("span", { title: title, children: m.fromNow(noSuffix) }); }; /* harmony default export */ __webpack_exports__["Z"] = (TimeFromNow); /***/ }), /***/ 209: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ UserAvatar; } }); // EXTERNAL MODULE: ./node_modules/styled-jsx/style.js var style = __webpack_require__(65988); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./src/resources/default/asset.js var asset = __webpack_require__(85034); ;// CONCATENATED MODULE: ./src/components/UserAvatar/styles.js var _defaultExport = ["img.avatar.jsx-1509373995{width:32px;height:32px;margin-right:8px;border-radius:100%;border:1px solid;border-color:var(--blue-border);background-color:var(--grey-background);display:block;object-fit:cover;}", "@media (max-width:575px){img.avatar.jsx-1509373995:not(.no-scale){width:28px !important;height:28px !important;}}"]; _defaultExport.__hash = "1509373995"; /* harmony default export */ var styles = (_defaultExport); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/UserAvatar/index.js var Avatar = function Avatar(_ref) { var src = _ref.src, _ref$alt = _ref.alt, alt = _ref$alt === void 0 ? 'User not exist' : _ref$alt, _ref$profile = _ref.profile, profile = _ref$profile === void 0 ? '' : _ref$profile, _ref$width = _ref.width, width = _ref$width === void 0 ? '32px' : _ref$width, _ref$height = _ref.height, height = _ref$height === void 0 ? '32px' : _ref$height, _ref$noBorder = _ref.noBorder, noBorder = _ref$noBorder === void 0 ? false : _ref$noBorder, _ref$noScale = _ref.noScale, noScale = _ref$noScale === void 0 ? false : _ref$noScale, _ref$userColor = _ref.userColor, userColor = _ref$userColor === void 0 ? 'var(--blue-border)' : _ref$userColor; return /*#__PURE__*/(0,jsx_runtime.jsxs)("a", { target: "_blank", href: profile, rel: "noreferrer", className: "jsx-".concat(styles.__hash), children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", { style: { minWidth: width, minHeight: height, border: "".concat(noBorder ? '0px solid' : "1px solid ".concat(userColor)) }, src: src || asset/* default.userAvatar */.Z.userAvatar, alt: alt, className: "jsx-".concat(styles.__hash) + " " + ((noScale ? 'avatar no-scale' : 'avatar') || "") }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: styles.__hash, children: styles })] }); }; /* harmony default export */ var UserAvatar = (Avatar); /***/ }), /***/ 53764: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ components_errorWrapped; } }); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/defineProperty.js var defineProperty = __webpack_require__(92809); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/classCallCheck.js var classCallCheck = __webpack_require__(68216); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/createClass.js var createClass = __webpack_require__(25997); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules var inherits = __webpack_require__(13444); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js + 1 modules var possibleConstructorReturn = __webpack_require__(30268); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js var getPrototypeOf = __webpack_require__(92953); // EXTERNAL MODULE: ./node_modules/styled-jsx/style.js var style = __webpack_require__(65988); ;// CONCATENATED MODULE: ./src/components/ErrorBanner/styles.js var _defaultExport = [".error-banner.jsx-1368956447{background:var(--color-warning-soft);padding:5px 10px;}"]; _defaultExport.__hash = "1368956447"; /* harmony default export */ var styles = (_defaultExport); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/ErrorBanner/index.js var ErrorBanner = function ErrorBanner(_ref) { var errorMsg = _ref.errorMsg; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "jsx-".concat(styles.__hash) + " " + "error-banner", children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", { className: "jsx-".concat(styles.__hash), children: [errorMsg || 'Có gì đó sai sai', ". Nh\u1EDD anh em b\xE1o l\u1EA1i mod \u0111\u1EC3 fix nha :("] }), /*#__PURE__*/(0,jsx_runtime.jsx)(style.default, { id: styles.__hash, children: styles })] }); }; /* harmony default export */ var components_ErrorBanner = (ErrorBanner); ;// CONCATENATED MODULE: ./src/components/ErrorBoundary/index.js function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0,getPrototypeOf/* default */.Z)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0,getPrototypeOf/* default */.Z)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0,possibleConstructorReturn/* default */.Z)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var ErrorBoundary = /*#__PURE__*/function (_React$Component) { (0,inherits/* default */.Z)(ErrorBoundary, _React$Component); var _super = _createSuper(ErrorBoundary); function ErrorBoundary(props) { var _this; (0,classCallCheck/* default */.Z)(this, ErrorBoundary); _this = _super.call(this, props); _this.state = { hasError: false }; return _this; } (0,createClass/* default */.Z)(ErrorBoundary, [{ key: "componentDidCatch", value: function componentDidCatch(error, info) { if (false) {} console.log(error); console.log(info); // if (this.state.hasError) return; this.setState({ hasError: true }); } }, { key: "render", value: function render() { var errorMsg = this.props.errorMsg; var hasError = this.state.hasError; return hasError ? /*#__PURE__*/(0,jsx_runtime.jsx)(components_ErrorBanner, { errorMsg: errorMsg }) : this.props.children; } }]); return ErrorBoundary; }(react.Component); /* harmony default export */ var components_ErrorBoundary = (ErrorBoundary); ;// CONCATENATED MODULE: ./src/components/errorWrapped.js function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } // Currently this only catches errors during client-side rendering var errorWrapped = function errorWrapped(Component) { var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, errorMsg = _ref.errorMsg; var ErrorWrapped = function ErrorWrapped(props) { return /*#__PURE__*/(0,jsx_runtime.jsx)(components_ErrorBoundary, { errorMsg: errorMsg, children: /*#__PURE__*/(0,jsx_runtime.jsx)(Component, _objectSpread({}, props)) }); }; ErrorWrapped.displayName = ErrorWrapped.name; return ErrorWrapped; }; /* harmony default export */ var components_errorWrapped = (errorWrapped); /***/ }), /***/ 89288: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { /* provided dependency */ var process = __webpack_require__(34155); var getApiConfig = function getApiConfig() { var apiConfig = { // apiRoot: 'https://data.tinhte.vn/appforo/index.php', callbackUrl: process.env.TINHTE_API_CALLBACK, clientId: process.env.TINHTE_CLIENT_ID, cookiePrefix: process.env.TINHTE_COOKIE_PREFIX || '', debug: process.env.TINHTE_API_DEBUG === '1', scope: process.env.TINHTE_SCOPE || 'read post conversate' }; return apiConfig; }; var getApiClientSecret = function getApiClientSecret() { return process.env.TINHTE_CLIENT_SECRET; }; module.exports = { getApiConfig: getApiConfig, getApiClientSecret: getApiClientSecret }; /***/ }), /***/ 9552: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { var _defineProperty = __webpack_require__(61682); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } // Using CommonJS exports to be included in server.js var he = __webpack_require__(86492); // eslint-disable-next-line var pageConfigs = module.exports = {}; var _require = __webpack_require__(48484), apiFactory = _require.apiFactory; var _require2 = __webpack_require__(89288), getApiConfig = _require2.getApiConfig, getApiClientSecret = _require2.getApiClientSecret; var api = apiFactory(getApiConfig()); var defaultPageConfigs = { expiredAt: 0, ttl: 15 * 60 * 1000 }; var defaultTinhteAdsConfigs = { expiredAt: 0, ttl: 15 * 60 * 1000 }; var defaultReactionConfigs = { expiredAt: 0, ttl: 15 * 60 * 1000 }; var defaultPcHomeConfigs = { expiredAt: 0, ttl: 15 * 60 * 1000 }; var cached = Object.assign({}, defaultPageConfigs); var tinhteAdsCached = Object.assign({}, defaultTinhteAdsConfigs); var reactionCached = Object.assign({}, defaultReactionConfigs); var pcHomeCached = Object.assign({}, defaultPcHomeConfigs); var isRefreshing = false; var tinhteAdsIsRefreshing = false; var reactionIsRefreshing = false; var pcHomeIsRefreshing = false; pageConfigs.pageConfigsElementId = 'page-configs'; pageConfigs.tinhteAdsConfigsElementId = 'tinhte-ads-configs'; pageConfigs.reactionConfigsElementId = 'tinhte-reaction-configs'; pageConfigs.pcHomeConfigsElementId = 'pc-home-configs'; var fetchPageConfigsAsync = function fetchPageConfigsAsync() { var ott = api.generateOneTimeToken(getApiClientSecret()); return api.get("/tinhte/tinhte-home-configs?oauth_token=".concat(ott)).then(function (json) { var configs = _objectSpread(_objectSpread({}, cached), json.configs || {}); if (typeof configs.ttl !== 'number') { configs.ttl = defaultPageConfigs.ttl; } configs.expiredAt = Date.now() + configs.ttl; cached = Object.assign({}, configs); return configs; }, function () { return cached; }); }; pageConfigs.getPageConfigs = function () { var returnPromise = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; if (true) { // it's impossible to do in-browser fetching because we don't have the client secret, // check pages/_document.js to see how page configs are forwarded from SSR var element = __webpack_require__.g.document.getElementById(pageConfigs.pageConfigsElementId); if (element) { return JSON.parse(he.decode(element.textContent)) || defaultPageConfigs; } return defaultPageConfigs; } if (cached.expiredAt === 0 || cached.expiredAt < Date.now()) { // trigger async refresh if (!isRefreshing) { isRefreshing = true; var promise = fetchPageConfigsAsync()["finally"](function () { isRefreshing = false; }); if (returnPromise) return promise; } } return cached; }; var fetchTinhteAdsConfigsAsync = function fetchTinhteAdsConfigsAsync() { var ott = api.generateOneTimeToken(getApiClientSecret()); return api.get("/tinhte-ads/blocks?oauth_token=".concat(ott, "&is_live=1&fields_include=content.*,thread,*")).then(function (json) { var configs = _objectSpread(_objectSpread({}, tinhteAdsCached), json || {}); if (typeof configs.ttl !== 'number') { configs.ttl = defaultTinhteAdsConfigs.ttl; } configs.expiredAt = Date.now() + configs.ttl; tinhteAdsCached = Object.assign({}, configs); return configs; }, function () { return tinhteAdsCached; }); }; pageConfigs.getTinhteAdsConfigs = function () { var returnPromise = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; if (true) { // it's impossible to do in-browser fetching because we don't have the client secret, // check pages/_document.js to see how page configs are forwarded from SSR var element = __webpack_require__.g.document.getElementById(pageConfigs.tinhteAdsConfigsElementId); if (element) { return JSON.parse(he.decode(element.textContent)) || defaultTinhteAdsConfigs; } return defaultTinhteAdsConfigs; } if (tinhteAdsCached.expiredAt === 0 || tinhteAdsCached.expiredAt < Date.now()) { // trigger async refresh if (!tinhteAdsIsRefreshing) { tinhteAdsIsRefreshing = true; var promise = fetchTinhteAdsConfigsAsync()["finally"](function () { tinhteAdsIsRefreshing = false; }); if (returnPromise) return promise; } } return tinhteAdsCached; }; var fetchReactionConfigsAsync = function fetchReactionConfigsAsync() { var ott = api.generateOneTimeToken(getApiClientSecret()); return api.get("reactions?oauth_token=".concat(ott)).then(function (json) { var configs = _objectSpread(_objectSpread({}, reactionCached), json || {}); if (typeof configs.ttl !== 'number') { configs.ttl = defaultReactionConfigs.ttl; } configs.expiredAt = Date.now() + configs.ttl; reactionCached = Object.assign({}, configs); return configs; }, function () { return reactionCached; }); }; pageConfigs.getReactionConfigs = function () { var returnPromise = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; if (true) { // it's impossible to do in-browser fetching because we don't have the client secret, // check pages/_document.js to see how page configs are forwarded from SSR var element = __webpack_require__.g.document.getElementById(pageConfigs.reactionConfigsElementId); if (element) { return JSON.parse(he.decode(element.textContent)) || defaultReactionConfigs; } return defaultReactionConfigs; } if (reactionCached.expiredAt === 0 || reactionCached.expiredAt < Date.now()) { // trigger async refresh if (!reactionIsRefreshing) { reactionIsRefreshing = true; var promise = fetchReactionConfigsAsync()["finally"](function () { reactionIsRefreshing = false; }); if (returnPromise) return promise; } } return reactionCached; }; var fetchPcHomeConfigsAsync = function fetchPcHomeConfigsAsync() { var ott = api.generateOneTimeToken(getApiClientSecret()); return api.get("/tinhte/tinhte-home-configs&config_id=PCHomeConfigs&oauth_token=".concat(ott)).then(function (json) { var configs = _objectSpread(_objectSpread({}, pcHomeCached), json.configs || {}); if (typeof configs.ttl !== 'number') { configs.ttl = defaultPageConfigs.ttl; } configs.expiredAt = Date.now() + configs.ttl; pcHomeCached = Object.assign({}, configs); return configs; }, function () { return pcHomeCached; })["catch"](function (err) { return console.log("Error: ".concat(err)); }); }; pageConfigs.getPcHomeConfigs = function () { var returnPromise = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; if (true) { // it's impossible to do in-browser fetching because we don't have the client secret, // check pages/_document.js to see how page configs are forwarded from SSR var element = __webpack_require__.g.document.getElementById(pageConfigs.pcHomeConfigsElementId); if (element) { return JSON.parse(he.decode(element.textContent)) || defaultPcHomeConfigs; } return defaultPcHomeConfigs; } if (pcHomeCached.expiredAt === 0 || pcHomeCached.expiredAt < Date.now()) { // trigger async refresh if (!pcHomeIsRefreshing) { pcHomeIsRefreshing = true; var promise = fetchPcHomeConfigsAsync()["finally"](function () { pcHomeIsRefreshing = false; }); if (returnPromise) return promise; } } return pcHomeCached; }; /***/ }), /***/ 66168: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(92809); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67294); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(85893); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } /* eslint-disable no-param-reassign */ var createHoc = function createHoc(_ref) { var name = _ref.name, defaultValue = _ref.defaultValue, defaultContextMapper = _ref.defaultContextMapper; var Context = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createContext(defaultValue); var Provider = Context.Provider, Consumer = Context.Consumer; var subscribe = function subscribe(Component) { var mapContextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var contextConsumer = function contextConsumer(props) { var subscribedComponent = function subscribedComponent(contextProps) { if (mapContextProps) { contextProps = mapContextProps(contextProps); } else if (defaultContextMapper) { contextProps = defaultContextMapper(contextProps); } props = _objectSpread(_objectSpread({}, props), contextProps); return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Component, _objectSpread({}, props)); }; return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Consumer, { children: subscribedComponent }); }; // https://hackernoon.com/improving-component-names-in-react-developer-tools-4894247510c5 contextConsumer.displayName = "".concat(name, "ContextConsumer"); return contextConsumer; }; return { Context: Context, Provider: Provider, Consumer: Consumer, subscribe: subscribe }; }; /* harmony default export */ __webpack_exports__["Z"] = (createHoc); /***/ }), /***/ 2960: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _createHoc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66168); var pageConfigsHoc = (0,_createHoc__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z)({ name: 'PageConfigs', defaultValue: {} }); /* harmony default export */ __webpack_exports__["Z"] = (pageConfigsHoc); /***/ }), /***/ 14803: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _createHoc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66168); var reactionConfigsHoc = (0,_createHoc__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z)({ name: 'ReactionConfigs', defaultValue: {} }); /* harmony default export */ __webpack_exports__["Z"] = (reactionConfigsHoc); /***/ }), /***/ 68286: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _createHoc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66168); var tinhteAdsConfigsHoc = (0,_createHoc__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z)({ name: 'TinhteAdsConfigs', defaultValue: {} }); /* harmony default export */ __webpack_exports__["Z"] = (tinhteAdsConfigsHoc); /***/ }), /***/ 12688: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "a": function() { return /* binding */ displayedForums; } /* harmony export */ }); var TagName = Object.freeze({ TINHTE_FACT: 'tinhtefact' }); var displayedForums = [796, 797, 798, 293, 793, 784, 795, 799, 800, 801, 802, 803]; /* harmony default export */ __webpack_exports__["Z"] = (TagName); /***/ }), /***/ 62583: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; var PageName = Object.freeze({ WEB_HOME: { DESKTOP: 'home_desktop_web', MOBILE: 'home_mobile_web', HOT_TAGS: { AI_TRAINER_VINALINK_CLICK: 'web_home_hot_tags_ai_trainner_vinalink_click', BUFFSEO_CLICK: 'web_home_hot_tags_buff_seo_click' } }, WEB_AUDIO_HOME: { DESKTOP: 'home_audio_desktop_web', MOBILE: 'home_audio_mobile_web' }, WEB_XE_HOME: { DESKTOP: 'home_xe_desktop_web', MOBILE: 'home_xe_mobile_web' }, WEB_DEEPTALK: { DESKTOP: 'deeptalk_desktop_web', MOBILE: 'deeptalk_mobile_web' }, WEB_REVIEW: { DESKTOP: 'review_desktop_web', MOBILE: 'review_mobile_web' }, WEB_TTBC20: { DESKTOP: 'ttbc20_desktop_web', MOBILE: 'ttbc20_mobile_web' }, WEB_TTBC20_GAME: { DESKTOP: 'ttbc20_game_desktop_web', MOBILE: 'ttbc20_game_mobile_web', START_CLICK: 'ttbc20_game_start', REPLAY_CLICK: 'ttbc20_game_replay' }, WEB_TTBC21: { DESKTOP: 'ttbc21_desktop_web', MOBILE: 'ttbc21_mobile_web' }, WEB_TTBC22: { DESKTOP: 'ttbc22_desktop_web', MOBILE: 'ttbc22_mobile_web' }, WEB_TTBC23: { DESKTOP: 'ttbc23_desktop_web', MOBILE: 'ttbc23_mobile_web' }, WEB_TTBC24: { DESKTOP: 'ttbc24_desktop_web', MOBILE: 'ttbc24_mobile_web' }, WEB_TTBC25: { DESKTOP: 'ttbc25_desktop_web', MOBILE: 'ttbc25_mobile_web' }, WEB_NOTIFICATION: { DESKTOP: 'notification_desktop_web', MOBILE: 'notification_mobile_web' }, WEB_TET21_LOOKBACK: { DESKTOP: 'tet21_lookback_desktop_web', MOBILE: 'tet21_lookback_mobile_web', SHARE_FACT: 'tet21_lookback_share_fact', SHARE_FACEBOOK: 'tet21_lookback_share_facebook' }, TET21: { WEB_TET21_PERSONAL: { DESKTOP: 'tet21_personal_desktop_web', MOBILE: 'tet21_personal_mobile_web' }, WEB_TET21_MAIN: { DESKTOP: 'tet21_main_desktop_web', MOBILE: 'tet21_main_mobile_web' }, WEB_TET21_THREADS: { DESKTOP: 'tet21_threads_desktop_web', MOBILE: 'tet21_threads_mobile_web' } }, WEB_TET22_LOOKBACK: { DESKTOP: 'tet22_lookback_desktop_web', MOBILE: 'tet22_lookback_mobile_web', SHARE_FACT: 'tet22_lookback_share_fact', SHARE_FACEBOOK: 'tet22_lookback_share_facebook' }, TET22: { WEB_TET22_PERSONAL: { DESKTOP: 'tet22_personal_desktop_web', MOBILE: 'tet22_personal_mobile_web' }, WEB_TET22_MAIN: { DESKTOP: 'tet22_main_desktop_web', MOBILE: 'tet22_main_mobile_web' }, WEB_TET22_THREADS: { DESKTOP: 'tet22_threads_desktop_web', MOBILE: 'tet22_threads_mobile_web' } }, TET23: { WEB_TET23_MAIN: { DESKTOP: 'tet23_main_desktop_web', MOBILE: 'tet23_main_mobile_web' }, WEB_TET23_THREADS: { DESKTOP: 'tet23_threads_desktop_web', MOBILE: 'tet23_threads_mobile_web' } }, CREATOR: { TRENDING_THREADS_HOME: { THREAD_CLICK: 'creator_trending_threads_home_click' }, REVIEW_SECTION_HOME: { THREAD_CLICK: 'review_section_threads_home_click' } }, WEB_BIRTHDAY: { DESKTOP: 'tinhte_birthday_desktop_web', MOBILE: 'tinhte_birthday_mobile_web' }, homeDesktopWeb: 'home_desktop_web', homeMobileWeb: 'home_mobile_web', threadViewDesktopWeb: 'thread_view_desktop_web', threadViewMobileWeb: 'thread_view_mobile_web', forUDesktopWeb: 'foru_desktop_web', forUMobileWeb: 'foru_mobile_web', quickViewDesktopWeb: 'quick_view_desktop_web', quickViewMobileWeb: 'quick_view_mobile_web', pcHomeDesktopWeb: 'pc_home_desktop_web', pcHomeMobileWeb: 'pc_home_mobile_web', FORU: { FORU_HOME: { THREAD_CLICK: 'foru_section_threads_home_click', VIEW_MORE: 'foru_section_view_more_click' } }, communityDesktopWeb: 'community_desktop_web', communityMobileWeb: 'community_mobile_web', editorV2DesktopWeb: 'editor_v2_desktop_web', editorV2MobileWeb: 'editor_v2_mobile_web' }); var SlotName = Object.freeze({ heroMasthead: 'masthead_hero', desktopMasthead: 'masthead_desktop', mobileMasthead: 'masthead_mobile', inlineMasthead1: 'masthead_inline_1', inlineMasthead2: 'masthead_inline_2', belowHeader1: 'hero_below_1', belowHeader2: 'hero_below_2', mediumRectangle: 'medium_rectangle', halfPage1: 'halfpage_1', halfPage2: 'halfpage_2', topPromotion: 'special_banner', viewExtra1: 'view_extra_1', viewExtra2: 'view_extra_2', nativeInArticle: 'native_in_article', nativeInArticle2: 'native_in_article2', nativeInTinhteFact: 'native_in_tinhtefact', nativeTinhteFact: 'native_tinhtefact', sideBar1: 'side_banner_1', sideBar2: 'side_banner_2', sideBar3: 'side_banner_3', belowThreadView: 'below_thread_view', pcHomeHeader: 'pc_home_header' }); /** * key: contentSolutionSlot item's id * index: thread position in UI, starting with 0 */ var ContentSolutionSlot = Object.freeze({ CONTENT_HERO: Object.freeze({ key: 'content_hero', index: 0 }), CONTENT_TOP: Object.freeze({ key: 'content_top', index: 1 }), CONTENT_HOT: Object.freeze({ key: 'content_hot', index: 4 }), CONTENT_NEW_1: Object.freeze({ key: 'content_new_1', index: 6 }), CONTENT_NEW_2: Object.freeze({ key: 'content_new_2', index: 9 }), LIST_FOCUS_XE: Object.freeze({ key: 'list_focus_xe', index: 0 }), LIST_FOCUS_CAMERA: Object.freeze({ key: 'list_focus_camera', index: 0 }), LIST_FOCUS_AUDIO: Object.freeze({ key: 'list_focus_audio', index: 0 }), SPONSORED_COMMUNITY: Object.freeze({ key: 'sponsored_community', index: 1 }), SPONSORED_VIDEO: Object.freeze({ key: 'sponsored_video', index: 0 }), SPONSORED_TIPS: Object.freeze({ key: 'sponsored_tips', index: 1 }) }); var TrackingUri = Object.freeze({ IMPRESSION: 'tinhte-ads/blocks/impressions', VIEW: 'tinhte-ads/blocks/views', CLICK: 'tinhte-ads/blocks/clicks' }); /* harmony default export */ __webpack_exports__["Z"] = ({ PageName: PageName, SlotName: SlotName, ContentSolutionSlot: ContentSolutionSlot, TrackingUri: TrackingUri }); /***/ }), /***/ 31971: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "$J": function() { return /* binding */ DARK_THEME; }, /* harmony export */ "f8": function() { return /* binding */ LIGHT_THEME; }, /* harmony export */ "we": function() { return /* binding */ SYSTEM; }, /* harmony export */ "Fh": function() { return /* binding */ THEME_STORAGE_KEY; }, /* harmony export */ "Kl": function() { return /* binding */ THEME_VERSION_KEY; }, /* harmony export */ "yP": function() { return /* binding */ THREAD_THUMB_RATIO; } /* harmony export */ }); var DARK_THEME = 'dark'; var LIGHT_THEME = 'light'; var SYSTEM = 'system'; var THEME_STORAGE_KEY = 'tinhte-theme'; var THEME_VERSION_KEY = 'theme-version'; var THREAD_THUMB_RATIO = 16 / 9; /***/ }), /***/ 85034: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; var DEFAULT_ASSET = { userAvatar: 'https://tinhte.vn/styles/uiflex/xenforo/avatars/avatar_m.png', imageNotFound: 'http://mercurytwenty.com/wp-content/uploads/2016/10/default-placeholder.png' }; /* harmony default export */ __webpack_exports__["Z"] = (DEFAULT_ASSET); /***/ }), /***/ 18308: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; var DEFAULT_DATE = Math.floor(new Date() / 1000); /* harmony default export */ __webpack_exports__["Z"] = (DEFAULT_DATE); /***/ }), /***/ 91795: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; var DEFAULT_FORUM = { forum_title: 'Không tìm thấy', links: { permalink: '' }, forum_thread_count: 0, forum_post_count: 0, forum_thumbnail_url: 'https://photo2.tinhte.vn/data/attachment-files/2018/12/4526442_tag.jpg', forum_prefixes: [] }; /* harmony default export */ __webpack_exports__["Z"] = (DEFAULT_FORUM); /***/ }), /***/ 5644: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; var DEFAULT_POST = { poster_avatar: '', post_body: '', post_body_html: '', post_body_plain_text: '', links: { permalink: '' }, permissions: { edit: false, view: true, "delete": false, reply: false, report: false, upload_attachment: false }, poster_rank: { rank_level: '1', rank_name: 'Trứng', rank_points: 0 }, post_reaction_total: 0, post_reactions: { 1: 0, 2: 0, 6: 0, 3: 0, 4: 0, 5: 0 }, post_visitor_reaction_id: 0, post_attachment_count: 0 }; /* harmony default export */ __webpack_exports__["Z"] = (DEFAULT_POST); /***/ }), /***/ 38614: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _date__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18308); /* harmony import */ var _forum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(91795); /* harmony import */ var _post__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5644); var DEFAULT_THREAD = { thread_title: '', thread_thumbnail: { link: '' }, thread_image: { link: '' }, links: { permalink: '', first_poster_avatar: '', posts: '' }, first_post: _post__WEBPACK_IMPORTED_MODULE_2__/* .default */ .Z, thread_create_date: _date__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z, thread_update_date: _date__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z, creator_username: '', creator_has_verified_badge: false, thread_post_count: 0, thread_view_count: 0, forum: _forum__WEBPACK_IMPORTED_MODULE_1__/* .default */ .Z, posts: [], rating_total: 0, rating_count: 0, thread_is_followed: false, tinhte_dashboards: null, thread_tags: null, is_draft: false }; /* harmony default export */ __webpack_exports__["Z"] = (DEFAULT_THREAD); /***/ }), /***/ 2058: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var he__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86492); /* harmony import */ var he__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(he__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27361); /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_1__); var normalizeRecipient = function normalizeRecipient(raw) { return { id: raw.user_id, name: raw.username }; }; var normalizeConv = function normalizeConv(raw) { return { id: raw.conversation_id, title: raw.conversation_title || 'Không tìm thấy', at: raw.conversation_update_date, author: { name: lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(raw, 'first_message.creator_username', ''), avatar: lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(raw, 'first_message.links.creator_avatar', '') }, unread: raw.conversation_has_new_message, link: lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(raw, 'links.permalink', ''), body: he__WEBPACK_IMPORTED_MODULE_0___default().decode(lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(raw, 'first_message.message_body_plain_text', '')), recipients: lodash_get__WEBPACK_IMPORTED_MODULE_1___default()(raw, 'recipients', []).map(normalizeRecipient) }; }; /* harmony default export */ __webpack_exports__["Z"] = (normalizeConv); /***/ }), /***/ 97487: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; var normalizedError = function normalizedError(raw) { var _ref = raw || {}, _ref$message = _ref.message, message = _ref$message === void 0 ? null : _ref$message; return { message: message }; }; /* harmony default export */ __webpack_exports__["Z"] = (normalizedError); /***/ }), /***/ 59611: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "aw": function() { return /* binding */ normalizeForums; }, /* harmony export */ "p$": function() { return /* binding */ normalizeForum; }, /* harmony export */ "OR": function() { return /* binding */ normalizeForumsNoLimit; } /* harmony export */ }); /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27361); /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var lodash_defaultsDeep__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(66913); /* harmony import */ var lodash_defaultsDeep__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_defaultsDeep__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _default_forum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91795); var getOrder = function getOrder(forum) { return { 544: 0, 545: 1, 628: 2, 546: 3 }[forum.id]; }; var getType = function getType(id) { return { 544: 'bike', 545: 'car', 628: 'bicycle', 546: 'others', 707: 'headphone', 711: 'mobileaudio', 713: 'speaker', 712: 'ampli', 660: 'cameraDevice', 560: 'photoBasic', 566: 'takeGoodPicture', 212: 'cameraVideo' }[id]; }; var titleMap = { 707: 'Tai nghe', 711: 'Mobile Audio', 713: 'Loa', 712: 'DAC/Amp', 660: 'Thiết bị ảnh', 560: 'Nhiếp ảnh cơ bản', 566: 'Cách chụp đẹp', 212: 'Quay video đẹp' }; var one = function one(raw) { return { id: raw.forum_id, title: titleMap[raw.forum_id] ? titleMap[raw.forum_id] : raw.forum_title, type: getType(raw.forum_id), stats: { thread: raw.forum_thread_count, post: raw.forum_post_count }, link: raw.links.permalink }; }; var normalizeForums = function normalizeForums(raw) { return lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(raw, 'forums', []).map(function (forum) { return lodash_defaultsDeep__WEBPACK_IMPORTED_MODULE_1___default()({}, forum, _default_forum__WEBPACK_IMPORTED_MODULE_2__/* .default */ .Z); }).map(one).sort(function (a, b) { return getOrder(a) - getOrder(b); }).slice(0, 4); }; var normalizeForumsNoLimit = function normalizeForumsNoLimit(raw) { return lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(raw, 'forums', []).map(function (forum) { return lodash_defaultsDeep__WEBPACK_IMPORTED_MODULE_1___default()({}, forum, _default_forum__WEBPACK_IMPORTED_MODULE_2__/* .default */ .Z); }).map(one).sort(function (a, b) { return getOrder(a) - getOrder(b); }); }; var normalizeForum = function normalizeForum(raw) { var forum = lodash_defaultsDeep__WEBPACK_IMPORTED_MODULE_1___default()({}, raw, _default_forum__WEBPACK_IMPORTED_MODULE_2__/* .default */ .Z); return { id: forum.forum_id, title: forum.forum_title, description: forum.forum_description, thread_count: forum.forum_thread_count, post_count: forum.forum_post_count, is_followed: forum.forum_is_followed, thumbnail: forum.forum_thumbnail_url, prefixes: forum.forum_prefixes }; }; /***/ }), /***/ 19645: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27361); /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96486); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__); var normalizeHomeConfigs = function normalizeHomeConfigs(configs) { return { home_logo: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'home_logo', 'Không tìm thấy'), nav_color: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'nav_color', 'Không tìm thấy'), post_id: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'post_id', 'Không tìm thấy'), mainPromotion: { title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'main_promotion.title', null), url: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'main_promotion.url', null), mobileImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'main_promotion.mobile_img_url', null), desktopImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'main_promotion.desktop_img_url', null) }, topPromotion: { title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion.title', null), url: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion.url', null), mobileImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion.mobile_img_url', null), desktopImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion.desktop_img_url', null) }, threadUIViewPromotion: { title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'thread_view_promotion.title', null), url: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'thread_view_promotion.url', null), mobileImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'thread_view_promotion.mobile_img_url', null), desktopImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'thread_view_promotion.desktop_img_url', null) }, heroBottomPromotion: { title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hero_bottom_promotion.title', null), url: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hero_bottom_promotion.url', null), mobileImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hero_bottom_promotion.mobile_img_url', null), desktopImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hero_bottom_promotion.desktop_img_url', null) }, topPromotionXe: { title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_xe.title', null), url: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_xe.url', null), mobileImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_xe.mobile_img_url', null), desktopImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_xe.desktop_img_url', null) }, topPromotionAudio: { title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_audio.title', null), url: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_audio.url', null), mobileImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_audio.mobile_img_url', null), desktopImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_audio.desktop_img_url', null) }, topPromotionCamera: { title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_camera.title', null), url: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_camera.url', null), mobileImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_camera.mobile_img_url', null), desktopImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_promotion_camera.desktop_img_url', null) }, topVideo: { id: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_video.id', null), title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_video.title', null), threadId: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_video.thread_id', null), homeYoutubeIds: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'top_video.home_youtube_ids', null) }, homeThreadList: { tagId: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'home_thread_list.tag_id', null), title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'home_thread_list.title', null), color: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'home_thread_list.color', null), url: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'home_thread_list.url', null) }, hotThreadStream: { title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hot_thread_stream.title', null), isActive: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hot_thread_stream.is_active', false), mainImgUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hot_thread_stream.main_img_url', null), themeColor: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hot_thread_stream.theme_color', '#FE1C35'), sourceType: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hot_thread_stream.source_type', 'tag'), sourceId: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hot_thread_stream.source_id', lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hot_thread_stream.tag', null)), shouldShuffle: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hot_thread_stream.should_shuffle', false), viewMoreUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'hot_thread_stream.view_more_url', null) }, featuredQuest: { id: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'quest_featured_quest_id', null) }, ttl: configs.ttl || null, expiredAt: configs.expiredAt || null, tag_random_images: configs.tag_random_images || [], tagIntroBox: configs.tag_intro_box || [], reviewConfigs: configs.review_configs || [], reviewHub: { title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'review_hub.title', ''), bannerImg: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'review_hub.banner_image', ''), bannerImgMobile: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'review_hub.mobile_banner_image', ''), bannerUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'review_hub.banner_url', ''), ctaTitle: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'review_hub.cta_title', ''), ctaUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'review_hub.cta_url', ''), tag: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'review_hub.tag', ''), goToUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'review_hub.goto_url', ''), isActive: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'review_hub.is_active', false), tagId: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'review_hub.tag_id', '') }, tinhteCreator: { enabled: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(configs, 'tinhte_creator.enabled', true) }, khaosatmePollConfigs: lodash__WEBPACK_IMPORTED_MODULE_1__.map(configs.khaosatme_poll_results, function (config) { return { threadId: config.thread_id, desktopPosition: config.desktop_position, mobilePosition: config.mobile_position, title: config.title }; }) }; }; /* harmony default export */ __webpack_exports__["Z"] = (normalizeHomeConfigs); /***/ }), /***/ 83155: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var striptags__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43726); /* harmony import */ var striptags__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(striptags__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var he__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86492); /* harmony import */ var he__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(he__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27361); /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _reactionConfigs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80298); var getLink = function getLink(html) { return (html.match(/href="(.*?)"/g) || []).map(function (item) { return item.split(/href="(.*?)"/)[1]; }).reduce(function (_, item) { return item; }, null); }; var modifyNotiStyle = function modifyNotiStyle(html) { var newHtml = html; // Bold username and main data newHtml = newHtml.replace('class="username subject"', 'class="username subject" style="font-weight: 700;"'); newHtml = newHtml.replace('class="PopupItemLink"', 'class="PopupItemLink" style="font-weight: 700;"'); return newHtml; }; // Get notification type var iconPath = '/static/images/notification_icons'; var images = { icNotiCommunity: "".concat(iconPath, "/community.png"), icNotiRating: "".concat(iconPath, "/rating.png"), icNotiLike: "".concat(iconPath, "/like.png"), icNotiTrophy: "".concat(iconPath, "/trophy.png"), icNotiSystem: "".concat(iconPath, "/system.png"), icNotiComment: "".concat(iconPath, "/comment.png") }; var getNotiType = function getNotiType(rawNotificationType) { var icon = images.icNotiCommunity; if (rawNotificationType) { if (rawNotificationType.indexOf('xentag_tag_watch') > 0) { icon = images.icNotiCommunity; } else if (rawNotificationType.indexOf('rating_rated') > 0) { icon = images.icNotiRating; } else { var partsOfStr = rawNotificationType.split('_'); if (partsOfStr[0] === 'post') { if (partsOfStr[2] === 'insert') { icon = images.icNotiCommunity; } else if (partsOfStr[2] === 'like') { icon = images.icNotiLike; } else if (partsOfStr[2] === 'quote') { icon = images.icNotiComment; } else if (partsOfStr[2] === 'tag') { icon = images.icNotiComment; } } else if (partsOfStr[0] === 'user') { if (partsOfStr[2] === 'trophy') { icon = images.icNotiTrophy; // } else if (partsOfStr[2] === 'following') { // showFollowButton = true; // icon = images.icNotiCommunity; } else if (rawNotificationType.indexOf('thread_move') > 0) { icon = images.icNotiSystem; } else if (rawNotificationType.indexOf('post_delete') > 0) { icon = images.icNotiSystem; } else if (rawNotificationType.indexOf('post_edit') > 0) { icon = images.icNotiSystem; } else if (rawNotificationType.indexOf('thread_delete') > 0) { icon = images.icNotiSystem; } else if (rawNotificationType.indexOf('post_move') > 0) { icon = images.icNotiSystem; } else if (rawNotificationType.indexOf('resource_delete') > 0) { icon = images.icNotiSystem; } } else if (partsOfStr[0] === 'TRS') { // const matches = data.body_html.match(/()([\W\w]*?)(<\/a>)/); // body = `${matches[1]}${matches[2].trim()}${matches[3]}`; icon = images.icNotiTrophy; } else { icon = images.icNotiSystem; } } } return icon; }; var normalizeConv = function normalizeConv(raw) { return { id: raw.notification_id, title: raw.conversation_title || 'Không tìm thấy', at: raw.notification_create_date, author: { name: raw.creator_username || '', avatar: lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(raw, 'links.creator_avatar', '') }, unread: raw.notification_is_unread, link: getLink(raw.notification_html || ''), body: he__WEBPACK_IMPORTED_MODULE_1___default().decode(striptags__WEBPACK_IMPORTED_MODULE_0___default()(raw.notification_html || '').trim()), bodyHtml: modifyNotiStyle(raw.notification_html) || '', icon: getNotiType(raw.notification_type), reaction: raw.tinhte_reaction ? (0,_reactionConfigs__WEBPACK_IMPORTED_MODULE_3__/* .normalizeReaction */ .N)(lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(raw, 'tinhte_reaction', null)) : null }; }; /* harmony default export */ __webpack_exports__["Z"] = (normalizeConv); /***/ }), /***/ 60431: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "ZP": function() { return /* binding */ post; }, "SD": function() { return /* binding */ processPostTree; } }); // UNUSED EXPORTS: paramFieldsInclude // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/defineProperty.js var defineProperty = __webpack_require__(92809); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules var slicedToArray = __webpack_require__(80318); // EXTERNAL MODULE: ./node_modules/lodash/defaultsDeep.js var defaultsDeep = __webpack_require__(66913); var defaultsDeep_default = /*#__PURE__*/__webpack_require__.n(defaultsDeep); // EXTERNAL MODULE: ./node_modules/lodash/get.js var get = __webpack_require__(27361); var get_default = /*#__PURE__*/__webpack_require__.n(get); // EXTERNAL MODULE: ./src/utils/convertToSlug.js var convertToSlug = __webpack_require__(70995); // EXTERNAL MODULE: ./src/resources/normalize/utils/getExcerpt.js var getExcerpt = __webpack_require__(96401); // EXTERNAL MODULE: ./src/resources/default/post.js var default_post = __webpack_require__(5644); ;// CONCATENATED MODULE: ./src/resources/default/attachment.js var DEFAULT_IMAGE_URL = '/static/images/default.png'; var DEFAULT_ATTACHMENT = { filename: '(Trống)', links: { data: DEFAULT_IMAGE_URL, permalink: DEFAULT_IMAGE_URL, thumbnail: DEFAULT_IMAGE_URL }, permissions: { view: true, "delete": false } }; /* harmony default export */ var default_attachment = (DEFAULT_ATTACHMENT); ;// CONCATENATED MODULE: ./src/resources/normalize/attachment.js var normalizeAttachment = function normalizeAttachment(rawAttachment) { var attachment = defaultsDeep_default()({}, rawAttachment, default_attachment); return attachment; }; /* harmony default export */ var attachment = (normalizeAttachment); ;// CONCATENATED MODULE: ./src/utils/paragraphCount.js var countParagraphs = function countParagraphs(str) { var resultString = str; var count = 0; if (resultString) { count = (resultString.match(/
/g) || []).length; } return Math.floor(count / 2); }; /* harmony default export */ var utils_paragraphCount = (countParagraphs); // EXTERNAL MODULE: ./src/utils/wordCount.js var utils_wordCount = __webpack_require__(7578); ;// CONCATENATED MODULE: ./src/resources/normalize/post.js function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } /* eslint-disable no-nested-ternary */ /* eslint-disable max-len */ /* eslint-disable prefer-destructuring */ // thread must be normalized already var checkVideoFormat = function checkVideoFormat(inputString) { var isVideo = false; var videoFormatExts = ['mov', 'mp4', 'm4v']; videoFormatExts.forEach(function (videoFormat) { if (inputString.toLowerCase().includes(videoFormat)) { isVideo = true; } }); return isVideo; }; var normalizePost = function normalizePost(rawPost, thread) { var post = defaultsDeep_default()({}, rawPost, default_post/* default */.Z); var paragraphCount = utils_paragraphCount(post.post_body_html || ''); var wordCount = (0,utils_wordCount/* default */.Z)(post.post_body_plain_text || ''); // Extract data from meta tag var postBodyHtml = post.post_body_html; var bodyPlain = post.post_body_plain_text; var isThreadBackground = false; var threadBackgroundUrl = ''; // Parse thread background Url if (postBodyHtml.includes('class="metaBbCode meta-threadbackgroundurl"')) { isThreadBackground = true; var nr = /(.*?)<\/span>/g.exec(postBodyHtml); if (nr && nr.length > 0) { threadBackgroundUrl = nr[1]; // Get the first matched group if (threadBackgroundUrl.includes('')) { var parseImgUrlFromAnchor = /(.*?)<\/a>/g.exec(threadBackgroundUrl); threadBackgroundUrl = parseImgUrlFromAnchor[1]; } bodyPlain = bodyPlain.replace(threadBackgroundUrl, ''); } } else if (thread.background && thread.background.links) { isThreadBackground = true; threadBackgroundUrl = thread.background.links.image_url; } // Replace emoji postBodyHtml = postBodyHtml.replace(':)', ':)'); postBodyHtml = postBodyHtml.replace(/(:\)\))/g, '😆'); postBodyHtml = postBodyHtml.replace(/(:\))/g, '😃'); postBodyHtml = postBodyHtml.replace(/:D/, '😁'); postBodyHtml = postBodyHtml.replace(/:\(/, '😔'); postBodyHtml = postBodyHtml.replace(/:-\?/, '🤔'); // Add In-article ads placeholder // Concept: we split the body HTML into multiple items and place them in an array // Then we add the ads placeholder // Then we concact the array, and for each item we add back the
which has previously // being used to split the html if (post.post_is_first_post && thread && !thread.isDeepTalkArticle) { if (thread && thread.thread_title && !thread.thread_title.includes('[QC]')) { var postBodyHtmlBeforeAds = postBodyHtml; var postBodyHtmlBeforeAdsArray = postBodyHtmlBeforeAds.split('
'); if (paragraphCount >= 10 && wordCount >= 200) { postBodyHtmlBeforeAdsArray.forEach(function (postBodyHtmlElement, index) { if (index >= 0 && (index === 8 || index === 24 || index === 36)) { postBodyHtmlBeforeAdsArray[index] = "".concat(postBodyHtmlElement, " {{ tinhtep_placeholder }}"); } }); postBodyHtml = postBodyHtmlBeforeAdsArray.join('
'); } } } // Detect if thread has video var videoAttachment = null; if (post) { if (post && post.attachments && post.attachments.length > 0) { var _post$attachments = (0,slicedToArray/* default */.Z)(post.attachments, 1), firstAttachment = _post$attachments[0]; if (checkVideoFormat(firstAttachment.filename) || firstAttachment.links && firstAttachment.links.video_url) { videoAttachment = firstAttachment; } } } var isAdmin = post.user_is_admin === 1 || post.user_is_admin === true; var isMod = post.user_is_moderator === 1 || post.user_is_moderator === true; var isModeratorContent = post.user_is_moderator_content; var isModHonor = post.user_is_moderator_honor; var isModNews = post.user_is_moderator_news; return { id: post.post_id, link: post.links.permalink, excerpt: (0,getExcerpt/* default */.Z)(post.post_body_plain_text, 150), body: post.post_body, bodyPlain: bodyPlain, bodyHtml: postBodyHtml, since: post.post_create_date, loadMore: post.post_replies && post.post_replies[0] && post.post_replies[0].post_reply_count ? post.post_replies[0] : null, author: { id: post.poster_user_id, name: post.poster_username, avatar: post.links.poster_avatar ? post.links.poster_avatar : 'https://tinhte.vn/styles/uiflex/xenforo/avatars/avatar_l.png', verified_badge: post.poster_has_verified_badge, link: "/profile/".concat((0,convertToSlug/* default */.Z)(post.poster_username), ".").concat(post.poster_user_id, "/"), rank: post.poster_rank ? post.poster_rank.rank_name : '', isModeratorContent: isModeratorContent, isMod: isMod, isAdmin: isAdmin, isModHonor: isModHonor, isModNews: isModNews }, stats: { like: post.post_like_count ? post.post_like_count : 0, paragraphCount: paragraphCount }, likeUsers: post.like_users, isLiked: post.post_is_liked ? post.post_is_liked : false, isFirstPost: post.post_is_first_post, isDeleted: post.post_is_deleted ? post.post_is_deleted : false, isIgnored: post.user_is_ignored ? post.user_is_ignored : false, postReplies: post.post_replies_found ? post.post_replies_found : post.post_replies ? post.post_replies : [], postRepliesDetail: post.post_replies_found ? post.post_replies_found : post.post_replies ? post.post_replies : [], postReplyTo: post.post_reply_to, permissions: post.permissions, stickers: post.stickers, attachments: (post.attachments || []).map(attachment), thread: { id: get_default()(thread, 'id', get_default()(thread, 'thread_id')), forumId: get_default()(thread, 'forumId', get_default()(thread, 'forum_id')) }, posterRank: { rankLevel: post.poster_rank ? post.poster_rank.rank_level : '', rankName: post.poster_rank ? post.poster_rank.rank_name : 'Trứng', rankPoints: post.poster_rank ? Math.trunc(post.poster_rank.rank_points) : 0 }, isThreadBackground: isThreadBackground, threadBackgroundUrl: threadBackgroundUrl, videoAttachment: videoAttachment, reaction: { total: post.post_reaction_total, postReactions: post.post_reactions || [], userReactionId: post.post_visitor_reaction_id }, attachmentCount: post.post_attachment_count }; }; /* harmony default export */ var post = (normalizePost); var processPostTree = function processPostTree(thread, posts) { var allPosts = posts.slice(); var parentPosts = allPosts.filter(function (post) { return post.postReplyTo === thread.firstPostId || !post.postReplyTo; }); var childPosts = allPosts.filter(function (post) { return post.postReplyTo && post.postReplyTo !== thread.firstPostId && !post.isFirstPost; }); parentPosts = parentPosts.map(function (post) { var postRepliesDetail = post.postReplies.map(function (reply) { if (!reply.post_id) { if (reply.from && reply.to) { return reply; } return null; } return childPosts.find(function (child) { return child.id === reply.post_id; }); }); postRepliesDetail = postRepliesDetail.filter(function (postReply) { return postReply; }); return _objectSpread(_objectSpread({}, post), {}, { postRepliesDetail: postRepliesDetail }); }); return parentPosts.sort(function (a, b) { return b.id - a.id; }); // Sort posts in ascending order of time }; var paramFieldsInclude = ['post_id', 'links.permalink', 'post_body_plain_text', 'post_body_html', 'post_body', 'post_create_date', 'poster_username', 'links.poster_avatar', 'poster_has_verified_badge', 'post_like_count', 'post_is_liked', 'post_is_first_post', 'post_replies', 'post_reply_to', 'permissions.like', 'permissions.edit', 'attachments', 'poster_rank', 'post_reaction_total', 'post_reactions', 'post_visitor_reaction_id', 'user_is_moderator_content', 'user_is_moderator_honor', 'user_is_moderator_news'].join(','); /***/ }), /***/ 48426: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _post__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60431); var normalizePosts = function normalizePosts(posts, thread) { var removedPostIdList = []; var postResult = []; posts.map(function (post) { /* eslint-disable no-param-reassign */ if (post.post_replies && post.post_replies.length > 0) { post.post_replies_found = []; post.post_replies.map(function (postReply) { if (postReply.post_id) { // Lookup other post in the original array for (var i = 0; i < posts.length; i += 1) { if (posts[i].post_id === postReply.post_id) { post.post_replies_found.push((0,_post__WEBPACK_IMPORTED_MODULE_0__/* .default */ .ZP)(posts[i], thread)); removedPostIdList.push(posts[i].post_id); } } } else { // Add load more post.post_replies_found.push(postReply); } return null; }); } postResult.push((0,_post__WEBPACK_IMPORTED_MODULE_0__/* .default */ .ZP)(post, thread)); // Remove post has been missing post parent if (post.post_reply_to && !posts.find(function (p) { return p.post_id === post.post_reply_to; })) { removedPostIdList.push(post.post_id); } return postResult; }); // Remove post that has been converted into child post removedPostIdList.map(function (removePostId) { postResult = postResult.filter(function (post) { return post.id !== removePostId; }); return null; }); return postResult; }; /* harmony default export */ __webpack_exports__["Z"] = (normalizePosts); /***/ }), /***/ 80298: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "N": function() { return /* binding */ normalizeReaction; } /* harmony export */ }); /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27361); /* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_0__); var normalizeReaction = function normalizeReaction(reaction) { return { id: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(reaction, 'reaction_id', null), title: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(reaction, 'reaction_title', null), textColor: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(reaction, 'reaction_text_color', null), displayOrder: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(reaction, 'display_order', null), links: { imageUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(reaction, 'links.image_url', null), svgImageUrl: lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(reaction, 'links.svg_image_url', null) } }; }; var normalizeReactionConfigs = function normalizeReactionConfigs(configs) { return { reactions: (configs.reactions || []).map(normalizeReaction).sort(function (a, b) { return a.displayOrder - b.displayOrder; }), ttl: configs.ttl || null, expiredAt: configs.expiredAt || null }; }; /* harmony default export */ __webpack_exports__["Z"] = (normalizeReactionConfigs); /***/ }), /***/ 76096: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "ZP": function() { return /* binding */ thread; }, "ZC": function() { return /* binding */ generateParamFieldsInclude; }, "VK": function() { return /* binding */ generateParamFieldsShortenInclude; }, "D4": function() { return /* binding */ homeDailyDiscussionUri; }, "Hv": function() { return /* binding */ homeModSelectedThreadsUri; }, "vV": function() { return /* binding */ homePinDiscussionUri; }, "Fb": function() { return /* binding */ threadReadsUri; }, "nP": function() { return /* binding */ threadsAudioShortenUri; }, "SE": function() { return /* binding */ threadsAudioUri; }, "Y7": function() { return /* binding */ threadsCameraUri; }, "JV": function() { return /* binding */ threadsCreatorTopRatingUri; }, "oi": function() { return /* binding */ threadsCreatorUri; }, "ZF": function() { return /* binding */ threadsPromotedUri; }, "aX": function() { return /* binding */ threadsQuickViewUri; }, "Kk": function() { return /* binding */ threadsXeShortenUri; }, "ju": function() { return /* binding */ threadsXeUri; } }); // UNUSED EXPORTS: threadsCameraShortenUri, threadsNewUri // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/defineProperty.js var defineProperty = __webpack_require__(92809); // EXTERNAL MODULE: ./node_modules/lodash/defaultsDeep.js var defaultsDeep = __webpack_require__(66913); var defaultsDeep_default = /*#__PURE__*/__webpack_require__.n(defaultsDeep); // EXTERNAL MODULE: ./node_modules/lodash/get.js var get = __webpack_require__(27361); var get_default = /*#__PURE__*/__webpack_require__.n(get); // EXTERNAL MODULE: ./src/utils/placeholder.js var placeholder = __webpack_require__(63619); // EXTERNAL MODULE: ./src/utils/convertToSlug.js var convertToSlug = __webpack_require__(70995); // EXTERNAL MODULE: ./src/resources/default/post.js var post = __webpack_require__(5644); // EXTERNAL MODULE: ./src/resources/default/thread.js var default_thread = __webpack_require__(38614); ;// CONCATENATED MODULE: ./src/resources/constant/tinhteSubBrand.js var XeForumIds = [544, 545, 628]; var AudioForumIds = [702, 704, 703, 744, 734, 709, 713, 708, 710, 711, 707, 761, 718, 717]; var TinhteSubBrand = Object.freeze({ XeForumIds: XeForumIds, AudioForumIds: AudioForumIds }); /* harmony default export */ var tinhteSubBrand = (TinhteSubBrand); // EXTERNAL MODULE: ./src/resources/normalize/posts.js var posts = __webpack_require__(48426); // EXTERNAL MODULE: ./src/resources/normalize/post.js + 3 modules var normalize_post = __webpack_require__(60431); ;// CONCATENATED MODULE: ./src/resources/normalize/livestream.js var normalizeLivestream = function normalizeLivestream(livestream) { if (!livestream) return null; return { since: get_default()(livestream, 'stream_start_date', 0), created: get_default()(livestream, 'stream_create_date', 0), end: get_default()(livestream, 'stream_end_date', 0), socketJoinToken: get_default()(livestream, 'stream_socket_join_token', ''), socketUrl: get_default()(livestream, 'links.socket_url', ''), embedUrl: get_default()(livestream, 'links.embed_url:', ''), manifestUrl: get_default()(livestream, 'links.manifest_url', ''), thumbnail: get_default()(livestream, 'links.thumbnail_url', ''), youtube: get_default()(livestream, 'links.youtube', '') }; }; /* harmony default export */ var livestream = (normalizeLivestream); // EXTERNAL MODULE: ./src/resources/normalize/utils/getExcerpt.js var getExcerpt = __webpack_require__(96401); // EXTERNAL MODULE: ./src/resources/normalize/utils/dateFormat.js var dateFormat = __webpack_require__(42460); ;// CONCATENATED MODULE: ./src/resources/normalize/utils/dateFormatDB.js var dateFormatDB = function dateFormatDB(unixTimestamp) { var a = new Date(unixTimestamp * 1000); return a.toISOString(); }; /* harmony default export */ var utils_dateFormatDB = (dateFormatDB); // EXTERNAL MODULE: ./src/utils/wordCount.js var wordCount = __webpack_require__(7578); ;// CONCATENATED MODULE: ./src/resources/normalize/thread.js function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var defaultAvatar = 'https://tinhte.vn/styles/uiflex/xenforo/avatars/avatar_male_m.png'; var specialTagsOverlay = [{ tag: 'ifa18', overlayImgUrl: 'https://photo2.tinhte.vn/data/attachment-files/2018/08/4414281_ifa_overlay.png' }]; var tagConvert = function tagConvert(postTags) { var tags = []; if (postTags) { try { var keys = Object.keys(postTags); var values = Object.values(postTags); keys.map(function (key, idx) { var link = "/tag/".concat((0,convertToSlug/* default */.Z)(values[idx]), "/"); tags.push({ tagId: parseInt(key, 10), tag: values[idx], link: link }); return null; }); } catch (err) { console.error('Error in converting tag', err); } } return tags; }; var buildTableOfContent = function buildTableOfContent(content) { if (!content) return null; var anchors = content.match(/\[(H2|H3)\](.*?)\[\/(H2|H3)\]/g); if (!anchors) { return null; } var builtAnchors = []; var hcount = 0; for (var i = 0; i < anchors.length; i += 1) { var anchor = anchors[i]; var menuId = "menuid".concat(i); var buildAnchor = { type: 'H2', id: menuId }; if (anchor.indexOf('H3') > -1) { buildAnchor.type = 'H3'; } hcount += 1; var heading = anchor.replace(/\[(.*?)\]/g, '').replace(/\[\/(.*?)\]/g, ''); buildAnchor.heading = heading; builtAnchors.push(buildAnchor); } if (hcount > 2) { return builtAnchors; } return null; }; var getThreadLayout = function getThreadLayout(thread) { var layout = 'text-only'; var tags = tagConvert(thread.thread_tags); if (thread.first_post.attachments && thread.first_post.attachments.length > 0) { layout = 'text-image'; } if (thread.first_post.attachments && thread.first_post.attachments.length >= 3) { layout = 'text-3-images'; } if (tags.includes('tinhtelink')) { layout = 'text-link'; } return layout; }; var normalizeThread = function normalizeThread(item) { var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var thread = defaultsDeep_default()({}, item, default_thread/* default */.Z); var pagination = thread.pagination, links = thread.links; var threadLink = links.permalink; var newThreadLink = links.permalink; var newThreadLinkIdOnly = "/thread/".concat(thread.thread_id); var defaultImg = (0,placeholder/* default */.Z)(); // Detect if thread is TinhteFact var tags = tagConvert(thread.thread_tags); var isTinhteFact = false; var isDeepTalkArticle = false; var isLookBackArticle = false; var isTTBC = false; var isTTBC24 = false; var isTTBC25 = false; var isReviewArticle = false; var tagString = ''; var isLiveStreamGame = false; var isVideoFact = false; if (tags) { tags.forEach(function (tag) { if (tag.tag === 'tinhtefact') { isTinhteFact = true; } if (tag.tag === 'deeptalk') { isDeepTalkArticle = true; } if (tag.tag === 'tinhtelookback') { isLookBackArticle = true; } if (tag.tag === 'bhtq22' || tag.tag === 'ttbcsponsors') { isTTBC = true; } if (tag.tag === 'ttbcingodwetrust24') { isTTBC24 = true; } if (tag.tag === 'ttbc25sponsors') { isTTBC25 = true; } if (tag.tag === 'review') { isReviewArticle = true; } if (tag.tag) { tagString += "".concat(tag.tag, ", "); } if (tag.tag === 'livestreamgame') { isLiveStreamGame = true; } }); } // Check if thread contains special tags var specialTagFound; // eslint-disable-next-line tags.map(function (tag) { var result = specialTagsOverlay.find(function (specialTag) { return specialTag.tag === tag.tag; }); if (result) { specialTagFound = result; } }); thread.isDeepTalkArticle = isDeepTalkArticle; thread.isLookBackArticle = isLookBackArticle; thread.isTTBC = isTTBC; thread.isTTBC24 = isTTBC24; thread.isReviewArticle = isReviewArticle; var forumId = get_default()(thread, 'forum_id', get_default()(thread, 'forum.forum_id', '')); var tinhteContentBrand = null; if (tinhteSubBrand.XeForumIds.includes(forumId)) tinhteContentBrand = 'xe'; if (tinhteSubBrand.AudioForumIds.includes(forumId)) tinhteContentBrand = 'audio'; var threadThumbnail = null; var firstPostInArray = post/* default */.Z; if (thread && thread.first_post && thread.first_post.post_id) { firstPostInArray = thread.first_post; } else if (thread && thread.posts[0]) { // eslint-disable-next-line firstPostInArray = thread.posts[0]; } if (firstPostInArray && firstPostInArray.attachments && firstPostInArray.attachments.length > 0) { threadThumbnail = firstPostInArray.attachments[0].links.thumbnail; isVideoFact = firstPostInArray.attachments[0].attachment_is_video; } var threadBody = thread && thread.posts && thread.posts[0] && thread.posts[0].post_is_first_post && thread.posts[0].post_body ? thread.posts[0].post_body : ''; var isAdmin = get_default()(firstPostInArray, 'user_is_admin', 0) === 1 || get_default()(firstPostInArray, 'user_is_admin', false) === true; var isMod = get_default()(firstPostInArray, 'user_is_moderator', 0) === 1 || get_default()(firstPostInArray, 'user_is_moderator', false) === true; var isModeratorContent = get_default()(firstPostInArray, 'user_is_moderator_content', false); var isModHonor = get_default()(firstPostInArray, 'user_is_moderator_honor', false); var isModNews = get_default()(firstPostInArray, 'user_is_moderator_news', false); var normalized = { id: thread.thread_id || i * -1, creatorIsMod: get_default()(thread, 'creator_is_mod', false), title: get_default()(thread, 'list_item.item_title', '') || thread.thread_title, promoteItem: get_default()(thread, 'bdContentList_promote_item', null), title_short: (0,getExcerpt/* default */.Z)(get_default()(thread, 'list_item.item_title', '') || thread.thread_title, 85), description: firstPostInArray.post_body_plain_text && firstPostInArray.post_body_plain_text.substring(0, 150), tinhteAdsenseIsBlocked: thread.tinhte_adsense_is_blocked, tinhteseoNoindex: get_default()(thread, 'tinhte_seo.noindex', false), excerpt: (0,getExcerpt/* default */.Z)(firstPostInArray.post_body_plain_text, 200), summary: (0,getExcerpt/* default */.Z)(firstPostInArray.post_body_plain_text, 500), wordCount: (0,wordCount/* default */.Z)(firstPostInArray.post_body_plain_text || ''), image: thread.thread_image && thread.thread_image.link, imageDetail: thread.thread_image ? thread.thread_image : null, isCover: thread.thread_image.display_mode && thread.thread_image.display_mode === 'cover', thumbnail: thread.thread_thumbnail.link || defaultImg || thread.links.first_poster_avatar || '', videoThumbnail: threadThumbnail || null, link: threadLink, newThreadLink: newThreadLink, newThreadLinkIdOnly: newThreadLinkIdOnly, since: get_default()(thread, 'list_item.item_date', thread.thread_create_date), since_date: (0,dateFormat/* default */.Z)(get_default()(thread, 'list_item.item_date', thread.thread_create_date)), sinceDateDb: utils_dateFormatDB(get_default()(thread, 'list_item.item_date', thread.thread_create_date)), isEmbedVideo: get_default()(thread, 'thread_is_embed_video', thread.thread_is_embed_video), updated: get_default()(thread, 'list_item.item_date', thread.thread_update_date), updatedDate: (0,dateFormat/* default */.Z)(get_default()(thread, 'list_item.item_date', thread.thread_update_date)), updatedDateDb: utils_dateFormatDB(get_default()(thread, 'list_item.item_date', thread.thread_update_date)), tableOfContent: buildTableOfContent(threadBody), author: { id: thread.creator_user_id, name: thread.creator_username, avatar: thread.links.first_poster_avatar ? thread.links.first_poster_avatar : defaultAvatar, verified_badge: thread.creator_has_verified_badge, link: "https://tinhte.vn/profile/".concat((0,convertToSlug/* default */.Z)(thread.creator_username), ".").concat(thread.creator_user_id, "/"), rank: firstPostInArray.poster_rank ? firstPostInArray.poster_rank.rank_name : '', isFollowed: thread.user_is_followed ? thread.user_is_followed : false, threadCount: thread.user_thread_count || 0, followCount: thread.user_follower_count || 0, intro: thread.user_about_plain_text || '', isModeratorContent: isModeratorContent, isMod: isMod, isAdmin: isAdmin, isModHonor: isModHonor, isModNews: isModNews }, scoring: { value: thread.points, status: thread.status }, stats: { comment: thread.thread_post_count - 1, view: thread.thread_view_count || 0, like: thread.user_like_count || 0, rating: { total: get_default()(thread, 'rating_total', 0) ? get_default()(thread, 'rating_total', 0) : 0, count: get_default()(thread, 'rating_count', 0) ? get_default()(thread, 'rating_count', 0) : 0 } }, forum: { id: forumId, title: thread.forum ? thread.forum.forum_title : '', link: thread.forum ? thread.forum.links.permalink : '' }, forumId: forumId, tinhteContentBrand: tinhteContentBrand, userIsIgnored: thread.user_is_ignored ? thread.user_is_ignored : false, isDeleted: thread.thread_is_deleted ? thread.thread_is_deleted : false, firstPostId: firstPostInArray.post_id || null, firstPost: _objectSpread(_objectSpread({}, (0,normalize_post/* default */.ZP)(firstPostInArray || {}, thread)), {}, { isFirstPost: true, excerpt: (0,getExcerpt/* default */.Z)(firstPostInArray.post_body_plain_text, 200), postBody: firstPostInArray.post_body }), posts: (0,posts/* default */.Z)(thread.posts || [], thread) || [], // eslint-disable-next-line max-len latestPosts: (0,posts/* default */.Z)(thread.latest_posts || [], thread).sort(function (a, b) { return b.id - a.id; }) || [], tags: tags, tagString: tagString, overlayImgUrl: specialTagFound ? specialTagFound.overlayImgUrl : null, permissions: thread.permissions ? thread.permissions : {}, fpPermissions: thread.fp_permissions ? thread.fp_permissions : [], postLink: thread.links.posts, isTinhteFact: isTinhteFact, isLiveStreamGame: isLiveStreamGame, isDeepTalkArticle: isDeepTalkArticle, isLookBackArticle: isLookBackArticle, isTTBC: isTTBC, isTTBC24: isTTBC24, isReviewArticle: isReviewArticle, isSticky: false, isFollowed: thread.thread_is_followed || false, isBookmarked: thread.thread_is_bookmark || false, isPublished: thread.thread_is_published || false, dashboards: thread.tinhte_dashboards || null, prefixes: thread.thread_prefixes ? thread.thread_prefixes : [], isModerated: thread.thread_is_moderated || false, isDraft: thread.is_draft || false, reviewExtraData: thread.review_extra_data || null, pagination: { next: pagination && pagination.next ? pagination.next : '', page: pagination && pagination.page ? pagination.page : 1, pages: pagination && pagination.pages ? pagination.pages : 1 }, livestream: livestream(get_default()(thread, 'tinhtemods_livestream', null)), isVideoFact: isVideoFact, threadLayout: getThreadLayout(thread), background: { id: get_default()(thread, 'background.background_id', null), url: get_default()(thread, 'background.links.image_url', ''), thumbnailUrl: get_default()(thread, 'background.links.thumbnail_url', '') }, threadHasPoll: thread.thread_has_poll || false }; return normalized; }; /* harmony default export */ var thread = (normalizeThread); var generateParamFieldsInclude = function generateParamFieldsInclude() { var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var extraFields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var fields = ['thread_id', 'thread_title', 'first_post.post_body_plain_text', 'first_post.post_id', 'first_post.post_is_liked', 'first_post.post_like_count', 'first_post.poster_rank', 'first_post.poster_has_verified_badge', 'first_post.post_body', 'first_post.attachments', 'first_post.post_body_html', 'first_post.post_reaction_total', 'first_post.post_reactions', 'first_post.post_visitor_reaction_id', 'first_post.user_is_admin', 'first_post.user_is_moderator', 'first_post.user_is_moderator_content', 'first_post.user_is_moderator_honor', 'first_post.user_is_moderator_news', 'thread_image.link', 'thread_thumbnail.link', 'links.permalink', 'links.posts', 'thread_create_date', 'creator_user_id', 'creator_username', 'creator_is_mod', 'creator_has_verified_badge', 'links.first_poster_avatar', 'thread_post_count', 'thread_view_count', 'forum.forum_id', 'forum.forum_title', 'forum.links.permalink', 'thread_tags', 'permissions', 'user_is_ignored', 'latest_posts', 'thread_is_bookmark', 'thread_prefixes', 'background', 'bdContentList_promote_item', 'thread_is_embed_video']; extraFields.forEach(function (f) { return fields.push(f); }); return fields.map(function (f) { return prefix + f; }).join(','); }; var generateParamFieldsShortenInclude = function generateParamFieldsShortenInclude() { var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var extraFields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var fields = ['thread_id', 'thread_title', 'thread_image.link', 'thread_thumbnail.link', 'links.permalink', 'links.posts', 'thread_create_date', 'creator_user_id', 'creator_username', 'creator_has_verified_badge', 'links.first_poster_avatar', 'thread_post_count', 'thread_view_count', 'thread_prefixes', 'first_post.post_id', 'first_post.post_body_plain_text', 'first_post.user_is_admin', 'first_post.user_is_moderator', 'first_post.user_is_moderator_content', 'first_post.user_is_moderator_honor', 'first_post.user_is_moderator_news']; extraFields.forEach(function (f) { return fields.push(f); }); return fields.map(function (f) { return prefix + f; }).join(','); }; var threadReadsUri = '/tinhte/threads/thread-reads'; var threadsXeUri = 'lists/5/threads?limit=20' + "&fields_include=list_item,".concat(generateParamFieldsInclude('content.')) + '&_bdImageApiThreadThumbnailWidth=312' + '&_bdImageApiThreadThumbnailHeight=193'; var threadsAudioUri = 'lists/9/threads?limit=24' + "&fields_include=list_item,".concat(generateParamFieldsInclude('content.')) + '&_bdImageApiThreadThumbnailWidth=312' + '&_bdImageApiThreadThumbnailHeight=193'; var threadsCameraUri = 'lists/6/threads?limit=24' + "&fields_include=list_item,".concat(generateParamFieldsInclude('content.')) + '&_bdImageApiThreadThumbnailWidth=312' + '&_bdImageApiThreadThumbnailHeight=193'; // Shorten var threadsXeShortenUri = 'lists/5/threads?limit=4' + "&fields_include=list_item,".concat(generateParamFieldsShortenInclude('content.')) + '&_bdImageApiThreadThumbnailWidth=312' + '&_bdImageApiThreadThumbnailHeight=193'; var threadsAudioShortenUri = 'lists/9/threads?limit=4' + "&fields_include=list_item,".concat(generateParamFieldsShortenInclude('content.')) + '&_bdImageApiThreadThumbnailWidth=312' + '&_bdImageApiThreadThumbnailHeight=193'; var threadsCameraShortenUri = 'lists/6/threads?limit=4' + "&fields_include=list_item,".concat(generateParamFieldsShortenInclude('content.')) + '&_bdImageApiThreadThumbnailWidth=312' + '&_bdImageApiThreadThumbnailHeight=193'; var threadsQuickViewUri = function threadsQuickViewUri() { var limit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8; return 'lists/21140/threads?' + "limit=".concat(limit) + "&fields_include=list_item,".concat(generateParamFieldsShortenInclude('content.')) + '&_bdImageApiThreadThumbnailWidth=312' + '&_bdImageApiThreadThumbnailHeight=193'; }; // End shorten var threadsPromotedUri = 'threads/promoted?limit=18' + "&fields_include=list_item,user_is_ignored,".concat(generateParamFieldsInclude('content.')) + '&_bdImageApiThreadThumbnailWidth=460' + '&_bdImageApiThreadThumbnailHeight=sw'; var threadsNewUri = 'threads/promoted?limit=3' + "&fields_include=list_item,user_is_ignored,".concat(generateParamFieldsInclude('content.')) + '&order=thread_update_date_reverse' + '&fields_exclude=creator_user'; var homeModSelectedThreadsUri = function homeModSelectedThreadsUri(listId) { return "lists/".concat(listId && listId > 0 ? listId : 7, "/threads?limit=15") + "&fields_include=list_item,".concat(generateParamFieldsInclude('content.')) + '&order=natural_reverse' + '&_bdImageApiThreadThumbnailWidth=216' + '&_bdImageApiThreadThumbnailHeight=sw'; }; var homeDailyDiscussionUri = 'lists/8/threads?limit=1' + "&fields_include=list_item,".concat(generateParamFieldsShortenInclude('content.')) + '&order=natural_reverse' + '&_bdImageApiThreadThumbnailWidth=460' + '&_bdImageApiThreadThumbnailHeight=sw'; var homePinDiscussionUri = 'lists/10/threads?limit=1' + "&fields_include=list_item,".concat(generateParamFieldsInclude('content.')) + '&order=natural_reverse' + '&_bdImageApiThreadThumbnailWidth=460' + '&_bdImageApiThreadThumbnailHeight=sw'; var threadsCreatorUri = 'tinhte-creator/threads-score?limit=20' + "&fields_include=".concat(['content.thread_id', 'content.thread_title', 'content.first_post.post_body_plain_text', 'content.first_post.post_id', 'content.thread_image.link', 'content.thread_thumbnail.link', 'content.links.permalink', 'content.creator_user_id', 'content.creator_username', 'content.links.first_poster_avatar', 'content.forum.forum_id', 'content.forum.forum_title', 'content.thread_is_bookmark'].join(',')) + '&_bdImageApiThreadThumbnailWidth=460' + '&_bdImageApiThreadThumbnailHeight=sw'; var threadsCreatorTopRatingUri = 'tinhte-creator/top-rating-threads?limit=10' + "&fields_include=".concat(['content.thread_id', 'content.thread_title', 'content.thread_image.link', 'content.thread_thumbnail.link', 'content.links.permalink', 'content.creator_user_id', 'content.creator_username'].join(',')) + '&_bdImageApiThreadThumbnailWidth=216' + '&_bdImageApiThreadThumbnailHeight=sw'; /***/ }), /***/ 5737: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ trend; }, "I": function() { return /* binding */ threadsInTrendingTagsUri; } }); // EXTERNAL MODULE: ./node_modules/lodash/defaultsDeep.js var defaultsDeep = __webpack_require__(66913); var defaultsDeep_default = /*#__PURE__*/__webpack_require__.n(defaultsDeep); ;// CONCATENATED MODULE: ./src/resources/default/trend.js var DEFAULT_TREND = { tag_name: '', title: '', img_url: '', is_pinned: 1, tag_img: '', threads: [], threads_total: 0 }; /* harmony default export */ var default_trend = (DEFAULT_TREND); // EXTERNAL MODULE: ./src/resources/normalize/thread.js + 3 modules var thread = __webpack_require__(76096); ;// CONCATENATED MODULE: ./src/resources/normalize/trend.js /* eslint no-underscore-dangle: 0 */ var normalizeTrend = function normalizeTrend(raw) { var trend = defaultsDeep_default()({}, raw, default_trend); return { tag: trend.tag_name, title: trend.title, img: trend.img_url, tagImg: trend.tag_img, isPinned: trend.is_pinned, stats: { thread: trend.threads_total }, threads: trend.threads.slice(0, 5).map(thread/* default */.ZP) }; }; /* harmony default export */ var trend = (normalizeTrend); var threadsInTrendingTagsUri = 'tinhte/threads-in-trending-tags'; /***/ }), /***/ 23816: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ user; }, "V": function() { return /* binding */ generateParamFieldsShortenInclude; } }); // EXTERNAL MODULE: ./node_modules/lodash/defaultsDeep.js var defaultsDeep = __webpack_require__(66913); var defaultsDeep_default = /*#__PURE__*/__webpack_require__.n(defaultsDeep); // EXTERNAL MODULE: ./src/resources/default/date.js var date = __webpack_require__(18308); ;// CONCATENATED MODULE: ./src/resources/default/user.js var DEFAULT_USER = { user_id: null, username: 'Không tìm thấy', user_title: '', intro: '', links: { avatar_big: '', permalink: '' }, user_last_seen_date: date/* default */.Z, user_register_date: date/* default */.Z, user_has_verified_badge: false, user_like_count: 0, user_message_count: 0, user_unread_conversation_count: 0, user_unread_notification_count: 0, rank: { rank_level: '', rank_name: '', rank_points: 0 }, money: 0, _additional: { score_points: 0, score_date: 0, earned_points: 0, recent_post_count: 0 }, user_groups: [], user_is_moderator: false, user_is_followed: false, user_is_ignored: false, user_is_admin: false, user_is_visitor: true, fields: [], permissions: { edit: false, follow: false, ignore: false, profile_post: false }, tinhte_dashboards: null }; /* harmony default export */ var default_user = (DEFAULT_USER); ;// CONCATENATED MODULE: ./src/resources/normalize/user.js /* eslint no-underscore-dangle: 0 */ var extractUserFieldValue = function extractUserFieldValue(key, data) { var field = data.filter(function (item) { return item.id === key; }).pop(); if (field && Object.hasOwnProperty.call(field, 'value')) { return field.value; } return null; }; var normalizeUser = function normalizeUser(raw) { var user = defaultsDeep_default()({}, raw, default_user); var userLink = user.links.permalink.replace('/members/', '/profile/'); var DEFAULT_UI_SETTING = '{"theme":"light","font_size":15}'; var userUISettings = { theme: 'light', font_size: 15 }; try { userUISettings = JSON.parse(extractUserFieldValue('user_ui_settings', user.fields) || DEFAULT_UI_SETTING); } catch (error) { console.error('Error parsing User UI settings', error); console.error('User UI settings string: ', user.fields); } var isModeratorContent = user.user_is_moderator_content; var isModeratorHonor = user.user_is_moderator_honor; var isModeratorNews = user.user_is_moderator_news; var isModerator = user.user_is_moderator; var isAdmin = user.user_is_admin; return { id: user.user_id, name: user.username, title: user.user_title, intro: user.user_about_html, introPlainText: user.user_about_plain_text || '', facebookUsername: extractUserFieldValue('facebook', user.fields), attendedEvents: extractUserFieldValue('modEvents', user.fields), UISetting: userUISettings, avatar: user.links.avatar ? user.links.avatar : 'https://tinhte.vn/styles/uiflex/xenforo/avatars/avatar_l.png', avatarBig: user.links.avatar_big ? user.links.avatar_big : 'https://tinhte.vn/styles/uiflex/xenforo/avatars/avatar_l.png', link: userLink, lastSeenTime: user.user_last_seen_date, joinedTime: user.user_register_date, verifiedBadge: user.user_has_verified_badge, isModeratorContent: isModeratorContent, isModeratorHonor: isModeratorHonor, isModeratorNews: isModeratorNews, isModerator: isModerator, isAdmin: isAdmin, isNormalUser: !isAdmin && !isModerator && !isModeratorNews && !isModeratorHonor && !isModeratorContent, isBanned: user.user_is_banned, isVerified: user.user_is_verified, isValid: user.user_is_valid, isVisitor: user.user_is_visitor, isFollowed: user.user_is_followed, isIgnored: user.user_is_ignored, isVerifiedPhone: user.is_verified_phone, isVerifiedCitizen: user.is_verified_citizen, stats: { like: user.user_like_count, post: user.user_message_count, thread: user.user_thread_count, follower: user.user_follower_count }, messages: { noti: user.user_unread_notification_count, conv: user.user_unread_conversation_count }, rank: { rankLevel: user.rank.rank_level, rankName: user.rank.rank_name, rankPoints: Math.trunc(user.rank.rank_points) }, userRanking: user.user_ranking, money: user.money ? Math.floor(Number(user.money)).toLocaleString('vi') : 0, _additional: { scorePoints: user._additional.score_points, scoreDate: user._additional.score_date, earnedPoints: user._additional.earned_points, recentPostCount: user._additional.recent_post_count }, additional: user._additional ? user._additional : null, userGroups: user.user_groups, permissions: { edit: user.permissions.edit, follow: user.permissions.follow, ignore: user.permissions.ignore, profilePost: user.permissions.profile_post }, dashboards: user.tinhte_dashboards || null, reactionId: user.reaction_id || null }; }; /* harmony default export */ var user = (normalizeUser); var generateParamFieldsShortenInclude = function generateParamFieldsShortenInclude() { var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var extraFields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var fields = ['user_id', 'username', 'links.avatar', 'links.avatar_big', 'links.permalink', 'links.posts', 'user_has_verified_badge', 'rank', 'user_message_count', 'user_like_count']; extraFields.forEach(function (f) { return fields.push(f); }); return fields.map(function (f) { return prefix + f; }).join(','); }; /***/ }), /***/ 42460: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; var dateFormat = function dateFormat(unixTimestamp) { var a = new Date(unixTimestamp * 1000); var year = a.getFullYear(); var month = a.getMonth() + 1; var date = a.getDate(); var dateFormatted = "".concat(date, "/").concat(month, "/").concat(year); return dateFormatted; }; /* harmony default export */ __webpack_exports__["Z"] = (dateFormat); /***/ }), /***/ 96401: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var he__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86492); /* harmony import */ var he__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(he__WEBPACK_IMPORTED_MODULE_0__); // order is important var charToBreak = ['.', ',', ' ']; var getExcerpt = function getExcerpt(raw, chars) { var body = he__WEBPACK_IMPORTED_MODULE_0___default().decode(raw); var excerpt = body.slice(0, chars + 50); excerpt = excerpt.replace('[ATTACH]', ''); excerpt = excerpt.trim(); // we don't use forEach here so we can return ealier for (var i = 0; i < 3; i += 1) { var _char = charToBreak[i]; var index = excerpt.lastIndexOf(_char); if (index > chars) { var suffix = _char === '.' ? _char : '…'; return "".concat(excerpt.slice(0, index)).concat(suffix); } } return excerpt; }; /* harmony default export */ __webpack_exports__["Z"] = (getExcerpt); /***/ }), /***/ 70995: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; var convertToSlug = function convertToSlug(str) { if (!str) return ''; /* eslint-disable no-useless-escape */ var slug = str.toLowerCase(); slug = slug.replace(/\n/gi, '-'); slug = slug.replace(/á|à|ả|ạ|ã|ă|ắ|ằ|ẳ|ẵ|ặ|â|ấ|ầ|ẩ|ẫ|ậ/gi, 'a'); slug = slug.replace(/é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ/gi, 'e'); slug = slug.replace(/i|í|ì|ỉ|ĩ|ị/gi, 'i'); slug = slug.replace(/ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ/gi, 'o'); slug = slug.replace(/ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự/gi, 'u'); slug = slug.replace(/ý|ỳ|ỷ|ỹ|ỵ/gi, 'y'); slug = slug.replace(/đ/gi, 'd'); slug = slug.replace(/\`|\~|\!|\@|\#|\||\$|\%|\^|\&|\*|\(|\)|\+|\=|\,|\.|\/|\?|\>|\<|\'|\"|\:|\;|_/gi, ''); slug = slug.replace(/ /gi, '-'); slug = slug.replace(/\-\-\-\-\-/gi, '-'); slug = slug.replace(/\-\-\-\-/gi, '-'); slug = slug.replace(/\-\-\-/gi, '-'); slug = slug.replace(/\-\-/gi, '-'); slug = "@".concat(slug, "@"); slug = slug.replace(/\@\-|\-\@|\@/gi, ''); return slug; }; /* harmony default export */ __webpack_exports__["Z"] = (convertToSlug); /***/ }), /***/ 66317: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _fingerprintjs_fingerprintjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60022); /* harmony import */ var _fingerprintjs_fingerprintjs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_fingerprintjs_fingerprintjs__WEBPACK_IMPORTED_MODULE_0__); /* global ga */ /* eslint no-undef: "error" */ // We re-write the callback into a Promise style, // so it plays nice with React Hooks var getFingerprint = function getFingerprint() { return new Promise(function (resolve) { try { _fingerprintjs_fingerprintjs__WEBPACK_IMPORTED_MODULE_0___default().get(function (components) { var values = components.map(function (component) { return component.value; }); var murmur = _fingerprintjs_fingerprintjs__WEBPACK_IMPORTED_MODULE_0___default().x64hash128(values.join(''), 31); var returnData = {}; components.forEach(function (component) { if (component.key !== 'canvas' && component.key !== 'webgl' && component.key !== 'plugins' && component.key !== 'fonts') { returnData[component.key] = component.value; } }); resolve({ components: returnData, fingerprintHash: murmur }); }); } catch (error) { console.error(error); } }); }; /* harmony default export */ __webpack_exports__["Z"] = ({ getFingerprint: getFingerprint }); /***/ }), /***/ 98171: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Q": function() { return /* binding */ newsFeedVisit; }, /* harmony export */ "n5": function() { return /* binding */ getUserId; }, /* harmony export */ "$Q": function() { return /* binding */ firebaseTrackingEvent; } /* harmony export */ }); var newsFeedVisit = 'news_feed_visit'; var getUserId = function getUserId(userId) { // eslint-disable-next-line no-undef var analytics = firebase.analytics(); analytics.setUserId(userId); }; var firebaseTrackingEvent = function firebaseTrackingEvent(eventName, params) { // eslint-disable-next-line no-undef var analytics = firebase.analytics(); if (params) { analytics.logEvent(eventName, params); } else { analytics.logEvent(eventName); } }; /***/ }), /***/ 63619: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var lodash_sampleSize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42404); /* harmony import */ var lodash_sampleSize__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_sampleSize__WEBPACK_IMPORTED_MODULE_0__); var getRandomPlaceholder = function getRandomPlaceholder() { var tagRandomImages = ['https://photo2.tinhte.vn/data/attachment-files/2019/07/4728696_1.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4728697_2.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4728698_3.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4728699_4.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4728700_5.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4728701_6.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4728702_7.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4728703_8.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4728704_9.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4728705_10.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4733055_12.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4733056_13.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4733057_14.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4733058_15.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4733059_16.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4733060_17.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4733061_18.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4733062_19.jpg', 'https://photo2.tinhte.vn/data/attachment-files/2019/07/4733063_20.jpg']; var defaultImg = lodash_sampleSize__WEBPACK_IMPORTED_MODULE_0___default()(tagRandomImages); return defaultImg[0]; }; /* harmony default export */ __webpack_exports__["Z"] = (getRandomPlaceholder); /***/ }), /***/ 94138: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "I": function() { return /* binding */ TATrackPageView; } /* harmony export */ }); /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83789); /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68216); /* harmony import */ var _builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25997); /* harmony import */ var md5__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2568); /* harmony import */ var md5__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(md5__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _deviceFingerprint__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(66317); /* harmony import */ var _pageName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51270); /* eslint-disable */ var FROM_BLOCK_KEY_NAME = 'from_block'; var PAGE_VIEW_KEY_NAME = 'page_name'; var PAGE_VIEW_EVENT_NAME = 'page_view'; var TinhteAnalytics = /*#__PURE__*/function () { function TinhteAnalytics(api) { (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_3__/* .default */ .Z)(this, TinhteAnalytics); this.api = api; this.clientId = api.getClientId(); this.apiUrl = "".concat(api.getApiRoot(), "?tinhte-analytics/log"); this.session = null; } (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_4__/* .default */ .Z)(TinhteAnalytics, [{ key: "generateSignature", value: function generateSignature(payload) { var clientId = this.clientId; var dataEncodedJson = JSON.stringify(payload); var currentTimestamp = Date.now(); var dataToEncode = "".concat(dataEncodedJson).concat(clientId).concat(currentTimestamp); var md5Hash = md5__WEBPACK_IMPORTED_MODULE_0___default()(dataToEncode); var signature = "".concat(md5Hash, ".").concat(currentTimestamp); return signature; } }, { key: "getBrowserInfo", value: function getBrowserInfo() { var url, userAgentString, referrer, screenHeight, screenWidth, browserHeight, browserWidth = null; if (window) { url = window.location.href; userAgentString = navigator.userAgent; referrer = document.referrer; screenHeight = window.screen.availHeight; screenWidth = window.screen.availWidth; browserHeight = window.innerWidth; browserWidth = window.innerWidth; } return { browser_height: browserHeight, browser_width: browserWidth, screen_height: screenHeight, screen_width: screenWidth, referrer: referrer, user_agent: userAgentString, url: url }; } }, { key: "getUtmInfo", value: function getUtmInfo() { var queryString = window.location.search; var urlParams = new URLSearchParams(queryString); var utmMedium = urlParams.get('utm_medium'); var utmSource = urlParams.get('utm_source'); var utmCampaign = urlParams.get('utm_campaign'); return { source: utmSource, medium: utmMedium, name: utmCampaign }; } }, { key: "preparePayload", value: function preparePayload(eventName, platform, eventAttributes, userId) { var _this = this; var currentTimestamp = Date.now(); var payload = { id: this.session.getSessionId(), event_name: eventName, event_timestamp: currentTimestamp, platform: platform, web_info: this.getBrowserInfo(), traffic_source: this.getUtmInfo() }; if (eventAttributes) { payload.attributes = eventAttributes; } if (userId) { payload.user_id = userId; } else { this.api.onAuthenticated(function () { payload.user_id = _this.api.getUserId(); }); } return payload; } }, { key: "submitData", value: function submitData(payload) { // console.log('Tinhte Analytics', payload); var signature = this.generateSignature(payload); // Submit data to URL var url = this.apiUrl; url += "&data=".concat(encodeURIComponent(JSON.stringify(payload))); url += "&signature=".concat(signature); url += "&oauth_token=".concat(this.api.getOtt()); navigator.sendBeacon(url); } }, { key: "trackEvent", value: function trackEvent(eventName) {// const session = new TaSession(); // session.update(); // this.session = session; // let deviceFingerprintData = null; // const payload = this.preparePayload(eventName, platform, eventAttributes, userId); // try { // Promise.resolve(fpUtils.getFingerprint()) // .then((fpData) => { // deviceFingerprintData = fpData; // payload.user_pseudo_id = deviceFingerprintData.fingerprintHash, // this.submitData(payload); // }); // } catch (err) { // this.submitData(payload); // } var userId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var eventAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var platform = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'web'; } }, { key: "trackPageView", value: function trackPageView(pageName, userId, attributes) { var fromBlock = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ''; var pageAttributes = [{ key: PAGE_VIEW_KEY_NAME, value: pageName }]; if (fromBlock) { pageAttributes = [].concat((0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* .default */ .Z)(pageAttributes), [{ key: FROM_BLOCK_KEY_NAME, value: fromBlock }]); } if (attributes) { pageAttributes = [].concat((0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* .default */ .Z)(pageAttributes), (0,_builds_tinhte_TinhteHome_node_modules_next_node_modules_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* .default */ .Z)(attributes)); } this.trackEvent(PAGE_VIEW_EVENT_NAME, userId, pageAttributes, 'web'); } }]); return TinhteAnalytics; }(); /* harmony default export */ __webpack_exports__["Z"] = (TinhteAnalytics); /** * * taAttributes: * [ * { key: 'thread_id', value: thread.id }, * { key: 'page_number', value: currentPage || 1 } * ] */ var TATrackPageView = function TATrackPageView(api, payload) { var taAttributes = payload.taAttributes, taFromBlock = payload.taFromBlock; api.onAuthenticated(function () { var ta = new TinhteAnalytics(api); ta.trackPageView(payload.taPageName || _pageName__WEBPACK_IMPORTED_MODULE_2__/* .default.ThreadView_Detail */ .Z.ThreadView_Detail, api.getUserId(), taAttributes, taFromBlock); }); }; /***/ }), /***/ 51270: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; var TaPageName = Object.freeze({ HOME: 'home', TinhteFact_Detail: 'tinhtefact_detail', ThreadView_Detail: 'threadview_detail', ForU: 'foru', BIRTHDAY: 'tinhte_birthday', Community_Detail: 'community_detail', Tinhte_App_Landing_Page: 'tinhte_app_landing_page', Tag_Content_Listing: 'tag_content_listing' }); /* harmony default export */ __webpack_exports__["Z"] = (TaPageName); /***/ }), /***/ 7578: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; var countWords = function countWords(str) { var resultString = str; resultString = resultString.replace(/(^\s*)|(\s*$)/gi, ''); resultString = resultString.replace(/[ ]{2,}/gi, ' '); resultString = resultString.replace(/\n /, '\n'); return resultString.split(' ').length; }; /* harmony default export */ __webpack_exports__["Z"] = (countWords); /***/ }), /***/ 63144: /***/ (function(module) { "use strict"; /* globals self */ var fetch = self.fetch.bind(self); module.exports = fetch; module.exports.default = module.exports; //# sourceMappingURL=index.js.map /***/ }), /***/ 44475: /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { (window.__NEXT_P = window.__NEXT_P || []).push([ "/editorv2", function () { return __webpack_require__(79940); } ]); /***/ }), /***/ 9008: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { module.exports = __webpack_require__(70639) /***/ }), /***/ 4298: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { module.exports = __webpack_require__(37926) /***/ }), /***/ 24244: /***/ (function(module) { "use strict"; var numberIsNaN = function (value) { return value !== value; }; module.exports = function is(a, b) { if (a === 0 && b === 0) { return 1 / a === 1 / b; } if (a === b) { return true; } if (numberIsNaN(a) && numberIsNaN(b)) { return true; } return false; }; /***/ }), /***/ 20609: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; var define = __webpack_require__(4289); var callBind = __webpack_require__(34147); var implementation = __webpack_require__(24244); var getPolyfill = __webpack_require__(75624); var shim = __webpack_require__(52281); var polyfill = callBind(getPolyfill(), Object); define(polyfill, { getPolyfill: getPolyfill, implementation: implementation, shim: shim }); module.exports = polyfill; /***/ }), /***/ 75624: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; var implementation = __webpack_require__(24244); module.exports = function getPolyfill() { return typeof Object.is === 'function' ? Object.is : implementation; }; /***/ }), /***/ 52281: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; var getPolyfill = __webpack_require__(75624); var define = __webpack_require__(4289); module.exports = function shimObjectIs() { var polyfill = getPolyfill(); define(Object, { is: polyfill }, { is: function testObjectIs() { return Object.is !== polyfill; } }); return polyfill; }; /***/ }), /***/ 18987: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; var keysShim; if (!Object.keys) { // modified from https://github.com/es-shims/es5-shim var has = Object.prototype.hasOwnProperty; var toStr = Object.prototype.toString; var isArgs = __webpack_require__(21414); // eslint-disable-line global-require var isEnumerable = Object.prototype.propertyIsEnumerable; var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString'); var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype'); var dontEnums = [ 'toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor' ]; var equalsConstructorPrototype = function (o) { var ctor = o.constructor; return ctor && ctor.prototype === o; }; var excludedKeys = { $applicationCache: true, $console: true, $external: true, $frame: true, $frameElement: true, $frames: true, $innerHeight: true, $innerWidth: true, $onmozfullscreenchange: true, $onmozfullscreenerror: true, $outerHeight: true, $outerWidth: true, $pageXOffset: true, $pageYOffset: true, $parent: true, $scrollLeft: true, $scrollTop: true, $scrollX: true, $scrollY: true, $self: true, $webkitIndexedDB: true, $webkitStorageInfo: true, $window: true }; var hasAutomationEqualityBug = (function () { /* global window */ if (typeof window === 'undefined') { return false; } for (var k in window) { try { if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') { try { equalsConstructorPrototype(window[k]); } catch (e) { return true; } } } catch (e) { return true; } } return false; }()); var equalsConstructorPrototypeIfNotBuggy = function (o) { /* global window */ if (typeof window === 'undefined' || !hasAutomationEqualityBug) { return equalsConstructorPrototype(o); } try { return equalsConstructorPrototype(o); } catch (e) { return false; } }; keysShim = function keys(object) { var isObject = object !== null && typeof object === 'object'; var isFunction = toStr.call(object) === '[object Function]'; var isArguments = isArgs(object); var isString = isObject && toStr.call(object) === '[object String]'; var theKeys = []; if (!isObject && !isFunction && !isArguments) { throw new TypeError('Object.keys called on a non-object'); } var skipProto = hasProtoEnumBug && isFunction; if (isString && object.length > 0 && !has.call(object, 0)) { for (var i = 0; i < object.length; ++i) { theKeys.push(String(i)); } } if (isArguments && object.length > 0) { for (var j = 0; j < object.length; ++j) { theKeys.push(String(j)); } } else { for (var name in object) { if (!(skipProto && name === 'prototype') && has.call(object, name)) { theKeys.push(String(name)); } } } if (hasDontEnumBug) { var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object); for (var k = 0; k < dontEnums.length; ++k) { if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) { theKeys.push(dontEnums[k]); } } } return theKeys; }; } module.exports = keysShim; /***/ }), /***/ 82215: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; var slice = Array.prototype.slice; var isArgs = __webpack_require__(21414); var origKeys = Object.keys; var keysShim = origKeys ? function keys(o) { return origKeys(o); } : __webpack_require__(18987); var originalKeys = Object.keys; keysShim.shim = function shimObjectKeys() { if (Object.keys) { var keysWorksWithArguments = (function () { // Safari 5.0 bug var args = Object.keys(arguments); return args && args.length === arguments.length; }(1, 2)); if (!keysWorksWithArguments) { Object.keys = function keys(object) { // eslint-disable-line func-name-matching if (isArgs(object)) { return originalKeys(slice.call(object)); } return originalKeys(object); }; } } else { Object.keys = keysShim; } return Object.keys || keysShim; }; module.exports = keysShim; /***/ }), /***/ 21414: /***/ (function(module) { "use strict"; var toStr = Object.prototype.toString; module.exports = function isArguments(value) { var str = toStr.call(value); var isArgs = str === '[object Arguments]'; if (!isArgs) { isArgs = str !== '[object Array]' && value !== null && typeof value === 'object' && typeof value.length === 'number' && value.length >= 0 && toStr.call(value.callee) === '[object Function]'; } return isArgs; }; /***/ }), /***/ 34155: /***/ (function(module) { // shim for using process in browser var process = module.exports = {}; // cached from whatever global is present so that test runners that stub it // don't break things. But we need to wrap it in a try catch in case it is // wrapped in strict mode code which doesn't define any globals. It's inside a // function because try/catches deoptimize in certain engines. var cachedSetTimeout; var cachedClearTimeout; function defaultSetTimout() { throw new Error('setTimeout has not been defined'); } function defaultClearTimeout () { throw new Error('clearTimeout has not been defined'); } (function () { try { if (typeof setTimeout === 'function') { cachedSetTimeout = setTimeout; } else { cachedSetTimeout = defaultSetTimout; } } catch (e) { cachedSetTimeout = defaultSetTimout; } try { if (typeof clearTimeout === 'function') { cachedClearTimeout = clearTimeout; } else { cachedClearTimeout = defaultClearTimeout; } } catch (e) { cachedClearTimeout = defaultClearTimeout; } } ()) function runTimeout(fun) { if (cachedSetTimeout === setTimeout) { //normal enviroments in sane situations return setTimeout(fun, 0); } // if setTimeout wasn't available but was latter defined if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { cachedSetTimeout = setTimeout; return setTimeout(fun, 0); } try { // when when somebody has screwed with setTimeout but no I.E. maddness return cachedSetTimeout(fun, 0); } catch(e){ try { // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally return cachedSetTimeout.call(null, fun, 0); } catch(e){ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error return cachedSetTimeout.call(this, fun, 0); } } } function runClearTimeout(marker) { if (cachedClearTimeout === clearTimeout) { //normal enviroments in sane situations return clearTimeout(marker); } // if clearTimeout wasn't available but was latter defined if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { cachedClearTimeout = clearTimeout; return clearTimeout(marker); } try { // when when somebody has screwed with setTimeout but no I.E. maddness return cachedClearTimeout(marker); } catch (e){ try { // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally return cachedClearTimeout.call(null, marker); } catch (e){ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. // Some versions of I.E. have different rules for clearTimeout vs setTimeout return cachedClearTimeout.call(this, marker); } } } var queue = []; var draining = false; var currentQueue; var queueIndex = -1; function cleanUpNextTick() { if (!draining || !currentQueue) { return; } draining = false; if (currentQueue.length) { queue = currentQueue.concat(queue); } else { queueIndex = -1; } if (queue.length) { drainQueue(); } } function drainQueue() { if (draining) { return; } var timeout = runTimeout(cleanUpNextTick); draining = true; var len = queue.length; while(len) { currentQueue = queue; queue = []; while (++queueIndex < len) { if (currentQueue) { currentQueue[queueIndex].run(); } } queueIndex = -1; len = queue.length; } currentQueue = null; draining = false; runClearTimeout(timeout); } process.nextTick = function (fun) { var args = new Array(arguments.length - 1); if (arguments.length > 1) { for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) { runTimeout(drainQueue); } }; // v8 likes predictible objects function Item(fun, array) { this.fun = fun; this.array = array; } Item.prototype.run = function () { this.fun.apply(null, this.array); }; process.title = 'browser'; process.browser = true; process.env = {}; process.argv = []; process.version = ''; // empty string to avoid regexp issues process.versions = {}; function noop() {} process.on = noop; process.addListener = noop; process.once = noop; process.off = noop; process.removeListener = noop; process.removeAllListeners = noop; process.emit = noop; process.prependListener = noop; process.prependOnceListener = noop; process.listeners = function (name) { return [] } process.binding = function (name) { throw new Error('process.binding is not supported'); }; process.cwd = function () { return '/' }; process.chdir = function (dir) { throw new Error('process.chdir is not supported'); }; process.umask = function() { return 0; }; /***/ }), /***/ 92703: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = __webpack_require__(50414); function emptyFunction() {} function emptyFunctionWithReset() {} emptyFunctionWithReset.resetWarningCache = emptyFunction; module.exports = function() { function shim(props, propName, componentName, location, propFullName, secret) { if (secret === ReactPropTypesSecret) { // It is still safe when called from React. return; } var err = new Error( 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); err.name = 'Invariant Violation'; throw err; }; shim.isRequired = shim; function getShim() { return shim; }; // Important! // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. var ReactPropTypes = { array: shim, bool: shim, func: shim, number: shim, object: shim, string: shim, symbol: shim, any: shim, arrayOf: getShim, element: shim, elementType: shim, instanceOf: getShim, node: shim, objectOf: getShim, oneOf: getShim, oneOfType: getShim, shape: getShim, exact: getShim, checkPropTypes: emptyFunctionWithReset, resetWarningCache: emptyFunction }; ReactPropTypes.PropTypes = ReactPropTypes; return ReactPropTypes; }; /***/ }), /***/ 45697: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (false) { var throwOnDirectAccess, ReactIs; } else { // By explicitly using `prop-types` you are opting into new production behavior. // http://fb.me/prop-types-in-prod module.exports = __webpack_require__(92703)(); } /***/ }), /***/ 50414: /***/ (function(module) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; /***/ }), /***/ 62587: /***/ (function(module) { "use strict"; // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including // without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicense, and/or sell copies of the Software, and to permit // persons to whom the Software is furnished to do so, subject to the // following conditions: // // The above copyright notice and this permission notice shall be included // in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. // If obj.hasOwnProperty has been overridden, then calling // obj.hasOwnProperty(prop) will break. // See: https://github.com/joyent/node/issues/1707 function hasOwnProperty(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } module.exports = function(qs, sep, eq, options) { sep = sep || '&'; eq = eq || '='; var obj = {}; if (typeof qs !== 'string' || qs.length === 0) { return obj; } var regexp = /\+/g; qs = qs.split(sep); var maxKeys = 1000; if (options && typeof options.maxKeys === 'number') { maxKeys = options.maxKeys; } var len = qs.length; // maxKeys <= 0 means that we should not limit keys count if (maxKeys > 0 && len > maxKeys) { len = maxKeys; } for (var i = 0; i < len; ++i) { var x = qs[i].replace(regexp, '%20'), idx = x.indexOf(eq), kstr, vstr, k, v; if (idx >= 0) { kstr = x.substr(0, idx); vstr = x.substr(idx + 1); } else { kstr = x; vstr = ''; } k = decodeURIComponent(kstr); v = decodeURIComponent(vstr); if (!hasOwnProperty(obj, k)) { obj[k] = v; } else if (Array.isArray(obj[k])) { obj[k].push(v); } else { obj[k] = [obj[k], v]; } } return obj; }; /***/ }), /***/ 12361: /***/ (function(module) { "use strict"; // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including // without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicense, and/or sell copies of the Software, and to permit // persons to whom the Software is furnished to do so, subject to the // following conditions: // // The above copyright notice and this permission notice shall be included // in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. var stringifyPrimitive = function(v) { switch (typeof v) { case 'string': return v; case 'boolean': return v ? 'true' : 'false'; case 'number': return isFinite(v) ? v : ''; default: return ''; } }; module.exports = function(obj, sep, eq, name) { sep = sep || '&'; eq = eq || '='; if (obj === null) { obj = undefined; } if (typeof obj === 'object') { return Object.keys(obj).map(function(k) { var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; if (Array.isArray(obj[k])) { return obj[k].map(function(v) { return ks + encodeURIComponent(stringifyPrimitive(v)); }).join(sep); } else { return ks + encodeURIComponent(stringifyPrimitive(obj[k])); } }).join(sep); } if (!name) return ''; return encodeURIComponent(stringifyPrimitive(name)) + eq + encodeURIComponent(stringifyPrimitive(obj)); }; /***/ }), /***/ 17673: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; exports.decode = exports.parse = __webpack_require__(62587); exports.encode = exports.stringify = __webpack_require__(12361); /***/ }), /***/ 48683: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __webpack_unused_export__; __webpack_unused_export__ = ({ value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _react = __webpack_require__(67294); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(45697); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var ClickOutside = function (_Component) { _inherits(ClickOutside, _Component); function ClickOutside(props) { _classCallCheck(this, ClickOutside); var _this = _possibleConstructorReturn(this, (ClickOutside.__proto__ || Object.getPrototypeOf(ClickOutside)).call(this, props)); _this.handle = function (e) { if (e.type === 'touchend') _this.isTouch = true; if (e.type === 'click' && _this.isTouch) return; var onClickOutside = _this.props.onClickOutside; var el = _this.container; if (el && !el.contains(e.target)) onClickOutside(e); }; _this.getContainer = _this.getContainer.bind(_this); _this.isTouch = false; return _this; } _createClass(ClickOutside, [{ key: 'getContainer', value: function getContainer(ref) { this.container = ref; } }, { key: 'render', value: function render() { var _props = this.props, children = _props.children, onClickOutside = _props.onClickOutside, props = _objectWithoutProperties(_props, ['children', 'onClickOutside']); return _react2.default.createElement( 'div', _extends({}, props, { ref: this.getContainer }), children ); } }, { key: 'componentDidMount', value: function componentDidMount() { document.addEventListener('touchend', this.handle, true); document.addEventListener('click', this.handle, true); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { document.removeEventListener('touchend', this.handle, true); document.removeEventListener('click', this.handle, true); } }]); return ClickOutside; }(_react.Component); ClickOutside.propTypes = { onClickOutside: _propTypes2.default.func.isRequired }; exports.Z = ClickOutside; /***/ }), /***/ 59359: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __webpack_unused_export__; __webpack_unused_export__ = ({ value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = __webpack_require__(67294); var React__default = _interopDefault(React); var UAParser = __webpack_require__(23451); var UA = new UAParser(); var browser = UA.getBrowser(); var cpu = UA.getCPU(); var device = UA.getDevice(); var engine = UA.getEngine(); var os = UA.getOS(); var ua = UA.getUA(); var setDefaults = function setDefaults(p) { var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none'; return p ? p : d; }; var getNavigatorInstance = function getNavigatorInstance() { if (typeof window !== 'undefined') { if (window.navigator || navigator) { return window.navigator || navigator; } } return false; }; var isIOS13Check = function isIOS13Check(type) { var nav = getNavigatorInstance(); return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream); }; function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function (obj) { return typeof obj; }; } else { _typeof = function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } var DEVICE_TYPES = { MOBILE: 'mobile', TABLET: 'tablet', SMART_TV: 'smarttv', CONSOLE: 'console', WEARABLE: 'wearable', BROWSER: undefined }; var BROWSER_TYPES = { CHROME: 'Chrome', FIREFOX: "Firefox", OPERA: "Opera", YANDEX: "Yandex", SAFARI: "Safari", INTERNET_EXPLORER: "Internet Explorer", EDGE: "Edge", CHROMIUM: "Chromium", IE: 'IE', MOBILE_SAFARI: "Mobile Safari", EDGE_CHROMIUM: "Edge Chromium" }; var OS_TYPES = { IOS: 'iOS', ANDROID: "Android", WINDOWS_PHONE: "Windows Phone", WINDOWS: 'Windows', MAC_OS: 'Mac OS' }; var initialData = { isMobile: false, isTablet: false, isBrowser: false, isSmartTV: false, isConsole: false, isWearable: false }; var checkType = function checkType(type) { switch (type) { case DEVICE_TYPES.MOBILE: return { isMobile: true }; case DEVICE_TYPES.TABLET: return { isTablet: true }; case DEVICE_TYPES.SMART_TV: return { isSmartTV: true }; case DEVICE_TYPES.CONSOLE: return { isConsole: true }; case DEVICE_TYPES.WEARABLE: return { isWearable: true }; case DEVICE_TYPES.BROWSER: return { isBrowser: true }; default: return initialData; } }; var broPayload = function broPayload(isBrowser, browser, engine, os, ua) { return { isBrowser: isBrowser, browserMajorVersion: setDefaults(browser.major), browserFullVersion: setDefaults(browser.version), browserName: setDefaults(browser.name), engineName: setDefaults(engine.name), engineVersion: setDefaults(engine.version), osName: setDefaults(os.name), osVersion: setDefaults(os.version), userAgent: setDefaults(ua) }; }; var mobilePayload = function mobilePayload(type, device, os, ua) { return _objectSpread2({}, type, { vendor: setDefaults(device.vendor), model: setDefaults(device.model), os: setDefaults(os.name), osVersion: setDefaults(os.version), ua: setDefaults(ua) }); }; var stvPayload = function stvPayload(isSmartTV, engine, os, ua) { return { isSmartTV: isSmartTV, engineName: setDefaults(engine.name), engineVersion: setDefaults(engine.version), osName: setDefaults(os.name), osVersion: setDefaults(os.version), userAgent: setDefaults(ua) }; }; var consolePayload = function consolePayload(isConsole, engine, os, ua) { return { isConsole: isConsole, engineName: setDefaults(engine.name), engineVersion: setDefaults(engine.version), osName: setDefaults(os.name), osVersion: setDefaults(os.version), userAgent: setDefaults(ua) }; }; var wearPayload = function wearPayload(isWearable, engine, os, ua) { return { isWearable: isWearable, engineName: setDefaults(engine.name), engineVersion: setDefaults(engine.version), osName: setDefaults(os.name), osVersion: setDefaults(os.version), userAgent: setDefaults(ua) }; }; var type = checkType(device.type); function deviceDetect() { var isBrowser = type.isBrowser, isMobile = type.isMobile, isTablet = type.isTablet, isSmartTV = type.isSmartTV, isConsole = type.isConsole, isWearable = type.isWearable; if (isBrowser) { return broPayload(isBrowser, browser, engine, os, ua); } if (isSmartTV) { return stvPayload(isSmartTV, engine, os, ua); } if (isConsole) { return consolePayload(isConsole, engine, os, ua); } if (isMobile) { return mobilePayload(type, device, os, ua); } if (isTablet) { return mobilePayload(type, device, os, ua); } if (isWearable) { return wearPayload(isWearable, engine, os, ua); } } var isMobileType = function isMobileType() { return device.type === DEVICE_TYPES.MOBILE; }; var isTabletType = function isTabletType() { return device.type === DEVICE_TYPES.TABLET; }; var isMobileAndTabletType = function isMobileAndTabletType() { switch (device.type) { case DEVICE_TYPES.MOBILE: case DEVICE_TYPES.TABLET: return true; default: return false; } }; var isEdgeChromiumType = function isEdgeChromiumType() { if (os.name === OS_TYPES.WINDOWS && os.version === '10') { return typeof ua === 'string' && ua.indexOf('Edg/') !== -1; } return false; }; var isSmartTVType = function isSmartTVType() { return device.type === DEVICE_TYPES.SMART_TV; }; var isBrowserType = function isBrowserType() { return device.type === DEVICE_TYPES.BROWSER; }; var isWearableType = function isWearableType() { return device.type === DEVICE_TYPES.WEARABLE; }; var isConsoleType = function isConsoleType() { return device.type === DEVICE_TYPES.CONSOLE; }; var isAndroidType = function isAndroidType() { return os.name === OS_TYPES.ANDROID; }; var isWindowsType = function isWindowsType() { return os.name === OS_TYPES.WINDOWS; }; var isMacOsType = function isMacOsType() { return os.name === OS_TYPES.MAC_OS; }; var isWinPhoneType = function isWinPhoneType() { return os.name === OS_TYPES.WINDOWS_PHONE; }; var isIOSType = function isIOSType() { return os.name === OS_TYPES.IOS; }; var isChromeType = function isChromeType() { return browser.name === BROWSER_TYPES.CHROME; }; var isFirefoxType = function isFirefoxType() { return browser.name === BROWSER_TYPES.FIREFOX; }; var isChromiumType = function isChromiumType() { return browser.name === BROWSER_TYPES.CHROMIUM; }; var isEdgeType = function isEdgeType() { return browser.name === BROWSER_TYPES.EDGE; }; var isYandexType = function isYandexType() { return browser.name === BROWSER_TYPES.YANDEX; }; var isSafariType = function isSafariType() { return browser.name === BROWSER_TYPES.SAFARI || browser.name === BROWSER_TYPES.MOBILE_SAFARI; }; var isMobileSafariType = function isMobileSafariType() { return browser.name === BROWSER_TYPES.MOBILE_SAFARI; }; var isOperaType = function isOperaType() { return browser.name === BROWSER_TYPES.OPERA; }; var isIEType = function isIEType() { return browser.name === BROWSER_TYPES.INTERNET_EXPLORER || browser.name === BROWSER_TYPES.IE; }; var isElectronType = function isElectronType() { var nav = getNavigatorInstance(); var ua = nav && nav.userAgent.toLowerCase(); return typeof ua === 'string' ? /electron/.test(ua) : false; }; var getIOS13 = function getIOS13() { var nav = getNavigatorInstance(); return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream; }; var getIPad13 = function getIPad13() { return isIOS13Check('iPad'); }; var getIphone13 = function getIphone13() { return isIOS13Check('iPhone'); }; var getIPod13 = function getIPod13() { return isIOS13Check('iPod'); }; var getBrowserFullVersion = function getBrowserFullVersion() { return setDefaults(browser.version); }; var getBrowserVersion = function getBrowserVersion() { return setDefaults(browser.major); }; var getOsVersion = function getOsVersion() { return setDefaults(os.version); }; var getOsName = function getOsName() { return setDefaults(os.name); }; var getBrowserName = function getBrowserName() { return setDefaults(browser.name); }; var getMobileVendor = function getMobileVendor() { return setDefaults(device.vendor); }; var getMobileModel = function getMobileModel() { return setDefaults(device.model); }; var getEngineName = function getEngineName() { return setDefaults(engine.name); }; var getEngineVersion = function getEngineVersion() { return setDefaults(engine.version); }; var getUseragent = function getUseragent() { return setDefaults(ua); }; var getDeviceType = function getDeviceType() { return setDefaults(device.type, 'browser'); }; var isSmartTV = isSmartTVType(); var isConsole = isConsoleType(); var isWearable = isWearableType(); var isMobileSafari = isMobileSafariType() || getIPad13(); var isChromium = isChromiumType(); var isMobile = isMobileAndTabletType() || getIPad13(); var isMobileOnly = isMobileType(); var isTablet = isTabletType() || getIPad13(); var isBrowser = isBrowserType(); var isAndroid = isAndroidType(); var isWinPhone = isWinPhoneType(); var isIOS = isIOSType() || getIPad13(); var isChrome = isChromeType(); var isFirefox = isFirefoxType(); var isSafari = isSafariType(); var isOpera = isOperaType(); var isIE = isIEType(); var osVersion = getOsVersion(); var osName = getOsName(); var fullBrowserVersion = getBrowserFullVersion(); var browserVersion = getBrowserVersion(); var browserName = getBrowserName(); var mobileVendor = getMobileVendor(); var mobileModel = getMobileModel(); var engineName = getEngineName(); var engineVersion = getEngineVersion(); var getUA = getUseragent(); var isEdge = isEdgeType() || isEdgeChromiumType(); var isYandex = isYandexType(); var deviceType = getDeviceType(); var isIOS13 = getIOS13(); var isIPad13 = getIPad13(); var isIPhone13 = getIphone13(); var isIPod13 = getIPod13(); var isElectron = isElectronType(); var isEdgeChromium = isEdgeChromiumType(); var isLegacyEdge = isEdgeType(); var isWindows = isWindowsType(); var isMacOs = isMacOsType(); var AndroidView = function AndroidView(_ref) { var renderWithFragment = _ref.renderWithFragment, children = _ref.children, viewClassName = _ref.viewClassName, style = _ref.style; return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; var BrowserView = function BrowserView(_ref2) { var renderWithFragment = _ref2.renderWithFragment, children = _ref2.children, viewClassName = _ref2.viewClassName, style = _ref2.style; return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; var IEView = function IEView(_ref3) { var renderWithFragment = _ref3.renderWithFragment, children = _ref3.children, viewClassName = _ref3.viewClassName, style = _ref3.style; return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; var IOSView = function IOSView(_ref4) { var renderWithFragment = _ref4.renderWithFragment, children = _ref4.children, viewClassName = _ref4.viewClassName, style = _ref4.style; return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; var MobileView = function MobileView(_ref5) { var renderWithFragment = _ref5.renderWithFragment, children = _ref5.children, viewClassName = _ref5.viewClassName, style = _ref5.style; return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; var TabletView = function TabletView(_ref6) { var renderWithFragment = _ref6.renderWithFragment, children = _ref6.children, viewClassName = _ref6.viewClassName, style = _ref6.style; return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; var WinPhoneView = function WinPhoneView(_ref7) { var renderWithFragment = _ref7.renderWithFragment, children = _ref7.children, viewClassName = _ref7.viewClassName, style = _ref7.style; return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; var MobileOnlyView = function MobileOnlyView(_ref8) { var renderWithFragment = _ref8.renderWithFragment, children = _ref8.children, viewClassName = _ref8.viewClassName, style = _ref8.style; return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; var SmartTVView = function SmartTVView(_ref9) { var renderWithFragment = _ref9.renderWithFragment, children = _ref9.children, viewClassName = _ref9.viewClassName, style = _ref9.style; return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; var ConsoleView = function ConsoleView(_ref10) { var renderWithFragment = _ref10.renderWithFragment, children = _ref10.children, viewClassName = _ref10.viewClassName, style = _ref10.style; return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; var WearableView = function WearableView(_ref11) { var renderWithFragment = _ref11.renderWithFragment, children = _ref11.children, viewClassName = _ref11.viewClassName, style = _ref11.style; return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; var CustomView = function CustomView(_ref12) { var renderWithFragment = _ref12.renderWithFragment, children = _ref12.children, viewClassName = _ref12.viewClassName, style = _ref12.style, condition = _ref12.condition; return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", { className: viewClassName, style: style }, children) : null; }; function withOrientationChange(WrappedComponent) { return ( /*#__PURE__*/ function (_React$Component) { _inherits(_class, _React$Component); function _class(props) { var _this; _classCallCheck(this, _class); _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props)); _this.isEventListenerAdded = false; _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this)); _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this)); _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this)); _this.state = { isLandscape: false, isPortrait: false }; return _this; } _createClass(_class, [{ key: "handleOrientationChange", value: function handleOrientationChange() { if (!this.isEventListenerAdded) { this.isEventListenerAdded = true; } var orientation = window.innerWidth > window.innerHeight ? 90 : 0; this.setState({ isPortrait: orientation === 0, isLandscape: orientation === 90 }); } }, { key: "onOrientationChange", value: function onOrientationChange() { this.handleOrientationChange(); } }, { key: "onPageLoad", value: function onPageLoad() { this.handleOrientationChange(); } }, { key: "componentDidMount", value: function componentDidMount() { if ((typeof window === "undefined" ? "undefined" : _typeof(window)) !== undefined && isMobile) { if (!this.isEventListenerAdded) { this.handleOrientationChange(); window.addEventListener("load", this.onPageLoad, false); } else { window.removeEventListener("load", this.onPageLoad, false); } window.addEventListener("resize", this.onOrientationChange, false); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener("resize", this.onOrientationChange, false); } }, { key: "render", value: function render() { return React__default.createElement(WrappedComponent, _extends({}, this.props, { isLandscape: this.state.isLandscape, isPortrait: this.state.isPortrait })); } }]); return _class; }(React__default.Component) ); } __webpack_unused_export__ = AndroidView; __webpack_unused_export__ = BrowserView; __webpack_unused_export__ = ConsoleView; __webpack_unused_export__ = CustomView; __webpack_unused_export__ = IEView; __webpack_unused_export__ = IOSView; __webpack_unused_export__ = MobileOnlyView; __webpack_unused_export__ = MobileView; __webpack_unused_export__ = SmartTVView; __webpack_unused_export__ = TabletView; __webpack_unused_export__ = WearableView; __webpack_unused_export__ = WinPhoneView; __webpack_unused_export__ = browserName; __webpack_unused_export__ = browserVersion; __webpack_unused_export__ = deviceDetect; __webpack_unused_export__ = deviceType; __webpack_unused_export__ = engineName; __webpack_unused_export__ = engineVersion; __webpack_unused_export__ = fullBrowserVersion; __webpack_unused_export__ = getUA; __webpack_unused_export__ = isAndroid; __webpack_unused_export__ = isBrowser; __webpack_unused_export__ = isChrome; __webpack_unused_export__ = isChromium; __webpack_unused_export__ = isConsole; __webpack_unused_export__ = isEdge; __webpack_unused_export__ = isEdgeChromium; __webpack_unused_export__ = isElectron; __webpack_unused_export__ = isFirefox; __webpack_unused_export__ = isIE; __webpack_unused_export__ = isIOS; __webpack_unused_export__ = isIOS13; __webpack_unused_export__ = isIPad13; __webpack_unused_export__ = isIPhone13; __webpack_unused_export__ = isIPod13; __webpack_unused_export__ = isLegacyEdge; __webpack_unused_export__ = isMacOs; exports.tq = isMobile; __webpack_unused_export__ = isMobileOnly; __webpack_unused_export__ = isMobileSafari; __webpack_unused_export__ = isOpera; __webpack_unused_export__ = isSafari; __webpack_unused_export__ = isSmartTV; __webpack_unused_export__ = isTablet; __webpack_unused_export__ = isWearable; __webpack_unused_export__ = isWinPhone; __webpack_unused_export__ = isWindows; __webpack_unused_export__ = isYandex; __webpack_unused_export__ = mobileModel; __webpack_unused_export__ = mobileVendor; __webpack_unused_export__ = osName; __webpack_unused_export__ = osVersion; __webpack_unused_export__ = withOrientationChange; /***/ }), /***/ 35639: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __webpack_unused_export__; __webpack_unused_export__ = ({ value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _react = __webpack_require__(67294); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(45697); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var sizerStyle = { position: 'absolute', top: 0, left: 0, visibility: 'hidden', height: 0, overflow: 'scroll', whiteSpace: 'pre' }; var INPUT_PROPS_BLACKLIST = ['extraWidth', 'injectStyles', 'inputClassName', 'inputRef', 'inputStyle', 'minWidth', 'onAutosize', 'placeholderIsMinWidth']; var cleanInputProps = function cleanInputProps(inputProps) { INPUT_PROPS_BLACKLIST.forEach(function (field) { return delete inputProps[field]; }); return inputProps; }; var copyStyles = function copyStyles(styles, node) { node.style.fontSize = styles.fontSize; node.style.fontFamily = styles.fontFamily; node.style.fontWeight = styles.fontWeight; node.style.fontStyle = styles.fontStyle; node.style.letterSpacing = styles.letterSpacing; node.style.textTransform = styles.textTransform; }; var isIE = typeof window !== 'undefined' && window.navigator ? /MSIE |Trident\/|Edge\//.test(window.navigator.userAgent) : false; var generateId = function generateId() { // we only need an auto-generated ID for stylesheet injection, which is only // used for IE. so if the browser is not IE, this should return undefined. return isIE ? '_' + Math.random().toString(36).substr(2, 12) : undefined; }; var AutosizeInput = function (_Component) { _inherits(AutosizeInput, _Component); function AutosizeInput(props) { _classCallCheck(this, AutosizeInput); var _this = _possibleConstructorReturn(this, (AutosizeInput.__proto__ || Object.getPrototypeOf(AutosizeInput)).call(this, props)); _this.inputRef = function (el) { _this.input = el; if (typeof _this.props.inputRef === 'function') { _this.props.inputRef(el); } }; _this.placeHolderSizerRef = function (el) { _this.placeHolderSizer = el; }; _this.sizerRef = function (el) { _this.sizer = el; }; _this.state = { inputWidth: props.minWidth, inputId: props.id || generateId() }; return _this; } _createClass(AutosizeInput, [{ key: 'componentDidMount', value: function componentDidMount() { this.mounted = true; this.copyInputStyles(); this.updateInputWidth(); } }, { key: 'UNSAFE_componentWillReceiveProps', value: function UNSAFE_componentWillReceiveProps(nextProps) { var id = nextProps.id; if (id !== this.props.id) { this.setState({ inputId: id || generateId() }); } } }, { key: 'componentDidUpdate', value: function componentDidUpdate(prevProps, prevState) { if (prevState.inputWidth !== this.state.inputWidth) { if (typeof this.props.onAutosize === 'function') { this.props.onAutosize(this.state.inputWidth); } } this.updateInputWidth(); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { this.mounted = false; } }, { key: 'copyInputStyles', value: function copyInputStyles() { if (!this.mounted || !window.getComputedStyle) { return; } var inputStyles = this.input && window.getComputedStyle(this.input); if (!inputStyles) { return; } copyStyles(inputStyles, this.sizer); if (this.placeHolderSizer) { copyStyles(inputStyles, this.placeHolderSizer); } } }, { key: 'updateInputWidth', value: function updateInputWidth() { if (!this.mounted || !this.sizer || typeof this.sizer.scrollWidth === 'undefined') { return; } var newInputWidth = void 0; if (this.props.placeholder && (!this.props.value || this.props.value && this.props.placeholderIsMinWidth)) { newInputWidth = Math.max(this.sizer.scrollWidth, this.placeHolderSizer.scrollWidth) + 2; } else { newInputWidth = this.sizer.scrollWidth + 2; } // add extraWidth to the detected width. for number types, this defaults to 16 to allow for the stepper UI var extraWidth = this.props.type === 'number' && this.props.extraWidth === undefined ? 16 : parseInt(this.props.extraWidth) || 0; newInputWidth += extraWidth; if (newInputWidth < this.props.minWidth) { newInputWidth = this.props.minWidth; } if (newInputWidth !== this.state.inputWidth) { this.setState({ inputWidth: newInputWidth }); } } }, { key: 'getInput', value: function getInput() { return this.input; } }, { key: 'focus', value: function focus() { this.input.focus(); } }, { key: 'blur', value: function blur() { this.input.blur(); } }, { key: 'select', value: function select() { this.input.select(); } }, { key: 'renderStyles', value: function renderStyles() { // this method injects styles to hide IE's clear indicator, which messes // with input size detection. the stylesheet is only injected when the // browser is IE, and can also be disabled by the `injectStyles` prop. var injectStyles = this.props.injectStyles; return isIE && injectStyles ? _react2.default.createElement('style', { dangerouslySetInnerHTML: { __html: 'input#' + this.state.inputId + '::-ms-clear {display: none;}' } }) : null; } }, { key: 'render', value: function render() { var sizerValue = [this.props.defaultValue, this.props.value, ''].reduce(function (previousValue, currentValue) { if (previousValue !== null && previousValue !== undefined) { return previousValue; } return currentValue; }); var wrapperStyle = _extends({}, this.props.style); if (!wrapperStyle.display) wrapperStyle.display = 'inline-block'; var inputStyle = _extends({ boxSizing: 'content-box', width: this.state.inputWidth + 'px' }, this.props.inputStyle); var inputProps = _objectWithoutProperties(this.props, []); cleanInputProps(inputProps); inputProps.className = this.props.inputClassName; inputProps.id = this.state.inputId; inputProps.style = inputStyle; return _react2.default.createElement( 'div', { className: this.props.className, style: wrapperStyle }, this.renderStyles(), _react2.default.createElement('input', _extends({}, inputProps, { ref: this.inputRef })), _react2.default.createElement( 'div', { ref: this.sizerRef, style: sizerStyle }, sizerValue ), this.props.placeholder ? _react2.default.createElement( 'div', { ref: this.placeHolderSizerRef, style: sizerStyle }, this.props.placeholder ) : null ); } }]); return AutosizeInput; }(_react.Component); AutosizeInput.propTypes = { className: _propTypes2.default.string, // className for the outer element defaultValue: _propTypes2.default.any, // default field value extraWidth: _propTypes2.default.oneOfType([// additional width for input element _propTypes2.default.number, _propTypes2.default.string]), id: _propTypes2.default.string, // id to use for the input, can be set for consistent snapshots injectStyles: _propTypes2.default.bool, // inject the custom stylesheet to hide clear UI, defaults to true inputClassName: _propTypes2.default.string, // className for the input element inputRef: _propTypes2.default.func, // ref callback for the input element inputStyle: _propTypes2.default.object, // css styles for the input element minWidth: _propTypes2.default.oneOfType([// minimum width for input element _propTypes2.default.number, _propTypes2.default.string]), onAutosize: _propTypes2.default.func, // onAutosize handler: function(newWidth) {} onChange: _propTypes2.default.func, // onChange handler: function(event) {} placeholder: _propTypes2.default.string, // placeholder text placeholderIsMinWidth: _propTypes2.default.bool, // don't collapse size to less than the placeholder style: _propTypes2.default.object, // css styles for the outer element value: _propTypes2.default.any // field value }; AutosizeInput.defaultProps = { minWidth: 1, injectStyles: true }; exports.Z = AutosizeInput; /***/ }), /***/ 69921: /***/ (function(__unused_webpack_module, exports) { "use strict"; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b? Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119; function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d; exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t}; exports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p}; exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z; /***/ }), /***/ 59864: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; if (true) { module.exports = __webpack_require__(69921); } else {} /***/ }), /***/ 46871: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "polyfill": function() { return /* binding */ polyfill; } /* harmony export */ }); /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ function componentWillMount() { // Call this.constructor.gDSFP to support sub-classes. var state = this.constructor.getDerivedStateFromProps(this.props, this.state); if (state !== null && state !== undefined) { this.setState(state); } } function componentWillReceiveProps(nextProps) { // Call this.constructor.gDSFP to support sub-classes. // Use the setState() updater to ensure state isn't stale in certain edge cases. function updater(prevState) { var state = this.constructor.getDerivedStateFromProps(nextProps, prevState); return state !== null && state !== undefined ? state : null; } // Binding "this" is important for shallow renderer support. this.setState(updater.bind(this)); } function componentWillUpdate(nextProps, nextState) { try { var prevProps = this.props; var prevState = this.state; this.props = nextProps; this.state = nextState; this.__reactInternalSnapshotFlag = true; this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate( prevProps, prevState ); } finally { this.props = prevProps; this.state = prevState; } } // React may warn about cWM/cWRP/cWU methods being deprecated. // Add a flag to suppress these warnings for this special case. componentWillMount.__suppressDeprecationWarning = true; componentWillReceiveProps.__suppressDeprecationWarning = true; componentWillUpdate.__suppressDeprecationWarning = true; function polyfill(Component) { var prototype = Component.prototype; if (!prototype || !prototype.isReactComponent) { throw new Error('Can only polyfill class components'); } if ( typeof Component.getDerivedStateFromProps !== 'function' && typeof prototype.getSnapshotBeforeUpdate !== 'function' ) { return Component; } // If new component APIs are defined, "unsafe" lifecycles won't be called. // Error if any of these lifecycles are present, // Because they would work differently between older and newer (16.3+) versions of React. var foundWillMountName = null; var foundWillReceivePropsName = null; var foundWillUpdateName = null; if (typeof prototype.componentWillMount === 'function') { foundWillMountName = 'componentWillMount'; } else if (typeof prototype.UNSAFE_componentWillMount === 'function') { foundWillMountName = 'UNSAFE_componentWillMount'; } if (typeof prototype.componentWillReceiveProps === 'function') { foundWillReceivePropsName = 'componentWillReceiveProps'; } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') { foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps'; } if (typeof prototype.componentWillUpdate === 'function') { foundWillUpdateName = 'componentWillUpdate'; } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') { foundWillUpdateName = 'UNSAFE_componentWillUpdate'; } if ( foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null ) { var componentName = Component.displayName || Component.name; var newApiName = typeof Component.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()'; throw Error( 'Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + componentName + ' uses ' + newApiName + ' but also contains the following legacy lifecycles:' + (foundWillMountName !== null ? '\n ' + foundWillMountName : '') + (foundWillReceivePropsName !== null ? '\n ' + foundWillReceivePropsName : '') + (foundWillUpdateName !== null ? '\n ' + foundWillUpdateName : '') + '\n\nThe above lifecycles should be removed. Learn more about this warning here:\n' + 'https://fb.me/react-async-component-lifecycle-hooks' ); } // React <= 16.2 does not support static getDerivedStateFromProps. // As a workaround, use cWM and cWRP to invoke the new static lifecycle. // Newer versions of React will ignore these lifecycles if gDSFP exists. if (typeof Component.getDerivedStateFromProps === 'function') { prototype.componentWillMount = componentWillMount; prototype.componentWillReceiveProps = componentWillReceiveProps; } // React <= 16.2 does not support getSnapshotBeforeUpdate. // As a workaround, use cWU to invoke the new lifecycle. // Newer versions of React will ignore that lifecycle if gSBU exists. if (typeof prototype.getSnapshotBeforeUpdate === 'function') { if (typeof prototype.componentDidUpdate !== 'function') { throw new Error( 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype' ); } prototype.componentWillUpdate = componentWillUpdate; var componentDidUpdate = prototype.componentDidUpdate; prototype.componentDidUpdate = function componentDidUpdatePolyfill( prevProps, prevState, maybeSnapshot ) { // 16.3+ will not execute our will-update method; // It will pass a snapshot value to did-update though. // Older versions will require our polyfilled will-update value. // We need to handle both cases, but can't just check for the presence of "maybeSnapshot", // Because for <= 15.x versions this might be a "prevContext" object. // We also can't just check "__reactInternalSnapshot", // Because get-snapshot might return a falsy value. // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior. var snapshot = this.__reactInternalSnapshotFlag ? this.__reactInternalSnapshot : maybeSnapshot; componentDidUpdate.call(this, prevProps, prevState, snapshot); }; } return Component; } /***/ }), /***/ 29983: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.bodyOpenClassName = exports.portalClassName = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _react = __webpack_require__(67294); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(73935); var _reactDom2 = _interopRequireDefault(_reactDom); var _propTypes = __webpack_require__(45697); var _propTypes2 = _interopRequireDefault(_propTypes); var _ModalPortal = __webpack_require__(28747); var _ModalPortal2 = _interopRequireDefault(_ModalPortal); var _ariaAppHider = __webpack_require__(57149); var ariaAppHider = _interopRequireWildcard(_ariaAppHider); var _safeHTMLElement = __webpack_require__(51112); var _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement); var _reactLifecyclesCompat = __webpack_require__(46871); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var portalClassName = exports.portalClassName = "ReactModalPortal"; var bodyOpenClassName = exports.bodyOpenClassName = "ReactModal__Body--open"; var isReact16 = _reactDom2.default.createPortal !== undefined; var getCreatePortal = function getCreatePortal() { return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer; }; function getParentElement(parentSelector) { return parentSelector(); } var Modal = function (_Component) { _inherits(Modal, _Component); function Modal() { var _ref; var _temp, _this, _ret; _classCallCheck(this, Modal); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () { !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node); var parent = getParentElement(_this.props.parentSelector); if (parent) { parent.removeChild(_this.node); } else { // eslint-disable-next-line no-console console.warn('React-Modal: "parentSelector" prop did not returned any DOM ' + "element. Make sure that the parent element is unmounted to " + "avoid any memory leaks."); } }, _this.portalRef = function (ref) { _this.portal = ref; }, _this.renderPortal = function (props) { var createPortal = getCreatePortal(); var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node); _this.portalRef(portal); }, _temp), _possibleConstructorReturn(_this, _ret); } _createClass(Modal, [{ key: "componentDidMount", value: function componentDidMount() { if (!_safeHTMLElement.canUseDOM) return; if (!isReact16) { this.node = document.createElement("div"); } this.node.className = this.props.portalClassName; var parent = getParentElement(this.props.parentSelector); parent.appendChild(this.node); !isReact16 && this.renderPortal(this.props); } }, { key: "getSnapshotBeforeUpdate", value: function getSnapshotBeforeUpdate(prevProps) { var prevParent = getParentElement(prevProps.parentSelector); var nextParent = getParentElement(this.props.parentSelector); return { prevParent: prevParent, nextParent: nextParent }; } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps, _, snapshot) { if (!_safeHTMLElement.canUseDOM) return; var _props = this.props, isOpen = _props.isOpen, portalClassName = _props.portalClassName; if (prevProps.portalClassName !== portalClassName) { this.node.className = portalClassName; } var prevParent = snapshot.prevParent, nextParent = snapshot.nextParent; if (nextParent !== prevParent) { prevParent.removeChild(this.node); nextParent.appendChild(this.node); } // Stop unnecessary renders if modal is remaining closed if (!prevProps.isOpen && !isOpen) return; !isReact16 && this.renderPortal(this.props); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return; var state = this.portal.state; var now = Date.now(); var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS); if (closesAt) { if (!state.beforeClose) { this.portal.closeWithTimeout(); } setTimeout(this.removePortal, closesAt - now); } else { this.removePortal(); } } }, { key: "render", value: function render() { if (!_safeHTMLElement.canUseDOM || !isReact16) { return null; } if (!this.node && isReact16) { this.node = document.createElement("div"); } var createPortal = getCreatePortal(); return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({ ref: this.portalRef, defaultStyles: Modal.defaultStyles }, this.props)), this.node); } }], [{ key: "setAppElement", value: function setAppElement(element) { ariaAppHider.setElement(element); } /* eslint-disable react/no-unused-prop-types */ /* eslint-enable react/no-unused-prop-types */ }]); return Modal; }(_react.Component); Modal.propTypes = { isOpen: _propTypes2.default.bool.isRequired, style: _propTypes2.default.shape({ content: _propTypes2.default.object, overlay: _propTypes2.default.object }), portalClassName: _propTypes2.default.string, bodyOpenClassName: _propTypes2.default.string, htmlOpenClassName: _propTypes2.default.string, className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({ base: _propTypes2.default.string.isRequired, afterOpen: _propTypes2.default.string.isRequired, beforeClose: _propTypes2.default.string.isRequired })]), overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({ base: _propTypes2.default.string.isRequired, afterOpen: _propTypes2.default.string.isRequired, beforeClose: _propTypes2.default.string.isRequired })]), appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default), onAfterOpen: _propTypes2.default.func, onRequestClose: _propTypes2.default.func, closeTimeoutMS: _propTypes2.default.number, ariaHideApp: _propTypes2.default.bool, shouldFocusAfterRender: _propTypes2.default.bool, shouldCloseOnOverlayClick: _propTypes2.default.bool, shouldReturnFocusAfterClose: _propTypes2.default.bool, parentSelector: _propTypes2.default.func, aria: _propTypes2.default.object, data: _propTypes2.default.object, role: _propTypes2.default.string, contentLabel: _propTypes2.default.string, shouldCloseOnEsc: _propTypes2.default.bool, overlayRef: _propTypes2.default.func, contentRef: _propTypes2.default.func }; Modal.defaultProps = { isOpen: false, portalClassName: portalClassName, bodyOpenClassName: bodyOpenClassName, role: "dialog", ariaHideApp: true, closeTimeoutMS: 0, shouldFocusAfterRender: true, shouldCloseOnEsc: true, shouldCloseOnOverlayClick: true, shouldReturnFocusAfterClose: true, parentSelector: function parentSelector() { return document.body; } }; Modal.defaultStyles = { overlay: { position: "fixed", top: 0, left: 0, right: 0, bottom: 0, backgroundColor: "rgba(255, 255, 255, 0.75)" }, content: { position: "absolute", top: "40px", left: "40px", right: "40px", bottom: "40px", border: "1px solid #ccc", background: "#fff", overflow: "auto", WebkitOverflowScrolling: "touch", borderRadius: "4px", outline: "none", padding: "20px" } }; (0, _reactLifecyclesCompat.polyfill)(Modal); exports.default = Modal; /***/ }), /***/ 28747: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _react = __webpack_require__(67294); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(45697); var _propTypes2 = _interopRequireDefault(_propTypes); var _focusManager = __webpack_require__(99685); var focusManager = _interopRequireWildcard(_focusManager); var _scopeTab = __webpack_require__(88338); var _scopeTab2 = _interopRequireDefault(_scopeTab); var _ariaAppHider = __webpack_require__(57149); var ariaAppHider = _interopRequireWildcard(_ariaAppHider); var _classList = __webpack_require__(32409); var classList = _interopRequireWildcard(_classList); var _safeHTMLElement = __webpack_require__(51112); var _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement); var _portalOpenInstances = __webpack_require__(89623); var _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances); __webpack_require__(35063); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // so that our CSS is statically analyzable var CLASS_NAMES = { overlay: "ReactModal__Overlay", content: "ReactModal__Content" }; var TAB_KEY = 9; var ESC_KEY = 27; var ariaHiddenInstances = 0; var ModalPortal = function (_Component) { _inherits(ModalPortal, _Component); function ModalPortal(props) { _classCallCheck(this, ModalPortal); var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props)); _this.setOverlayRef = function (overlay) { _this.overlay = overlay; _this.props.overlayRef && _this.props.overlayRef(overlay); }; _this.setContentRef = function (content) { _this.content = content; _this.props.contentRef && _this.props.contentRef(content); }; _this.afterClose = function () { var _this$props = _this.props, appElement = _this$props.appElement, ariaHideApp = _this$props.ariaHideApp, htmlOpenClassName = _this$props.htmlOpenClassName, bodyOpenClassName = _this$props.bodyOpenClassName; // Remove classes. bodyOpenClassName && classList.remove(document.body, bodyOpenClassName); htmlOpenClassName && classList.remove(document.getElementsByTagName("html")[0], htmlOpenClassName); // Reset aria-hidden attribute if all modals have been removed if (ariaHideApp && ariaHiddenInstances > 0) { ariaHiddenInstances -= 1; if (ariaHiddenInstances === 0) { ariaAppHider.show(appElement); } } if (_this.props.shouldFocusAfterRender) { if (_this.props.shouldReturnFocusAfterClose) { focusManager.returnFocus(); focusManager.teardownScopedFocus(); } else { focusManager.popWithoutFocus(); } } if (_this.props.onAfterClose) { _this.props.onAfterClose(); } _portalOpenInstances2.default.deregister(_this); }; _this.open = function () { _this.beforeOpen(); if (_this.state.afterOpen && _this.state.beforeClose) { clearTimeout(_this.closeTimer); _this.setState({ beforeClose: false }); } else { if (_this.props.shouldFocusAfterRender) { focusManager.setupScopedFocus(_this.node); focusManager.markForFocusLater(); } _this.setState({ isOpen: true }, function () { _this.setState({ afterOpen: true }); if (_this.props.isOpen && _this.props.onAfterOpen) { _this.props.onAfterOpen({ overlayEl: _this.overlay, contentEl: _this.content }); } }); } }; _this.close = function () { if (_this.props.closeTimeoutMS > 0) { _this.closeWithTimeout(); } else { _this.closeWithoutTimeout(); } }; _this.focusContent = function () { return _this.content && !_this.contentHasFocus() && _this.content.focus(); }; _this.closeWithTimeout = function () { var closesAt = Date.now() + _this.props.closeTimeoutMS; _this.setState({ beforeClose: true, closesAt: closesAt }, function () { _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now()); }); }; _this.closeWithoutTimeout = function () { _this.setState({ beforeClose: false, isOpen: false, afterOpen: false, closesAt: null }, _this.afterClose); }; _this.handleKeyDown = function (event) { if (event.keyCode === TAB_KEY) { (0, _scopeTab2.default)(_this.content, event); } if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) { event.stopPropagation(); _this.requestClose(event); } }; _this.handleOverlayOnClick = function (event) { if (_this.shouldClose === null) { _this.shouldClose = true; } if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) { if (_this.ownerHandlesClose()) { _this.requestClose(event); } else { _this.focusContent(); } } _this.shouldClose = null; }; _this.handleContentOnMouseUp = function () { _this.shouldClose = false; }; _this.handleOverlayOnMouseDown = function (event) { if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) { event.preventDefault(); } }; _this.handleContentOnClick = function () { _this.shouldClose = false; }; _this.handleContentOnMouseDown = function () { _this.shouldClose = false; }; _this.requestClose = function (event) { return _this.ownerHandlesClose() && _this.props.onRequestClose(event); }; _this.ownerHandlesClose = function () { return _this.props.onRequestClose; }; _this.shouldBeClosed = function () { return !_this.state.isOpen && !_this.state.beforeClose; }; _this.contentHasFocus = function () { return document.activeElement === _this.content || _this.content.contains(document.activeElement); }; _this.buildClassName = function (which, additional) { var classNames = (typeof additional === "undefined" ? "undefined" : _typeof(additional)) === "object" ? additional : { base: CLASS_NAMES[which], afterOpen: CLASS_NAMES[which] + "--after-open", beforeClose: CLASS_NAMES[which] + "--before-close" }; var className = classNames.base; if (_this.state.afterOpen) { className = className + " " + classNames.afterOpen; } if (_this.state.beforeClose) { className = className + " " + classNames.beforeClose; } return typeof additional === "string" && additional ? className + " " + additional : className; }; _this.attributesFromObject = function (prefix, items) { return Object.keys(items).reduce(function (acc, name) { acc[prefix + "-" + name] = items[name]; return acc; }, {}); }; _this.state = { afterOpen: false, beforeClose: false }; _this.shouldClose = null; _this.moveFromContentToOverlay = null; return _this; } _createClass(ModalPortal, [{ key: "componentDidMount", value: function componentDidMount() { if (this.props.isOpen) { this.open(); } } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps, prevState) { if (false) {} if (this.props.isOpen && !prevProps.isOpen) { this.open(); } else if (!this.props.isOpen && prevProps.isOpen) { this.close(); } // Focus only needs to be set once when the modal is being opened if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) { this.focusContent(); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { if (this.state.isOpen) { this.afterClose(); } clearTimeout(this.closeTimer); } }, { key: "beforeOpen", value: function beforeOpen() { var _props = this.props, appElement = _props.appElement, ariaHideApp = _props.ariaHideApp, htmlOpenClassName = _props.htmlOpenClassName, bodyOpenClassName = _props.bodyOpenClassName; // Add classes. bodyOpenClassName && classList.add(document.body, bodyOpenClassName); htmlOpenClassName && classList.add(document.getElementsByTagName("html")[0], htmlOpenClassName); if (ariaHideApp) { ariaHiddenInstances += 1; ariaAppHider.hide(appElement); } _portalOpenInstances2.default.register(this); } // Don't steal focus from inner elements }, { key: "render", value: function render() { var _props2 = this.props, id = _props2.id, className = _props2.className, overlayClassName = _props2.overlayClassName, defaultStyles = _props2.defaultStyles; var contentStyles = className ? {} : defaultStyles.content; var overlayStyles = overlayClassName ? {} : defaultStyles.overlay; return this.shouldBeClosed() ? null : _react2.default.createElement( "div", { ref: this.setOverlayRef, className: this.buildClassName("overlay", overlayClassName), style: _extends({}, overlayStyles, this.props.style.overlay), onClick: this.handleOverlayOnClick, onMouseDown: this.handleOverlayOnMouseDown }, _react2.default.createElement( "div", _extends({ id: id, ref: this.setContentRef, style: _extends({}, contentStyles, this.props.style.content), className: this.buildClassName("content", className), tabIndex: "-1", onKeyDown: this.handleKeyDown, onMouseDown: this.handleContentOnMouseDown, onMouseUp: this.handleContentOnMouseUp, onClick: this.handleContentOnClick, role: this.props.role, "aria-label": this.props.contentLabel }, this.attributesFromObject("aria", this.props.aria || {}), this.attributesFromObject("data", this.props.data || {}), { "data-testid": this.props.testId }), this.props.children ) ); } }]); return ModalPortal; }(_react.Component); ModalPortal.defaultProps = { style: { overlay: {}, content: {} }, defaultStyles: {} }; ModalPortal.propTypes = { isOpen: _propTypes2.default.bool.isRequired, defaultStyles: _propTypes2.default.shape({ content: _propTypes2.default.object, overlay: _propTypes2.default.object }), style: _propTypes2.default.shape({ content: _propTypes2.default.object, overlay: _propTypes2.default.object }), className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]), overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]), bodyOpenClassName: _propTypes2.default.string, htmlOpenClassName: _propTypes2.default.string, ariaHideApp: _propTypes2.default.bool, appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default), onAfterOpen: _propTypes2.default.func, onAfterClose: _propTypes2.default.func, onRequestClose: _propTypes2.default.func, closeTimeoutMS: _propTypes2.default.number, shouldFocusAfterRender: _propTypes2.default.bool, shouldCloseOnOverlayClick: _propTypes2.default.bool, shouldReturnFocusAfterClose: _propTypes2.default.bool, role: _propTypes2.default.string, contentLabel: _propTypes2.default.string, aria: _propTypes2.default.object, data: _propTypes2.default.object, children: _propTypes2.default.node, shouldCloseOnEsc: _propTypes2.default.bool, overlayRef: _propTypes2.default.func, contentRef: _propTypes2.default.func, id: _propTypes2.default.string, testId: _propTypes2.default.string }; exports.default = ModalPortal; module.exports = exports["default"]; /***/ }), /***/ 57149: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.assertNodeList = assertNodeList; exports.setElement = setElement; exports.validateElement = validateElement; exports.hide = hide; exports.show = show; exports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting; exports.resetForTesting = resetForTesting; var _warning = __webpack_require__(42473); var _warning2 = _interopRequireDefault(_warning); var _safeHTMLElement = __webpack_require__(51112); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var globalElement = null; function assertNodeList(nodeList, selector) { if (!nodeList || !nodeList.length) { throw new Error("react-modal: No elements were found for selector " + selector + "."); } } function setElement(element) { var useElement = element; if (typeof useElement === "string" && _safeHTMLElement.canUseDOM) { var el = document.querySelectorAll(useElement); assertNodeList(el, useElement); useElement = "length" in el ? el[0] : el; } globalElement = useElement || globalElement; return globalElement; } function validateElement(appElement) { if (!appElement && !globalElement) { (0, _warning2.default)(false, ["react-modal: App element is not defined.", "Please use `Modal.setAppElement(el)` or set `appElement={el}`.", "This is needed so screen readers don't see main content", "when modal is opened. It is not recommended, but you can opt-out", "by setting `ariaHideApp={false}`."].join(" ")); return false; } return true; } function hide(appElement) { if (validateElement(appElement)) { (appElement || globalElement).setAttribute("aria-hidden", "true"); } } function show(appElement) { if (validateElement(appElement)) { (appElement || globalElement).removeAttribute("aria-hidden"); } } function documentNotReadyOrSSRTesting() { globalElement = null; } function resetForTesting() { globalElement = null; } /***/ }), /***/ 35063: /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { "use strict"; var _portalOpenInstances = __webpack_require__(89623); var _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Body focus trap see Issue #742 var before = void 0, after = void 0, instances = []; function focusContent() { if (instances.length === 0) { if (false) {} return; } instances[instances.length - 1].focusContent(); } function bodyTrap(eventType, openInstances) { if (!before || !after) { before = document.createElement("div"); before.setAttribute("data-react-modal-body-trap", ""); before.style.position = "absolute"; before.style.opacity = "0"; before.setAttribute("tabindex", "0"); before.addEventListener("focus", focusContent); after = before.cloneNode(); after.addEventListener("focus", focusContent); } instances = openInstances; if (instances.length > 0) { // Add focus trap if (document.body.firstChild !== before) { document.body.insertBefore(before, document.body.firstChild); } if (document.body.lastChild !== after) { document.body.appendChild(after); } } else { // Remove focus trap if (before.parentElement) { before.parentElement.removeChild(before); } if (after.parentElement) { after.parentElement.removeChild(after); } } } _portalOpenInstances2.default.subscribe(bodyTrap); /***/ }), /***/ 32409: /***/ (function(__unused_webpack_module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.dumpClassLists = dumpClassLists; var htmlClassList = {}; var docBodyClassList = {}; function dumpClassLists() { if (false) { var _x, x, buffer, classes; } } /** * Track the number of reference of a class. * @param {object} poll The poll to receive the reference. * @param {string} className The class name. * @return {string} */ var incrementReference = function incrementReference(poll, className) { if (!poll[className]) { poll[className] = 0; } poll[className] += 1; return className; }; /** * Drop the reference of a class. * @param {object} poll The poll to receive the reference. * @param {string} className The class name. * @return {string} */ var decrementReference = function decrementReference(poll, className) { if (poll[className]) { poll[className] -= 1; } return className; }; /** * Track a class and add to the given class list. * @param {Object} classListRef A class list of an element. * @param {Object} poll The poll to be used. * @param {Array} classes The list of classes to be tracked. */ var trackClass = function trackClass(classListRef, poll, classes) { classes.forEach(function (className) { incrementReference(poll, className); classListRef.add(className); }); }; /** * Untrack a class and remove from the given class list if the reference * reaches 0. * @param {Object} classListRef A class list of an element. * @param {Object} poll The poll to be used. * @param {Array} classes The list of classes to be untracked. */ var untrackClass = function untrackClass(classListRef, poll, classes) { classes.forEach(function (className) { decrementReference(poll, className); poll[className] === 0 && classListRef.remove(className); }); }; /** * Public inferface to add classes to the document.body. * @param {string} bodyClass The class string to be added. * It may contain more then one class * with ' ' as separator. */ var add = exports.add = function add(element, classString) { return trackClass(element.classList, element.nodeName.toLowerCase() == "html" ? htmlClassList : docBodyClassList, classString.split(" ")); }; /** * Public inferface to remove classes from the document.body. * @param {string} bodyClass The class string to be added. * It may contain more then one class * with ' ' as separator. */ var remove = exports.remove = function remove(element, classString) { return untrackClass(element.classList, element.nodeName.toLowerCase() == "html" ? htmlClassList : docBodyClassList, classString.split(" ")); }; /***/ }), /***/ 99685: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.handleBlur = handleBlur; exports.handleFocus = handleFocus; exports.markForFocusLater = markForFocusLater; exports.returnFocus = returnFocus; exports.popWithoutFocus = popWithoutFocus; exports.setupScopedFocus = setupScopedFocus; exports.teardownScopedFocus = teardownScopedFocus; var _tabbable = __webpack_require__(37845); var _tabbable2 = _interopRequireDefault(_tabbable); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var focusLaterElements = []; var modalElement = null; var needToFocus = false; function handleBlur() { needToFocus = true; } function handleFocus() { if (needToFocus) { needToFocus = false; if (!modalElement) { return; } // need to see how jQuery shims document.on('focusin') so we don't need the // setTimeout, firefox doesn't support focusin, if it did, we could focus // the element outside of a setTimeout. Side-effect of this implementation // is that the document.body gets focus, and then we focus our element right // after, seems fine. setTimeout(function () { if (modalElement.contains(document.activeElement)) { return; } var el = (0, _tabbable2.default)(modalElement)[0] || modalElement; el.focus(); }, 0); } } function markForFocusLater() { focusLaterElements.push(document.activeElement); } /* eslint-disable no-console */ function returnFocus() { var toFocus = null; try { if (focusLaterElements.length !== 0) { toFocus = focusLaterElements.pop(); toFocus.focus(); } return; } catch (e) { console.warn(["You tried to return focus to", toFocus, "but it is not in the DOM anymore"].join(" ")); } } /* eslint-enable no-console */ function popWithoutFocus() { focusLaterElements.length > 0 && focusLaterElements.pop(); } function setupScopedFocus(element) { modalElement = element; if (window.addEventListener) { window.addEventListener("blur", handleBlur, false); document.addEventListener("focus", handleFocus, true); } else { window.attachEvent("onBlur", handleBlur); document.attachEvent("onFocus", handleFocus); } } function teardownScopedFocus() { modalElement = null; if (window.addEventListener) { window.removeEventListener("blur", handleBlur); document.removeEventListener("focus", handleFocus); } else { window.detachEvent("onBlur", handleBlur); document.detachEvent("onFocus", handleFocus); } } /***/ }), /***/ 89623: /***/ (function(module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } // Tracks portals that are open and emits events to subscribers var PortalOpenInstances = function PortalOpenInstances() { var _this = this; _classCallCheck(this, PortalOpenInstances); this.register = function (openInstance) { if (_this.openInstances.indexOf(openInstance) !== -1) { if (false) {} return; } _this.openInstances.push(openInstance); _this.emit("register"); }; this.deregister = function (openInstance) { var index = _this.openInstances.indexOf(openInstance); if (index === -1) { if (false) {} return; } _this.openInstances.splice(index, 1); _this.emit("deregister"); }; this.subscribe = function (callback) { _this.subscribers.push(callback); }; this.emit = function (eventType) { _this.subscribers.forEach(function (subscriber) { return subscriber(eventType, // shallow copy to avoid accidental mutation _this.openInstances.slice()); }); }; this.openInstances = []; this.subscribers = []; }; var portalOpenInstances = new PortalOpenInstances(); exports.default = portalOpenInstances; module.exports = exports["default"]; /***/ }), /***/ 51112: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.canUseDOM = undefined; var _exenv = __webpack_require__(58875); var _exenv2 = _interopRequireDefault(_exenv); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var EE = _exenv2.default; var SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {}; var canUseDOM = exports.canUseDOM = EE.canUseDOM; exports.default = SafeHTMLElement; /***/ }), /***/ 88338: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.default = scopeTab; var _tabbable = __webpack_require__(37845); var _tabbable2 = _interopRequireDefault(_tabbable); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function scopeTab(node, event) { var tabbable = (0, _tabbable2.default)(node); if (!tabbable.length) { // Do nothing, since there are no elements that can receive focus. event.preventDefault(); return; } var target = void 0; var shiftKey = event.shiftKey; var head = tabbable[0]; var tail = tabbable[tabbable.length - 1]; // proceed with default browser behavior on tab. // Focus on last element on shift + tab. if (node === document.activeElement) { if (!shiftKey) return; target = tail; } if (tail === document.activeElement && !shiftKey) { target = head; } if (head === document.activeElement && shiftKey) { target = tail; } if (target) { event.preventDefault(); target.focus(); return; } // Safari radio issue. // // Safari does not move the focus to the radio button, // so we need to force it to really walk through all elements. // // This is very error prone, since we are trying to guess // if it is a safari browser from the first occurence between // chrome or safari. // // The chrome user agent contains the first ocurrence // as the 'chrome/version' and later the 'safari/version'. var checkSafari = /(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent); var isSafariDesktop = checkSafari != null && checkSafari[1] != "Chrome" && /\biPod\b|\biPad\b/g.exec(navigator.userAgent) == null; // If we are not in safari desktop, let the browser control // the focus if (!isSafariDesktop) return; var x = tabbable.indexOf(document.activeElement); if (x > -1) { x += shiftKey ? -1 : 1; } target = tabbable[x]; // If the tabbable element does not exist, // focus head/tail based on shiftKey if (typeof target === "undefined") { event.preventDefault(); target = shiftKey ? tail : head; target.focus(); return; } event.preventDefault(); target.focus(); } module.exports = exports["default"]; /***/ }), /***/ 37845: /***/ (function(module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.default = findTabbableDescendants; /*! * Adapted from jQuery UI core * * http://jqueryui.com * * Copyright 2014 jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * * http://api.jqueryui.com/category/ui-core/ */ var tabbableNode = /input|select|textarea|button|object/; function hidesContents(element) { var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0; // If the node is empty, this is good enough if (zeroSize && !element.innerHTML) return true; // Otherwise we need to check some styles var style = window.getComputedStyle(element); return zeroSize ? style.getPropertyValue("overflow") !== "visible" || // if 'overflow: visible' set, check if there is actually any overflow element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue("display") == "none"; } function visible(element) { var parentElement = element; while (parentElement) { if (parentElement === document.body) break; if (hidesContents(parentElement)) return false; parentElement = parentElement.parentNode; } return true; } function focusable(element, isTabIndexNotNaN) { var nodeName = element.nodeName.toLowerCase(); var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === "a" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN); return res && visible(element); } function tabbable(element) { var tabIndex = element.getAttribute("tabindex"); if (tabIndex === null) tabIndex = undefined; var isTabIndexNaN = isNaN(tabIndex); return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN); } function findTabbableDescendants(element) { return [].slice.call(element.querySelectorAll("*"), 0).filter(tabbable); } module.exports = exports["default"]; /***/ }), /***/ 83253: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); var _Modal = __webpack_require__(29983); var _Modal2 = _interopRequireDefault(_Modal); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _Modal2.default; module.exports = exports["default"]; /***/ }), /***/ 3822: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "ZP": function() { return /* binding */ react_select_browser_esm; } }); // UNUSED EXPORTS: NonceProvider, components, createFilter, defaultTheme, mergeStyles // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); ;// CONCATENATED MODULE: ./node_modules/memoize-one/dist/memoize-one.esm.js function areInputsEqual(newInputs, lastInputs) { if (newInputs.length !== lastInputs.length) { return false; } for (var i = 0; i < newInputs.length; i++) { if (newInputs[i] !== lastInputs[i]) { return false; } } return true; } function memoizeOne(resultFn, isEqual) { if (isEqual === void 0) { isEqual = areInputsEqual; } var lastThis; var lastArgs = []; var lastResult; var calledOnce = false; function memoized() { var newArgs = []; for (var _i = 0; _i < arguments.length; _i++) { newArgs[_i] = arguments[_i]; } if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) { return lastResult; } lastResult = resultFn.apply(this, newArgs); calledOnce = true; lastThis = this; lastArgs = newArgs; return lastResult; } return memoized; } /* harmony default export */ var memoize_one_esm = (memoizeOne); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inheritsLoose.js var inheritsLoose = __webpack_require__(89724); var inheritsLoose_default = /*#__PURE__*/__webpack_require__.n(inheritsLoose); ;// CONCATENATED MODULE: ./node_modules/@emotion/sheet/dist/sheet.browser.esm.js /* Based off glamor's StyleSheet, thanks Sunil ❤️ high performance StyleSheet for css-in-js systems - uses multiple style tags behind the scenes for millions of rules - uses `insertRule` for appending in production for *much* faster performance // usage import { StyleSheet } from '@emotion/sheet' let styleSheet = new StyleSheet({ key: '', container: document.head }) styleSheet.insert('#box { border: 1px solid red; }') - appends a css rule into the stylesheet styleSheet.flush() - empties the stylesheet of all its contents */ // $FlowFixMe function sheetForTag(tag) { if (tag.sheet) { // $FlowFixMe return tag.sheet; } // this weirdness brought to you by firefox /* istanbul ignore next */ for (var i = 0; i < document.styleSheets.length; i++) { if (document.styleSheets[i].ownerNode === tag) { // $FlowFixMe return document.styleSheets[i]; } } } function createStyleElement(options) { var tag = document.createElement('style'); tag.setAttribute('data-emotion', options.key); if (options.nonce !== undefined) { tag.setAttribute('nonce', options.nonce); } tag.appendChild(document.createTextNode('')); return tag; } var StyleSheet = /*#__PURE__*/ function () { function StyleSheet(options) { this.isSpeedy = options.speedy === undefined ? "production" === 'production' : options.speedy; this.tags = []; this.ctr = 0; this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets this.key = options.key; this.container = options.container; this.before = null; } var _proto = StyleSheet.prototype; _proto.insert = function insert(rule) { // the max length is how many rules we have per style tag, it's 65000 in speedy mode // it's 1 in dev because we insert source maps that map a single rule to a location // and you can only have one source map per style tag if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) { var _tag = createStyleElement(this); var before; if (this.tags.length === 0) { before = this.before; } else { before = this.tags[this.tags.length - 1].nextSibling; } this.container.insertBefore(_tag, before); this.tags.push(_tag); } var tag = this.tags[this.tags.length - 1]; if (this.isSpeedy) { var sheet = sheetForTag(tag); try { // this is a really hot path // we check the second character first because having "i" // as the second character will happen less often than // having "@" as the first character var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers // the big drawback is that the css won't be editable in devtools sheet.insertRule(rule, // we need to insert @import rules before anything else // otherwise there will be an error // technically this means that the @import rules will // _usually_(not always since there could be multiple style tags) // be the first ones in prod and generally later in dev // this shouldn't really matter in the real world though // @import is generally only used for font faces from google fonts and etc. // so while this could be technically correct then it would be slower and larger // for a tiny bit of correctness that won't matter in the real world isImportRule ? 0 : sheet.cssRules.length); } catch (e) { if (false) {} } } else { tag.appendChild(document.createTextNode(rule)); } this.ctr++; }; _proto.flush = function flush() { // $FlowFixMe this.tags.forEach(function (tag) { return tag.parentNode.removeChild(tag); }); this.tags = []; this.ctr = 0; }; return StyleSheet; }(); ;// CONCATENATED MODULE: ./node_modules/@emotion/stylis/dist/stylis.browser.esm.js function stylis_min (W) { function M(d, c, e, h, a) { for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) { g = e.charCodeAt(l); l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++); if (0 === b + n + v + m) { if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) { switch (g) { case 32: case 9: case 59: case 13: case 10: break; default: f += e.charAt(l); } g = 59; } switch (g) { case 123: f = f.trim(); q = f.charCodeAt(0); k = 1; for (t = ++l; l < B;) { switch (g = e.charCodeAt(l)) { case 123: k++; break; case 125: k--; break; case 47: switch (g = e.charCodeAt(l + 1)) { case 42: case 47: a: { for (u = l + 1; u < J; ++u) { switch (e.charCodeAt(u)) { case 47: if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) { l = u + 1; break a; } break; case 10: if (47 === g) { l = u + 1; break a; } } } l = u; } } break; case 91: g++; case 40: g++; case 34: case 39: for (; l++ < J && e.charCodeAt(l) !== g;) { } } if (0 === k) break; l++; } k = e.substring(t, l); 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0)); switch (q) { case 64: 0 < r && (f = f.replace(N, '')); g = f.charCodeAt(1); switch (g) { case 100: case 109: case 115: case 45: r = c; break; default: r = O; } k = M(c, r, k, g, a + 1); t = k.length; 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = '')); if (0 < t) switch (g) { case 115: f = f.replace(da, ea); case 100: case 109: case 45: k = f + '{' + k + '}'; break; case 107: f = f.replace(fa, '$1 $2'); k = f + '{' + k + '}'; k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k; break; default: k = f + k, 112 === h && (k = (p += k, '')); } else k = ''; break; default: k = M(c, X(c, f, I), k, h, a + 1); } F += k; k = I = r = u = q = 0; f = ''; g = e.charCodeAt(++l); break; case 125: case 59: f = (0 < r ? f.replace(N, '') : f).trim(); if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\x00\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) { case 0: break; case 64: if (105 === g || 99 === g) { G += f + e.charAt(l); break; } default: 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2))); } I = r = u = q = 0; f = ''; g = e.charCodeAt(++l); } } switch (g) { case 13: case 10: 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\x00'); 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h); z = 1; D++; break; case 59: case 125: if (0 === b + n + v + m) { z++; break; } default: z++; y = e.charAt(l); switch (g) { case 9: case 32: if (0 === n + m + b) switch (x) { case 44: case 58: case 9: case 32: y = ''; break; default: 32 !== g && (y = ' '); } break; case 0: y = '\\0'; break; case 12: y = '\\f'; break; case 11: y = '\\v'; break; case 38: 0 === n + b + m && (r = I = 1, y = '\f' + y); break; case 108: if (0 === n + b + m + E && 0 < u) switch (l - u) { case 2: 112 === x && 58 === e.charCodeAt(l - 3) && (E = x); case 8: 111 === K && (E = K); } break; case 58: 0 === n + b + m && (u = l); break; case 44: 0 === b + v + n + m && (r = 1, y += '\r'); break; case 34: case 39: 0 === b && (n = n === g ? 0 : 0 === n ? g : n); break; case 91: 0 === n + b + v && m++; break; case 93: 0 === n + b + v && m--; break; case 41: 0 === n + b + m && v--; break; case 40: if (0 === n + b + m) { if (0 === q) switch (2 * x + 3 * K) { case 533: break; default: q = 1; } v++; } break; case 64: 0 === b + v + n + m + u + k && (k = 1); break; case 42: case 47: if (!(0 < n + m + v)) switch (b) { case 0: switch (2 * g + 3 * e.charCodeAt(l + 1)) { case 235: b = 47; break; case 220: t = l, b = 42; } break; case 42: 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0); } } 0 === b && (f += y); } K = x; x = g; l++; } t = p.length; if (0 < t) { r = c; if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F; p = r.join(',') + '{' + p + '}'; if (0 !== w * E) { 2 !== w || L(p, 2) || (E = 0); switch (E) { case 111: p = p.replace(ha, ':-moz-$1') + p; break; case 112: p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p; } E = 0; } } return G + p + F; } function X(d, c, e) { var h = c.trim().split(ia); c = h; var a = h.length, m = d.length; switch (m) { case 0: case 1: var b = 0; for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) { c[b] = Z(d, c[b], e).trim(); } break; default: var v = b = 0; for (c = []; b < a; ++b) { for (var n = 0; n < m; ++n) { c[v++] = Z(d[n] + ' ', h[b], e).trim(); } } } return c; } function Z(d, c, e) { var h = c.charCodeAt(0); 33 > h && (h = (c = c.trim()).charCodeAt(0)); switch (h) { case 38: return c.replace(F, '$1' + d.trim()); case 58: return d.trim() + c.replace(F, '$1' + d.trim()); default: if (0 < 1 * e && 0 < c.indexOf('\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim()); } return d + c; } function P(d, c, e, h) { var a = d + ';', m = 2 * c + 3 * e + 4 * h; if (944 === m) { d = a.indexOf(':', 9) + 1; var b = a.substring(d, a.length - 1).trim(); b = a.substring(0, d).trim() + b + ';'; return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b; } if (0 === w || 2 === w && !L(a, 1)) return a; switch (m) { case 1015: return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a; case 951: return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a; case 963: return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a; case 1009: if (100 !== a.charCodeAt(4)) break; case 969: case 942: return '-webkit-' + a + a; case 978: return '-webkit-' + a + '-moz-' + a + a; case 1019: case 983: return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a; case 883: if (45 === a.charCodeAt(8)) return '-webkit-' + a + a; if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a; break; case 932: if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) { case 103: return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a; case 115: return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a; case 98: return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a; } return '-webkit-' + a + '-ms-' + a + a; case 964: return '-webkit-' + a + '-ms-flex-' + a + a; case 1023: if (99 !== a.charCodeAt(8)) break; b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify'); return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a; case 1005: return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a; case 1e3: b = a.substring(13).trim(); c = b.indexOf('-') + 1; switch (b.charCodeAt(0) + b.charCodeAt(c)) { case 226: b = a.replace(G, 'tb'); break; case 232: b = a.replace(G, 'tb-rl'); break; case 220: b = a.replace(G, 'lr'); break; default: return a; } return '-webkit-' + a + '-ms-' + b + a; case 1017: if (-1 === a.indexOf('sticky', 9)) break; case 975: c = (a = d).length - 10; b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim(); switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) { case 203: if (111 > b.charCodeAt(8)) break; case 115: a = a.replace(b, '-webkit-' + b) + ';' + a; break; case 207: case 102: a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a; } return a + ';'; case 938: if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) { case 105: return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a; case 115: return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a; default: return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a; } break; case 973: case 989: if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break; case 931: case 953: if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a; break; case 962: if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a; } return a; } function L(d, c) { var e = d.indexOf(1 === c ? ':' : '{'), h = d.substring(0, 3 !== c ? e : 10); e = d.substring(e + 1, d.length - 1); return R(2 !== c ? h : h.replace(na, '$1'), e, c); } function ea(d, c) { var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2)); return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')'; } function H(d, c, e, h, a, m, b, v, n, q) { for (var g = 0, x = c, w; g < A; ++g) { switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) { case void 0: case !1: case !0: case null: break; default: x = w; } } if (x !== c) return x; } function T(d) { switch (d) { case void 0: case null: A = S.length = 0; break; default: if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) { T(d[c]); } else Y = !!d | 0; } return T; } function U(d) { d = d.prefix; void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0); return U; } function B(d, c) { var e = d; 33 > e.charCodeAt(0) && (e = e.trim()); V = e; e = [V]; if (0 < A) { var h = H(-1, c, e, e, D, z, 0, 0, 0, 0); void 0 !== h && 'string' === typeof h && (c = h); } var a = M(O, e, c, 0, 0); 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h)); V = ''; E = 0; z = D = 1; return a; } var ca = /^\0+/g, N = /[\0\r\f]/g, aa = /: */g, ka = /zoo|gra/, ma = /([,: ])(transform)/g, ia = /,\r+?/g, F = /([\t\r\n ])*\f?&/g, fa = /@(k\w+)\s*(\S*)\s*/, Q = /::(place)/g, ha = /:(read-only)/g, G = /[svh]\w+-[tblr]{2}/, da = /\(\s*(.*)\s*\)/g, oa = /([\s\S]*?);/g, ba = /-self|flex-/g, na = /[^]*?(:[rp][el]a[\w-]+)[^]*/, la = /stretch|:\s*\w+\-(?:conte|avail)/, ja = /([^-])(image-set\()/, z = 1, D = 1, E = 0, w = 1, O = [], S = [], A = 0, R = null, Y = 0, V = ''; B.use = T; B.set = U; void 0 !== W && U(W); return B; } /* harmony default export */ var stylis_browser_esm = (stylis_min); ;// CONCATENATED MODULE: ./node_modules/@emotion/cache/dist/cache.browser.esm.js // https://github.com/thysultan/stylis.js/tree/master/plugins/rule-sheet // inlined to avoid umd wrapper and peerDep warnings/installing stylis // since we use stylis after closure compiler var delimiter = '/*|*/'; var needle = delimiter + '}'; function toSheet(block) { if (block) { Sheet.current.insert(block + '}'); } } var Sheet = { current: null }; var ruleSheet = function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) { switch (context) { // property case 1: { switch (content.charCodeAt(0)) { case 64: { // @import Sheet.current.insert(content + ';'); return ''; } // charcode for l case 108: { // charcode for b // this ignores label if (content.charCodeAt(2) === 98) { return ''; } } } break; } // selector case 2: { if (ns === 0) return content + delimiter; break; } // at-rule case 3: { switch (ns) { // @font-face, @page case 102: case 112: { Sheet.current.insert(selectors[0] + content); return ''; } default: { return content + (at === 0 ? delimiter : ''); } } } case -2: { content.split(needle).forEach(toSheet); } } }; var createCache = function createCache(options) { if (options === undefined) options = {}; var key = options.key || 'css'; var stylisOptions; if (options.prefix !== undefined) { stylisOptions = { prefix: options.prefix }; } var stylis = new stylis_browser_esm(stylisOptions); if (false) {} var inserted = {}; // $FlowFixMe var container; { container = options.container || document.head; var nodes = document.querySelectorAll("style[data-emotion-" + key + "]"); Array.prototype.forEach.call(nodes, function (node) { var attrib = node.getAttribute("data-emotion-" + key); // $FlowFixMe attrib.split(' ').forEach(function (id) { inserted[id] = true; }); if (node.parentNode !== container) { container.appendChild(node); } }); } var _insert; { stylis.use(options.stylisPlugins)(ruleSheet); _insert = function insert(selector, serialized, sheet, shouldCache) { var name = serialized.name; Sheet.current = sheet; if (false) { var map; } stylis(selector, serialized.styles); if (shouldCache) { cache.inserted[name] = true; } }; } if (false) { var commentEnd, commentStart; } var cache = { key: key, sheet: new StyleSheet({ key: key, container: container, nonce: options.nonce, speedy: options.speedy }), nonce: options.nonce, inserted: inserted, registered: {}, insert: _insert }; return cache; }; /* harmony default export */ var cache_browser_esm = (createCache); ;// CONCATENATED MODULE: ./node_modules/@emotion/utils/dist/utils.browser.esm.js var isBrowser = "object" !== 'undefined'; function getRegisteredStyles(registered, registeredStyles, classNames) { var rawClassName = ''; classNames.split(' ').forEach(function (className) { if (registered[className] !== undefined) { registeredStyles.push(registered[className]); } else { rawClassName += className + " "; } }); return rawClassName; } var insertStyles = function insertStyles(cache, serialized, isStringTag) { var className = cache.key + "-" + serialized.name; if ( // we only need to add the styles to the registered cache if the // class name could be used further down // the tree but if it's a string tag, we know it won't // so we don't have to add it to registered cache. // this improves memory usage since we can avoid storing the whole style string (isStringTag === false || // we need to always store it if we're in compat mode and // in node since emotion-server relies on whether a style is in // the registered cache to know whether a style is global or not // also, note that this check will be dead code eliminated in the browser isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) { cache.registered[className] = serialized.styles; } if (cache.inserted[serialized.name] === undefined) { var current = serialized; do { var maybeStyles = cache.insert("." + className, current, cache.sheet, true); current = current.next; } while (current !== undefined); } }; ;// CONCATENATED MODULE: ./node_modules/@emotion/hash/dist/hash.browser.esm.js /* eslint-disable */ // Inspired by https://github.com/garycourt/murmurhash-js // Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86 function murmur2(str) { // 'm' and 'r' are mixing constants generated offline. // They're not really 'magic', they just happen to work well. // const m = 0x5bd1e995; // const r = 24; // Initialize the hash var h = 0; // Mix 4 bytes at a time into the hash var k, i = 0, len = str.length; for (; len >= 4; ++i, len -= 4) { k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24; k = /* Math.imul(k, m): */ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16); k ^= /* k >>> r: */ k >>> 24; h = /* Math.imul(k, m): */ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^ /* Math.imul(h, m): */ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); } // Handle the last few bytes of the input array switch (len) { case 3: h ^= (str.charCodeAt(i + 2) & 0xff) << 16; case 2: h ^= (str.charCodeAt(i + 1) & 0xff) << 8; case 1: h ^= str.charCodeAt(i) & 0xff; h = /* Math.imul(h, m): */ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); } // Do a few final mixes of the hash to ensure the last few // bytes are well-incorporated. h ^= h >>> 13; h = /* Math.imul(h, m): */ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); return ((h ^ h >>> 15) >>> 0).toString(36); } /* harmony default export */ var hash_browser_esm = (murmur2); ;// CONCATENATED MODULE: ./node_modules/@emotion/unitless/dist/unitless.browser.esm.js var unitlessKeys = { animationIterationCount: 1, borderImageOutset: 1, borderImageSlice: 1, borderImageWidth: 1, boxFlex: 1, boxFlexGroup: 1, boxOrdinalGroup: 1, columnCount: 1, columns: 1, flex: 1, flexGrow: 1, flexPositive: 1, flexShrink: 1, flexNegative: 1, flexOrder: 1, gridRow: 1, gridRowEnd: 1, gridRowSpan: 1, gridRowStart: 1, gridColumn: 1, gridColumnEnd: 1, gridColumnSpan: 1, gridColumnStart: 1, msGridRow: 1, msGridRowSpan: 1, msGridColumn: 1, msGridColumnSpan: 1, fontWeight: 1, lineHeight: 1, opacity: 1, order: 1, orphans: 1, tabSize: 1, widows: 1, zIndex: 1, zoom: 1, WebkitLineClamp: 1, // SVG-related properties fillOpacity: 1, floodOpacity: 1, stopOpacity: 1, strokeDasharray: 1, strokeDashoffset: 1, strokeMiterlimit: 1, strokeOpacity: 1, strokeWidth: 1 }; /* harmony default export */ var unitless_browser_esm = (unitlessKeys); ;// CONCATENATED MODULE: ./node_modules/@emotion/memoize/dist/memoize.browser.esm.js function memoize(fn) { var cache = {}; return function (arg) { if (cache[arg] === undefined) cache[arg] = fn(arg); return cache[arg]; }; } /* harmony default export */ var memoize_browser_esm = (memoize); ;// CONCATENATED MODULE: ./node_modules/@emotion/serialize/dist/serialize.browser.esm.js var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences"; var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key)."; var hyphenateRegex = /[A-Z]|^ms/g; var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g; var isCustomProperty = function isCustomProperty(property) { return property.charCodeAt(1) === 45; }; var isProcessableValue = function isProcessableValue(value) { return value != null && typeof value !== 'boolean'; }; var processStyleName = memoize_browser_esm(function (styleName) { return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase(); }); var processStyleValue = function processStyleValue(key, value) { switch (key) { case 'animation': case 'animationName': { if (typeof value === 'string') { return value.replace(animationRegex, function (match, p1, p2) { cursor = { name: p1, styles: p2, next: cursor }; return p1; }); } } } if (unitless_browser_esm[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) { return value + 'px'; } return value; }; if (false) { var hyphenatedCache, hyphenPattern, msPattern, oldProcessStyleValue, contentValues, contentValuePattern; } var shouldWarnAboutInterpolatingClassNameFromCss = true; function handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) { if (interpolation == null) { return ''; } if (interpolation.__emotion_styles !== undefined) { if (false) {} return interpolation; } switch (typeof interpolation) { case 'boolean': { return ''; } case 'object': { if (interpolation.anim === 1) { cursor = { name: interpolation.name, styles: interpolation.styles, next: cursor }; return interpolation.name; } if (interpolation.styles !== undefined) { var next = interpolation.next; if (next !== undefined) { // not the most efficient thing ever but this is a pretty rare case // and there will be very few iterations of this generally while (next !== undefined) { cursor = { name: next.name, styles: next.styles, next: cursor }; next = next.next; } } var styles = interpolation.styles + ";"; if (false) {} return styles; } return createStringFromObject(mergedProps, registered, interpolation); } case 'function': { if (mergedProps !== undefined) { var previousCursor = cursor; var result = interpolation(mergedProps); cursor = previousCursor; return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation); } else if (false) {} break; } case 'string': if (false) { var replaced, matched; } break; } // finalize string values (regular strings and functions interpolated into css calls) if (registered == null) { return interpolation; } var cached = registered[interpolation]; if (false) {} return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation; } function createStringFromObject(mergedProps, registered, obj) { var string = ''; if (Array.isArray(obj)) { for (var i = 0; i < obj.length; i++) { string += handleInterpolation(mergedProps, registered, obj[i], false); } } else { for (var _key in obj) { var value = obj[_key]; if (typeof value !== 'object') { if (registered != null && registered[value] !== undefined) { string += _key + "{" + registered[value] + "}"; } else if (isProcessableValue(value)) { string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";"; } } else { if (_key === 'NO_COMPONENT_SELECTOR' && "production" !== 'production') { throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.'); } if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) { for (var _i = 0; _i < value.length; _i++) { if (isProcessableValue(value[_i])) { string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";"; } } } else { var interpolated = handleInterpolation(mergedProps, registered, value, false); switch (_key) { case 'animation': case 'animationName': { string += processStyleName(_key) + ":" + interpolated + ";"; break; } default: { if (false) {} string += _key + "{" + interpolated + "}"; } } } } } } return string; } var labelPattern = /label:\s*([^\s;\n{]+)\s*;/g; var sourceMapPattern; if (false) {} // this is the cursor for keyframes // keyframes are stored on the SerializedStyles object as a linked list var cursor; var serialize_browser_esm_serializeStyles = function serializeStyles(args, registered, mergedProps) { if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) { return args[0]; } var stringMode = true; var styles = ''; cursor = undefined; var strings = args[0]; if (strings == null || strings.raw === undefined) { stringMode = false; styles += handleInterpolation(mergedProps, registered, strings, false); } else { if (false) {} styles += strings[0]; } // we start at 1 since we've already handled the first arg for (var i = 1; i < args.length; i++) { styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46); if (stringMode) { if (false) {} styles += strings[i]; } } var sourceMap; if (false) {} // using a global regex with .exec is stateful so lastIndex has to be reset each time labelPattern.lastIndex = 0; var identifierName = ''; var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5 while ((match = labelPattern.exec(styles)) !== null) { identifierName += '-' + // $FlowFixMe we know it's not null match[1]; } var name = hash_browser_esm(styles) + identifierName; if (false) {} return { name: name, styles: styles, next: cursor }; }; ;// CONCATENATED MODULE: ./node_modules/@emotion/css/dist/css.browser.esm.js function css() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return serialize_browser_esm_serializeStyles(args); } /* harmony default export */ var css_browser_esm = (css); ;// CONCATENATED MODULE: ./node_modules/@emotion/core/dist/core.browser.esm.js var EmotionCacheContext = (0,react.createContext)( // we're doing this to avoid preconstruct's dead code elimination in this one case // because this module is primarily intended for the browser and node // but it's also required in react native and similar environments sometimes // and we could have a special build just for that // but this is much easier and the native packages // might use a different theme context in the future anyway typeof HTMLElement !== 'undefined' ? cache_browser_esm() : null); var ThemeContext = (0,react.createContext)({}); var CacheProvider = EmotionCacheContext.Provider; var withEmotionCache = function withEmotionCache(func) { var render = function render(props, ref) { return (0,react.createElement)(EmotionCacheContext.Consumer, null, function (cache) { return func(props, cache, ref); }); }; // $FlowFixMe return (0,react.forwardRef)(render); }; // thus we only need to replace what is a valid character for JS, but not for CSS var sanitizeIdentifier = function sanitizeIdentifier(identifier) { return identifier.replace(/\$/g, '-'); }; var typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__'; var labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__'; var core_browser_esm_hasOwnProperty = Object.prototype.hasOwnProperty; var render = function render(cache, props, theme, ref) { var cssProp = theme === null ? props.css : props.css(theme); // so that using `css` from `emotion` and passing the result to the css prop works // not passing the registered cache to serializeStyles because it would // make certain babel optimisations not possible if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) { cssProp = cache.registered[cssProp]; } var type = props[typePropName]; var registeredStyles = [cssProp]; var className = ''; if (typeof props.className === 'string') { className = getRegisteredStyles(cache.registered, registeredStyles, props.className); } else if (props.className != null) { className = props.className + " "; } var serialized = serialize_browser_esm_serializeStyles(registeredStyles); if (false) { var labelFromStack; } var rules = insertStyles(cache, serialized, typeof type === 'string'); className += cache.key + "-" + serialized.name; var newProps = {}; for (var key in props) { if (core_browser_esm_hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && ( true || 0)) { newProps[key] = props[key]; } } newProps.ref = ref; newProps.className = className; var ele = (0,react.createElement)(type, newProps); return ele; }; var Emotion = /* #__PURE__ */ withEmotionCache(function (props, cache, ref) { // use Context.read for the theme when it's stable if (typeof props.css === 'function') { return (0,react.createElement)(ThemeContext.Consumer, null, function (theme) { return render(cache, props, theme, ref); }); } return render(cache, props, null, ref); }); if (false) {} // $FlowFixMe var jsx = function jsx(type, props) { var args = arguments; if (props == null || !core_browser_esm_hasOwnProperty.call(props, 'css')) { // $FlowFixMe return react.createElement.apply(undefined, args); } if (false) {} var argsLength = args.length; var createElementArgArray = new Array(argsLength); createElementArgArray[0] = Emotion; var newProps = {}; for (var key in props) { if (core_browser_esm_hasOwnProperty.call(props, key)) { newProps[key] = props[key]; } } newProps[typePropName] = type; if (false) { var match, error; } createElementArgArray[1] = newProps; for (var i = 2; i < argsLength; i++) { createElementArgArray[i] = args[i]; } // $FlowFixMe return react.createElement.apply(null, createElementArgArray); }; var warnedAboutCssPropForGlobal = false; var Global = /* #__PURE__ */ (/* unused pure expression or super */ null && (withEmotionCache(function (props, cache) { if (false) {} var styles = props.styles; if (typeof styles === 'function') { return createElement(ThemeContext.Consumer, null, function (theme) { var serialized = serializeStyles([styles(theme)]); return createElement(InnerGlobal, { serialized: serialized, cache: cache }); }); } var serialized = serializeStyles([styles]); return createElement(InnerGlobal, { serialized: serialized, cache: cache }); }))); // maintain place over rerenders. // initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild // initial client-side render from SSR, use place of hydrating tag var InnerGlobal = /*#__PURE__*/ function (_React$Component) { inheritsLoose_default()(InnerGlobal, _React$Component); function InnerGlobal(props, context, updater) { return _React$Component.call(this, props, context, updater) || this; } var _proto = InnerGlobal.prototype; _proto.componentDidMount = function componentDidMount() { this.sheet = new StyleSheet({ key: this.props.cache.key + "-global", nonce: this.props.cache.sheet.nonce, container: this.props.cache.sheet.container }); // $FlowFixMe var node = document.querySelector("style[data-emotion-" + this.props.cache.key + "=\"" + this.props.serialized.name + "\"]"); if (node !== null) { this.sheet.tags.push(node); } if (this.props.cache.sheet.tags.length) { this.sheet.before = this.props.cache.sheet.tags[0]; } this.insertStyles(); }; _proto.componentDidUpdate = function componentDidUpdate(prevProps) { if (prevProps.serialized.name !== this.props.serialized.name) { this.insertStyles(); } }; _proto.insertStyles = function insertStyles$1() { if (this.props.serialized.next !== undefined) { // insert keyframes insertStyles(this.props.cache, this.props.serialized.next, true); } if (this.sheet.tags.length) { // if this doesn't exist then it will be null so the style element will be appended var element = this.sheet.tags[this.sheet.tags.length - 1].nextElementSibling; this.sheet.before = element; this.sheet.flush(); } this.props.cache.insert("", this.props.serialized, this.sheet, false); }; _proto.componentWillUnmount = function componentWillUnmount() { this.sheet.flush(); }; _proto.render = function render() { return null; }; return InnerGlobal; }(react.Component); var keyframes = function keyframes() { var insertable = css_browser_esm.apply(void 0, arguments); var name = "animation-" + insertable.name; // $FlowFixMe return { name: name, styles: "@keyframes " + name + "{" + insertable.styles + "}", anim: 1, toString: function toString() { return "_EMO_" + this.name + "_" + this.styles + "_EMO_"; } }; }; var classnames = function classnames(args) { var len = args.length; var i = 0; var cls = ''; for (; i < len; i++) { var arg = args[i]; if (arg == null) continue; var toAdd = void 0; switch (typeof arg) { case 'boolean': break; case 'object': { if (Array.isArray(arg)) { toAdd = classnames(arg); } else { toAdd = ''; for (var k in arg) { if (arg[k] && k) { toAdd && (toAdd += ' '); toAdd += k; } } } break; } default: { toAdd = arg; } } if (toAdd) { cls && (cls += ' '); cls += toAdd; } } return cls; }; function merge(registered, css, className) { var registeredStyles = []; var rawClassName = getRegisteredStyles(registered, registeredStyles, className); if (registeredStyles.length < 2) { return className; } return rawClassName + css(registeredStyles); } var ClassNames = withEmotionCache(function (props, context) { return (0,react.createElement)(ThemeContext.Consumer, null, function (theme) { var hasRendered = false; var css = function css() { if (hasRendered && "production" !== 'production') { throw new Error('css can only be used during render'); } for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var serialized = serialize_browser_esm_serializeStyles(args, context.registered); { insertStyles(context, serialized, false); } return context.key + "-" + serialized.name; }; var cx = function cx() { if (hasRendered && "production" !== 'production') { throw new Error('cx can only be used during render'); } for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } return merge(context.registered, css, classnames(args)); }; var content = { css: css, cx: cx, theme: theme }; var ele = props.children(content); hasRendered = true; return ele; }); }); // EXTERNAL MODULE: ./node_modules/react-dom/index.js var react_dom = __webpack_require__(73935); // EXTERNAL MODULE: ./node_modules/prop-types/index.js var prop_types = __webpack_require__(45697); var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types); ;// CONCATENATED MODULE: ./node_modules/react-select/dist/utils-06b0d5a4.browser.esm.js // ============================== // NO OP // ============================== var noop = function noop() {}; // Class Name Prefixer // ============================== /** String representation of component state for styling with class names. Expects an array of strings OR a string/object pair: - className(['comp', 'comp-arg', 'comp-arg-2']) @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2' - className('comp', { some: true, state: false }) @returns 'react-select__comp react-select__comp--some' */ function applyPrefixToName(prefix, name) { if (!name) { return prefix; } else if (name[0] === '-') { return prefix + name; } else { return prefix + '__' + name; } } function classNames(prefix, state, className) { var arr = [className]; if (state && prefix) { for (var key in state) { if (state.hasOwnProperty(key) && state[key]) { arr.push("" + applyPrefixToName(prefix, key)); } } } return arr.filter(function (i) { return i; }).map(function (i) { return String(i).trim(); }).join(' '); } // ============================== // Clean Value // ============================== var cleanValue = function cleanValue(value) { if (Array.isArray(value)) return value.filter(Boolean); if (typeof value === 'object' && value !== null) return [value]; return []; }; // ============================== // Handle Input Change // ============================== function handleInputChange(inputValue, actionMeta, onInputChange) { if (onInputChange) { var newValue = onInputChange(inputValue, actionMeta); if (typeof newValue === 'string') return newValue; } return inputValue; } // ============================== // Scroll Helpers // ============================== function isDocumentElement(el) { return [document.documentElement, document.body, window].indexOf(el) > -1; } // Normalized Scroll Top // ------------------------------ function getScrollTop(el) { if (isDocumentElement(el)) { return window.pageYOffset; } return el.scrollTop; } function scrollTo(el, top) { // with a scroll distance, we perform scroll on the element if (isDocumentElement(el)) { window.scrollTo(0, top); return; } el.scrollTop = top; } // Get Scroll Parent // ------------------------------ function getScrollParent(element) { var style = getComputedStyle(element); var excludeStaticParent = style.position === 'absolute'; var overflowRx = /(auto|scroll)/; var docEl = document.documentElement; // suck it, flow... if (style.position === 'fixed') return docEl; for (var parent = element; parent = parent.parentElement;) { style = getComputedStyle(parent); if (excludeStaticParent && style.position === 'static') { continue; } if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) { return parent; } } return docEl; } // Animated Scroll To // ------------------------------ /** @param t: time (elapsed) @param b: initial value @param c: amount of change @param d: duration */ function easeOutCubic(t, b, c, d) { return c * ((t = t / d - 1) * t * t + 1) + b; } function animatedScrollTo(element, to, duration, callback) { if (duration === void 0) { duration = 200; } if (callback === void 0) { callback = noop; } var start = getScrollTop(element); var change = to - start; var increment = 10; var currentTime = 0; function animateScroll() { currentTime += increment; var val = easeOutCubic(currentTime, start, change, duration); scrollTo(element, val); if (currentTime < duration) { window.requestAnimationFrame(animateScroll); } else { callback(element); } } animateScroll(); } // Scroll Into View // ------------------------------ function scrollIntoView(menuEl, focusedEl) { var menuRect = menuEl.getBoundingClientRect(); var focusedRect = focusedEl.getBoundingClientRect(); var overScroll = focusedEl.offsetHeight / 3; if (focusedRect.bottom + overScroll > menuRect.bottom) { scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight)); } else if (focusedRect.top - overScroll < menuRect.top) { scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0)); } } // ============================== // Get bounding client object // ============================== // cannot get keys using array notation with DOMRect function getBoundingClientObj(element) { var rect = element.getBoundingClientRect(); return { bottom: rect.bottom, height: rect.height, left: rect.left, right: rect.right, top: rect.top, width: rect.width }; } // Touch Capability Detector // ============================== function isTouchCapable() { try { document.createEvent('TouchEvent'); return true; } catch (e) { return false; } } // ============================== // Mobile Device Detector // ============================== function isMobileDevice() { try { return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); } catch (e) { return false; } } // EXTERNAL MODULE: ./node_modules/react-input-autosize/lib/AutosizeInput.js var AutosizeInput = __webpack_require__(35639); ;// CONCATENATED MODULE: ./node_modules/react-select/dist/index-4322c0ed.browser.esm.js function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } function getMenuPlacement(_ref) { var maxHeight = _ref.maxHeight, menuEl = _ref.menuEl, minHeight = _ref.minHeight, placement = _ref.placement, shouldScroll = _ref.shouldScroll, isFixedPosition = _ref.isFixedPosition, theme = _ref.theme; var spacing = theme.spacing; var scrollParent = getScrollParent(menuEl); var defaultState = { placement: 'bottom', maxHeight: maxHeight }; // something went wrong, return default state if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when // the menu is rendered var _scrollParent$getBoun = scrollParent.getBoundingClientRect(), scrollHeight = _scrollParent$getBoun.height; var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(), menuBottom = _menuEl$getBoundingCl.bottom, menuHeight = _menuEl$getBoundingCl.height, menuTop = _menuEl$getBoundingCl.top; var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(), containerTop = _menuEl$offsetParent$.top; var viewHeight = window.innerHeight; var scrollTop = getScrollTop(scrollParent); var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10); var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10); var viewSpaceAbove = containerTop - marginTop; var viewSpaceBelow = viewHeight - menuTop; var scrollSpaceAbove = viewSpaceAbove + scrollTop; var scrollSpaceBelow = scrollHeight - scrollTop - menuTop; var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom; var scrollUp = scrollTop + menuTop - marginTop; var scrollDuration = 160; switch (placement) { case 'auto': case 'bottom': // 1: the menu will fit, do nothing if (viewSpaceBelow >= menuHeight) { return { placement: 'bottom', maxHeight: maxHeight }; } // 2: the menu will fit, if scrolled if (scrollSpaceBelow >= menuHeight && !isFixedPosition) { if (shouldScroll) { animatedScrollTo(scrollParent, scrollDown, scrollDuration); } return { placement: 'bottom', maxHeight: maxHeight }; } // 3: the menu will fit, if constrained if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) { if (shouldScroll) { animatedScrollTo(scrollParent, scrollDown, scrollDuration); } // we want to provide as much of the menu as possible to the user, // so give them whatever is available below rather than the minHeight. var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom; return { placement: 'bottom', maxHeight: constrainedHeight }; } // 4. Forked beviour when there isn't enough space below // AUTO: flip the menu, render above if (placement === 'auto' || isFixedPosition) { // may need to be constrained after flipping var _constrainedHeight = maxHeight; var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove; if (spaceAbove >= minHeight) { _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight); } return { placement: 'top', maxHeight: _constrainedHeight }; } // BOTTOM: allow browser to increase scrollable area and immediately set scroll if (placement === 'bottom') { scrollTo(scrollParent, scrollDown); return { placement: 'bottom', maxHeight: maxHeight }; } break; case 'top': // 1: the menu will fit, do nothing if (viewSpaceAbove >= menuHeight) { return { placement: 'top', maxHeight: maxHeight }; } // 2: the menu will fit, if scrolled if (scrollSpaceAbove >= menuHeight && !isFixedPosition) { if (shouldScroll) { animatedScrollTo(scrollParent, scrollUp, scrollDuration); } return { placement: 'top', maxHeight: maxHeight }; } // 3: the menu will fit, if constrained if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) { var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user, // so give them whatever is available below rather than the minHeight. if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) { _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop; } if (shouldScroll) { animatedScrollTo(scrollParent, scrollUp, scrollDuration); } return { placement: 'top', maxHeight: _constrainedHeight2 }; } // 4. not enough space, the browser WILL NOT increase scrollable area when // absolutely positioned element rendered above the viewport (only below). // Flip the menu, render below return { placement: 'bottom', maxHeight: maxHeight }; default: throw new Error("Invalid placement provided \"" + placement + "\"."); } // fulfil contract with flow: implicit return value of undefined return defaultState; } // Menu Component // ------------------------------ function alignToControl(placement) { var placementToCSSProp = { bottom: 'top', top: 'bottom' }; return placement ? placementToCSSProp[placement] : 'bottom'; } var coercePlacement = function coercePlacement(p) { return p === 'auto' ? 'bottom' : p; }; var menuCSS = function menuCSS(_ref2) { var _ref3; var placement = _ref2.placement, _ref2$theme = _ref2.theme, borderRadius = _ref2$theme.borderRadius, spacing = _ref2$theme.spacing, colors = _ref2$theme.colors; return _ref3 = { label: 'menu' }, _ref3[alignToControl(placement)] = '100%', _ref3.backgroundColor = colors.neutral0, _ref3.borderRadius = borderRadius, _ref3.boxShadow = '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)', _ref3.marginBottom = spacing.menuGutter, _ref3.marginTop = spacing.menuGutter, _ref3.position = 'absolute', _ref3.width = '100%', _ref3.zIndex = 1, _ref3; }; // NOTE: internal only var MenuPlacer = /*#__PURE__*/ function (_Component) { _inheritsLoose(MenuPlacer, _Component); function MenuPlacer() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _Component.call.apply(_Component, [this].concat(args)) || this; _this.state = { maxHeight: _this.props.maxMenuHeight, placement: null }; _this.getPlacement = function (ref) { var _this$props = _this.props, minMenuHeight = _this$props.minMenuHeight, maxMenuHeight = _this$props.maxMenuHeight, menuPlacement = _this$props.menuPlacement, menuPosition = _this$props.menuPosition, menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView, theme = _this$props.theme; var getPortalPlacement = _this.context.getPortalPlacement; if (!ref) return; // DO NOT scroll if position is fixed var isFixedPosition = menuPosition === 'fixed'; var shouldScroll = menuShouldScrollIntoView && !isFixedPosition; var state = getMenuPlacement({ maxHeight: maxMenuHeight, menuEl: ref, minHeight: minMenuHeight, placement: menuPlacement, shouldScroll: shouldScroll, isFixedPosition: isFixedPosition, theme: theme }); if (getPortalPlacement) getPortalPlacement(state); _this.setState(state); }; _this.getUpdatedProps = function () { var menuPlacement = _this.props.menuPlacement; var placement = _this.state.placement || coercePlacement(menuPlacement); return _extends({}, _this.props, { placement: placement, maxHeight: _this.state.maxHeight }); }; return _this; } var _proto = MenuPlacer.prototype; _proto.render = function render() { var children = this.props.children; return children({ ref: this.getPlacement, placerProps: this.getUpdatedProps() }); }; return MenuPlacer; }(react.Component); MenuPlacer.contextTypes = { getPortalPlacement: (prop_types_default()).func }; var Menu = function Menu(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles, innerRef = props.innerRef, innerProps = props.innerProps; return jsx("div", _extends({ css: getStyles('menu', props), className: cx({ menu: true }, className) }, innerProps, { ref: innerRef }), children); }; // Menu List // ============================== var menuListCSS = function menuListCSS(_ref4) { var maxHeight = _ref4.maxHeight, baseUnit = _ref4.theme.spacing.baseUnit; return { maxHeight: maxHeight, overflowY: 'auto', paddingBottom: baseUnit, paddingTop: baseUnit, position: 'relative', // required for offset[Height, Top] > keyboard scroll WebkitOverflowScrolling: 'touch' }; }; var MenuList = function MenuList(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles, isMulti = props.isMulti, innerRef = props.innerRef; return jsx("div", { css: getStyles('menuList', props), className: cx({ 'menu-list': true, 'menu-list--is-multi': isMulti }, className), ref: innerRef }, children); }; // ============================== // Menu Notices // ============================== var noticeCSS = function noticeCSS(_ref5) { var _ref5$theme = _ref5.theme, baseUnit = _ref5$theme.spacing.baseUnit, colors = _ref5$theme.colors; return { color: colors.neutral40, padding: baseUnit * 2 + "px " + baseUnit * 3 + "px", textAlign: 'center' }; }; var noOptionsMessageCSS = noticeCSS; var loadingMessageCSS = noticeCSS; var NoOptionsMessage = function NoOptionsMessage(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles, innerProps = props.innerProps; return jsx("div", _extends({ css: getStyles('noOptionsMessage', props), className: cx({ 'menu-notice': true, 'menu-notice--no-options': true }, className) }, innerProps), children); }; NoOptionsMessage.defaultProps = { children: 'No options' }; var LoadingMessage = function LoadingMessage(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles, innerProps = props.innerProps; return jsx("div", _extends({ css: getStyles('loadingMessage', props), className: cx({ 'menu-notice': true, 'menu-notice--loading': true }, className) }, innerProps), children); }; LoadingMessage.defaultProps = { children: 'Loading...' }; // ============================== // Menu Portal // ============================== var menuPortalCSS = function menuPortalCSS(_ref6) { var rect = _ref6.rect, offset = _ref6.offset, position = _ref6.position; return { left: rect.left, position: position, top: offset, width: rect.width, zIndex: 1 }; }; var MenuPortal = /*#__PURE__*/ function (_Component2) { _inheritsLoose(MenuPortal, _Component2); function MenuPortal() { var _this2; for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } _this2 = _Component2.call.apply(_Component2, [this].concat(args)) || this; _this2.state = { placement: null }; _this2.getPortalPlacement = function (_ref7) { var placement = _ref7.placement; var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed if (placement !== initialPlacement) { _this2.setState({ placement: placement }); } }; return _this2; } var _proto2 = MenuPortal.prototype; _proto2.getChildContext = function getChildContext() { return { getPortalPlacement: this.getPortalPlacement }; } // callback for occassions where the menu must "flip" ; _proto2.render = function render() { var _this$props2 = this.props, appendTo = _this$props2.appendTo, children = _this$props2.children, controlElement = _this$props2.controlElement, menuPlacement = _this$props2.menuPlacement, position = _this$props2.menuPosition, getStyles = _this$props2.getStyles; var isFixed = position === 'fixed'; // bail early if required elements aren't present if (!appendTo && !isFixed || !controlElement) { return null; } var placement = this.state.placement || coercePlacement(menuPlacement); var rect = getBoundingClientObj(controlElement); var scrollDistance = isFixed ? 0 : window.pageYOffset; var offset = rect[placement] + scrollDistance; var state = { offset: offset, position: position, rect: rect }; // same wrapper element whether fixed or portalled var menuWrapper = jsx("div", { css: getStyles('menuPortal', state) }, children); return appendTo ? (0,react_dom.createPortal)(menuWrapper, appendTo) : menuWrapper; }; return MenuPortal; }(react.Component); MenuPortal.childContextTypes = { getPortalPlacement: (prop_types_default()).func }; var isArray = Array.isArray; var keyList = Object.keys; var hasProp = Object.prototype.hasOwnProperty; function equal(a, b) { // fast-deep-equal index.js 2.0.1 if (a === b) return true; if (a && b && typeof a == 'object' && typeof b == 'object') { var arrA = isArray(a), arrB = isArray(b), i, length, key; if (arrA && arrB) { length = a.length; if (length != b.length) return false; for (i = length; i-- !== 0;) { if (!equal(a[i], b[i])) return false; } return true; } if (arrA != arrB) return false; var dateA = a instanceof Date, dateB = b instanceof Date; if (dateA != dateB) return false; if (dateA && dateB) return a.getTime() == b.getTime(); var regexpA = a instanceof RegExp, regexpB = b instanceof RegExp; if (regexpA != regexpB) return false; if (regexpA && regexpB) return a.toString() == b.toString(); var keys = keyList(a); length = keys.length; if (length !== keyList(b).length) { return false; } for (i = length; i-- !== 0;) { if (!hasProp.call(b, keys[i])) return false; } // end fast-deep-equal // Custom handling for React for (i = length; i-- !== 0;) { key = keys[i]; if (key === '_owner' && a.$$typeof) { // React-specific: avoid traversing React elements' _owner. // _owner contains circular references // and is not needed when comparing the actual elements (and not their owners) // .$$typeof and ._store on just reasonable markers of a react element continue; } else { // all other properties should be traversed as usual if (!equal(a[key], b[key])) return false; } } // fast-deep-equal index.js 2.0.1 return true; } return a !== a && b !== b; } // end fast-deep-equal function exportedEqual(a, b) { try { return equal(a, b); } catch (error) { if (error.message && error.message.match(/stack|recursion/i)) { // warn on circular references, don't crash // browsers give this different errors name and messages: // chrome/safari: "RangeError", "Maximum call stack size exceeded" // firefox: "InternalError", too much recursion" // edge: "Error", "Out of stack space" console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message); return false; } // some other error. we should definitely know about these throw error; } } function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); } var containerCSS = function containerCSS(_ref) { var isDisabled = _ref.isDisabled, isRtl = _ref.isRtl; return { label: 'container', direction: isRtl ? 'rtl' : null, pointerEvents: isDisabled ? 'none' : null, // cancel mouse events when disabled position: 'relative' }; }; var SelectContainer = function SelectContainer(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles, innerProps = props.innerProps, isDisabled = props.isDisabled, isRtl = props.isRtl; return jsx("div", _extends$1({ css: getStyles('container', props), className: cx({ '--is-disabled': isDisabled, '--is-rtl': isRtl }, className) }, innerProps), children); }; // ============================== // Value Container // ============================== var valueContainerCSS = function valueContainerCSS(_ref2) { var spacing = _ref2.theme.spacing; return { alignItems: 'center', display: 'flex', flex: 1, flexWrap: 'wrap', padding: spacing.baseUnit / 2 + "px " + spacing.baseUnit * 2 + "px", WebkitOverflowScrolling: 'touch', position: 'relative', overflow: 'hidden' }; }; var ValueContainer = function ValueContainer(props) { var children = props.children, className = props.className, cx = props.cx, isMulti = props.isMulti, getStyles = props.getStyles, hasValue = props.hasValue; return jsx("div", { css: getStyles('valueContainer', props), className: cx({ 'value-container': true, 'value-container--is-multi': isMulti, 'value-container--has-value': hasValue }, className) }, children); }; // ============================== // Indicator Container // ============================== var indicatorsContainerCSS = function indicatorsContainerCSS() { return { alignItems: 'center', alignSelf: 'stretch', display: 'flex', flexShrink: 0 }; }; var IndicatorsContainer = function IndicatorsContainer(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles; return jsx("div", { css: getStyles('indicatorsContainer', props), className: cx({ indicators: true }, className) }, children); }; function _templateObject() { var data = _taggedTemplateLiteralLoose(["\n 0%, 80%, 100% { opacity: 0; }\n 40% { opacity: 1; }\n"]); _templateObject = function _templateObject() { return data; }; return data; } function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; } function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var _ref2 = true ? { name: "19bqh2r", styles: "display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;" } : 0; // ============================== // Dropdown & Clear Icons // ============================== var Svg = function Svg(_ref) { var size = _ref.size, props = _objectWithoutPropertiesLoose(_ref, ["size"]); return jsx("svg", _extends$2({ height: size, width: size, viewBox: "0 0 20 20", "aria-hidden": "true", focusable: "false", css: _ref2 }, props)); }; var CrossIcon = function CrossIcon(props) { return jsx(Svg, _extends$2({ size: 20 }, props), jsx("path", { d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z" })); }; var DownChevron = function DownChevron(props) { return jsx(Svg, _extends$2({ size: 20 }, props), jsx("path", { d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z" })); }; // ============================== // Dropdown & Clear Buttons // ============================== var baseCSS = function baseCSS(_ref3) { var isFocused = _ref3.isFocused, _ref3$theme = _ref3.theme, baseUnit = _ref3$theme.spacing.baseUnit, colors = _ref3$theme.colors; return { label: 'indicatorContainer', color: isFocused ? colors.neutral60 : colors.neutral20, display: 'flex', padding: baseUnit * 2, transition: 'color 150ms', ':hover': { color: isFocused ? colors.neutral80 : colors.neutral40 } }; }; var dropdownIndicatorCSS = baseCSS; var DropdownIndicator = function DropdownIndicator(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles, innerProps = props.innerProps; return jsx("div", _extends$2({}, innerProps, { css: getStyles('dropdownIndicator', props), className: cx({ indicator: true, 'dropdown-indicator': true }, className) }), children || jsx(DownChevron, null)); }; var clearIndicatorCSS = baseCSS; var ClearIndicator = function ClearIndicator(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles, innerProps = props.innerProps; return jsx("div", _extends$2({}, innerProps, { css: getStyles('clearIndicator', props), className: cx({ indicator: true, 'clear-indicator': true }, className) }), children || jsx(CrossIcon, null)); }; // ============================== // Separator // ============================== var indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) { var isDisabled = _ref4.isDisabled, _ref4$theme = _ref4.theme, baseUnit = _ref4$theme.spacing.baseUnit, colors = _ref4$theme.colors; return { label: 'indicatorSeparator', alignSelf: 'stretch', backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20, marginBottom: baseUnit * 2, marginTop: baseUnit * 2, width: 1 }; }; var IndicatorSeparator = function IndicatorSeparator(props) { var className = props.className, cx = props.cx, getStyles = props.getStyles, innerProps = props.innerProps; return jsx("span", _extends$2({}, innerProps, { css: getStyles('indicatorSeparator', props), className: cx({ 'indicator-separator': true }, className) })); }; // ============================== // Loading // ============================== var loadingDotAnimations = keyframes(_templateObject()); var loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) { var isFocused = _ref5.isFocused, size = _ref5.size, _ref5$theme = _ref5.theme, colors = _ref5$theme.colors, baseUnit = _ref5$theme.spacing.baseUnit; return { label: 'loadingIndicator', color: isFocused ? colors.neutral60 : colors.neutral20, display: 'flex', padding: baseUnit * 2, transition: 'color 150ms', alignSelf: 'center', fontSize: size, lineHeight: 1, marginRight: size, textAlign: 'center', verticalAlign: 'middle' }; }; var LoadingDot = function LoadingDot(_ref6) { var delay = _ref6.delay, offset = _ref6.offset; return jsx("span", { css: /*#__PURE__*/ css_browser_esm({ animation: loadingDotAnimations + " 1s ease-in-out " + delay + "ms infinite;", backgroundColor: 'currentColor', borderRadius: '1em', display: 'inline-block', marginLeft: offset ? '1em' : null, height: '1em', verticalAlign: 'top', width: '1em' }, true ? "" : 0) }); }; var LoadingIndicator = function LoadingIndicator(props) { var className = props.className, cx = props.cx, getStyles = props.getStyles, innerProps = props.innerProps, isRtl = props.isRtl; return jsx("div", _extends$2({}, innerProps, { css: getStyles('loadingIndicator', props), className: cx({ indicator: true, 'loading-indicator': true }, className) }), jsx(LoadingDot, { delay: 0, offset: isRtl }), jsx(LoadingDot, { delay: 160, offset: true }), jsx(LoadingDot, { delay: 320, offset: !isRtl })); }; LoadingIndicator.defaultProps = { size: 4 }; function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); } var index_4322c0ed_browser_esm_css = function css(_ref) { var isDisabled = _ref.isDisabled, isFocused = _ref.isFocused, _ref$theme = _ref.theme, colors = _ref$theme.colors, borderRadius = _ref$theme.borderRadius, spacing = _ref$theme.spacing; return { label: 'control', alignItems: 'center', backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0, borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20, borderRadius: borderRadius, borderStyle: 'solid', borderWidth: 1, boxShadow: isFocused ? "0 0 0 1px " + colors.primary : null, cursor: 'default', display: 'flex', flexWrap: 'wrap', justifyContent: 'space-between', minHeight: spacing.controlHeight, outline: '0 !important', position: 'relative', transition: 'all 100ms', '&:hover': { borderColor: isFocused ? colors.primary : colors.neutral30 } }; }; var Control = function Control(props) { var children = props.children, cx = props.cx, getStyles = props.getStyles, className = props.className, isDisabled = props.isDisabled, isFocused = props.isFocused, innerRef = props.innerRef, innerProps = props.innerProps, menuIsOpen = props.menuIsOpen; return jsx("div", _extends$3({ ref: innerRef, css: getStyles('control', props), className: cx({ control: true, 'control--is-disabled': isDisabled, 'control--is-focused': isFocused, 'control--menu-is-open': menuIsOpen }, className) }, innerProps), children); }; function _objectWithoutPropertiesLoose$1(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _extends$4() { _extends$4 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4.apply(this, arguments); } var groupCSS = function groupCSS(_ref) { var spacing = _ref.theme.spacing; return { paddingBottom: spacing.baseUnit * 2, paddingTop: spacing.baseUnit * 2 }; }; var Group = function Group(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles, Heading = props.Heading, headingProps = props.headingProps, label = props.label, theme = props.theme, selectProps = props.selectProps; return jsx("div", { css: getStyles('group', props), className: cx({ group: true }, className) }, jsx(Heading, _extends$4({}, headingProps, { selectProps: selectProps, theme: theme, getStyles: getStyles, cx: cx }), label), jsx("div", null, children)); }; var groupHeadingCSS = function groupHeadingCSS(_ref2) { var spacing = _ref2.theme.spacing; return { label: 'group', color: '#999', cursor: 'default', display: 'block', fontSize: '75%', fontWeight: '500', marginBottom: '0.25em', paddingLeft: spacing.baseUnit * 3, paddingRight: spacing.baseUnit * 3, textTransform: 'uppercase' }; }; var GroupHeading = function GroupHeading(props) { var className = props.className, cx = props.cx, getStyles = props.getStyles, theme = props.theme, selectProps = props.selectProps, cleanProps = _objectWithoutPropertiesLoose$1(props, ["className", "cx", "getStyles", "theme", "selectProps"]); return jsx("div", _extends$4({ css: getStyles('groupHeading', _extends$4({ theme: theme }, cleanProps)), className: cx({ 'group-heading': true }, className) }, cleanProps)); }; function _extends$5() { _extends$5 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5.apply(this, arguments); } function _objectWithoutPropertiesLoose$2(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var inputCSS = function inputCSS(_ref) { var isDisabled = _ref.isDisabled, _ref$theme = _ref.theme, spacing = _ref$theme.spacing, colors = _ref$theme.colors; return { margin: spacing.baseUnit / 2, paddingBottom: spacing.baseUnit / 2, paddingTop: spacing.baseUnit / 2, visibility: isDisabled ? 'hidden' : 'visible', color: colors.neutral80 }; }; var inputStyle = function inputStyle(isHidden) { return { label: 'input', background: 0, border: 0, fontSize: 'inherit', opacity: isHidden ? 0 : 1, outline: 0, padding: 0, color: 'inherit' }; }; var Input = function Input(_ref2) { var className = _ref2.className, cx = _ref2.cx, getStyles = _ref2.getStyles, innerRef = _ref2.innerRef, isHidden = _ref2.isHidden, isDisabled = _ref2.isDisabled, theme = _ref2.theme, selectProps = _ref2.selectProps, props = _objectWithoutPropertiesLoose$2(_ref2, ["className", "cx", "getStyles", "innerRef", "isHidden", "isDisabled", "theme", "selectProps"]); return jsx("div", { css: getStyles('input', _extends$5({ theme: theme }, props)) }, jsx(AutosizeInput/* default */.Z, _extends$5({ className: cx({ input: true }, className), inputRef: innerRef, inputStyle: inputStyle(isHidden), disabled: isDisabled }, props))); }; function _extends$6() { _extends$6 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$6.apply(this, arguments); } var multiValueCSS = function multiValueCSS(_ref) { var _ref$theme = _ref.theme, spacing = _ref$theme.spacing, borderRadius = _ref$theme.borderRadius, colors = _ref$theme.colors; return { label: 'multiValue', backgroundColor: colors.neutral10, borderRadius: borderRadius / 2, display: 'flex', margin: spacing.baseUnit / 2, minWidth: 0 // resolves flex/text-overflow bug }; }; var multiValueLabelCSS = function multiValueLabelCSS(_ref2) { var _ref2$theme = _ref2.theme, borderRadius = _ref2$theme.borderRadius, colors = _ref2$theme.colors, cropWithEllipsis = _ref2.cropWithEllipsis; return { borderRadius: borderRadius / 2, color: colors.neutral80, fontSize: '85%', overflow: 'hidden', padding: 3, paddingLeft: 6, textOverflow: cropWithEllipsis ? 'ellipsis' : null, whiteSpace: 'nowrap' }; }; var multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) { var _ref3$theme = _ref3.theme, spacing = _ref3$theme.spacing, borderRadius = _ref3$theme.borderRadius, colors = _ref3$theme.colors, isFocused = _ref3.isFocused; return { alignItems: 'center', borderRadius: borderRadius / 2, backgroundColor: isFocused && colors.dangerLight, display: 'flex', paddingLeft: spacing.baseUnit, paddingRight: spacing.baseUnit, ':hover': { backgroundColor: colors.dangerLight, color: colors.danger } }; }; var MultiValueGeneric = function MultiValueGeneric(_ref4) { var children = _ref4.children, innerProps = _ref4.innerProps; return jsx("div", innerProps, children); }; var MultiValueContainer = MultiValueGeneric; var MultiValueLabel = MultiValueGeneric; function MultiValueRemove(_ref5) { var children = _ref5.children, innerProps = _ref5.innerProps; return jsx("div", innerProps, children || jsx(CrossIcon, { size: 14 })); } var MultiValue = function MultiValue(props) { var children = props.children, className = props.className, components = props.components, cx = props.cx, data = props.data, getStyles = props.getStyles, innerProps = props.innerProps, isDisabled = props.isDisabled, removeProps = props.removeProps, selectProps = props.selectProps; var Container = components.Container, Label = components.Label, Remove = components.Remove; return jsx(ClassNames, null, function (_ref6) { var css = _ref6.css, emotionCx = _ref6.cx; return jsx(Container, { data: data, innerProps: _extends$6({}, innerProps, { className: emotionCx(css(getStyles('multiValue', props)), cx({ 'multi-value': true, 'multi-value--is-disabled': isDisabled }, className)) }), selectProps: selectProps }, jsx(Label, { data: data, innerProps: { className: emotionCx(css(getStyles('multiValueLabel', props)), cx({ 'multi-value__label': true }, className)) }, selectProps: selectProps }, children), jsx(Remove, { data: data, innerProps: _extends$6({ className: emotionCx(css(getStyles('multiValueRemove', props)), cx({ 'multi-value__remove': true }, className)) }, removeProps), selectProps: selectProps })); }); }; MultiValue.defaultProps = { cropWithEllipsis: true }; function _extends$7() { _extends$7 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$7.apply(this, arguments); } var optionCSS = function optionCSS(_ref) { var isDisabled = _ref.isDisabled, isFocused = _ref.isFocused, isSelected = _ref.isSelected, _ref$theme = _ref.theme, spacing = _ref$theme.spacing, colors = _ref$theme.colors; return { label: 'option', backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent', color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit', cursor: 'default', display: 'block', fontSize: 'inherit', padding: spacing.baseUnit * 2 + "px " + spacing.baseUnit * 3 + "px", width: '100%', userSelect: 'none', WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)', // provide some affordance on touch devices ':active': { backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50) } }; }; var Option = function Option(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles, isDisabled = props.isDisabled, isFocused = props.isFocused, isSelected = props.isSelected, innerRef = props.innerRef, innerProps = props.innerProps; return jsx("div", _extends$7({ css: getStyles('option', props), className: cx({ option: true, 'option--is-disabled': isDisabled, 'option--is-focused': isFocused, 'option--is-selected': isSelected }, className), ref: innerRef }, innerProps), children); }; function _extends$8() { _extends$8 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$8.apply(this, arguments); } var placeholderCSS = function placeholderCSS(_ref) { var _ref$theme = _ref.theme, spacing = _ref$theme.spacing, colors = _ref$theme.colors; return { label: 'placeholder', color: colors.neutral50, marginLeft: spacing.baseUnit / 2, marginRight: spacing.baseUnit / 2, position: 'absolute', top: '50%', transform: 'translateY(-50%)' }; }; var Placeholder = function Placeholder(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles, innerProps = props.innerProps; return jsx("div", _extends$8({ css: getStyles('placeholder', props), className: cx({ placeholder: true }, className) }, innerProps), children); }; function _extends$9() { _extends$9 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); } var css$1 = function css(_ref) { var isDisabled = _ref.isDisabled, _ref$theme = _ref.theme, spacing = _ref$theme.spacing, colors = _ref$theme.colors; return { label: 'singleValue', color: isDisabled ? colors.neutral40 : colors.neutral80, marginLeft: spacing.baseUnit / 2, marginRight: spacing.baseUnit / 2, maxWidth: "calc(100% - " + spacing.baseUnit * 2 + "px)", overflow: 'hidden', position: 'absolute', textOverflow: 'ellipsis', whiteSpace: 'nowrap', top: '50%', transform: 'translateY(-50%)' }; }; var SingleValue = function SingleValue(props) { var children = props.children, className = props.className, cx = props.cx, getStyles = props.getStyles, isDisabled = props.isDisabled, innerProps = props.innerProps; return jsx("div", _extends$9({ css: getStyles('singleValue', props), className: cx({ 'single-value': true, 'single-value--is-disabled': isDisabled }, className) }, innerProps), children); }; function _extends$a() { _extends$a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); } var components = { ClearIndicator: ClearIndicator, Control: Control, DropdownIndicator: DropdownIndicator, DownChevron: DownChevron, CrossIcon: CrossIcon, Group: Group, GroupHeading: GroupHeading, IndicatorsContainer: IndicatorsContainer, IndicatorSeparator: IndicatorSeparator, Input: Input, LoadingIndicator: LoadingIndicator, Menu: Menu, MenuList: MenuList, MenuPortal: MenuPortal, LoadingMessage: LoadingMessage, NoOptionsMessage: NoOptionsMessage, MultiValue: MultiValue, MultiValueContainer: MultiValueContainer, MultiValueLabel: MultiValueLabel, MultiValueRemove: MultiValueRemove, Option: Option, Placeholder: Placeholder, SelectContainer: SelectContainer, SingleValue: SingleValue, ValueContainer: ValueContainer }; var defaultComponents = function defaultComponents(props) { return _extends$a({}, components, props.components); }; ;// CONCATENATED MODULE: ./node_modules/react-select/dist/Select-9fdb8cd0.browser.esm.js var diacritics = [{ base: 'A', letters: /[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g }, { base: 'AA', letters: /[\uA732]/g }, { base: 'AE', letters: /[\u00C6\u01FC\u01E2]/g }, { base: 'AO', letters: /[\uA734]/g }, { base: 'AU', letters: /[\uA736]/g }, { base: 'AV', letters: /[\uA738\uA73A]/g }, { base: 'AY', letters: /[\uA73C]/g }, { base: 'B', letters: /[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g }, { base: 'C', letters: /[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g }, { base: 'D', letters: /[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g }, { base: 'DZ', letters: /[\u01F1\u01C4]/g }, { base: 'Dz', letters: /[\u01F2\u01C5]/g }, { base: 'E', letters: /[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g }, { base: 'F', letters: /[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g }, { base: 'G', letters: /[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g }, { base: 'H', letters: /[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g }, { base: 'I', letters: /[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g }, { base: 'J', letters: /[\u004A\u24BF\uFF2A\u0134\u0248]/g }, { base: 'K', letters: /[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g }, { base: 'L', letters: /[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g }, { base: 'LJ', letters: /[\u01C7]/g }, { base: 'Lj', letters: /[\u01C8]/g }, { base: 'M', letters: /[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g }, { base: 'N', letters: /[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g }, { base: 'NJ', letters: /[\u01CA]/g }, { base: 'Nj', letters: /[\u01CB]/g }, { base: 'O', letters: /[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g }, { base: 'OI', letters: /[\u01A2]/g }, { base: 'OO', letters: /[\uA74E]/g }, { base: 'OU', letters: /[\u0222]/g }, { base: 'P', letters: /[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g }, { base: 'Q', letters: /[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g }, { base: 'R', letters: /[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g }, { base: 'S', letters: /[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g }, { base: 'T', letters: /[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g }, { base: 'TZ', letters: /[\uA728]/g }, { base: 'U', letters: /[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g }, { base: 'V', letters: /[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g }, { base: 'VY', letters: /[\uA760]/g }, { base: 'W', letters: /[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g }, { base: 'X', letters: /[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g }, { base: 'Y', letters: /[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g }, { base: 'Z', letters: /[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g }, { base: 'a', letters: /[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g }, { base: 'aa', letters: /[\uA733]/g }, { base: 'ae', letters: /[\u00E6\u01FD\u01E3]/g }, { base: 'ao', letters: /[\uA735]/g }, { base: 'au', letters: /[\uA737]/g }, { base: 'av', letters: /[\uA739\uA73B]/g }, { base: 'ay', letters: /[\uA73D]/g }, { base: 'b', letters: /[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g }, { base: 'c', letters: /[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g }, { base: 'd', letters: /[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g }, { base: 'dz', letters: /[\u01F3\u01C6]/g }, { base: 'e', letters: /[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g }, { base: 'f', letters: /[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g }, { base: 'g', letters: /[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g }, { base: 'h', letters: /[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g }, { base: 'hv', letters: /[\u0195]/g }, { base: 'i', letters: /[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g }, { base: 'j', letters: /[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g }, { base: 'k', letters: /[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g }, { base: 'l', letters: /[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g }, { base: 'lj', letters: /[\u01C9]/g }, { base: 'm', letters: /[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g }, { base: 'n', letters: /[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g }, { base: 'nj', letters: /[\u01CC]/g }, { base: 'o', letters: /[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g }, { base: 'oi', letters: /[\u01A3]/g }, { base: 'ou', letters: /[\u0223]/g }, { base: 'oo', letters: /[\uA74F]/g }, { base: 'p', letters: /[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g }, { base: 'q', letters: /[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g }, { base: 'r', letters: /[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g }, { base: 's', letters: /[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g }, { base: 't', letters: /[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g }, { base: 'tz', letters: /[\uA729]/g }, { base: 'u', letters: /[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g }, { base: 'v', letters: /[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g }, { base: 'vy', letters: /[\uA761]/g }, { base: 'w', letters: /[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g }, { base: 'x', letters: /[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g }, { base: 'y', letters: /[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g }, { base: 'z', letters: /[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g }]; var stripDiacritics = function stripDiacritics(str) { for (var i = 0; i < diacritics.length; i++) { str = str.replace(diacritics[i].letters, diacritics[i].base); } return str; }; function Select_9fdb8cd0_browser_esm_extends() { Select_9fdb8cd0_browser_esm_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Select_9fdb8cd0_browser_esm_extends.apply(this, arguments); } var trimString = function trimString(str) { return str.replace(/^\s+|\s+$/g, ''); }; var defaultStringify = function defaultStringify(option) { return option.label + " " + option.value; }; var createFilter = function createFilter(config) { return function (option, rawInput) { var _ignoreCase$ignoreAcc = Select_9fdb8cd0_browser_esm_extends({ ignoreCase: true, ignoreAccents: true, stringify: defaultStringify, trim: true, matchFrom: 'any' }, config), ignoreCase = _ignoreCase$ignoreAcc.ignoreCase, ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents, stringify = _ignoreCase$ignoreAcc.stringify, trim = _ignoreCase$ignoreAcc.trim, matchFrom = _ignoreCase$ignoreAcc.matchFrom; var input = trim ? trimString(rawInput) : rawInput; var candidate = trim ? trimString(stringify(option)) : stringify(option); if (ignoreCase) { input = input.toLowerCase(); candidate = candidate.toLowerCase(); } if (ignoreAccents) { input = stripDiacritics(input); candidate = stripDiacritics(candidate); } return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1; }; }; function Select_9fdb8cd0_browser_esm_extends$1() { Select_9fdb8cd0_browser_esm_extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Select_9fdb8cd0_browser_esm_extends$1.apply(this, arguments); } var _ref = true ? { name: "1laao21-a11yText", styles: "label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;" } : 0; var A11yText = function A11yText(props) { return jsx("span", Select_9fdb8cd0_browser_esm_extends$1({ css: _ref }, props)); }; function Select_9fdb8cd0_browser_esm_extends$2() { Select_9fdb8cd0_browser_esm_extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Select_9fdb8cd0_browser_esm_extends$2.apply(this, arguments); } function Select_9fdb8cd0_browser_esm_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function DummyInput(_ref) { var inProp = _ref.in, out = _ref.out, onExited = _ref.onExited, appear = _ref.appear, enter = _ref.enter, exit = _ref.exit, innerRef = _ref.innerRef, emotion = _ref.emotion, props = Select_9fdb8cd0_browser_esm_objectWithoutPropertiesLoose(_ref, ["in", "out", "onExited", "appear", "enter", "exit", "innerRef", "emotion"]); return jsx("input", Select_9fdb8cd0_browser_esm_extends$2({ ref: innerRef }, props, { css: /*#__PURE__*/ css_browser_esm({ label: 'dummyInput', // get rid of any default styles background: 0, border: 0, fontSize: 'inherit', outline: 0, padding: 0, // important! without `width` browsers won't allow focus width: 1, // remove cursor on desktop color: 'transparent', // remove cursor on mobile whilst maintaining "scroll into view" behaviour left: -100, opacity: 0, position: 'relative', transform: 'scale(0)' }, true ? "" : 0) })); } function Select_9fdb8cd0_browser_esm_inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } var NodeResolver = /*#__PURE__*/ function (_Component) { Select_9fdb8cd0_browser_esm_inheritsLoose(NodeResolver, _Component); function NodeResolver() { return _Component.apply(this, arguments) || this; } var _proto = NodeResolver.prototype; _proto.componentDidMount = function componentDidMount() { this.props.innerRef((0,react_dom.findDOMNode)(this)); }; _proto.componentWillUnmount = function componentWillUnmount() { this.props.innerRef(null); }; _proto.render = function render() { return this.props.children; }; return NodeResolver; }(react.Component); var STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position']; var LOCK_STYLES = { boxSizing: 'border-box', // account for possible declaration `width: 100%;` on body overflow: 'hidden', position: 'relative', height: '100%' }; function preventTouchMove(e) { e.preventDefault(); } function allowTouchMove(e) { e.stopPropagation(); } function preventInertiaScroll() { var top = this.scrollTop; var totalScroll = this.scrollHeight; var currentScroll = top + this.offsetHeight; if (top === 0) { this.scrollTop = 1; } else if (currentScroll === totalScroll) { this.scrollTop = top - 1; } } // `ontouchstart` check works on most browsers // `maxTouchPoints` works on IE10/11 and Surface function isTouchDevice() { return 'ontouchstart' in window || navigator.maxTouchPoints; } function _inheritsLoose$1(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } var canUseDOM = !!( window.document && window.document.createElement); var activeScrollLocks = 0; var ScrollLock = /*#__PURE__*/ function (_Component) { _inheritsLoose$1(ScrollLock, _Component); function ScrollLock() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _Component.call.apply(_Component, [this].concat(args)) || this; _this.originalStyles = {}; _this.listenerOptions = { capture: false, passive: false }; return _this; } var _proto = ScrollLock.prototype; _proto.componentDidMount = function componentDidMount() { var _this2 = this; if (!canUseDOM) return; var _this$props = this.props, accountForScrollbars = _this$props.accountForScrollbars, touchScrollTarget = _this$props.touchScrollTarget; var target = document.body; var targetStyle = target && target.style; if (accountForScrollbars) { // store any styles already applied to the body STYLE_KEYS.forEach(function (key) { var val = targetStyle && targetStyle[key]; _this2.originalStyles[key] = val; }); } // apply the lock styles and padding if this is the first scroll lock if (accountForScrollbars && activeScrollLocks < 1) { var currentPadding = parseInt(this.originalStyles.paddingRight, 10) || 0; var clientWidth = document.body ? document.body.clientWidth : 0; var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0; Object.keys(LOCK_STYLES).forEach(function (key) { var val = LOCK_STYLES[key]; if (targetStyle) { targetStyle[key] = val; } }); if (targetStyle) { targetStyle.paddingRight = adjustedPadding + "px"; } } // account for touch devices if (target && isTouchDevice()) { // Mobile Safari ignores { overflow: hidden } declaration on the body. target.addEventListener('touchmove', preventTouchMove, this.listenerOptions); // Allow scroll on provided target if (touchScrollTarget) { touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, this.listenerOptions); touchScrollTarget.addEventListener('touchmove', allowTouchMove, this.listenerOptions); } } // increment active scroll locks activeScrollLocks += 1; }; _proto.componentWillUnmount = function componentWillUnmount() { var _this3 = this; if (!canUseDOM) return; var _this$props2 = this.props, accountForScrollbars = _this$props2.accountForScrollbars, touchScrollTarget = _this$props2.touchScrollTarget; var target = document.body; var targetStyle = target && target.style; // safely decrement active scroll locks activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any if (accountForScrollbars && activeScrollLocks < 1) { STYLE_KEYS.forEach(function (key) { var val = _this3.originalStyles[key]; if (targetStyle) { targetStyle[key] = val; } }); } // remove touch listeners if (target && isTouchDevice()) { target.removeEventListener('touchmove', preventTouchMove, this.listenerOptions); if (touchScrollTarget) { touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, this.listenerOptions); touchScrollTarget.removeEventListener('touchmove', allowTouchMove, this.listenerOptions); } } }; _proto.render = function render() { return null; }; return ScrollLock; }(react.Component); ScrollLock.defaultProps = { accountForScrollbars: true }; function _inheritsLoose$2(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } var _ref$1 = true ? { name: "1dsbpcp", styles: "position:fixed;left:0;bottom:0;right:0;top:0;" } : 0; // NOTE: // We shouldn't need this after updating to React v16.3.0, which introduces: // - createRef() https://reactjs.org/docs/react-api.html#reactcreateref // - forwardRef() https://reactjs.org/docs/react-api.html#reactforwardref var ScrollBlock = /*#__PURE__*/ function (_PureComponent) { _inheritsLoose$2(ScrollBlock, _PureComponent); function ScrollBlock() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _PureComponent.call.apply(_PureComponent, [this].concat(args)) || this; _this.state = { touchScrollTarget: null }; _this.getScrollTarget = function (ref) { if (ref === _this.state.touchScrollTarget) return; _this.setState({ touchScrollTarget: ref }); }; _this.blurSelectInput = function () { if (document.activeElement) { document.activeElement.blur(); } }; return _this; } var _proto = ScrollBlock.prototype; _proto.render = function render() { var _this$props = this.props, children = _this$props.children, isEnabled = _this$props.isEnabled; var touchScrollTarget = this.state.touchScrollTarget; // bail early if not enabled if (!isEnabled) return children; /* * Div * ------------------------------ * blocks scrolling on non-body elements behind the menu * NodeResolver * ------------------------------ * we need a reference to the scrollable element to "unlock" scroll on * mobile devices * ScrollLock * ------------------------------ * actually does the scroll locking */ return jsx("div", null, jsx("div", { onClick: this.blurSelectInput, css: _ref$1 }), jsx(NodeResolver, { innerRef: this.getScrollTarget }, children), touchScrollTarget ? jsx(ScrollLock, { touchScrollTarget: touchScrollTarget }) : null); }; return ScrollBlock; }(react.PureComponent); function Select_9fdb8cd0_browser_esm_objectWithoutPropertiesLoose$1(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _inheritsLoose$3(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } var ScrollCaptor = /*#__PURE__*/ function (_Component) { _inheritsLoose$3(ScrollCaptor, _Component); function ScrollCaptor() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _Component.call.apply(_Component, [this].concat(args)) || this; _this.isBottom = false; _this.isTop = false; _this.scrollTarget = void 0; _this.touchStart = void 0; _this.cancelScroll = function (event) { event.preventDefault(); event.stopPropagation(); }; _this.handleEventDelta = function (event, delta) { var _this$props = _this.props, onBottomArrive = _this$props.onBottomArrive, onBottomLeave = _this$props.onBottomLeave, onTopArrive = _this$props.onTopArrive, onTopLeave = _this$props.onTopLeave; var _this$scrollTarget = _this.scrollTarget, scrollTop = _this$scrollTarget.scrollTop, scrollHeight = _this$scrollTarget.scrollHeight, clientHeight = _this$scrollTarget.clientHeight; var target = _this.scrollTarget; var isDeltaPositive = delta > 0; var availableScroll = scrollHeight - clientHeight - scrollTop; var shouldCancelScroll = false; // reset bottom/top flags if (availableScroll > delta && _this.isBottom) { if (onBottomLeave) onBottomLeave(event); _this.isBottom = false; } if (isDeltaPositive && _this.isTop) { if (onTopLeave) onTopLeave(event); _this.isTop = false; } // bottom limit if (isDeltaPositive && delta > availableScroll) { if (onBottomArrive && !_this.isBottom) { onBottomArrive(event); } target.scrollTop = scrollHeight; shouldCancelScroll = true; _this.isBottom = true; // top limit } else if (!isDeltaPositive && -delta > scrollTop) { if (onTopArrive && !_this.isTop) { onTopArrive(event); } target.scrollTop = 0; shouldCancelScroll = true; _this.isTop = true; } // cancel scroll if (shouldCancelScroll) { _this.cancelScroll(event); } }; _this.onWheel = function (event) { _this.handleEventDelta(event, event.deltaY); }; _this.onTouchStart = function (event) { // set touch start so we can calculate touchmove delta _this.touchStart = event.changedTouches[0].clientY; }; _this.onTouchMove = function (event) { var deltaY = _this.touchStart - event.changedTouches[0].clientY; _this.handleEventDelta(event, deltaY); }; _this.getScrollTarget = function (ref) { _this.scrollTarget = ref; }; return _this; } var _proto = ScrollCaptor.prototype; _proto.componentDidMount = function componentDidMount() { this.startListening(this.scrollTarget); }; _proto.componentWillUnmount = function componentWillUnmount() { this.stopListening(this.scrollTarget); }; _proto.startListening = function startListening(el) { // bail early if no element is available to attach to if (!el) return; // all the if statements are to appease Flow 😢 if (typeof el.addEventListener === 'function') { el.addEventListener('wheel', this.onWheel, false); } if (typeof el.addEventListener === 'function') { el.addEventListener('touchstart', this.onTouchStart, false); } if (typeof el.addEventListener === 'function') { el.addEventListener('touchmove', this.onTouchMove, false); } }; _proto.stopListening = function stopListening(el) { // all the if statements are to appease Flow 😢 if (typeof el.removeEventListener === 'function') { el.removeEventListener('wheel', this.onWheel, false); } if (typeof el.removeEventListener === 'function') { el.removeEventListener('touchstart', this.onTouchStart, false); } if (typeof el.removeEventListener === 'function') { el.removeEventListener('touchmove', this.onTouchMove, false); } }; _proto.render = function render() { return react.createElement(NodeResolver, { innerRef: this.getScrollTarget }, this.props.children); }; return ScrollCaptor; }(react.Component); function ScrollCaptorSwitch(_ref) { var _ref$isEnabled = _ref.isEnabled, isEnabled = _ref$isEnabled === void 0 ? true : _ref$isEnabled, props = Select_9fdb8cd0_browser_esm_objectWithoutPropertiesLoose$1(_ref, ["isEnabled"]); return isEnabled ? react.createElement(ScrollCaptor, props) : props.children; } var instructionsAriaMessage = function instructionsAriaMessage(event, context) { if (context === void 0) { context = {}; } var _context = context, isSearchable = _context.isSearchable, isMulti = _context.isMulti, label = _context.label, isDisabled = _context.isDisabled; switch (event) { case 'menu': return "Use Up and Down to choose options" + (isDisabled ? '' : ', press Enter to select the currently focused option') + ", press Escape to exit the menu, press Tab to select the option and exit the menu."; case 'input': return (label ? label : 'Select') + " is focused " + (isSearchable ? ',type to refine list' : '') + ", press Down to open the menu, " + (isMulti ? ' press left to focus selected values' : ''); case 'value': return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value'; } }; var valueEventAriaMessage = function valueEventAriaMessage(event, context) { var value = context.value, isDisabled = context.isDisabled; if (!value) return; switch (event) { case 'deselect-option': case 'pop-value': case 'remove-value': return "option " + value + ", deselected."; case 'select-option': return isDisabled ? "option " + value + " is disabled. Select another option." : "option " + value + ", selected."; } }; var valueFocusAriaMessage = function valueFocusAriaMessage(_ref) { var focusedValue = _ref.focusedValue, getOptionLabel = _ref.getOptionLabel, selectValue = _ref.selectValue; return "value " + getOptionLabel(focusedValue) + " focused, " + (selectValue.indexOf(focusedValue) + 1) + " of " + selectValue.length + "."; }; var optionFocusAriaMessage = function optionFocusAriaMessage(_ref2) { var focusedOption = _ref2.focusedOption, getOptionLabel = _ref2.getOptionLabel, options = _ref2.options; return "option " + getOptionLabel(focusedOption) + " focused" + (focusedOption.isDisabled ? ' disabled' : '') + ", " + (options.indexOf(focusedOption) + 1) + " of " + options.length + "."; }; var resultsAriaMessage = function resultsAriaMessage(_ref3) { var inputValue = _ref3.inputValue, screenReaderMessage = _ref3.screenReaderMessage; return "" + screenReaderMessage + (inputValue ? ' for search term ' + inputValue : '') + "."; }; var formatGroupLabel = function formatGroupLabel(group) { return group.label; }; var getOptionLabel = function getOptionLabel(option) { return option.label; }; var getOptionValue = function getOptionValue(option) { return option.value; }; var isOptionDisabled = function isOptionDisabled(option) { return !!option.isDisabled; }; function Select_9fdb8cd0_browser_esm_extends$3() { Select_9fdb8cd0_browser_esm_extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Select_9fdb8cd0_browser_esm_extends$3.apply(this, arguments); } var defaultStyles = { clearIndicator: clearIndicatorCSS, container: containerCSS, control: index_4322c0ed_browser_esm_css, dropdownIndicator: dropdownIndicatorCSS, group: groupCSS, groupHeading: groupHeadingCSS, indicatorsContainer: indicatorsContainerCSS, indicatorSeparator: indicatorSeparatorCSS, input: inputCSS, loadingIndicator: loadingIndicatorCSS, loadingMessage: loadingMessageCSS, menu: menuCSS, menuList: menuListCSS, menuPortal: menuPortalCSS, multiValue: multiValueCSS, multiValueLabel: multiValueLabelCSS, multiValueRemove: multiValueRemoveCSS, noOptionsMessage: noOptionsMessageCSS, option: optionCSS, placeholder: placeholderCSS, singleValue: css$1, valueContainer: valueContainerCSS }; // Merge Utility // Allows consumers to extend a base Select with additional styles function mergeStyles(source, target) { if (target === void 0) { target = {}; } // initialize with source styles var styles = Select_9fdb8cd0_browser_esm_extends$3({}, source); // massage in target styles Object.keys(target).forEach(function (key) { if (source[key]) { styles[key] = function (rsCss, props) { return target[key](source[key](rsCss, props), props); }; } else { styles[key] = target[key]; } }); return styles; } var colors = { primary: '#2684FF', primary75: '#4C9AFF', primary50: '#B2D4FF', primary25: '#DEEBFF', danger: '#DE350B', dangerLight: '#FFBDAD', neutral0: 'hsl(0, 0%, 100%)', neutral5: 'hsl(0, 0%, 95%)', neutral10: 'hsl(0, 0%, 90%)', neutral20: 'hsl(0, 0%, 80%)', neutral30: 'hsl(0, 0%, 70%)', neutral40: 'hsl(0, 0%, 60%)', neutral50: 'hsl(0, 0%, 50%)', neutral60: 'hsl(0, 0%, 40%)', neutral70: 'hsl(0, 0%, 30%)', neutral80: 'hsl(0, 0%, 20%)', neutral90: 'hsl(0, 0%, 10%)' }; var borderRadius = 4; // Used to calculate consistent margin/padding on elements var baseUnit = 4; // The minimum height of the control var controlHeight = 38; // The amount of space between the control and menu */ var menuGutter = baseUnit * 2; var spacing = { baseUnit: baseUnit, controlHeight: controlHeight, menuGutter: menuGutter }; var defaultTheme = { borderRadius: borderRadius, colors: colors, spacing: spacing }; function Select_9fdb8cd0_browser_esm_objectWithoutPropertiesLoose$2(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function Select_9fdb8cd0_browser_esm_extends$4() { Select_9fdb8cd0_browser_esm_extends$4 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Select_9fdb8cd0_browser_esm_extends$4.apply(this, arguments); } function _inheritsLoose$4(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } var defaultProps = { backspaceRemovesValue: true, blurInputOnSelect: isTouchCapable(), captureMenuScroll: !isTouchCapable(), closeMenuOnSelect: true, closeMenuOnScroll: false, components: {}, controlShouldRenderValue: true, escapeClearsValue: false, filterOption: createFilter(), formatGroupLabel: formatGroupLabel, getOptionLabel: getOptionLabel, getOptionValue: getOptionValue, isDisabled: false, isLoading: false, isMulti: false, isRtl: false, isSearchable: true, isOptionDisabled: isOptionDisabled, loadingMessage: function loadingMessage() { return 'Loading...'; }, maxMenuHeight: 300, minMenuHeight: 140, menuIsOpen: false, menuPlacement: 'bottom', menuPosition: 'absolute', menuShouldBlockScroll: false, menuShouldScrollIntoView: !isMobileDevice(), noOptionsMessage: function noOptionsMessage() { return 'No options'; }, openMenuOnFocus: false, openMenuOnClick: true, options: [], pageSize: 5, placeholder: 'Select...', screenReaderStatus: function screenReaderStatus(_ref) { var count = _ref.count; return count + " result" + (count !== 1 ? 's' : '') + " available"; }, styles: {}, tabIndex: '0', tabSelectsValue: true }; var instanceId = 1; var Select = /*#__PURE__*/ function (_Component) { _inheritsLoose$4(Select, _Component); // Misc. Instance Properties // ------------------------------ // TODO // Refs // ------------------------------ // Lifecycle // ------------------------------ function Select(_props) { var _this; _this = _Component.call(this, _props) || this; _this.state = { ariaLiveSelection: '', ariaLiveContext: '', focusedOption: null, focusedValue: null, inputIsHidden: false, isFocused: false, menuOptions: { render: [], focusable: [] }, selectValue: [] }; _this.blockOptionHover = false; _this.isComposing = false; _this.clearFocusValueOnUpdate = false; _this.commonProps = void 0; _this.components = void 0; _this.hasGroups = false; _this.initialTouchX = 0; _this.initialTouchY = 0; _this.inputIsHiddenAfterUpdate = void 0; _this.instancePrefix = ''; _this.openAfterFocus = false; _this.scrollToFocusedOptionOnUpdate = false; _this.userIsDragging = void 0; _this.controlRef = null; _this.getControlRef = function (ref) { _this.controlRef = ref; }; _this.focusedOptionRef = null; _this.getFocusedOptionRef = function (ref) { _this.focusedOptionRef = ref; }; _this.menuListRef = null; _this.getMenuListRef = function (ref) { _this.menuListRef = ref; }; _this.inputRef = null; _this.getInputRef = function (ref) { _this.inputRef = ref; }; _this.cacheComponents = function (components) { _this.components = defaultComponents({ components: components }); }; _this.focus = _this.focusInput; _this.blur = _this.blurInput; _this.onChange = function (newValue, actionMeta) { var _this$props = _this.props, onChange = _this$props.onChange, name = _this$props.name; onChange(newValue, Select_9fdb8cd0_browser_esm_extends$4({}, actionMeta, { name: name })); }; _this.setValue = function (newValue, action, option) { if (action === void 0) { action = 'set-value'; } var _this$props2 = _this.props, closeMenuOnSelect = _this$props2.closeMenuOnSelect, isMulti = _this$props2.isMulti; _this.onInputChange('', { action: 'set-value' }); if (closeMenuOnSelect) { _this.inputIsHiddenAfterUpdate = !isMulti; _this.onMenuClose(); } // when the select value should change, we should reset focusedValue _this.clearFocusValueOnUpdate = true; _this.onChange(newValue, { action: action, option: option }); }; _this.selectOption = function (newValue) { var _this$props3 = _this.props, blurInputOnSelect = _this$props3.blurInputOnSelect, isMulti = _this$props3.isMulti; var selectValue = _this.state.selectValue; if (isMulti) { if (_this.isOptionSelected(newValue, selectValue)) { var candidate = _this.getOptionValue(newValue); _this.setValue(selectValue.filter(function (i) { return _this.getOptionValue(i) !== candidate; }), 'deselect-option', newValue); _this.announceAriaLiveSelection({ event: 'deselect-option', context: { value: _this.getOptionLabel(newValue) } }); } else { if (!_this.isOptionDisabled(newValue, selectValue)) { _this.setValue([].concat(selectValue, [newValue]), 'select-option', newValue); _this.announceAriaLiveSelection({ event: 'select-option', context: { value: _this.getOptionLabel(newValue) } }); } else { // announce that option is disabled _this.announceAriaLiveSelection({ event: 'select-option', context: { value: _this.getOptionLabel(newValue), isDisabled: true } }); } } } else { if (!_this.isOptionDisabled(newValue, selectValue)) { _this.setValue(newValue, 'select-option'); _this.announceAriaLiveSelection({ event: 'select-option', context: { value: _this.getOptionLabel(newValue) } }); } else { // announce that option is disabled _this.announceAriaLiveSelection({ event: 'select-option', context: { value: _this.getOptionLabel(newValue), isDisabled: true } }); } } if (blurInputOnSelect) { _this.blurInput(); } }; _this.removeValue = function (removedValue) { var selectValue = _this.state.selectValue; var candidate = _this.getOptionValue(removedValue); var newValue = selectValue.filter(function (i) { return _this.getOptionValue(i) !== candidate; }); _this.onChange(newValue.length ? newValue : null, { action: 'remove-value', removedValue: removedValue }); _this.announceAriaLiveSelection({ event: 'remove-value', context: { value: removedValue ? _this.getOptionLabel(removedValue) : '' } }); _this.focusInput(); }; _this.clearValue = function () { var isMulti = _this.props.isMulti; _this.onChange(isMulti ? [] : null, { action: 'clear' }); }; _this.popValue = function () { var selectValue = _this.state.selectValue; var lastSelectedValue = selectValue[selectValue.length - 1]; var newValue = selectValue.slice(0, selectValue.length - 1); _this.announceAriaLiveSelection({ event: 'pop-value', context: { value: lastSelectedValue ? _this.getOptionLabel(lastSelectedValue) : '' } }); _this.onChange(newValue.length ? newValue : null, { action: 'pop-value', removedValue: lastSelectedValue }); }; _this.getOptionLabel = function (data) { return _this.props.getOptionLabel(data); }; _this.getOptionValue = function (data) { return _this.props.getOptionValue(data); }; _this.getStyles = function (key, props) { var base = defaultStyles[key](props); base.boxSizing = 'border-box'; var custom = _this.props.styles[key]; return custom ? custom(base, props) : base; }; _this.getElementId = function (element) { return _this.instancePrefix + "-" + element; }; _this.getActiveDescendentId = function () { var menuIsOpen = _this.props.menuIsOpen; var _this$state = _this.state, menuOptions = _this$state.menuOptions, focusedOption = _this$state.focusedOption; if (!focusedOption || !menuIsOpen) return undefined; var index = menuOptions.focusable.indexOf(focusedOption); var option = menuOptions.render[index]; return option && option.key; }; _this.announceAriaLiveSelection = function (_ref2) { var event = _ref2.event, context = _ref2.context; _this.setState({ ariaLiveSelection: valueEventAriaMessage(event, context) }); }; _this.announceAriaLiveContext = function (_ref3) { var event = _ref3.event, context = _ref3.context; _this.setState({ ariaLiveContext: instructionsAriaMessage(event, Select_9fdb8cd0_browser_esm_extends$4({}, context, { label: _this.props['aria-label'] })) }); }; _this.onMenuMouseDown = function (event) { if (event.button !== 0) { return; } event.stopPropagation(); event.preventDefault(); _this.focusInput(); }; _this.onMenuMouseMove = function (event) { _this.blockOptionHover = false; }; _this.onControlMouseDown = function (event) { var openMenuOnClick = _this.props.openMenuOnClick; if (!_this.state.isFocused) { if (openMenuOnClick) { _this.openAfterFocus = true; } _this.focusInput(); } else if (!_this.props.menuIsOpen) { if (openMenuOnClick) { _this.openMenu('first'); } } else { if ( // $FlowFixMe event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') { _this.onMenuClose(); } } if ( // $FlowFixMe event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') { event.preventDefault(); } }; _this.onDropdownIndicatorMouseDown = function (event) { // ignore mouse events that weren't triggered by the primary button if (event && event.type === 'mousedown' && event.button !== 0) { return; } if (_this.props.isDisabled) return; var _this$props4 = _this.props, isMulti = _this$props4.isMulti, menuIsOpen = _this$props4.menuIsOpen; _this.focusInput(); if (menuIsOpen) { _this.inputIsHiddenAfterUpdate = !isMulti; _this.onMenuClose(); } else { _this.openMenu('first'); } event.preventDefault(); event.stopPropagation(); }; _this.onClearIndicatorMouseDown = function (event) { // ignore mouse events that weren't triggered by the primary button if (event && event.type === 'mousedown' && event.button !== 0) { return; } _this.clearValue(); event.stopPropagation(); _this.openAfterFocus = false; if (event.type === 'touchend') { _this.focusInput(); } else { setTimeout(function () { return _this.focusInput(); }); } }; _this.onScroll = function (event) { if (typeof _this.props.closeMenuOnScroll === 'boolean') { if (event.target instanceof HTMLElement && isDocumentElement(event.target)) { _this.props.onMenuClose(); } } else if (typeof _this.props.closeMenuOnScroll === 'function') { if (_this.props.closeMenuOnScroll(event)) { _this.props.onMenuClose(); } } }; _this.onCompositionStart = function () { _this.isComposing = true; }; _this.onCompositionEnd = function () { _this.isComposing = false; }; _this.onTouchStart = function (_ref4) { var touches = _ref4.touches; var touch = touches.item(0); if (!touch) { return; } _this.initialTouchX = touch.clientX; _this.initialTouchY = touch.clientY; _this.userIsDragging = false; }; _this.onTouchMove = function (_ref5) { var touches = _ref5.touches; var touch = touches.item(0); if (!touch) { return; } var deltaX = Math.abs(touch.clientX - _this.initialTouchX); var deltaY = Math.abs(touch.clientY - _this.initialTouchY); var moveThreshold = 5; _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold; }; _this.onTouchEnd = function (event) { if (_this.userIsDragging) return; // close the menu if the user taps outside // we're checking on event.target here instead of event.currentTarget, because we want to assert information // on events on child elements, not the document (which we've attached this handler to). if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) { _this.blurInput(); } // reset move vars _this.initialTouchX = 0; _this.initialTouchY = 0; }; _this.onControlTouchEnd = function (event) { if (_this.userIsDragging) return; _this.onControlMouseDown(event); }; _this.onClearIndicatorTouchEnd = function (event) { if (_this.userIsDragging) return; _this.onClearIndicatorMouseDown(event); }; _this.onDropdownIndicatorTouchEnd = function (event) { if (_this.userIsDragging) return; _this.onDropdownIndicatorMouseDown(event); }; _this.handleInputChange = function (event) { var inputValue = event.currentTarget.value; _this.inputIsHiddenAfterUpdate = false; _this.onInputChange(inputValue, { action: 'input-change' }); _this.onMenuOpen(); }; _this.onInputFocus = function (event) { var _this$props5 = _this.props, isSearchable = _this$props5.isSearchable, isMulti = _this$props5.isMulti; if (_this.props.onFocus) { _this.props.onFocus(event); } _this.inputIsHiddenAfterUpdate = false; _this.announceAriaLiveContext({ event: 'input', context: { isSearchable: isSearchable, isMulti: isMulti } }); _this.setState({ isFocused: true }); if (_this.openAfterFocus || _this.props.openMenuOnFocus) { _this.openMenu('first'); } _this.openAfterFocus = false; }; _this.onInputBlur = function (event) { if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) { _this.inputRef.focus(); return; } if (_this.props.onBlur) { _this.props.onBlur(event); } _this.onInputChange('', { action: 'input-blur' }); _this.onMenuClose(); _this.setState({ focusedValue: null, isFocused: false }); }; _this.onOptionHover = function (focusedOption) { if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) { return; } _this.setState({ focusedOption: focusedOption }); }; _this.shouldHideSelectedOptions = function () { var _this$props6 = _this.props, hideSelectedOptions = _this$props6.hideSelectedOptions, isMulti = _this$props6.isMulti; if (hideSelectedOptions === undefined) return isMulti; return hideSelectedOptions; }; _this.onKeyDown = function (event) { var _this$props7 = _this.props, isMulti = _this$props7.isMulti, backspaceRemovesValue = _this$props7.backspaceRemovesValue, escapeClearsValue = _this$props7.escapeClearsValue, inputValue = _this$props7.inputValue, isClearable = _this$props7.isClearable, isDisabled = _this$props7.isDisabled, menuIsOpen = _this$props7.menuIsOpen, onKeyDown = _this$props7.onKeyDown, tabSelectsValue = _this$props7.tabSelectsValue, openMenuOnFocus = _this$props7.openMenuOnFocus; var _this$state2 = _this.state, focusedOption = _this$state2.focusedOption, focusedValue = _this$state2.focusedValue, selectValue = _this$state2.selectValue; if (isDisabled) return; if (typeof onKeyDown === 'function') { onKeyDown(event); if (event.defaultPrevented) { return; } } // Block option hover events when the user has just pressed a key _this.blockOptionHover = true; switch (event.key) { case 'ArrowLeft': if (!isMulti || inputValue) return; _this.focusValue('previous'); break; case 'ArrowRight': if (!isMulti || inputValue) return; _this.focusValue('next'); break; case 'Delete': case 'Backspace': if (inputValue) return; if (focusedValue) { _this.removeValue(focusedValue); } else { if (!backspaceRemovesValue) return; if (isMulti) { _this.popValue(); } else if (isClearable) { _this.clearValue(); } } break; case 'Tab': if (_this.isComposing) return; if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused // option is already selected; it breaks the flow of navigation openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) { return; } _this.selectOption(focusedOption); break; case 'Enter': if (event.keyCode === 229) { // ignore the keydown event from an Input Method Editor(IME) // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode break; } if (menuIsOpen) { if (!focusedOption) return; if (_this.isComposing) return; _this.selectOption(focusedOption); break; } return; case 'Escape': if (menuIsOpen) { _this.inputIsHiddenAfterUpdate = false; _this.onInputChange('', { action: 'menu-close' }); _this.onMenuClose(); } else if (isClearable && escapeClearsValue) { _this.clearValue(); } break; case ' ': // space if (inputValue) { return; } if (!menuIsOpen) { _this.openMenu('first'); break; } if (!focusedOption) return; _this.selectOption(focusedOption); break; case 'ArrowUp': if (menuIsOpen) { _this.focusOption('up'); } else { _this.openMenu('last'); } break; case 'ArrowDown': if (menuIsOpen) { _this.focusOption('down'); } else { _this.openMenu('first'); } break; case 'PageUp': if (!menuIsOpen) return; _this.focusOption('pageup'); break; case 'PageDown': if (!menuIsOpen) return; _this.focusOption('pagedown'); break; case 'Home': if (!menuIsOpen) return; _this.focusOption('first'); break; case 'End': if (!menuIsOpen) return; _this.focusOption('last'); break; default: return; } event.preventDefault(); }; _this.buildMenuOptions = function (props, selectValue) { var _props$inputValue = props.inputValue, inputValue = _props$inputValue === void 0 ? '' : _props$inputValue, options = props.options; var toOption = function toOption(option, id) { var isDisabled = _this.isOptionDisabled(option, selectValue); var isSelected = _this.isOptionSelected(option, selectValue); var label = _this.getOptionLabel(option); var value = _this.getOptionValue(option); if (_this.shouldHideSelectedOptions() && isSelected || !_this.filterOption({ label: label, value: value, data: option }, inputValue)) { return; } var onHover = isDisabled ? undefined : function () { return _this.onOptionHover(option); }; var onSelect = isDisabled ? undefined : function () { return _this.selectOption(option); }; var optionId = _this.getElementId('option') + "-" + id; return { innerProps: { id: optionId, onClick: onSelect, onMouseMove: onHover, onMouseOver: onHover, tabIndex: -1 }, data: option, isDisabled: isDisabled, isSelected: isSelected, key: optionId, label: label, type: 'option', value: value }; }; return options.reduce(function (acc, item, itemIndex) { if (item.options) { // TODO needs a tidier implementation if (!_this.hasGroups) _this.hasGroups = true; var items = item.options; var children = items.map(function (child, i) { var option = toOption(child, itemIndex + "-" + i); if (option) acc.focusable.push(child); return option; }).filter(Boolean); if (children.length) { var groupId = _this.getElementId('group') + "-" + itemIndex; acc.render.push({ type: 'group', key: groupId, data: item, options: children }); } } else { var option = toOption(item, "" + itemIndex); if (option) { acc.render.push(option); acc.focusable.push(item); } } return acc; }, { render: [], focusable: [] }); }; var _value = _props.value; _this.cacheComponents = memoize_one_esm(_this.cacheComponents, exportedEqual).bind(_assertThisInitialized(_assertThisInitialized(_this))); _this.cacheComponents(_props.components); _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId); var _selectValue = cleanValue(_value); _this.buildMenuOptions = memoize_one_esm(_this.buildMenuOptions, function (newArgs, lastArgs) { var _ref6 = newArgs, newProps = _ref6[0], newSelectValue = _ref6[1]; var _ref7 = lastArgs, lastProps = _ref7[0], lastSelectValue = _ref7[1]; return exportedEqual(newSelectValue, lastSelectValue) && exportedEqual(newProps.inputValue, lastProps.inputValue) && exportedEqual(newProps.options, lastProps.options); }).bind(_assertThisInitialized(_assertThisInitialized(_this))); var _menuOptions = _props.menuIsOpen ? _this.buildMenuOptions(_props, _selectValue) : { render: [], focusable: [] }; _this.state.menuOptions = _menuOptions; _this.state.selectValue = _selectValue; return _this; } var _proto = Select.prototype; _proto.componentDidMount = function componentDidMount() { this.startListeningComposition(); this.startListeningToTouch(); if (this.props.closeMenuOnScroll && document && document.addEventListener) { // Listen to all scroll events, and filter them out inside of 'onScroll' document.addEventListener('scroll', this.onScroll, true); } if (this.props.autoFocus) { this.focusInput(); } }; _proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) { var _this$props8 = this.props, options = _this$props8.options, value = _this$props8.value, menuIsOpen = _this$props8.menuIsOpen, inputValue = _this$props8.inputValue; // re-cache custom components this.cacheComponents(nextProps.components); // rebuild the menu options if (nextProps.value !== value || nextProps.options !== options || nextProps.menuIsOpen !== menuIsOpen || nextProps.inputValue !== inputValue) { var selectValue = cleanValue(nextProps.value); var menuOptions = nextProps.menuIsOpen ? this.buildMenuOptions(nextProps, selectValue) : { render: [], focusable: [] }; var focusedValue = this.getNextFocusedValue(selectValue); var focusedOption = this.getNextFocusedOption(menuOptions.focusable); this.setState({ menuOptions: menuOptions, selectValue: selectValue, focusedOption: focusedOption, focusedValue: focusedValue }); } // some updates should toggle the state of the input visibility if (this.inputIsHiddenAfterUpdate != null) { this.setState({ inputIsHidden: this.inputIsHiddenAfterUpdate }); delete this.inputIsHiddenAfterUpdate; } }; _proto.componentDidUpdate = function componentDidUpdate(prevProps) { var _this$props9 = this.props, isDisabled = _this$props9.isDisabled, menuIsOpen = _this$props9.menuIsOpen; var isFocused = this.state.isFocused; if ( // ensure focus is restored correctly when the control becomes enabled isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens isFocused && menuIsOpen && !prevProps.menuIsOpen) { this.focusInput(); } // scroll the focused option into view if necessary if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) { scrollIntoView(this.menuListRef, this.focusedOptionRef); this.scrollToFocusedOptionOnUpdate = false; } }; _proto.componentWillUnmount = function componentWillUnmount() { this.stopListeningComposition(); this.stopListeningToTouch(); document.removeEventListener('scroll', this.onScroll, true); }; // ============================== // Consumer Handlers // ============================== _proto.onMenuOpen = function onMenuOpen() { this.props.onMenuOpen(); }; _proto.onMenuClose = function onMenuClose() { var _this$props10 = this.props, isSearchable = _this$props10.isSearchable, isMulti = _this$props10.isMulti; this.announceAriaLiveContext({ event: 'input', context: { isSearchable: isSearchable, isMulti: isMulti } }); this.onInputChange('', { action: 'menu-close' }); this.props.onMenuClose(); }; _proto.onInputChange = function onInputChange(newValue, actionMeta) { this.props.onInputChange(newValue, actionMeta); } // ============================== // Methods // ============================== ; _proto.focusInput = function focusInput() { if (!this.inputRef) return; this.inputRef.focus(); }; _proto.blurInput = function blurInput() { if (!this.inputRef) return; this.inputRef.blur(); } // aliased for consumers ; _proto.openMenu = function openMenu(focusOption) { var _this2 = this; var _this$state3 = this.state, selectValue = _this$state3.selectValue, isFocused = _this$state3.isFocused; var menuOptions = this.buildMenuOptions(this.props, selectValue); var isMulti = this.props.isMulti; var openAtIndex = focusOption === 'first' ? 0 : menuOptions.focusable.length - 1; if (!isMulti) { var selectedIndex = menuOptions.focusable.indexOf(selectValue[0]); if (selectedIndex > -1) { openAtIndex = selectedIndex; } } // only scroll if the menu isn't already open this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef); this.inputIsHiddenAfterUpdate = false; this.setState({ menuOptions: menuOptions, focusedValue: null, focusedOption: menuOptions.focusable[openAtIndex] }, function () { _this2.onMenuOpen(); _this2.announceAriaLiveContext({ event: 'menu' }); }); }; _proto.focusValue = function focusValue(direction) { var _this$props11 = this.props, isMulti = _this$props11.isMulti, isSearchable = _this$props11.isSearchable; var _this$state4 = this.state, selectValue = _this$state4.selectValue, focusedValue = _this$state4.focusedValue; // Only multiselects support value focusing if (!isMulti) return; this.setState({ focusedOption: null }); var focusedIndex = selectValue.indexOf(focusedValue); if (!focusedValue) { focusedIndex = -1; this.announceAriaLiveContext({ event: 'value' }); } var lastIndex = selectValue.length - 1; var nextFocus = -1; if (!selectValue.length) return; switch (direction) { case 'previous': if (focusedIndex === 0) { // don't cycle from the start to the end nextFocus = 0; } else if (focusedIndex === -1) { // if nothing is focused, focus the last value first nextFocus = lastIndex; } else { nextFocus = focusedIndex - 1; } break; case 'next': if (focusedIndex > -1 && focusedIndex < lastIndex) { nextFocus = focusedIndex + 1; } break; } if (nextFocus === -1) { this.announceAriaLiveContext({ event: 'input', context: { isSearchable: isSearchable, isMulti: isMulti } }); } this.setState({ inputIsHidden: nextFocus !== -1, focusedValue: selectValue[nextFocus] }); }; _proto.focusOption = function focusOption(direction) { if (direction === void 0) { direction = 'first'; } var pageSize = this.props.pageSize; var _this$state5 = this.state, focusedOption = _this$state5.focusedOption, menuOptions = _this$state5.menuOptions; var options = menuOptions.focusable; if (!options.length) return; var nextFocus = 0; // handles 'first' var focusedIndex = options.indexOf(focusedOption); if (!focusedOption) { focusedIndex = -1; this.announceAriaLiveContext({ event: 'menu' }); } if (direction === 'up') { nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1; } else if (direction === 'down') { nextFocus = (focusedIndex + 1) % options.length; } else if (direction === 'pageup') { nextFocus = focusedIndex - pageSize; if (nextFocus < 0) nextFocus = 0; } else if (direction === 'pagedown') { nextFocus = focusedIndex + pageSize; if (nextFocus > options.length - 1) nextFocus = options.length - 1; } else if (direction === 'last') { nextFocus = options.length - 1; } this.scrollToFocusedOptionOnUpdate = true; this.setState({ focusedOption: options[nextFocus], focusedValue: null }); this.announceAriaLiveContext({ event: 'menu', context: { isDisabled: isOptionDisabled(options[nextFocus]) } }); }; // ============================== // Getters // ============================== _proto.getTheme = function getTheme() { // Use the default theme if there are no customizations. if (!this.props.theme) { return defaultTheme; } // If the theme prop is a function, assume the function // knows how to merge the passed-in default theme with // its own modifications. if (typeof this.props.theme === 'function') { return this.props.theme(defaultTheme); } // Otherwise, if a plain theme object was passed in, // overlay it with the default theme. return Select_9fdb8cd0_browser_esm_extends$4({}, defaultTheme, this.props.theme); }; _proto.getCommonProps = function getCommonProps() { var clearValue = this.clearValue, getStyles = this.getStyles, setValue = this.setValue, selectOption = this.selectOption, props = this.props; var classNamePrefix = props.classNamePrefix, isMulti = props.isMulti, isRtl = props.isRtl, options = props.options; var selectValue = this.state.selectValue; var hasValue = this.hasValue(); var getValue = function getValue() { return selectValue; }; var cx = classNames.bind(null, classNamePrefix); return { cx: cx, clearValue: clearValue, getStyles: getStyles, getValue: getValue, hasValue: hasValue, isMulti: isMulti, isRtl: isRtl, options: options, selectOption: selectOption, setValue: setValue, selectProps: props, theme: this.getTheme() }; }; _proto.getNextFocusedValue = function getNextFocusedValue(nextSelectValue) { if (this.clearFocusValueOnUpdate) { this.clearFocusValueOnUpdate = false; return null; } var _this$state6 = this.state, focusedValue = _this$state6.focusedValue, lastSelectValue = _this$state6.selectValue; var lastFocusedIndex = lastSelectValue.indexOf(focusedValue); if (lastFocusedIndex > -1) { var nextFocusedIndex = nextSelectValue.indexOf(focusedValue); if (nextFocusedIndex > -1) { // the focused value is still in the selectValue, return it return focusedValue; } else if (lastFocusedIndex < nextSelectValue.length) { // the focusedValue is not present in the next selectValue array by // reference, so return the new value at the same index return nextSelectValue[lastFocusedIndex]; } } return null; }; _proto.getNextFocusedOption = function getNextFocusedOption(options) { var lastFocusedOption = this.state.focusedOption; return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0]; }; _proto.hasValue = function hasValue() { var selectValue = this.state.selectValue; return selectValue.length > 0; }; _proto.hasOptions = function hasOptions() { return !!this.state.menuOptions.render.length; }; _proto.countOptions = function countOptions() { return this.state.menuOptions.focusable.length; }; _proto.isClearable = function isClearable() { var _this$props12 = this.props, isClearable = _this$props12.isClearable, isMulti = _this$props12.isMulti; // single select, by default, IS NOT clearable // multi select, by default, IS clearable if (isClearable === undefined) return isMulti; return isClearable; }; _proto.isOptionDisabled = function isOptionDisabled(option, selectValue) { return typeof this.props.isOptionDisabled === 'function' ? this.props.isOptionDisabled(option, selectValue) : false; }; _proto.isOptionSelected = function isOptionSelected(option, selectValue) { var _this3 = this; if (selectValue.indexOf(option) > -1) return true; if (typeof this.props.isOptionSelected === 'function') { return this.props.isOptionSelected(option, selectValue); } var candidate = this.getOptionValue(option); return selectValue.some(function (i) { return _this3.getOptionValue(i) === candidate; }); }; _proto.filterOption = function filterOption(option, inputValue) { return this.props.filterOption ? this.props.filterOption(option, inputValue) : true; }; _proto.formatOptionLabel = function formatOptionLabel(data, context) { if (typeof this.props.formatOptionLabel === 'function') { var inputValue = this.props.inputValue; var selectValue = this.state.selectValue; return this.props.formatOptionLabel(data, { context: context, inputValue: inputValue, selectValue: selectValue }); } else { return this.getOptionLabel(data); } }; _proto.formatGroupLabel = function formatGroupLabel(data) { return this.props.formatGroupLabel(data); } // ============================== // Mouse Handlers // ============================== ; // ============================== // Composition Handlers // ============================== _proto.startListeningComposition = function startListeningComposition() { if (document && document.addEventListener) { document.addEventListener('compositionstart', this.onCompositionStart, false); document.addEventListener('compositionend', this.onCompositionEnd, false); } }; _proto.stopListeningComposition = function stopListeningComposition() { if (document && document.removeEventListener) { document.removeEventListener('compositionstart', this.onCompositionStart); document.removeEventListener('compositionend', this.onCompositionEnd); } }; // ============================== // Touch Handlers // ============================== _proto.startListeningToTouch = function startListeningToTouch() { if (document && document.addEventListener) { document.addEventListener('touchstart', this.onTouchStart, false); document.addEventListener('touchmove', this.onTouchMove, false); document.addEventListener('touchend', this.onTouchEnd, false); } }; _proto.stopListeningToTouch = function stopListeningToTouch() { if (document && document.removeEventListener) { document.removeEventListener('touchstart', this.onTouchStart); document.removeEventListener('touchmove', this.onTouchMove); document.removeEventListener('touchend', this.onTouchEnd); } }; // ============================== // Renderers // ============================== _proto.constructAriaLiveMessage = function constructAriaLiveMessage() { var _this$state7 = this.state, ariaLiveContext = _this$state7.ariaLiveContext, selectValue = _this$state7.selectValue, focusedValue = _this$state7.focusedValue, focusedOption = _this$state7.focusedOption; var _this$props13 = this.props, options = _this$props13.options, menuIsOpen = _this$props13.menuIsOpen, inputValue = _this$props13.inputValue, screenReaderStatus = _this$props13.screenReaderStatus; // An aria live message representing the currently focused value in the select. var focusedValueMsg = focusedValue ? valueFocusAriaMessage({ focusedValue: focusedValue, getOptionLabel: this.getOptionLabel, selectValue: selectValue }) : ''; // An aria live message representing the currently focused option in the select. var focusedOptionMsg = focusedOption && menuIsOpen ? optionFocusAriaMessage({ focusedOption: focusedOption, getOptionLabel: this.getOptionLabel, options: options }) : ''; // An aria live message representing the set of focusable results and current searchterm/inputvalue. var resultsMsg = resultsAriaMessage({ inputValue: inputValue, screenReaderMessage: screenReaderStatus({ count: this.countOptions() }) }); return focusedValueMsg + " " + focusedOptionMsg + " " + resultsMsg + " " + ariaLiveContext; }; _proto.renderInput = function renderInput() { var _this$props14 = this.props, isDisabled = _this$props14.isDisabled, isSearchable = _this$props14.isSearchable, inputId = _this$props14.inputId, inputValue = _this$props14.inputValue, tabIndex = _this$props14.tabIndex; var Input = this.components.Input; var inputIsHidden = this.state.inputIsHidden; var id = inputId || this.getElementId('input'); // aria attributes makes the JSX "noisy", separated for clarity var ariaAttributes = { 'aria-autocomplete': 'list', 'aria-label': this.props['aria-label'], 'aria-labelledby': this.props['aria-labelledby'] }; if (!isSearchable) { // use a dummy input to maintain focus/blur functionality return react.createElement(DummyInput, Select_9fdb8cd0_browser_esm_extends$4({ id: id, innerRef: this.getInputRef, onBlur: this.onInputBlur, onChange: noop, onFocus: this.onInputFocus, readOnly: true, disabled: isDisabled, tabIndex: tabIndex, value: "" }, ariaAttributes)); } var _this$commonProps = this.commonProps, cx = _this$commonProps.cx, theme = _this$commonProps.theme, selectProps = _this$commonProps.selectProps; return react.createElement(Input, Select_9fdb8cd0_browser_esm_extends$4({ autoCapitalize: "none", autoComplete: "off", autoCorrect: "off", cx: cx, getStyles: this.getStyles, id: id, innerRef: this.getInputRef, isDisabled: isDisabled, isHidden: inputIsHidden, onBlur: this.onInputBlur, onChange: this.handleInputChange, onFocus: this.onInputFocus, selectProps: selectProps, spellCheck: "false", tabIndex: tabIndex, theme: theme, type: "text", value: inputValue }, ariaAttributes)); }; _proto.renderPlaceholderOrValue = function renderPlaceholderOrValue() { var _this4 = this; var _this$components = this.components, MultiValue = _this$components.MultiValue, MultiValueContainer = _this$components.MultiValueContainer, MultiValueLabel = _this$components.MultiValueLabel, MultiValueRemove = _this$components.MultiValueRemove, SingleValue = _this$components.SingleValue, Placeholder = _this$components.Placeholder; var commonProps = this.commonProps; var _this$props15 = this.props, controlShouldRenderValue = _this$props15.controlShouldRenderValue, isDisabled = _this$props15.isDisabled, isMulti = _this$props15.isMulti, inputValue = _this$props15.inputValue, placeholder = _this$props15.placeholder; var _this$state8 = this.state, selectValue = _this$state8.selectValue, focusedValue = _this$state8.focusedValue, isFocused = _this$state8.isFocused; if (!this.hasValue() || !controlShouldRenderValue) { return inputValue ? null : react.createElement(Placeholder, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { key: "placeholder", isDisabled: isDisabled, isFocused: isFocused }), placeholder); } if (isMulti) { var selectValues = selectValue.map(function (opt, index) { var isOptionFocused = opt === focusedValue; return react.createElement(MultiValue, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { components: { Container: MultiValueContainer, Label: MultiValueLabel, Remove: MultiValueRemove }, isFocused: isOptionFocused, isDisabled: isDisabled, key: _this4.getOptionValue(opt), index: index, removeProps: { onClick: function onClick() { return _this4.removeValue(opt); }, onTouchEnd: function onTouchEnd() { return _this4.removeValue(opt); }, onMouseDown: function onMouseDown(e) { e.preventDefault(); e.stopPropagation(); } }, data: opt }), _this4.formatOptionLabel(opt, 'value')); }); return selectValues; } if (inputValue) { return null; } var singleValue = selectValue[0]; return react.createElement(SingleValue, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { data: singleValue, isDisabled: isDisabled }), this.formatOptionLabel(singleValue, 'value')); }; _proto.renderClearIndicator = function renderClearIndicator() { var ClearIndicator = this.components.ClearIndicator; var commonProps = this.commonProps; var _this$props16 = this.props, isDisabled = _this$props16.isDisabled, isLoading = _this$props16.isLoading; var isFocused = this.state.isFocused; if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) { return null; } var innerProps = { onMouseDown: this.onClearIndicatorMouseDown, onTouchEnd: this.onClearIndicatorTouchEnd, 'aria-hidden': 'true' }; return react.createElement(ClearIndicator, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { innerProps: innerProps, isFocused: isFocused })); }; _proto.renderLoadingIndicator = function renderLoadingIndicator() { var LoadingIndicator = this.components.LoadingIndicator; var commonProps = this.commonProps; var _this$props17 = this.props, isDisabled = _this$props17.isDisabled, isLoading = _this$props17.isLoading; var isFocused = this.state.isFocused; if (!LoadingIndicator || !isLoading) return null; var innerProps = { 'aria-hidden': 'true' }; return react.createElement(LoadingIndicator, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { innerProps: innerProps, isDisabled: isDisabled, isFocused: isFocused })); }; _proto.renderIndicatorSeparator = function renderIndicatorSeparator() { var _this$components2 = this.components, DropdownIndicator = _this$components2.DropdownIndicator, IndicatorSeparator = _this$components2.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator if (!DropdownIndicator || !IndicatorSeparator) return null; var commonProps = this.commonProps; var isDisabled = this.props.isDisabled; var isFocused = this.state.isFocused; return react.createElement(IndicatorSeparator, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { isDisabled: isDisabled, isFocused: isFocused })); }; _proto.renderDropdownIndicator = function renderDropdownIndicator() { var DropdownIndicator = this.components.DropdownIndicator; if (!DropdownIndicator) return null; var commonProps = this.commonProps; var isDisabled = this.props.isDisabled; var isFocused = this.state.isFocused; var innerProps = { onMouseDown: this.onDropdownIndicatorMouseDown, onTouchEnd: this.onDropdownIndicatorTouchEnd, 'aria-hidden': 'true' }; return react.createElement(DropdownIndicator, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { innerProps: innerProps, isDisabled: isDisabled, isFocused: isFocused })); }; _proto.renderMenu = function renderMenu() { var _this5 = this; var _this$components3 = this.components, Group = _this$components3.Group, GroupHeading = _this$components3.GroupHeading, Menu = _this$components3.Menu, MenuList = _this$components3.MenuList, MenuPortal = _this$components3.MenuPortal, LoadingMessage = _this$components3.LoadingMessage, NoOptionsMessage = _this$components3.NoOptionsMessage, Option = _this$components3.Option; var commonProps = this.commonProps; var _this$state9 = this.state, focusedOption = _this$state9.focusedOption, menuOptions = _this$state9.menuOptions; var _this$props18 = this.props, captureMenuScroll = _this$props18.captureMenuScroll, inputValue = _this$props18.inputValue, isLoading = _this$props18.isLoading, loadingMessage = _this$props18.loadingMessage, minMenuHeight = _this$props18.minMenuHeight, maxMenuHeight = _this$props18.maxMenuHeight, menuIsOpen = _this$props18.menuIsOpen, menuPlacement = _this$props18.menuPlacement, menuPosition = _this$props18.menuPosition, menuPortalTarget = _this$props18.menuPortalTarget, menuShouldBlockScroll = _this$props18.menuShouldBlockScroll, menuShouldScrollIntoView = _this$props18.menuShouldScrollIntoView, noOptionsMessage = _this$props18.noOptionsMessage, onMenuScrollToTop = _this$props18.onMenuScrollToTop, onMenuScrollToBottom = _this$props18.onMenuScrollToBottom; if (!menuIsOpen) return null; // TODO: Internal Option Type here var render = function render(props) { // for performance, the menu options in state aren't changed when the // focused option changes so we calculate additional props based on that var isFocused = focusedOption === props.data; props.innerRef = isFocused ? _this5.getFocusedOptionRef : undefined; return react.createElement(Option, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, props, { isFocused: isFocused }), _this5.formatOptionLabel(props.data, 'menu')); }; var menuUI; if (this.hasOptions()) { menuUI = menuOptions.render.map(function (item) { if (item.type === 'group') { var type = item.type, group = Select_9fdb8cd0_browser_esm_objectWithoutPropertiesLoose$2(item, ["type"]); var headingId = item.key + "-heading"; return react.createElement(Group, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, group, { Heading: GroupHeading, headingProps: { id: headingId }, label: _this5.formatGroupLabel(item.data) }), item.options.map(function (option) { return render(option); })); } else if (item.type === 'option') { return render(item); } }); } else if (isLoading) { var message = loadingMessage({ inputValue: inputValue }); if (message === null) return null; menuUI = react.createElement(LoadingMessage, commonProps, message); } else { var _message = noOptionsMessage({ inputValue: inputValue }); if (_message === null) return null; menuUI = react.createElement(NoOptionsMessage, commonProps, _message); } var menuPlacementProps = { minMenuHeight: minMenuHeight, maxMenuHeight: maxMenuHeight, menuPlacement: menuPlacement, menuPosition: menuPosition, menuShouldScrollIntoView: menuShouldScrollIntoView }; var menuElement = react.createElement(MenuPlacer, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, menuPlacementProps), function (_ref8) { var ref = _ref8.ref, _ref8$placerProps = _ref8.placerProps, placement = _ref8$placerProps.placement, maxHeight = _ref8$placerProps.maxHeight; return react.createElement(Menu, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, menuPlacementProps, { innerRef: ref, innerProps: { onMouseDown: _this5.onMenuMouseDown, onMouseMove: _this5.onMenuMouseMove }, isLoading: isLoading, placement: placement }), react.createElement(ScrollCaptorSwitch, { isEnabled: captureMenuScroll, onTopArrive: onMenuScrollToTop, onBottomArrive: onMenuScrollToBottom }, react.createElement(ScrollBlock, { isEnabled: menuShouldBlockScroll }, react.createElement(MenuList, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { innerRef: _this5.getMenuListRef, isLoading: isLoading, maxHeight: maxHeight }), menuUI)))); }); // positioning behaviour is almost identical for portalled and fixed, // so we use the same component. the actual portalling logic is forked // within the component based on `menuPosition` return menuPortalTarget || menuPosition === 'fixed' ? react.createElement(MenuPortal, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { appendTo: menuPortalTarget, controlElement: this.controlRef, menuPlacement: menuPlacement, menuPosition: menuPosition }), menuElement) : menuElement; }; _proto.renderFormField = function renderFormField() { var _this6 = this; var _this$props19 = this.props, delimiter = _this$props19.delimiter, isDisabled = _this$props19.isDisabled, isMulti = _this$props19.isMulti, name = _this$props19.name; var selectValue = this.state.selectValue; if (!name || isDisabled) return; if (isMulti) { if (delimiter) { var value = selectValue.map(function (opt) { return _this6.getOptionValue(opt); }).join(delimiter); return react.createElement("input", { name: name, type: "hidden", value: value }); } else { var input = selectValue.length > 0 ? selectValue.map(function (opt, i) { return react.createElement("input", { key: "i-" + i, name: name, type: "hidden", value: _this6.getOptionValue(opt) }); }) : react.createElement("input", { name: name, type: "hidden" }); return react.createElement("div", null, input); } } else { var _value2 = selectValue[0] ? this.getOptionValue(selectValue[0]) : ''; return react.createElement("input", { name: name, type: "hidden", value: _value2 }); } }; _proto.renderLiveRegion = function renderLiveRegion() { if (!this.state.isFocused) return null; return react.createElement(A11yText, { "aria-live": "polite" }, react.createElement("p", { id: "aria-selection-event" }, "\xA0", this.state.ariaLiveSelection), react.createElement("p", { id: "aria-context" }, "\xA0", this.constructAriaLiveMessage())); }; _proto.render = function render() { var _this$components4 = this.components, Control = _this$components4.Control, IndicatorsContainer = _this$components4.IndicatorsContainer, SelectContainer = _this$components4.SelectContainer, ValueContainer = _this$components4.ValueContainer; var _this$props20 = this.props, className = _this$props20.className, id = _this$props20.id, isDisabled = _this$props20.isDisabled, menuIsOpen = _this$props20.menuIsOpen; var isFocused = this.state.isFocused; var commonProps = this.commonProps = this.getCommonProps(); return react.createElement(SelectContainer, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { className: className, innerProps: { id: id, onKeyDown: this.onKeyDown }, isDisabled: isDisabled, isFocused: isFocused }), this.renderLiveRegion(), react.createElement(Control, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { innerRef: this.getControlRef, innerProps: { onMouseDown: this.onControlMouseDown, onTouchEnd: this.onControlTouchEnd }, isDisabled: isDisabled, isFocused: isFocused, menuIsOpen: menuIsOpen }), react.createElement(ValueContainer, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { isDisabled: isDisabled }), this.renderPlaceholderOrValue(), this.renderInput()), react.createElement(IndicatorsContainer, Select_9fdb8cd0_browser_esm_extends$4({}, commonProps, { isDisabled: isDisabled }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField()); }; return Select; }(react.Component); Select.defaultProps = defaultProps; ;// CONCATENATED MODULE: ./node_modules/react-select/dist/stateManager-04f734a2.browser.esm.js function stateManager_04f734a2_browser_esm_extends() { stateManager_04f734a2_browser_esm_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return stateManager_04f734a2_browser_esm_extends.apply(this, arguments); } function stateManager_04f734a2_browser_esm_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function stateManager_04f734a2_browser_esm_inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } var stateManager_04f734a2_browser_esm_defaultProps = { defaultInputValue: '', defaultMenuIsOpen: false, defaultValue: null }; var manageState = function manageState(SelectComponent) { var _class, _temp; return _temp = _class = /*#__PURE__*/ function (_Component) { stateManager_04f734a2_browser_esm_inheritsLoose(StateManager, _Component); function StateManager() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _Component.call.apply(_Component, [this].concat(args)) || this; _this.select = void 0; _this.state = { inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue, menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen, value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue }; _this.onChange = function (value, actionMeta) { _this.callProp('onChange', value, actionMeta); _this.setState({ value: value }); }; _this.onInputChange = function (value, actionMeta) { // TODO: for backwards compatibility, we allow the prop to return a new // value, but now inputValue is a controllable prop we probably shouldn't var newValue = _this.callProp('onInputChange', value, actionMeta); _this.setState({ inputValue: newValue !== undefined ? newValue : value }); }; _this.onMenuOpen = function () { _this.callProp('onMenuOpen'); _this.setState({ menuIsOpen: true }); }; _this.onMenuClose = function () { _this.callProp('onMenuClose'); _this.setState({ menuIsOpen: false }); }; return _this; } var _proto = StateManager.prototype; _proto.focus = function focus() { this.select.focus(); }; _proto.blur = function blur() { this.select.blur(); } // FIXME: untyped flow code, return any ; _proto.getProp = function getProp(key) { return this.props[key] !== undefined ? this.props[key] : this.state[key]; } // FIXME: untyped flow code, return any ; _proto.callProp = function callProp(name) { if (typeof this.props[name] === 'function') { var _this$props; for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } return (_this$props = this.props)[name].apply(_this$props, args); } }; _proto.render = function render() { var _this2 = this; var _this$props2 = this.props, defaultInputValue = _this$props2.defaultInputValue, defaultMenuIsOpen = _this$props2.defaultMenuIsOpen, defaultValue = _this$props2.defaultValue, props = stateManager_04f734a2_browser_esm_objectWithoutPropertiesLoose(_this$props2, ["defaultInputValue", "defaultMenuIsOpen", "defaultValue"]); return react.createElement(SelectComponent, stateManager_04f734a2_browser_esm_extends({}, props, { ref: function ref(_ref) { _this2.select = _ref; }, inputValue: this.getProp('inputValue'), menuIsOpen: this.getProp('menuIsOpen'), onChange: this.onChange, onInputChange: this.onInputChange, onMenuClose: this.onMenuClose, onMenuOpen: this.onMenuOpen, value: this.getProp('value') })); }; return StateManager; }(react.Component), _class.defaultProps = stateManager_04f734a2_browser_esm_defaultProps, _temp; }; ;// CONCATENATED MODULE: ./node_modules/react-select/dist/react-select.browser.esm.js function react_select_browser_esm_inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } var NonceProvider = /*#__PURE__*/ function (_Component) { react_select_browser_esm_inheritsLoose(NonceProvider, _Component); function NonceProvider(props) { var _this; _this = _Component.call(this, props) || this; _this.createEmotionCache = function (nonce) { return cache_browser_esm({ nonce: nonce }); }; _this.createEmotionCache = memoize_one_esm(_this.createEmotionCache); return _this; } var _proto = NonceProvider.prototype; _proto.render = function render() { var emotionCache = this.createEmotionCache(this.props.nonce); return react.createElement(CacheProvider, { value: emotionCache }, this.props.children); }; return NonceProvider; }(react.Component); var index = manageState(Select); /* harmony default export */ var react_select_browser_esm = (index); /***/ }), /***/ 48709: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}var e=__webpack_require__(67294),n=t(e),r=__webpack_require__(59864),u=t(__webpack_require__(20609));function o(){return(o=Object.assign||function(t){for(var e=1;e5)return!0}return!1},st=function(t,e,n){return{contextMap:E(),contextStore:P(),thenable:Promise.resolve(),kind:"frame.yield",children:t,map:e,store:n}},pt=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function dt(t){return function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];n=pt.current;try{return pt.current=Z,t.apply(void 0,e)}finally{pt.current=n}}}var ht=dt((function(t,e,n){T(null),D(t.contextMap),F(t.contextStore),ft(t.children,t.map,t.store,e,n)&&e.unshift(st(t.children,t.map,t.store))})),yt=dt((function(t,e,n){t=[t];var r=[k()],u=[q()];ft(t,r,u,e,n)&&e.unshift(st(t,r,u))})),mt=dt((function(t,e){switch(t.kind){case"frame.class":return function(t,e){return T(null),D(e.contextMap),F(e.contextStore),it(e.type,e.instance,t)}(e,t);case"frame.hooks":return function(t,e){return H(e.hook),T(e.id),D(e.contextMap),F(e.contextStore),rt(e.type,e.props,t)}(e,t);case"frame.lazy":return function(t,e){return T(null),D(e.contextMap),F(e.contextStore),et(e.type,e.props)}(0,t);default:return[]}})),vt=function(t,e){var n=t.shift();return n?function(t,e,n){return"frame.yield"===t.kind?new Promise((function(r,u){var o=function(){try{ht(t,e,n),r()}catch(t){u(t)}};lt?setImmediate(o):o()})):t.thenable.then((function(){var r=mt(t,e);yt(S(r),e,n)}))}(n,t,e).then((function(){return vt(t,e)})):Promise.resolve()},xt=function(){};module.exports=function(t,e){var n=[];e=void 0!==e?e:xt,D({}),F(new Map);try{yt(S(t),n,e)}catch(t){return Promise.reject(t)}return vt(n,e)}; //# sourceMappingURL=react-ssr-prepass.production.min.js.map /***/ }), /***/ 23013: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67294); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45697); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } var _sPO = Object.setPrototypeOf || function _sPO(o, p) { o.__proto__ = p; return o; }; var _construct = typeof Reflect === "object" && Reflect.construct || function _construct(Parent, args, Class) { var Constructor, a = [null]; a.push.apply(a, args); Constructor = Parent.bind.apply(Parent, a); return _sPO(new Constructor(), Class.prototype); }; function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined'; var isIE = isBrowser ? !!document.documentElement.currentStyle : false; var HIDDEN_TEXTAREA_STYLE = { 'min-height': '0', 'max-height': 'none', height: '0', visibility: 'hidden', overflow: 'hidden', position: 'absolute', 'z-index': '-1000', top: '0', right: '0' }; var SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'tab-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing']; var computedStyleCache = {}; var hiddenTextarea = isBrowser && document.createElement('textarea'); var forceHiddenStyles = function forceHiddenStyles(node) { Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) { node.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important'); }); }; if (isBrowser) { forceHiddenStyles(hiddenTextarea); } function calculateNodeHeight(uiTextNode, uid, useCache, minRows, maxRows) { if (useCache === void 0) { useCache = false; } if (minRows === void 0) { minRows = null; } if (maxRows === void 0) { maxRows = null; } if (hiddenTextarea.parentNode === null) { document.body.appendChild(hiddenTextarea); } // Copy all CSS properties that have an impact on the height of the content in // the textbox var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache); if (nodeStyling === null) { return null; } var paddingSize = nodeStyling.paddingSize, borderSize = nodeStyling.borderSize, boxSizing = nodeStyling.boxSizing, sizingStyle = nodeStyling.sizingStyle; // Need to have the overflow attribute to hide the scrollbar otherwise // text-lines will not calculated properly as the shadow will technically be // narrower for content Object.keys(sizingStyle).forEach(function (key) { hiddenTextarea.style[key] = sizingStyle[key]; }); forceHiddenStyles(hiddenTextarea); hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x'; var minHeight = -Infinity; var maxHeight = Infinity; var height = hiddenTextarea.scrollHeight; if (boxSizing === 'border-box') { // border-box: add border, since height = content + padding + border height = height + borderSize; } else if (boxSizing === 'content-box') { // remove padding, since height = content height = height - paddingSize; } // measure height of a textarea with a single row hiddenTextarea.value = 'x'; var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize; if (minRows !== null || maxRows !== null) { if (minRows !== null) { minHeight = singleRowHeight * minRows; if (boxSizing === 'border-box') { minHeight = minHeight + paddingSize + borderSize; } height = Math.max(minHeight, height); } if (maxRows !== null) { maxHeight = singleRowHeight * maxRows; if (boxSizing === 'border-box') { maxHeight = maxHeight + paddingSize + borderSize; } height = Math.min(maxHeight, height); } } var rowCount = Math.floor(height / singleRowHeight); return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount }; } function calculateNodeStyling(node, uid, useCache) { if (useCache === void 0) { useCache = false; } if (useCache && computedStyleCache[uid]) { return computedStyleCache[uid]; } var style = window.getComputedStyle(node); if (style === null) { return null; } var sizingStyle = SIZING_STYLE.reduce(function (obj, name) { obj[name] = style.getPropertyValue(name); return obj; }, {}); var boxSizing = sizingStyle['box-sizing']; // probably node is detached from DOM, can't read computed dimensions if (boxSizing === '') { return null; } // IE (Edge has already correct behaviour) returns content width as computed width // so we need to add manually padding and border widths if (isIE && boxSizing === 'border-box') { sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px'; } var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']); var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']); var nodeInfo = { sizingStyle: sizingStyle, paddingSize: paddingSize, borderSize: borderSize, boxSizing: boxSizing }; if (useCache) { computedStyleCache[uid] = nodeInfo; } return nodeInfo; } var purgeCache = function purgeCache(uid) { return delete computedStyleCache[uid]; }; function autoInc(seed) { if (seed === void 0) { seed = 0; } return function () { return ++seed; }; } var uid = autoInc(); /** * */ var noop = function noop() {}; // IE11 has a problem with eval source maps, can be reproduced with: // eval('"use strict"; var onNextFrame = window.cancelAnimationFrame; onNextFrame(4);') // so we bind window as context in dev modes var _ref = isBrowser && window.requestAnimationFrame ? true ? [window.requestAnimationFrame, window.cancelAnimationFrame] : 0 : [setTimeout, clearTimeout]; var onNextFrame = _ref[0]; var clearNextFrameAction = _ref[1]; var TextareaAutosize = /*#__PURE__*/ function (_React$Component) { _inheritsLoose(TextareaAutosize, _React$Component); function TextareaAutosize(props) { var _this; _this = _React$Component.call(this, props) || this; _this._resizeLock = false; _this._onRootDOMNode = function (node) { _this._rootDOMNode = node; _this.props.inputRef(node); }; _this._onChange = function (event) { if (!_this._controlled) { _this._resizeComponent(); } _this.props.onChange(event); }; _this._resizeComponent = function (callback) { if (callback === void 0) { callback = noop; } if (typeof _this._rootDOMNode === 'undefined') { callback(); return; } var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows); if (nodeHeight === null) { callback(); return; } var height = nodeHeight.height, minHeight = nodeHeight.minHeight, maxHeight = nodeHeight.maxHeight, rowCount = nodeHeight.rowCount; _this.rowCount = rowCount; if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) { _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback); return; } callback(); }; _this.state = { height: props.style && props.style.height || 0, minHeight: -Infinity, maxHeight: Infinity }; _this._uid = uid(); _this._controlled = typeof props.value === 'string'; return _this; } var _proto = TextareaAutosize.prototype; _proto.render = function render() { var _props = this.props, _inputRef = _props.inputRef, _maxRows = _props.maxRows, _minRows = _props.minRows, _onHeightChange = _props.onHeightChange, _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements, props = _objectWithoutProperties(_props, ["inputRef", "maxRows", "minRows", "onHeightChange", "useCacheForDOMMeasurements"]); props.style = _extends({}, props.style, { height: this.state.height }); var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight); if (maxHeight < this.state.height) { props.style.overflow = 'hidden'; } return react__WEBPACK_IMPORTED_MODULE_0__.createElement("textarea", _extends({}, props, { onChange: this._onChange, ref: this._onRootDOMNode })); }; _proto.componentDidMount = function componentDidMount() { var _this2 = this; this._resizeComponent(); // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment // causing competing rerenders (due to setState in the listener) in React. // More can be found here - facebook/react#6324 this._resizeListener = function () { if (_this2._resizeLock) { return; } _this2._resizeLock = true; _this2._resizeComponent(function () { return _this2._resizeLock = false; }); }; window.addEventListener('resize', this._resizeListener); }; _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) { var _this3 = this; if (prevProps !== this.props) { this._clearNextFrame(); this._onNextFrameActionId = onNextFrame(function () { return _this3._resizeComponent(); }); } if (this.state.height !== prevState.height) { this.props.onHeightChange(this.state.height, this); } }; _proto.componentWillUnmount = function componentWillUnmount() { this._clearNextFrame(); window.removeEventListener('resize', this._resizeListener); purgeCache(this._uid); }; _proto._clearNextFrame = function _clearNextFrame() { clearNextFrameAction(this._onNextFrameActionId); }; return TextareaAutosize; }(react__WEBPACK_IMPORTED_MODULE_0__.Component); TextareaAutosize.propTypes = { inputRef: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func), maxRows: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number), minRows: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number), onChange: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func), onHeightChange: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func), useCacheForDOMMeasurements: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool), value: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string) }; TextareaAutosize.defaultProps = { inputRef: noop, onChange: noop, onHeightChange: noop, useCacheForDOMMeasurements: false }; /* harmony default export */ __webpack_exports__["Z"] = (TextareaAutosize); /***/ }), /***/ 69887: /***/ (function(module) { "use strict"; function hash(str) { var hash = 5381, i = str.length; while(i) { hash = (hash * 33) ^ str.charCodeAt(--i); } /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed * integers. Since we want the results to be always positive, convert the * signed int to an unsigned by doing an unsigned bitshift. */ return hash >>> 0; } module.exports = hash; /***/ }), /***/ 43726: /***/ (function(module, exports, __webpack_require__) { "use strict"; var __WEBPACK_AMD_DEFINE_RESULT__; (function (global) { // minimal symbol polyfill for IE11 and others if (typeof Symbol !== 'function') { var Symbol = function(name) { return name; } Symbol.nonNative = true; } const STATE_PLAINTEXT = Symbol('plaintext'); const STATE_HTML = Symbol('html'); const STATE_COMMENT = Symbol('comment'); const ALLOWED_TAGS_REGEX = /<(\w*)>/g; const NORMALIZE_TAG_REGEX = /<\/?([^\s\/>]+)/; function striptags(html, allowable_tags, tag_replacement) { html = html || ''; allowable_tags = allowable_tags || []; tag_replacement = tag_replacement || ''; let context = init_context(allowable_tags, tag_replacement); return striptags_internal(html, context); } function init_striptags_stream(allowable_tags, tag_replacement) { allowable_tags = allowable_tags || []; tag_replacement = tag_replacement || ''; let context = init_context(allowable_tags, tag_replacement); return function striptags_stream(html) { return striptags_internal(html || '', context); }; } striptags.init_streaming_mode = init_striptags_stream; function init_context(allowable_tags, tag_replacement) { allowable_tags = parse_allowable_tags(allowable_tags); return { allowable_tags : allowable_tags, tag_replacement: tag_replacement, state : STATE_PLAINTEXT, tag_buffer : '', depth : 0, in_quote_char : '' }; } function striptags_internal(html, context) { let allowable_tags = context.allowable_tags; let tag_replacement = context.tag_replacement; let state = context.state; let tag_buffer = context.tag_buffer; let depth = context.depth; let in_quote_char = context.in_quote_char; let output = ''; for (let idx = 0, length = html.length; idx < length; idx++) { let char = html[idx]; if (state === STATE_PLAINTEXT) { switch (char) { case '<': state = STATE_HTML; tag_buffer += char; break; default: output += char; break; } } else if (state === STATE_HTML) { switch (char) { case '<': // ignore '<' if inside a quote if (in_quote_char) { break; } // we're seeing a nested '<' depth++; break; case '>': // ignore '>' if inside a quote if (in_quote_char) { break; } // something like this is happening: '<<>>' if (depth) { depth--; break; } // this is closing the tag in tag_buffer in_quote_char = ''; state = STATE_PLAINTEXT; tag_buffer += '>'; if (allowable_tags.has(normalize_tag(tag_buffer))) { output += tag_buffer; } else { output += tag_replacement; } tag_buffer = ''; break; case '"': case '\'': // catch both single and double quotes if (char === in_quote_char) { in_quote_char = ''; } else { in_quote_char = in_quote_char || char; } tag_buffer += char; break; case '-': if (tag_buffer === '': if (tag_buffer.slice(-2) == '--') { // close the comment state = STATE_PLAINTEXT; } tag_buffer = ''; break; default: tag_buffer += char; break; } } } // save the context for future iterations context.state = state; context.tag_buffer = tag_buffer; context.depth = depth; context.in_quote_char = in_quote_char; return output; } function parse_allowable_tags(allowable_tags) { let tag_set = new Set(); if (typeof allowable_tags === 'string') { let match; while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) { tag_set.add(match[1]); } } else if (!Symbol.nonNative && typeof allowable_tags[Symbol.iterator] === 'function') { tag_set = new Set(allowable_tags); } else if (typeof allowable_tags.forEach === 'function') { // IE11 compatible allowable_tags.forEach(tag_set.add, tag_set); } return tag_set; } function normalize_tag(tag_buffer) { let match = NORMALIZE_TAG_REGEX.exec(tag_buffer); return match ? match[1].toLowerCase() : null; } if (true) { // AMD !(__WEBPACK_AMD_DEFINE_RESULT__ = (function module_factory() { return striptags; }).call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else {} }(this)); /***/ }), /***/ 44287: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; /* provided dependency */ var process = __webpack_require__(34155); exports.__esModule = true; exports.default = void 0; function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } /* Based on Glamor's sheet https://github.com/threepointone/glamor/blob/667b480d31b3721a905021b26e1290ce92ca2879/src/sheet.js */ var isProd = typeof process !== 'undefined' && process.env && "production" === 'production'; var isString = function isString(o) { return Object.prototype.toString.call(o) === '[object String]'; }; var StyleSheet = /*#__PURE__*/function () { function StyleSheet(_temp) { var _ref = _temp === void 0 ? {} : _temp, _ref$name = _ref.name, name = _ref$name === void 0 ? 'stylesheet' : _ref$name, _ref$optimizeForSpeed = _ref.optimizeForSpeed, optimizeForSpeed = _ref$optimizeForSpeed === void 0 ? isProd : _ref$optimizeForSpeed, _ref$isBrowser = _ref.isBrowser, isBrowser = _ref$isBrowser === void 0 ? typeof window !== 'undefined' : _ref$isBrowser; invariant(isString(name), '`name` must be a string'); this._name = name; this._deletedRulePlaceholder = "#" + name + "-deleted-rule____{}"; invariant(typeof optimizeForSpeed === 'boolean', '`optimizeForSpeed` must be a boolean'); this._optimizeForSpeed = optimizeForSpeed; this._isBrowser = isBrowser; this._serverSheet = undefined; this._tags = []; this._injected = false; this._rulesCount = 0; var node = this._isBrowser && document.querySelector('meta[property="csp-nonce"]'); this._nonce = node ? node.getAttribute('content') : null; } var _proto = StyleSheet.prototype; _proto.setOptimizeForSpeed = function setOptimizeForSpeed(bool) { invariant(typeof bool === 'boolean', '`setOptimizeForSpeed` accepts a boolean'); invariant(this._rulesCount === 0, 'optimizeForSpeed cannot be when rules have already been inserted'); this.flush(); this._optimizeForSpeed = bool; this.inject(); }; _proto.isOptimizeForSpeed = function isOptimizeForSpeed() { return this._optimizeForSpeed; }; _proto.inject = function inject() { var _this = this; invariant(!this._injected, 'sheet already injected'); this._injected = true; if (this._isBrowser && this._optimizeForSpeed) { this._tags[0] = this.makeStyleTag(this._name); this._optimizeForSpeed = 'insertRule' in this.getSheet(); if (!this._optimizeForSpeed) { if (!isProd) { console.warn('StyleSheet: optimizeForSpeed mode not supported falling back to standard mode.'); } this.flush(); this._injected = true; } return; } this._serverSheet = { cssRules: [], insertRule: function insertRule(rule, index) { if (typeof index === 'number') { _this._serverSheet.cssRules[index] = { cssText: rule }; } else { _this._serverSheet.cssRules.push({ cssText: rule }); } return index; }, deleteRule: function deleteRule(index) { _this._serverSheet.cssRules[index] = null; } }; }; _proto.getSheetForTag = function getSheetForTag(tag) { if (tag.sheet) { return tag.sheet; } // this weirdness brought to you by firefox for (var i = 0; i < document.styleSheets.length; i++) { if (document.styleSheets[i].ownerNode === tag) { return document.styleSheets[i]; } } }; _proto.getSheet = function getSheet() { return this.getSheetForTag(this._tags[this._tags.length - 1]); }; _proto.insertRule = function insertRule(rule, index) { invariant(isString(rule), '`insertRule` accepts only strings'); if (!this._isBrowser) { if (typeof index !== 'number') { index = this._serverSheet.cssRules.length; } this._serverSheet.insertRule(rule, index); return this._rulesCount++; } if (this._optimizeForSpeed) { var sheet = this.getSheet(); if (typeof index !== 'number') { index = sheet.cssRules.length; } // this weirdness for perf, and chrome's weird bug // https://stackoverflow.com/questions/20007992/chrome-suddenly-stopped-accepting-insertrule try { sheet.insertRule(rule, index); } catch (error) { if (!isProd) { console.warn("StyleSheet: illegal rule: \n\n" + rule + "\n\nSee https://stackoverflow.com/q/20007992 for more info"); } return -1; } } else { var insertionPoint = this._tags[index]; this._tags.push(this.makeStyleTag(this._name, rule, insertionPoint)); } return this._rulesCount++; }; _proto.replaceRule = function replaceRule(index, rule) { if (this._optimizeForSpeed || !this._isBrowser) { var sheet = this._isBrowser ? this.getSheet() : this._serverSheet; if (!rule.trim()) { rule = this._deletedRulePlaceholder; } if (!sheet.cssRules[index]) { // @TBD Should we throw an error? return index; } sheet.deleteRule(index); try { sheet.insertRule(rule, index); } catch (error) { if (!isProd) { console.warn("StyleSheet: illegal rule: \n\n" + rule + "\n\nSee https://stackoverflow.com/q/20007992 for more info"); } // In order to preserve the indices we insert a deleteRulePlaceholder sheet.insertRule(this._deletedRulePlaceholder, index); } } else { var tag = this._tags[index]; invariant(tag, "old rule at index `" + index + "` not found"); tag.textContent = rule; } return index; }; _proto.deleteRule = function deleteRule(index) { if (!this._isBrowser) { this._serverSheet.deleteRule(index); return; } if (this._optimizeForSpeed) { this.replaceRule(index, ''); } else { var tag = this._tags[index]; invariant(tag, "rule at index `" + index + "` not found"); tag.parentNode.removeChild(tag); this._tags[index] = null; } }; _proto.flush = function flush() { this._injected = false; this._rulesCount = 0; if (this._isBrowser) { this._tags.forEach(function (tag) { return tag && tag.parentNode.removeChild(tag); }); this._tags = []; } else { // simpler on server this._serverSheet.cssRules = []; } }; _proto.cssRules = function cssRules() { var _this2 = this; if (!this._isBrowser) { return this._serverSheet.cssRules; } return this._tags.reduce(function (rules, tag) { if (tag) { rules = rules.concat(Array.prototype.map.call(_this2.getSheetForTag(tag).cssRules, function (rule) { return rule.cssText === _this2._deletedRulePlaceholder ? null : rule; })); } else { rules.push(null); } return rules; }, []); }; _proto.makeStyleTag = function makeStyleTag(name, cssString, relativeToTag) { if (cssString) { invariant(isString(cssString), 'makeStyleTag acceps only strings as second parameter'); } var tag = document.createElement('style'); if (this._nonce) tag.setAttribute('nonce', this._nonce); tag.type = 'text/css'; tag.setAttribute("data-" + name, ''); if (cssString) { tag.appendChild(document.createTextNode(cssString)); } var head = document.head || document.getElementsByTagName('head')[0]; if (relativeToTag) { head.insertBefore(tag, relativeToTag); } else { head.appendChild(tag); } return tag; }; _createClass(StyleSheet, [{ key: "length", get: function get() { return this._rulesCount; } }]); return StyleSheet; }(); exports.default = StyleSheet; function invariant(condition, message) { if (!condition) { throw new Error("StyleSheet: " + message + "."); } } /***/ }), /***/ 27884: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __webpack_unused_export__; __webpack_unused_export__ = true; exports.default = JSXStyle; __webpack_unused_export__ = flush; var _react = __webpack_require__(67294); var _stylesheetRegistry = _interopRequireDefault(__webpack_require__(28122)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var styleSheetRegistry = new _stylesheetRegistry["default"](); function JSXStyle(props) { if (typeof window === 'undefined') { styleSheetRegistry.add(props); return null; } (0, _react.useLayoutEffect)(function () { styleSheetRegistry.add(props); return function () { styleSheetRegistry.remove(props); }; // props.children can be string[], will be striped since id is identical }, [props.id, String(props.dynamic)]); return null; } JSXStyle.dynamic = function (info) { return info.map(function (tagInfo) { var baseId = tagInfo[0]; var props = tagInfo[1]; return styleSheetRegistry.computeId(baseId, props); }).join(' '); }; function flush() { var cssRules = styleSheetRegistry.cssRules(); styleSheetRegistry.flush(); return cssRules; } /***/ }), /***/ 28122: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; exports.default = void 0; var _stringHash = _interopRequireDefault(__webpack_require__(69887)); var _stylesheet = _interopRequireDefault(__webpack_require__(44287)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var sanitize = function sanitize(rule) { return rule.replace(/\/style/gi, '\\/style'); }; var StyleSheetRegistry = /*#__PURE__*/function () { function StyleSheetRegistry(_temp) { var _ref = _temp === void 0 ? {} : _temp, _ref$styleSheet = _ref.styleSheet, styleSheet = _ref$styleSheet === void 0 ? null : _ref$styleSheet, _ref$optimizeForSpeed = _ref.optimizeForSpeed, optimizeForSpeed = _ref$optimizeForSpeed === void 0 ? false : _ref$optimizeForSpeed, _ref$isBrowser = _ref.isBrowser, isBrowser = _ref$isBrowser === void 0 ? typeof window !== 'undefined' : _ref$isBrowser; this._sheet = styleSheet || new _stylesheet["default"]({ name: 'styled-jsx', optimizeForSpeed: optimizeForSpeed }); this._sheet.inject(); if (styleSheet && typeof optimizeForSpeed === 'boolean') { this._sheet.setOptimizeForSpeed(optimizeForSpeed); this._optimizeForSpeed = this._sheet.isOptimizeForSpeed(); } this._isBrowser = isBrowser; this._fromServer = undefined; this._indices = {}; this._instancesCounts = {}; this.computeId = this.createComputeId(); this.computeSelector = this.createComputeSelector(); } var _proto = StyleSheetRegistry.prototype; _proto.add = function add(props) { var _this = this; if (undefined === this._optimizeForSpeed) { this._optimizeForSpeed = Array.isArray(props.children); this._sheet.setOptimizeForSpeed(this._optimizeForSpeed); this._optimizeForSpeed = this._sheet.isOptimizeForSpeed(); } if (this._isBrowser && !this._fromServer) { this._fromServer = this.selectFromServer(); this._instancesCounts = Object.keys(this._fromServer).reduce(function (acc, tagName) { acc[tagName] = 0; return acc; }, {}); } var _this$getIdAndRules = this.getIdAndRules(props), styleId = _this$getIdAndRules.styleId, rules = _this$getIdAndRules.rules; // Deduping: just increase the instances count. if (styleId in this._instancesCounts) { this._instancesCounts[styleId] += 1; return; } var indices = rules.map(function (rule) { return _this._sheet.insertRule(rule); }) // Filter out invalid rules .filter(function (index) { return index !== -1; }); this._indices[styleId] = indices; this._instancesCounts[styleId] = 1; }; _proto.remove = function remove(props) { var _this2 = this; var _this$getIdAndRules2 = this.getIdAndRules(props), styleId = _this$getIdAndRules2.styleId; invariant(styleId in this._instancesCounts, "styleId: `" + styleId + "` not found"); this._instancesCounts[styleId] -= 1; if (this._instancesCounts[styleId] < 1) { var tagFromServer = this._fromServer && this._fromServer[styleId]; if (tagFromServer) { tagFromServer.parentNode.removeChild(tagFromServer); delete this._fromServer[styleId]; } else { this._indices[styleId].forEach(function (index) { return _this2._sheet.deleteRule(index); }); delete this._indices[styleId]; } delete this._instancesCounts[styleId]; } }; _proto.update = function update(props, nextProps) { this.add(nextProps); this.remove(props); }; _proto.flush = function flush() { this._sheet.flush(); this._sheet.inject(); this._fromServer = undefined; this._indices = {}; this._instancesCounts = {}; this.computeId = this.createComputeId(); this.computeSelector = this.createComputeSelector(); }; _proto.cssRules = function cssRules() { var _this3 = this; var fromServer = this._fromServer ? Object.keys(this._fromServer).map(function (styleId) { return [styleId, _this3._fromServer[styleId]]; }) : []; var cssRules = this._sheet.cssRules(); return fromServer.concat(Object.keys(this._indices).map(function (styleId) { return [styleId, _this3._indices[styleId].map(function (index) { return cssRules[index].cssText; }).join(_this3._optimizeForSpeed ? '' : '\n')]; }) // filter out empty rules .filter(function (rule) { return Boolean(rule[1]); })); } /** * createComputeId * * Creates a function to compute and memoize a jsx id from a basedId and optionally props. */ ; _proto.createComputeId = function createComputeId() { var cache = {}; return function (baseId, props) { if (!props) { return "jsx-" + baseId; } var propsToString = String(props); var key = baseId + propsToString; // return `jsx-${hashString(`${baseId}-${propsToString}`)}` if (!cache[key]) { cache[key] = "jsx-" + (0, _stringHash["default"])(baseId + "-" + propsToString); } return cache[key]; }; } /** * createComputeSelector * * Creates a function to compute and memoize dynamic selectors. */ ; _proto.createComputeSelector = function createComputeSelector(selectoPlaceholderRegexp) { if (selectoPlaceholderRegexp === void 0) { selectoPlaceholderRegexp = /__jsx-style-dynamic-selector/g; } var cache = {}; return function (id, css) { // Sanitize SSR-ed CSS. // Client side code doesn't need to be sanitized since we use // document.createTextNode (dev) and the CSSOM api sheet.insertRule (prod). if (!this._isBrowser) { css = sanitize(css); } var idcss = id + css; if (!cache[idcss]) { cache[idcss] = css.replace(selectoPlaceholderRegexp, id); } return cache[idcss]; }; }; _proto.getIdAndRules = function getIdAndRules(props) { var _this4 = this; var css = props.children, dynamic = props.dynamic, id = props.id; if (dynamic) { var styleId = this.computeId(id, dynamic); return { styleId: styleId, rules: Array.isArray(css) ? css.map(function (rule) { return _this4.computeSelector(styleId, rule); }) : [this.computeSelector(styleId, css)] }; } return { styleId: this.computeId(id), rules: Array.isArray(css) ? css : [css] }; } /** * selectFromServer * * Collects style tags from the document with id __jsx-XXX */ ; _proto.selectFromServer = function selectFromServer() { var elements = Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')); return elements.reduce(function (acc, element) { var id = element.id.slice(2); acc[id] = element; return acc; }, {}); }; return StyleSheetRegistry; }(); exports.default = StyleSheetRegistry; function invariant(condition, message) { if (!condition) { throw new Error("StyleSheetRegistry: " + message + "."); } } /***/ }), /***/ 65988: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { module.exports = __webpack_require__(27884) /***/ }), /***/ 48484: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { "apiFactory": function() { return /* reexport */ es_factory; }, "apiHoc": function() { return /* reexport */ es_hoc; }, "default": function() { return /* binding */ es; }, "processCallback": function() { return /* reexport */ processCallback; } }); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/extends.js var helpers_extends = __webpack_require__(88239); // EXTERNAL MODULE: ./node_modules/babel-runtime/core-js/object/assign.js var object_assign = __webpack_require__(52945); var assign_default = /*#__PURE__*/__webpack_require__.n(object_assign); // EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/typeof.js var helpers_typeof = __webpack_require__(72444); // EXTERNAL MODULE: ./node_modules/babel-runtime/core-js/object/keys.js var keys = __webpack_require__(88902); var keys_default = /*#__PURE__*/__webpack_require__.n(keys); // EXTERNAL MODULE: ./node_modules/next/dist/build/polyfills/fetch/index.js var fetch = __webpack_require__(63144); var fetch_default = /*#__PURE__*/__webpack_require__.n(fetch); ;// CONCATENATED MODULE: ./node_modules/tinhte-api/es/fetches/batch.js var batchFactory = function batchFactory() { var current = null; var latestId = 0; var batch = { init: function init() { if (current !== null) { return { other: current }; } latestId++; var currentId = latestId; var reqs = []; var queue = []; var execute = function execute(key, arg0) { return queue.forEach(function (q) { return q[key](arg0); }); }; current = { enqueue: function enqueue(resolve, reject) { return queue.push({ resolve: resolve, reject: reject }); }, forEachReq: function forEachReq(f) { return reqs.forEach(f); }, getId: function getId() { return currentId; }, getReqs: function getReqs() { return reqs; }, pushReq: function pushReq(req) { return reqs.push(req); }, reject: function reject(reason) { return execute('reject', reason); }, resolve: function resolve(json) { return execute('resolve', json); } }; var reset = function reset() { return current = null; }; return { current: current, reset: reset }; }, getCurrent: function getCurrent() { return current; }, getCurrentReqs: function getCurrentReqs() { return current.getReqs(); } }; return batch; }; /* harmony default export */ var fetches_batch = (batchFactory); // EXTERNAL MODULE: ./node_modules/babel-runtime/core-js/promise.js var core_js_promise = __webpack_require__(46593); var promise_default = /*#__PURE__*/__webpack_require__.n(core_js_promise); // EXTERNAL MODULE: ./node_modules/querystring/index.js var querystring = __webpack_require__(17673); // EXTERNAL MODULE: ./node_modules/crypto-js/aes.js var crypto_js_aes = __webpack_require__(40452); var aes_default = /*#__PURE__*/__webpack_require__.n(crypto_js_aes); // EXTERNAL MODULE: ./node_modules/crypto-js/core.js var core = __webpack_require__(78249); // EXTERNAL MODULE: ./node_modules/crypto-js/enc-base64.js var enc_base64 = __webpack_require__(98269); var enc_base64_default = /*#__PURE__*/__webpack_require__.n(enc_base64); // EXTERNAL MODULE: ./node_modules/crypto-js/enc-utf8.js var enc_utf8 = __webpack_require__(55743); // EXTERNAL MODULE: ./node_modules/crypto-js/md5.js var crypto_js_md5 = __webpack_require__(68214); var md5_default = /*#__PURE__*/__webpack_require__.n(crypto_js_md5); // EXTERNAL MODULE: ./node_modules/crypto-js/mode-ecb.js var mode_ecb = __webpack_require__(31148); var mode_ecb_default = /*#__PURE__*/__webpack_require__.n(mode_ecb); // EXTERNAL MODULE: ./node_modules/crypto-js/pad-pkcs7.js var pad_pkcs7 = __webpack_require__(45957); var pad_pkcs7_default = /*#__PURE__*/__webpack_require__.n(pad_pkcs7); ;// CONCATENATED MODULE: ./node_modules/tinhte-api/es/helpers/crypt.js var algos = ['aes128']; var aes128EcbPcks7 = { mode: (mode_ecb_default()), padding: (pad_pkcs7_default()) }; var encrypt = function encrypt(algo, data, key) { if (algo !== algos[0]) { throw new Error('Unsupported algo: ' + algo); } var keyHashed = md5_default()(key); var encrypted = aes_default().encrypt(data, keyHashed, aes128EcbPcks7); var encoded = enc_base64_default().stringify(encrypted.ciphertext); return encoded; }; var decrypt = function decrypt(algo, data, key) { if (algo !== algos[0]) { throw new Error('Unsupported algo: ' + algo); } var keyHashed = md5(key); var ciphertext = encBase64.parse(data); var cipherParams = CryptoJS.lib.CipherParams.create({ ciphertext: ciphertext }); var decrypted = aes.decrypt(cipherParams, keyHashed, aes128EcbPcks7); var utf8 = decrypted.toString(encUtf8); return utf8; }; var hashMd5 = function hashMd5(data) { return md5_default()(data).toString(); }; ;// CONCATENATED MODULE: ./node_modules/tinhte-api/es/helpers/standardizeReqOptions.js var filterEmptyValueFromArray = function filterEmptyValueFromArray(array) { var filtered = []; array.forEach(function (v) { if (typeof v === 'string' && v.length === 0) { return; } filtered.push(v); }); return filtered; }; var filterEmptyKeyOrValueFromParams = function filterEmptyKeyOrValueFromParams(params) { var filtered = {}; keys_default()(params).forEach(function (k) { if (k.length === 0) { return; } var v = params[k]; if (typeof v === 'string') { if (v.length === 0) { return; } } else { /* istanbul ignore else */ if (Array.isArray(v)) { v = filterEmptyValueFromArray(v); if (v.length === 0) { return; } } } filtered[k] = v; }); return filtered; }; var standardizeReqOptions = function standardizeReqOptions() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (typeof options.uri !== 'string') options.uri = ''; options.params = options.params || {}; options.headers = options.headers || {}; if (typeof options.body === 'undefined') options.body = null; if (typeof options.method !== 'string') options.method = options.body ? 'POST' : 'GET'; options.method = options.method.toUpperCase(); var isFullUri = false; if (options.uri.match(/^https?:\/\//) === null) { var uriMatches = options.uri.match(/^\/*([^?]*)(\?(.+))?$/); /* istanbul ignore else */ if (uriMatches !== null) { options.uri = uriMatches[1]; options.params = (0,helpers_extends.default)({}, options.params, querystring.parse(uriMatches[3])); } } else { isFullUri = true; } options.params = filterEmptyKeyOrValueFromParams(options.params); var paramsStringified = querystring.stringify(options.params); var paramsParts = paramsStringified.split(/&/).sort(); options.paramsAsString = paramsParts.join('&'); if (!isFullUri) { options.explain = options.method + ' ' + options.uri + '?' + options.paramsAsString; } else { // still parse query from options.uri to make sure options.param is correct var uriQueryMatches = options.uri.match(/\?(.+)$/); if (uriQueryMatches !== null) { options.params = (0,helpers_extends.default)({}, options.params, querystring.parse(uriQueryMatches[1])); } options.explain = options.method + ' full=' + options.uri + ' params=' + options.paramsAsString; } var uniqueId = hashMd5(options.explain); return uniqueId; }; /* harmony default export */ var helpers_standardizeReqOptions = (standardizeReqOptions); ;// CONCATENATED MODULE: ./node_modules/tinhte-api/es/fetches/fetchOne.js var fetchOneInit = function fetchOneInit(fetchJson, batch, internalApi) { var reqLatestId = 0; var fetchOne = function fetchOne() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (typeof options === 'string') { options = { uri: options }; } var uniqueId = helpers_standardizeReqOptions(options); reqLatestId++; var reqId = reqLatestId; var current = batch.getCurrent(); var fetchIndividually = current === null || options.body !== null || options.parseJson === false; if (fetchIndividually) { internalApi.log('Request #%d is being fetched...', reqId); return fetchJson(options); } else { internalApi.log('Request #%d is joining batch #%d...', reqId, current.getId()); return new (promise_default())(function (resolve, reject) { var id = '_req' + reqId; current.pushReq({ id: id, options: options, resolve: resolve, reject: reject, uniqueId: uniqueId }); }); } }; return fetchOne; }; /* harmony default export */ var fetches_fetchOne = (fetchOneInit); // EXTERNAL MODULE: ./node_modules/babel-runtime/core-js/json/stringify.js var stringify = __webpack_require__(63239); var stringify_default = /*#__PURE__*/__webpack_require__.n(stringify); ;// CONCATENATED MODULE: ./node_modules/tinhte-api/es/helpers/errors.js /* harmony default export */ var errors = ({ FETCH_MULTIPLE: { JOB_NOT_FOUND: 'Could not find job from response', JOB_RESULT_NOT_FOUND: 'Could not find job result from response', MISMATCHED: 'Detected mismatched job and request data', NO_FETCHES: 'There is no fetches' } }); ;// CONCATENATED MODULE: ./node_modules/tinhte-api/es/fetches/fetchMultiple.js var fetchMultipleInit = function fetchMultipleInit(fetchJson, batch, internalApi) { var newContext = function newContext() { var batchOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; batchOptions.triggerHandlers = typeof batchOptions.triggerHandlers === 'boolean' ? batchOptions.triggerHandlers : true; var batchHeaders = { 'Content-Type': 'application/json' }; var headers = (0,helpers_extends.default)({}, batchHeaders); var handlers = {}; var reqIds = {}; var requests = []; var context = { batchHeaders: batchHeaders, batchOptions: batchOptions, headers: headers, handlers: handlers, reqIds: reqIds, requests: requests }; return context; }; var prepareRequest = function prepareRequest(req, context) { var batchHeaders = context.batchHeaders, headers = context.headers, handlers = context.handlers, reqIds = context.reqIds, requests = context.requests; keys_default()(req.options.headers).forEach(function (headerKey) { if (typeof batchHeaders[headerKey] !== 'undefined') { // DO NOT replace a batch header with one from the sub-request return; } headers[headerKey] = req.options.headers[headerKey]; }); var id = req.id, uniqueId = req.uniqueId; var _req$options = req.options, method = _req$options.method, params = _req$options.params, uri = _req$options.uri; handlers[id] = { method: method, resolve: req.resolve, reject: req.reject, uri: uri }; if (typeof reqIds[uniqueId] === 'undefined') { reqIds[uniqueId] = [id]; var _req = { id: uniqueId }; if (method !== 'GET') _req.method = method; _req.uri = uri === '' ? 'index' : uri; if (keys_default()(params).length > 0) _req.params = params; requests.push(_req); } else { reqIds[uniqueId].push(id); } }; var normalizeJobs = function normalizeJobs(jobs, context) { var handlers = context.handlers, reqIds = context.reqIds; keys_default()(jobs).forEach(function (jobId) { var jobReqIds = reqIds[jobId]; if (!Array.isArray(jobReqIds)) { return; } var firstReqId = jobReqIds[0]; var handler = handlers[firstReqId]; jobs[jobId]._req = { method: handler.method, uri: handler.uri }; }); }; var processJob = function processJob(job, reqId, context) { var batchOptions = context.batchOptions, handlers = context.handlers; if (!batchOptions.triggerHandlers) { return null; } var handler = handlers[reqId]; var resolve = function resolve(job) { internalApi.log('Resolving %s %s...', handler.method, handler.uri); return { resolved: handler.resolve(job) }; }; var reject = function reject(reason) { internalApi.log('Rejecting %s %s (%s)...', handler.method, handler.uri, reason); return { rejected: handler.reject(reason) }; }; if (job) { if (!job._req || job._req.method !== handler.method || job._req.uri !== handler.uri) { return reject(new Error(errors.FETCH_MULTIPLE.MISMATCHED)); } if (typeof job._job_result !== 'string') { return reject(new Error(errors.FETCH_MULTIPLE.JOB_RESULT_NOT_FOUND)); } if (job._job_result === 'ok' || job._job_result === 'message') { return resolve(job); } else if (job._job_error) { return reject(new Error(job._job_error)); } else { return reject(job); } } return reject(new Error(errors.FETCH_MULTIPLE.JOB_NOT_FOUND)); }; var processJobs = function processJobs(json, context) { var jobs = json.jobs || {}; json._handled = 0; normalizeJobs(jobs, context); var reqIds = context.reqIds; keys_default()(reqIds).forEach(function (uniqueId) { reqIds[uniqueId].forEach(function (reqId) { var job = jobs[uniqueId]; var handled = processJob(job, reqId, context); if (handled !== null) { json._handled++; } }); }); }; var fetchMultiple = function fetchMultiple(fetches) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var context = newContext(options); var _batch$init = batch.init(), current = _batch$init.current, other = _batch$init.other, reset = _batch$init.reset; fetches(); if (typeof reset === 'function') { reset(); } return new (promise_default())(function (resolve, reject) { if (other) { return other.enqueue(resolve, reject); } else { current.enqueue(resolve, reject); } current.forEachReq(function (req) { return prepareRequest(req, context); }); if (context.requests.length === 0) { return current.reject(new Error(errors.FETCH_MULTIPLE.NO_FETCHES)); } var body = stringify_default()(context.requests); var fetchOptions = { uri: 'batch', headers: context.headers, body: body }; helpers_standardizeReqOptions(fetchOptions); internalApi.log('Batch #%d is being fetched...', current.getId()); fetchJson(fetchOptions).then(function (json) { processJobs(json, context); current.resolve(json); }, function (reason) { processJobs({}, context); current.reject(reason); }); }); }; return fetchMultiple; }; /* harmony default export */ var fetches_fetchMultiple = (fetchMultipleInit); ;// CONCATENATED MODULE: ./node_modules/tinhte-api/es/fetches/index.js var fetchesInit = function fetchesInit(api, internalApi) { var batch = fetches_batch(); var buildUrlQueryParts = function buildUrlQueryParts(options) { var params = options.params, paramsAsString = options.paramsAsString; var urlQueryParts = []; if (typeof paramsAsString === 'string' && paramsAsString.length > 0) { urlQueryParts.push(paramsAsString); } var auth = api.getAuth(); if (auth) { if (!params.oauth_token && auth.accessToken) { params.oauth_token = auth.accessToken; urlQueryParts.push('oauth_token=' + encodeURIComponent(params.oauth_token)); } if (!params._xfToken) { if (auth._xf1) { params._xfToken = auth._xf1._csrfToken; urlQueryParts.push('_xfToken=' + encodeURIComponent(params._xfToken)); } else if (auth._xf2) { params._xfToken = auth._xf2.config.csrf; urlQueryParts.push('_xfToken=' + encodeURIComponent(params._xfToken)); } } } if (!params.oauth_token) { var ott = api.getOtt(); if (ott) { params.oauth_token = ott; urlQueryParts.push('oauth_token=' + encodeURIComponent(params.oauth_token)); } } return urlQueryParts; }; var buildUrl = function buildUrl(options) { var url = options.uri; url = url.match(/^https?:\/\//) ? url : api.getApiRoot() + '?' + url; var urlQueryParts = buildUrlQueryParts(options); if (urlQueryParts.length > 0) { url += (url.indexOf('?') === -1 ? '?' : '&') + urlQueryParts.join('&'); } return url; }; var fetchCount = 0; var fetchJson = function fetchJson(options) { fetchCount++; var url = buildUrl(options); var body = options.body, method = options.method, params = options.params, parseJson = options.parseJson; var headers = api.getHeaders(); if (options.headers && (0,helpers_typeof.default)(options.headers) === 'object') { keys_default()(options.headers).forEach(function (key) { if (options.headers[key] === undefined) { delete headers[key]; } else { headers[key] = options.headers[key]; } }); } var unfetchOptions = { headers: headers, method: method }; if (body) unfetchOptions.body = body; if (params._xfToken) unfetchOptions.credentials = 'include'; var p = fetch_default()(url, unfetchOptions); if (parseJson !== false) { p = p.then(function (response) { return response.json().catch(function (reason) { internalApi.log('Fetch %s and could not parse json: %s', url, reason.message); throw reason; }); }).then(function (json) { var errors = json.errors, desc = json.error_description; if (errors) { if (Array.isArray(errors) && errors.length > 0) { var errorArray = new Error(errors.join(', ')); internalApi.log('Fetched %s and found errors: %s', url, errorArray.message); throw errorArray; } if ((typeof errors === 'undefined' ? 'undefined' : (0,helpers_typeof.default)(errors)) === 'object') { var errorMessages = []; keys_default()(errors).forEach(function (key) { return errorMessages.push(key + ': ' + errors[key]); }); if (errorMessages.length > 0) { var errorObject = new Error(errorMessages.join('\n')); throw errorObject; } } } if (desc) { internalApi.log('Fetched %s and found error_description: %s', url, desc); throw new Error(desc); } internalApi.log('Fetched and parsed %s successfully, total=%d', url, fetchCount); return json; }); } return p; }; var fetchOne = fetches_fetchOne(fetchJson, batch, internalApi); var fetchMultiple = fetches_fetchMultiple(fetchJson, batch, internalApi); return { fetchOne: fetchOne, fetchMultiple: fetchMultiple, getFetchCount: function getFetchCount() { return fetchCount; } }; }; /* harmony default export */ var es_fetches = (fetchesInit); // EXTERNAL MODULE: ./node_modules/form-data/lib/browser.js var browser = __webpack_require__(6230); var browser_default = /*#__PURE__*/__webpack_require__.n(browser); ;// CONCATENATED MODULE: ./node_modules/tinhte-api/es/helpers/oauth/token/grantTypePassword.js var algo = algos[0]; var grantTypePassword = function grantTypePassword(api, internalApi, clientSecret, username, password) { var formData = new (browser_default())(); formData.append('grant_type', 'password'); formData.append('client_id', api.getClientId()); formData.append('username', username); formData.append('password', encrypt(algo, password, clientSecret)); formData.append('password_algo', algo); var options = { body: formData, method: 'POST', uri: 'oauth/token' }; return api.fetchOne(options).then(function (json) { /* istanbul ignore else */ if (json.user_id) { internalApi.log('oauth/token?grant_type=password: %s -> %d', username, json.user_id); } return json; }); }; /* harmony default export */ var token_grantTypePassword = (grantTypePassword); ;// CONCATENATED MODULE: ./node_modules/tinhte-api/es/helpers/oauth/token/grantTypeRefreshToken.js var grantTypeRefreshToken = function grantTypeRefreshToken(api, internalApi, clientSecret, refreshToken) { var formData = new (browser_default())(); formData.append('grant_type', 'refresh_token'); formData.append('client_id', api.getClientId()); formData.append('client_secret', clientSecret); formData.append('refresh_token', refreshToken); var options = { body: formData, method: 'POST', uri: 'oauth/token' }; return api.fetchOne(options).then(function (json) { /* istanbul ignore else */ if (json.user_id) { internalApi.log('oauth/token?grant_type=refresh_token: %s -> %d', refreshToken, json.user_id); } return json; }); }; /* harmony default export */ var token_grantTypeRefreshToken = (grantTypeRefreshToken); ;// CONCATENATED MODULE: ./node_modules/tinhte-api/es/factory.js var apiFactory = function apiFactory() { var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var apiRoot = 'https://tinhte.vn/appforo/index.php'; var auth = null; var callbackUrl = ''; var clientId = ''; var cookiePrefix = ''; var debug = false; var ott = ''; var scope = 'read'; var headers = {}; var updateConfig = function updateConfig() { var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (typeof config.apiRoot === 'string') apiRoot = config.apiRoot; if ((0,helpers_typeof.default)(config.auth) === 'object' && config.auth !== null) { auth = { accessToken: '', userId: 0 }; var ca = config.auth; if (typeof ca.accessToken === 'string') auth.accessToken = ca.accessToken; if (typeof ca.userId === 'number') auth.userId = ca.userId; if (auth.accessToken.length > 0 && auth.userId === 0) { // detect XenForo environments if ((typeof XenForo === 'undefined' ? 'undefined' : (0,helpers_typeof.default)(XenForo)) === 'object' && XenForo !== null && (0,helpers_typeof.default)(XenForo.visitor) === 'object' && typeof XenForo.visitor.user_id === 'number' && typeof XenForo._csrfToken === 'string') { // XenForo 1.x auth.userId = XenForo.visitor.user_id; auth._xf1 = XenForo; } else if ((typeof XF === 'undefined' ? 'undefined' : (0,helpers_typeof.default)(XF)) === 'object' && XF !== null && (0,helpers_typeof.default)(XF.config) === 'object' && typeof XF.config.userId === 'number' && typeof XF.config.csrf === 'string') { // XenForo 2.x auth.userId = XF.config.userId; auth._xf2 = XF; } } } if (typeof config.callbackUrl === 'string') callbackUrl = config.callbackUrl; if (typeof config.clientId === 'string') clientId = config.clientId; if (typeof config.cookiePrefix === 'string') cookiePrefix = config.cookiePrefix; if (typeof config.debug === 'boolean') debug = config.debug; if (typeof config.ott === 'string') ott = config.ott; if (typeof config.scope === 'string') scope = config.scope; if ((0,helpers_typeof.default)(config.headers) === 'object') { headers = assign_default()({}, config.headers); } }; updateConfig(config); var uniqueId = ('' + Math.random()).substr(2, 6); var internalApi = { log: function log(message) { if (!debug) { return false; } var args = arguments; args[0] = '[tinhte-api#' + uniqueId + '] ' + args[0]; console.log.apply(this, args); return true; } }; var api = { clone: function clone() { var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var clonedConfig = (0,helpers_extends.default)({ apiRoot: apiRoot, auth: auth, callbackUrl: callbackUrl, clientId: clientId, cookiePrefix: cookiePrefix, debug: debug, ott: ott, scope: scope }, config); return apiFactory(clonedConfig); }, generateOneTimeToken: function generateOneTimeToken(clientSecret, ttl) { var userId = api.getUserId(); var timestamp = void 0; if ((typeof ttl === 'undefined' ? 'undefined' : (0,helpers_typeof.default)(ttl)) === 'object' && typeof ttl.getTime === 'function') { // ttl is a Date, use its value directly timestamp = Math.floor(ttl.getTime() / 1000); } else { timestamp = Math.floor(new Date().getTime() / 1000) + (typeof ttl === 'number' ? ttl : 3600); } var once = hashMd5('' + userId + timestamp + clientSecret); var ott = userId + ',' + timestamp + ',' + once + ',' + clientId; return ott; }, getAccessToken: function getAccessToken() { return auth && auth.accessToken ? auth.accessToken : ''; }, getApiRoot: function getApiRoot() { return apiRoot; }, getAuth: function getAuth() { return (0,helpers_extends.default)({}, auth || {}); }, getCallbackUrl: function getCallbackUrl() { return callbackUrl; }, getClientId: function getClientId() { return clientId; }, getCookiePrefix: function getCookiePrefix() { return cookiePrefix; }, getDebug: function getDebug() { return debug; }, getOtt: function getOtt() { return ott; }, getScope: function getScope() { return scope; }, getHeaders: function getHeaders() { return assign_default()({}, headers); }, getUniqueId: function getUniqueId() { return uniqueId; }, getUserId: function getUserId() { return auth && auth.userId ? auth.userId : 0; }, hasAuth: function hasAuth() { return auth != null; }, updateConfig: updateConfig }; var fetches = es_fetches(api, internalApi); api.fetchOne = fetches.fetchOne; api.fetchMultiple = fetches.fetchMultiple; api.getFetchCount = fetches.getFetchCount; var fetchShortcut = function fetchShortcut(method, options) { if (typeof options === 'string') { options = { uri: options }; } options.method = method; return api.fetchOne(options); }; api.del = function (options) { return fetchShortcut('DELETE', options); }; api.get = function (options) { return fetchShortcut('GET', options); }; api.post = function (options) { return fetchShortcut('POST', options); }; api.put = function (options) { return fetchShortcut('PUT', options); }; api.batch = api.fetchMultiple; api.login = function (clientSecret, username, password) { return token_grantTypePassword(api, internalApi, clientSecret, username, password); }; api.refreshToken = function (clientSecret, refreshToken) { return token_grantTypeRefreshToken(api, internalApi, clientSecret, refreshToken); }; return api; }; /* harmony default export */ var factory = (apiFactory); ;// CONCATENATED MODULE: ./node_modules/tinhte-api/es/index.js ;// CONCATENATED MODULE: ./node_modules/tinhte-api-react/es/components/Callback.js var processCallback = function processCallback(log) { /* istanbul ignore else */ if (false) {} var auth = window.location.hash ? querystring.parse(window.location.hash.replace(/^#/, '')) : false; if (!auth || !auth.state) { log && log('Couldn\'t extract state from %s', window.location.href); return false; } window.top.postMessage({ auth: auth }, window.location.origin); log && log('Forwarded auth to window.top'); return true; }; var Callback = function Callback(_ref) { var api = _ref.api, internalApi = _ref.internalApi; var log = api.getDebug() ? internalApi.log : null; var success = processCallback(log); if (!api.getDebug()) { return react.createElement('span', { className: 'ApiCallback' }); } return react.createElement('span', { className: 'ApiCallback', 'data-success': success }); }; /* harmony default export */ var components_Callback = (Callback); // EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/classCallCheck.js var classCallCheck = __webpack_require__(99663); // EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js var possibleConstructorReturn = __webpack_require__(49135); // EXTERNAL MODULE: ./node_modules/babel-runtime/helpers/inherits.js var inherits = __webpack_require__(93196); // EXTERNAL MODULE: ./node_modules/js-cookie/src/js.cookie.js var js_cookie = __webpack_require__(36808); var js_cookie_default = /*#__PURE__*/__webpack_require__.n(js_cookie); ;// CONCATENATED MODULE: ./node_modules/tinhte-api-react/es/components/Loader.js var buildAuthorizeUrl = function buildAuthorizeUrl(api) { var clientId = api.getClientId(); var callbackUrl = api.getCallbackUrl(); if (!clientId || !callbackUrl) { return null; } var encodedUniqueId = encodeURIComponent(api.getUniqueId()); var callbackFullUrl = callbackUrl.charAt(0) === '/' ? window.location.origin + callbackUrl : callbackUrl; var guestRedirectUri = callbackFullUrl + '#user_id=0&state=' + encodedUniqueId; var redirectUri = callbackFullUrl; var authorizeUrl = api.getApiRoot() + '?oauth/authorize&' + ('client_id=' + encodeURIComponent(clientId) + '&') + ('guest_redirect_uri=' + encodeURIComponent(guestRedirectUri) + '&') + ('redirect_uri=' + encodeURIComponent(redirectUri) + '&') + 'response_type=token&' + ('scope=' + encodeURIComponent(api.getScope()) + '&') + ('state=' + encodedUniqueId); return authorizeUrl; }; var generateCookieName = function generateCookieName(api) { var prefix = api.getCookiePrefix(); if (!prefix) { // no prefix -> always auth return ''; } var cookieSession = js_cookie_default().get(prefix + 'session'); var cookieUser = js_cookie_default().get(prefix + 'user'); if (!cookieSession && !cookieUser) { // no session AND user -> no authentication return null; } if (!cookieSession) { // no session -> try to auth return ''; } var safeClientId = api.getClientId().replace(/[^a-z0-9]/gi, ''); var safeSession = cookieSession.replace(/[^a-z0-9]/gi, ''); return safeClientId + '__' + safeSession; }; var getCookie = function getCookie(api) { var name = generateCookieName(api); if (!name) { if (name === null) { return null; } else { return { name: name }; } } var value = js_cookie_default().getJSON(name); return { name: name, value: value }; }; var setCookie = function setCookie(api, auth) { if (!auth.access_token || !auth.expires_in || !auth.user_id) { return null; } var name = generateCookieName(api); if (!name) { return null; } var value = { access_token: auth.access_token, user_id: auth.user_id // set TTL to half of expires_in to account for server issue };var ttl = auth.expires_in / 2; var expires = new Date(new Date().getTime() + ttl * 1000); js_cookie_default().set(name, value, { expires: expires }); return { name: name, value: value, expires: expires }; }; var Loader = function (_React$Component) { (0,inherits.default)(Loader, _React$Component); function Loader(props) { (0,classCallCheck.default)(this, Loader); var _this = (0,possibleConstructorReturn.default)(this, _React$Component.call(this, props)); _this.state = { src: '', userId: 0 }; _this.onWindowMessage = function (e) { if (!e || !e.data || !e.data.auth) { return; } var auth = e.data.auth; var _this$props = _this.props, api = _this$props.api, internalApi = _this$props.internalApi; internalApi.log('Received auth via window message', auth); internalApi.setAuth(auth); var userId = api.getUserId(); _this.setState({ userId: userId }); var accessToken = api.getAccessToken(); if (accessToken && accessToken === auth.access_token) { var cookie = setCookie(api, auth); if (cookie !== null) { internalApi.log('Set cookie %s until %s', cookie.name, cookie.expires); } } }; return _this; } Loader.prototype.componentDidMount = function componentDidMount() { /* istanbul ignore else */ if (typeof window.addEventListener === 'function') { window.addEventListener('message', this.onWindowMessage); } var _props = this.props, api = _props.api, internalApi = _props.internalApi; var cookie = getCookie(api); if (cookie === null) { internalApi.log('Skipped authentication due to bad config or no cookie'); internalApi.setAuth({ state: api.getUniqueId() }); return; } if (cookie.value) { internalApi.log('Restored auth from cookie', cookie); internalApi.setAuth((0,helpers_extends.default)({}, cookie.value, { state: api.getUniqueId() })); this.setState({ userId: api.getUserId() }); // skip initializing further once we have recovered auth from cookie return; } var authorizeUrl = buildAuthorizeUrl(api); if (authorizeUrl) { this.setState({ src: authorizeUrl }); } }; Loader.prototype.componentWillUnmount = function componentWillUnmount() { /* istanbul ignore else */ if (typeof window.removeEventListener === 'function') { window.removeEventListener('message', this.onWindowMessage); } }; Loader.prototype.render = function render() { return react.createElement('iframe', { className: 'ApiLoader', 'data-user-id': this.state.userId, sandbox: 'allow-same-origin allow-scripts', src: this.state.src, style: { display: 'block', height: 0, width: 0 } }); }; return Loader; }(react.Component); /* harmony default export */ var components_Loader = (Loader); ;// CONCATENATED MODULE: ./node_modules/tinhte-api-react/es/helpers/callbacks.js var waitABitThen = function waitABitThen(callback) { /* istanbul ignore else */ if (window && typeof window.requestAnimationFrame === 'function') { window.requestAnimationFrame(callback); } else { setTimeout(callback, 0); } }; var helperCallbacksInit = function helperCallbacksInit(api, internalApi) { var sharedItems = []; var sharedResolves = []; var add = function add(list, callback, triggerNow) { var items = list.items; items.push(callback); internalApi.log('Added new %s callback, total=%d', list.name, items.length); var cancel = function cancel() { var i = items.indexOf(callback); if (i < 0) { return false; } items.splice(i, 1); internalApi.log('Removed %s callback #%d, remaining=%d', list.name, i, items.length); return true; }; if (triggerNow) { fetchList(list); } return cancel; }; var fetchItems = function fetchItems(items) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (items.length === 0) { return promise_default().resolve([]); } var fetches = function fetches() { items.forEach(function (callback) { return callback(); }); internalApi.log('Triggered %d callbacks', items.length); items.length = 0; }; return api.fetchMultiple(fetches, options).catch(function () { return []; }); }; var fetchList = function fetchList(list) { var items = list.items; var callbackCount = items.length; var promise = new (promise_default())(function (resolve) { items.forEach(function (callback) { return sharedItems.push(callback); }); sharedResolves.push(function () { return resolve(callbackCount); }); var sharedItemsLength = sharedItems.length; waitABitThen(function () { if (sharedItems.length !== sharedItemsLength) { // another invocation has altered the shared queue, // stop running now and let that handle the fetch return; } fetchItems(sharedItems).then(function (result) { sharedResolves.forEach(function (sqr) { return sqr(result); }); sharedResolves.length = 0; }); }); items.length = 0; }); return promise; }; return { add: add, fetchItems: fetchItems, fetchList: fetchList }; }; /* harmony default export */ var helpers_callbacks = (helperCallbacksInit); // EXTERNAL MODULE: ./node_modules/react-ssr-prepass/dist/react-ssr-prepass.production.min.js var react_ssr_prepass_production_min = __webpack_require__(48709); var react_ssr_prepass_production_min_default = /*#__PURE__*/__webpack_require__.n(react_ssr_prepass_production_min); ;// CONCATENATED MODULE: ./node_modules/tinhte-api-react/es/helpers/fetchApiDataForProvider.js var fetchApiDataForProvider = function fetchApiDataForProvider(api, internalApi, rootElement) { var queue = []; var reasons = {}; return react_ssr_prepass_production_min_default()(rootElement, function (element) { if (element && element.type && typeof element.type.apiPreFetch === 'function') { element.type.apiPreFetch(api, element, queue); } }).then(function () { internalApi.log('fetchApiDataForProvider queue.length = %d', queue.length); if (queue.length === 0) { return {}; } var fetches = function fetches() { return queue.forEach(function (fetch, i) { return api.fetchOne(fetch).catch(function (reason) { var uniqueId = helpers_standardizeReqOptions(fetch); internalApi.log('fetchApiDataForProvider queue[%d] has been rejected (%s, %s)', i, uniqueId, reason); reasons[uniqueId] = reason instanceof Error ? reason.message : reason; }); }); }; return api.fetchMultiple(fetches); }).then(function (json) { var jobs = json && json.jobs ? json.jobs : {}; return { jobs: jobs, reasons: reasons }; }); }; /* harmony default export */ var helpers_fetchApiDataForProvider = (fetchApiDataForProvider); ;// CONCATENATED MODULE: ./node_modules/tinhte-api-react/es/helpers/errors.js /* harmony default export */ var helpers_errors = ({ API_CONSUMER: { REQUIRED_PARAM_MISSING: 'ApiConsumer HOC requires Component param' }, API_PROVIDER: { REQUIRED_PARAMS_MISSING: 'ApiProvider HOC requires 3 params: Component, api, internalApi' } }); ;// CONCATENATED MODULE: ./node_modules/tinhte-api-react/es/hoc/ApiContext.js var api = null; var apiData = {}; var internalApi = null; var Context = react.createContext({ api: api, apiData: apiData, internalApi: internalApi }); /* harmony default export */ var ApiContext = (Context); ;// CONCATENATED MODULE: ./node_modules/tinhte-api-react/es/hoc/ApiConsumer.js var createFetchObject = function createFetchObject(api, element, fetches, key) { var fetch = fetches[key]; if (typeof fetch === 'function') { fetch = fetch(api, element.props); if (!fetch) { return null; } } if ((typeof fetch === 'undefined' ? 'undefined' : (0,helpers_typeof.default)(fetch)) !== 'object' || typeof fetch.body !== 'undefined' || typeof fetch.parseJson !== 'undefined') { return null; } return (0,helpers_extends.default)({}, fetch); }; var useApiData = function useApiData(apiConsumer, fetches) { if ((typeof fetches === 'undefined' ? 'undefined' : (0,helpers_typeof.default)(fetches)) !== 'object') { return; } var fetchKeys = keys_default()(fetches); if (fetchKeys.length === 0) { return; } var props = apiConsumer.props, state = apiConsumer.state; var apiContext = props.apiContext; var fetchedData = state.fetchedData; var api = apiContext.api, _apiContext$apiData = apiContext.apiData, jobs = _apiContext$apiData.jobs, reasons = _apiContext$apiData.reasons, internalApi = apiContext.internalApi; if (!api || !jobs || !internalApi) { return; } fetchKeys.forEach(function (key) { if (typeof props[key] !== 'undefined') { return; } var fetch = createFetchObject(api, apiConsumer, fetches, key); if (!fetch) { return; } var uniqueId = helpers_standardizeReqOptions(fetch); var job = jobs[uniqueId]; if (!job || !job._req || job._req.method !== fetch.method || job._req.uri !== fetch.uri) { return; } if (reasons[uniqueId]) { var error = fetch.error; var reason = typeof reasons[uniqueId] === 'string' ? new Error(reasons[uniqueId]) : reasons[uniqueId]; fetchedData[key] = error ? error(reason) : {}; } else { var success = fetch.success; fetchedData[key] = success ? success(job) : job; } }); internalApi.log('useApiData -> fetchedData (keys): ', keys_default()(fetchedData)); }; var executeFetchesIfNeeded = function executeFetchesIfNeeded(apiConsumer, eventName, fetches, onFetched) { var notify = function notify() { return onFetched && onFetched(); }; if (!fetches) { return notify(); } var props = apiConsumer.props, state = apiConsumer.state; var apiContext = props.apiContext; var fetchedData = state.fetchedData; var neededFetches = {}; keys_default()(fetches).forEach(function (key) { if (typeof props[key] !== 'undefined') { return; } if (typeof fetchedData[key] !== 'undefined') { return; } neededFetches[key] = fetches[key]; }); var neededKeys = keys_default()(neededFetches); if (neededKeys.length === 0) { return notify(); } var api = apiContext.api, internalApi = apiContext.internalApi; if (!api || !api[eventName] || typeof api[eventName] !== 'function' || !internalApi) { return notify(); } var onEvent = api[eventName]; internalApi.log('executeFetchesIfNeeded -> neededKeys', neededKeys); return onEvent(function () { return executeFetches(apiConsumer, api, neededFetches).then(notify); }); }; var executeFetches = function executeFetches(apiConsumer, api, fetches) { var promises = []; var fetchedData = {}; keys_default()(fetches).forEach(function (key) { var fetch = createFetchObject(api, apiConsumer, fetches, key); if (!fetch) { return; } var error = fetch.error, success = fetch.success; promises.push(api.fetchOne(fetch).then(success || function (json) { return json; }, error || function () { return {}; }).then(function (value) { return fetchedData[key] = value; })); }); return promise_default().all(promises).then(function () { return apiConsumer.setState(function (prevState) { return { fetchedData: (0,helpers_extends.default)({}, prevState.fetchedData, fetchedData) }; }); }); }; var hocApiConsumer = function hocApiConsumer(Component) { if (!Component) { throw new Error(helpers_errors.API_CONSUMER.REQUIRED_PARAM_MISSING); } var ApiConsumer = function (_React$Component) { (0,inherits.default)(ApiConsumer, _React$Component); function ApiConsumer(props) { (0,classCallCheck.default)(this, ApiConsumer); var _this = (0,possibleConstructorReturn.default)(this, _React$Component.call(this, props)); _this.cancelFetches = null; _this.cancelFetchesWithAuth = null; var fetchedData = {}; _this.state = { fetchedData: fetchedData }; var apiFetches = Component.apiFetches; useApiData(_this, apiFetches); return _this; } ApiConsumer.prototype.componentDidMount = function componentDidMount() { var apiFetches = Component.apiFetches, apiFetchesWithAuth = Component.apiFetchesWithAuth; var _props = this.props, onFetched = _props.onFetched, onFetchedWithAuth = _props.onFetchedWithAuth; this.cancelFetches = executeFetchesIfNeeded(this, 'onProviderMounted', apiFetches, onFetched); this.cancelFetchesWithAuth = executeFetchesIfNeeded(this, 'onAuthenticated', apiFetchesWithAuth, onFetchedWithAuth); }; ApiConsumer.prototype.componentWillUnmount = function componentWillUnmount() { if (this.cancelFetches) { this.cancelFetches(); this.cancelFetches = null; } if (this.cancelFetchesWithAuth) { this.cancelFetchesWithAuth(); this.cancelFetchesWithAuth = null; } }; ApiConsumer.prototype.render = function render() { var apiContext = this.props.apiContext; var api = apiContext.api; var props = (0,helpers_extends.default)({}, this.props); delete props.apiContext; return react.createElement(Component, (0,helpers_extends.default)({}, props, this.state.fetchedData, { api: api })); }; return ApiConsumer; }(react.Component); var ApiContextConsumer = function ApiContextConsumer(props) { return react.createElement( ApiContext.Consumer, null, function (apiContext) { return react.createElement(ApiConsumer, (0,helpers_extends.default)({}, props, { apiContext: apiContext })); } ); }; ApiContextConsumer.apiPreFetch = function (api, element, queue) { var fetches = Component.apiFetches; if ((typeof fetches === 'undefined' ? 'undefined' : (0,helpers_typeof.default)(fetches)) !== 'object') { return; } keys_default()(fetches).forEach(function (key) { var fetch = createFetchObject(api, element, fetches, key); if (!fetch) { return; } queue.push(fetch); }); }; return ApiContextConsumer; }; /* harmony default export */ var ApiConsumer = (hocApiConsumer); ;// CONCATENATED MODULE: ./node_modules/tinhte-api-react/es/hoc/ApiProvider.js var hocApiProvider = function hocApiProvider(Component, api, internalApi) { if (!Component || !api || !internalApi) { throw new Error(helpers_errors.API_PROVIDER.REQUIRED_PARAMS_MISSING); } var ApiProvider = function (_React$Component) { (0,inherits.default)(ApiProvider, _React$Component); function ApiProvider(props) { (0,classCallCheck.default)(this, ApiProvider); var _this = (0,possibleConstructorReturn.default)(this, _React$Component.call(this, props)); if (props.apiConfig) { api.updateConfig(props.apiConfig); } var apiData = _this.props.apiData || {}; var apiContext = { api: api, apiData: apiData, internalApi: internalApi }; _this.state = { apiContext: apiContext }; return _this; } ApiProvider.prototype.componentDidMount = function componentDidMount() { internalApi.setProviderMounted(); }; ApiProvider.prototype.render = function render() { var props = (0,helpers_extends.default)({}, this.props); delete props.apiConfig; delete props.apiData; return react.createElement( ApiContext.Provider, { className: 'ApiProvider', value: this.state.apiContext }, react.createElement(Component, props), api.getAccessToken() === '' && react.createElement(internalApi.LoaderComponent, null) ); }; return ApiProvider; }(react.Component); return ApiProvider; }; /* harmony default export */ var ApiProvider = (hocApiProvider); ;// CONCATENATED MODULE: ./node_modules/tinhte-api-react/es/factory.js var reactFactory = function reactFactory(apiCore) { var api = apiCore; var providerMounted = false; var internalApi = { LoaderComponent: function LoaderComponent() { return react.createElement(components_Loader, { api: api, internalApi: internalApi }); }, log: function log(message) { if (!api.getDebug()) { return false; } var args = arguments; args[0] = '[tinhte-api-react#' + api.getUniqueId() + '] ' + args[0]; console.log.apply(this, args); return true; }, setAuth: function setAuth(newAuth) { var auth = {}; var done = function done() { api.updateConfig({ auth: auth }); callbacks.fetchList(callbackListForAuth); }; if (!newAuth || newAuth.state !== api.getUniqueId()) { return done(); } if (typeof newAuth.access_token === 'string') { auth.accessToken = newAuth.access_token; } var userId = 0; if (typeof newAuth.user_id === 'number') { userId = newAuth.user_id; } else if (typeof newAuth.user_id === 'string') { userId = parseInt(newAuth.user_id); } if (userId > 0) { auth.userId = userId; } return done(); }, setProviderMounted: function setProviderMounted() { if (providerMounted) { return 0; } providerMounted = true; return callbacks.fetchList(callbackListForProviderMount); } }; var callbackListForAuth = { name: 'auth', items: [] }; var callbackListForProviderMount = { name: 'provider mount', items: [] }; var callbacks = helpers_callbacks(api, internalApi); api.CallbackComponent = function () { return react.createElement(components_Callback, { api: api, internalApi: internalApi }); }; api.ConsumerHoc = ApiConsumer; api.ProviderHoc = function (Component) { return ApiProvider(Component, api, internalApi); }; var coreClone = api.clone; api.clone = function () { var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var clonedApi = coreClone.call(api, config); return reactFactory(clonedApi); }; api.fetchApiDataForProvider = function (rootElement) { return helpers_fetchApiDataForProvider(api, internalApi, rootElement); }; api.onAuthenticated = function (callback) { return callbacks.add(callbackListForAuth, callback, api.hasAuth()); }; api.onProviderMounted = function (callback) { return callbacks.add(callbackListForProviderMount, callback, providerMounted); }; if (api.getDebug()) { api.getInternalApi = function () { return internalApi; }; } return api; }; var factory_apiFactory = function apiFactory() { var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var apiCore = factory(config); var apiReact = reactFactory(apiCore); return apiReact; }; /* harmony default export */ var es_factory = (factory_apiFactory); ;// CONCATENATED MODULE: ./node_modules/tinhte-api-react/es/hoc/index.js var hoc = { ApiConsumer: ApiConsumer, ApiProvider: ApiProvider }; /* harmony default export */ var es_hoc = (hoc); ;// CONCATENATED MODULE: ./node_modules/tinhte-api-react/es/index.js /* harmony default export */ var es = ({ apiFactory: es_factory, apiHoc: es_hoc, processCallback: processCallback }); /***/ }), /***/ 23451: /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/*! * UAParser.js v0.7.21 * Lightweight JavaScript-based User-Agent string parser * https://github.com/faisalman/ua-parser-js * * Copyright © 2012-2019 Faisal Salman * Licensed under MIT License */ (function(window,undefined){"use strict";var LIBVERSION="0.7.21",EMPTY="",UNKNOWN="?",FUNC_TYPE="function",UNDEF_TYPE="undefined",OBJ_TYPE="object",STR_TYPE="string",MAJOR="major",MODEL="model",NAME="name",TYPE="type",VENDOR="vendor",VERSION="version",ARCHITECTURE="architecture",CONSOLE="console",MOBILE="mobile",TABLET="tablet",SMARTTV="smarttv",WEARABLE="wearable",EMBEDDED="embedded";var util={extend:function(regexes,extensions){var mergedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){mergedRegexes[i]=extensions[i].concat(regexes[i])}else{mergedRegexes[i]=regexes[i]}}return mergedRegexes},has:function(str1,str2){if(typeof str1==="string"){return str2.toLowerCase().indexOf(str1.toLowerCase())!==-1}else{return false}},lowerize:function(str){return str.toLowerCase()},major:function(version){return typeof version===STR_TYPE?version.replace(/[^\d\.]/g,"").split(".")[0]:undefined},trim:function(str){return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}};var mapper={rgx:function(ua,arrays){var i=0,j,k,p,q,matches,match;while(i0){if(q.length==2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length==3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length==4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},str:function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j 1 ? len - 1 : 0); for (var key = 1; key < len; key++) { args[key - 1] = arguments[key]; } var argIndex = 0; var message = 'Warning: ' + format.replace(/%s/g, function() { return args[argIndex++]; }); if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} } warning = function(condition, format, args) { var len = arguments.length; args = new Array(len > 2 ? len - 2 : 0); for (var key = 2; key < len; key++) { args[key - 2] = arguments[key]; } if (format === undefined) { throw new Error( '`warning(condition, format, ...args)` requires a warning ' + 'message argument' ); } if (!condition) { printWarning.apply(null, [format].concat(args)); } }; } module.exports = warning; /***/ }), /***/ 56586: /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": function() { return /* binding */ _arrayLikeToArray; } /* harmony export */ }); function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } /***/ }), /***/ 30266: /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": function() { return /* binding */ _asyncToGenerator; } /* harmony export */ }); function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } /***/ }), /***/ 80318: /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ _slicedToArray; } }); ;// CONCATENATED MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } ;// CONCATENATED MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js var unsupportedIterableToArray = __webpack_require__(16988); ;// CONCATENATED MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } ;// CONCATENATED MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/slicedToArray.js function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || (0,unsupportedIterableToArray/* default */.Z)(arr, i) || _nonIterableRest(); } /***/ }), /***/ 83789: /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ _toConsumableArray; } }); // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js var arrayLikeToArray = __webpack_require__(56586); ;// CONCATENATED MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return (0,arrayLikeToArray/* default */.Z)(arr); } ;// CONCATENATED MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/iterableToArray.js function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } // EXTERNAL MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js var unsupportedIterableToArray = __webpack_require__(16988); ;// CONCATENATED MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } ;// CONCATENATED MODULE: ./node_modules/next/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || (0,unsupportedIterableToArray/* default */.Z)(arr) || _nonIterableSpread(); } /***/ }), /***/ 16988: /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": function() { return /* binding */ _unsupportedIterableToArray; } /* harmony export */ }); /* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(56586); function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z)(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__/* .default */ .Z)(o, minLen); } /***/ }) }, /******/ function(__webpack_require__) { // webpackRuntimeModules /******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } /******/ __webpack_require__.O(0, [2888,179], function() { return __webpack_exec__(44475); }); /******/ var __webpack_exports__ = __webpack_require__.O(); /******/ _N_E = __webpack_exports__; /******/ } ]);