Gutenberg - Version 13.2.1

Version Description

Download this release

Release Info

Developer gutenbergplugin
Plugin Icon 128x128 Gutenberg
Version 13.2.1
Comparing to
See all releases

Code changes from version 13.2.0 to 13.2.1

build/block-editor/index.js CHANGED
@@ -25138,7 +25138,8 @@ function BlockPopoverInbetween(_ref) {
25138
  ,
25139
  key: nextClientId + '--' + rootClientId
25140
  }, props, {
25141
- className: classnames_default()('block-editor-block-popover', props.className)
 
25142
  }), (0,external_wp_element_namespaceObject.createElement)("div", {
25143
  style: style
25144
  }, children));
25138
  ,
25139
  key: nextClientId + '--' + rootClientId
25140
  }, props, {
25141
+ className: classnames_default()('block-editor-block-popover', props.className),
25142
+ __unstableForcePosition: true
25143
  }), (0,external_wp_element_namespaceObject.createElement)("div", {
25144
  style: style
25145
  }, children));
build/block-editor/index.min.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-rich-text', 'wp-shortcode', 'wp-token-list', 'wp-url', 'wp-warning', 'wp-wordcount'), 'version' => 'a93c1602c5b58c0c16963c79f0e31df7');
1
+ <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-rich-text', 'wp-shortcode', 'wp-token-list', 'wp-url', 'wp-warning', 'wp-wordcount'), 'version' => '87f03e13682abfb7e44e55f98bdb14ab');
build/block-editor/index.min.js CHANGED
@@ -27,7 +27,7 @@ title:(0,g.__)("Patterns")},fp={name:"reusable",
27
  title:(0,g.__)("Reusable")};var gp=function(e){let{children:t,showPatterns:n=!1,showReusableBlocks:o=!1,onSelect:r}=e;const l=(0,s.useMemo)((()=>{const e=[pp];return n&&e.push(mp),o&&e.push(fp),e}),[pp,n,mp,o,fp]);return(0,s.createElement)(p.TabPanel,{className:"block-editor-inserter__tabs",tabs:l,onSelect:r},t)},hp=(0,s.forwardRef)((function(e,t){let{rootClientId:n,clientId:o,isAppender:r,__experimentalInsertionIndex:l,onSelect:i,showInserterHelpPanel:a,showMostUsedBlocks:c,__experimentalFilterValue:u="",shouldFocusBlock:d=!0}=e;const[f,h]=(0,s.useState)(u),[v,b]=(0,s.useState)(null),[k,_]=(0,s.useState)(null),[y,E,C]=zd({rootClientId:n,clientId:o,isAppender:r,insertionIndex:l,shouldFocusBlock:d}),{showPatterns:S,hasReusableBlocks:w}=(0,m.useSelect)((e=>{var t;const{__experimentalGetAllowedPatterns:n,getSettings:o}=e(Qn);return{showPatterns:!!n(y).length,hasReusableBlocks:!(null===(t=o().__experimentalReusableBlocks)||void 0===t||!t.length)}}),[y]),B=(0,s.useCallback)(((e,t,n)=>{E(e,t,n),i()}),[E,i]),I=(0,s.useCallback)(((e,t)=>{E(e,{patternName:t}),i()}),[E,i]),x=(0,s.useCallback)((e=>{C(!!e),b(e)}),[C,b]),T=(0,s.useCallback)((e=>{_(e)}),[_]),N=(0,s.useMemo)((()=>(0,s.createElement)(s.Fragment,null,(0,s.createElement)("div",{className:"block-editor-inserter__block-list"},(0,s.createElement)(xd,{rootClientId:y,onInsert:B,onHover:x,showMostUsedBlocks:c})),a&&(0,s.createElement)("div",{className:"block-editor-inserter__tips"},(0,s.createElement)(p.VisuallyHidden,{as:"h2"},(0,g.__)("A tip for using the block editor")),(0,s.createElement)(Lc,null)))),[y,B,x,f,c,a]),P=(0,s.useMemo)((()=>(0,s.createElement)(op,{rootClientId:y,onInsert:I,onClickCategory:T,selectedCategory:k})),[y,I,T,k]),M=(0,s.useMemo)((()=>(0,s.createElement)(ip,{rootClientId:y,onInsert:B,onHover:x})),[y,B,x]),R=(0,s.useCallback)((e=>"blocks"===e.name?N:"patterns"===e.name?P:M),[N,P,M]),L=(0,s.useRef)();return(0,s.useImperativeHandle)(t,(()=>({focusSearch:()=>{L.current.focus()}}))),(0,s.createElement)("div",{className:"block-editor-inserter__menu"},(0,s.createElement)("div",{className:"block-editor-inserter__main-area"},(0,s.createElement)("div",{className:"block-editor-inserter__content"},(0,s.createElement)(p.SearchControl,{className:"block-editor-inserter__search",onChange:e=>{v&&b(null),h(e)},value:f,label:(0,g.__)("Search for blocks and patterns"),placeholder:(0,g.__)("Search"),ref:L}),!!f&&(0,s.createElement)(dp,{filterValue:f,onSelect:i,onHover:x,rootClientId:n,clientId:o,isAppender:r,__experimentalInsertionIndex:l,showBlockDirectory:!0,shouldFocusBlock:d}),!f&&(S||w)&&(0,s.createElement)(gp,{showPatterns:S,showReusableBlocks:w},R),!f&&!S&&!w&&N)),a&&v&&(0,s.createElement)(md,{item:v}))}));function vp(e){let{onSelect:t,rootClientId:n,clientId:o,isAppender:r,prioritizePatterns:l}=e;const[i,a]=(0,s.useState)(""),[u,d]=zd({onSelect:t,rootClientId:n,clientId:o,isAppender:r}),[f]=wd(u,d),[h]=Pd(d,u),{setInserterIsOpened:v,insertionIndex:b}=(0,m.useSelect)((e=>{const{getSettings:t,getBlockIndex:n,getBlockCount:r}=e(Qn),l=t(),i=n(o),s=r();return{setInserterIsOpened:l.__experimentalSetIsInserterOpened,insertionIndex:-1===i?s:i}}),[o]),k=h.length&&(!!i||l),_=k&&h.length>6||f.length>6;(0,s.useEffect)((()=>{v&&v(!1)}),[v]);let y=0;return k&&(y=l?4:2),(0,s.createElement)("div",{className:c()("block-editor-inserter__quick-inserter",{"has-search":_,"has-expand":v})},_&&(0,s.createElement)(p.SearchControl,{className:"block-editor-inserter__search",value:i,onChange:e=>{a(e)},label:(0,g.__)("Search for blocks and patterns"),placeholder:(0,g.__)("Search")}),(0,s.createElement)("div",{className:"block-editor-inserter__quick-inserter-results"},(0,s.createElement)(dp,{filterValue:i,onSelect:t,rootClientId:n,clientId:o,isAppender:r,maxBlockPatterns:y,maxBlockTypes:6,isDraggable:!1,prioritizePatterns:l})),v&&(0,s.createElement)(p.Button,{className:"block-editor-inserter__quick-inserter-expand",onClick:()=>{v({rootClientId:n,insertionIndex:b,filterValue:i})},"aria-label":(0,g.__)("Browse all. This will open the main inserter panel in the editor toolbar.")},(0,g.__)("Browse all")))}const bp=e=>{let t,{onToggle:n,disabled:o,isOpen:r,blockTitle:l,hasSingleBlockType:a,toggleProps:c={},prioritizePatterns:u}=e;t=a?(0,g.sprintf)(// translators: %s: the name of the block when there is only one
28
  (0,g._x)("Add %s","directly add the only allowed block"),l):u?(0,g.__)("Add pattern"):(0,g._x)("Add block","Generic label for block inserter button");const{onClick:d,...m}=c;return(0,s.createElement)(p.Button,i({icon:Mc,label:t,tooltipPosition:"bottom",onClick:function(e){n&&n(e),d&&d(e)},className:"block-editor-inserter__toggle","aria-haspopup":!a&&"true","aria-expanded":!a&&r,disabled:o},m))};class kp extends s.Component{constructor(){super(...arguments),this.onToggle=this.onToggle.bind(this),this.renderToggle=this.renderToggle.bind(this),this.renderContent=this.renderContent.bind(this)}onToggle(e){const{onToggle:t}=this.props;t&&t(e)}renderToggle(e){let{onToggle:t,isOpen:n}=e;const{disabled:o,blockTitle:r,hasSingleBlockType:l,directInsertBlock:i,toggleProps:s,hasItems:a,renderToggle:c=bp,prioritizePatterns:u}=this.props;return c({onToggle:t,isOpen:n,disabled:o||!a,blockTitle:r,hasSingleBlockType:l,directInsertBlock:i,toggleProps:s,prioritizePatterns:u})}renderContent(e){let{onClose:t}=e;const{rootClientId:n,clientId:o,isAppender:r,showInserterHelpPanel:l,__experimentalIsQuick:i,prioritizePatterns:a}=this.props;return i?(0,s.createElement)(vp,{onSelect:()=>{t()},rootClientId:n,clientId:o,isAppender:r,prioritizePatterns:a}):(0,s.createElement)(hp,{onSelect:()=>{t()},rootClientId:n,clientId:o,isAppender:r,showInserterHelpPanel:l})}render(){const{position:e,hasSingleBlockType:t,directInsertBlock:n,insertOnlyAllowedBlock:o,__experimentalIsQuick:r,onSelectOrClose:l}=this.props;return t||n?this.renderToggle({onToggle:o}):(0,s.createElement)(p.Dropdown,{className:"block-editor-inserter",contentClassName:c()("block-editor-inserter__popover",{"is-quick":r}),position:e,onToggle:this.onToggle,expandOnMobile:!0,headerTitle:(0,g.__)("Add a block"),renderToggle:this.renderToggle,renderContent:this.renderContent,onClose:l})}}var _p=(0,d.compose)([(0,m.withSelect)(((e,t)=>{let{clientId:n,rootClientId:o}=t;const{getBlockRootClientId:l,hasInserterItems:i,__experimentalGetAllowedBlocks:s,__experimentalGetDirectInsertBlock:a,getBlockIndex:c,getBlockCount:d,getSettings:p}=e(Qn),{getBlockVariations:m}=e(r.store);o=o||l(n)||void 0;const f=s(o),g=a(o),h=c(n),v=d(),b=p(),k=1===(0,u.size)(f)&&0===(0,u.size)(m(f[0].name,"inserter"));let _=!1;return k&&(_=f[0]),{hasItems:i(o),hasSingleBlockType:k,blockTitle:_?_.title:"",allowedBlockType:_,directInsertBlock:g,rootClientId:o,prioritizePatterns:b.__experimentalPreferPatternsOnRoot&&!o&&h>0&&(h<v||0===v)}})),(0,m.withDispatch)(((e,t,n)=>{let{select:o}=n;return{insertOnlyAllowedBlock(){const{rootClientId:n,clientId:l,isAppender:i,hasSingleBlockType:s,allowedBlockType:a,directInsertBlock:c,onSelectOrClose:u}=t;if(!s&&!c)return;const{insertBlock:d}=e(Qn);let p;if(c){const e=function(e){const{getBlock:t,getPreviousBlockClientId:r}=o(Qn);if(!e||!l&&!n)return{};const i={};let s={};if(l){const e=t(l),n=t(r(l));(null==e?void 0:e.name)===(null==n?void 0:n.name)&&(s=(null==n?void 0:n.attributes)||{})}else{var a;const e=t(n);if(null!=e&&null!==(a=e.innerBlocks)&&void 0!==a&&a.length){const t=e.innerBlocks[e.innerBlocks.length-1];c&&(null==c?void 0:c.name)===t.name&&(s=t.attributes)}}return e.forEach((e=>{s.hasOwnProperty(e)&&(i[e]=s[e])})),i}(c.attributesToCopy);p=(0,r.createBlock)(c.name,{...c.attributes||{},...e})}else p=(0,r.createBlock)(a.name);d(p,function(){const{getBlockIndex:e,getBlockSelectionEnd:t,getBlockOrder:r,getBlockRootClientId:s}=o(Qn);if(l)return e(l);const a=t();return!i&&a&&s(a)===n?e(a)+1:r(n).length}(),n),u&&u();const m=(0,g.sprintf)(// translators: %s: the name of the block that has been added
29
  (0,g.__)("%s block added"),a.title);(0,Ht.speak)(m)}}})),(0,d.ifCondition)((e=>{let{hasItems:t,isAppender:n,rootClientId:o,clientId:r}=e;return t||!n&&!o&&!r}))])(kp),yp=(0,d.compose)((0,m.withSelect)(((e,t)=>{const{getBlockCount:n,getSettings:o,getTemplateLock:r}=e(Qn),l=!n(t.rootClientId),{bodyPlaceholder:i}=o();return{showPrompt:l,isLocked:!!r(t.rootClientId),placeholder:i}})),(0,m.withDispatch)(((e,t)=>{const{insertDefaultBlock:n,startTyping:o}=e(Qn);return{onAppend(){const{rootClientId:e}=t;n(void 0,e),o()}}})))((function(e){let{isLocked:t,onAppend:n,showPrompt:o,placeholder:r,rootClientId:l}=e;if(t)return null;const i=(0,Pc.decodeEntities)(r)||(0,g.__)("Type / to choose a block");return(0,s.createElement)("div",{"data-root-client-id":l||"",className:c()("block-editor-default-block-appender",{"has-visible-prompt":o})},(0,s.createElement)("p",{tabIndex:"0",role:"button","aria-label":(0,g.__)("Add default block"),className:"block-editor-default-block-appender__content",onKeyDown:e=>{yc.ENTER!==e.keyCode&&yc.SPACE!==e.keyCode||n()},onClick:()=>n(),onFocus:()=>{o&&n()}},o?i:"\ufeff"),(0,s.createElement)(_p,{rootClientId:l,position:"bottom right",isAppender:!0,__experimentalIsQuick:!0}))}));function Ep(e,t){let{rootClientId:n,className:o,onFocus:r,tabIndex:l}=e;return(0,s.createElement)(_p,{position:"bottom center",rootClientId:n,__experimentalIsQuick:!0,renderToggle:e=>{let n,{onToggle:i,disabled:a,isOpen:u,blockTitle:d,hasSingleBlockType:m}=e;n=m?(0,g.sprintf)(// translators: %s: the name of the block when there is only one
30
- (0,g._x)("Add %s","directly add the only allowed block"),d):(0,g._x)("Add block","Generic label for block inserter button");const f=!m;let h=(0,s.createElement)(p.Button,{ref:t,onFocus:r,tabIndex:l,className:c()(o,"block-editor-button-block-appender"),onClick:i,"aria-haspopup":f?"true":void 0,"aria-expanded":f?u:void 0,disabled:a,label:n},!m&&(0,s.createElement)(p.VisuallyHidden,{as:"span"},n),(0,s.createElement)(Ir,{icon:Mc}));return(f||m)&&(h=(0,s.createElement)(p.Tooltip,{text:n},h)),h},isAppender:!0})}const Cp=(0,s.forwardRef)(((e,t)=>(H()("wp.blockEditor.ButtonBlockerAppender",{alternative:"wp.blockEditor.ButtonBlockAppender",since:"5.9"}),Ep(e,t))));var Sp=(0,s.forwardRef)(Ep),wp=(0,m.withSelect)(((e,t)=>{let{rootClientId:n}=t;const{canInsertBlockType:o,getTemplateLock:l,getSelectedBlockClientId:i}=e(Qn);return{isLocked:!!l(n),canInsertDefaultBlock:o((0,r.getDefaultBlockName)(),n),selectedBlockClientId:i()}}))((function(e){let t,{rootClientId:n,canInsertDefaultBlock:o,isLocked:r,renderAppender:l,className:i,selectedBlockClientId:a,tagName:u="div"}=e;if(r||!1===l)return null;if(l)t=(0,s.createElement)(l,null);else{if(a!==n&&(n||a))return null;t=o?(0,s.createElement)(yp,{rootClientId:n}):(0,s.createElement)(Sp,{rootClientId:n,className:"block-list-appender__toggle"})}return(0,s.createElement)(u,{tabIndex:-1,className:c()("block-list-appender wp-block",i),contentEditable:!1,"data-block":!0},t)}));(0,s.createContext)();var Bp=function(e){let{previousClientId:t,nextClientId:n,children:o,__unstablePopoverSlot:r,__unstableContentRef:l,...a}=e;const{orientation:u,rootClientId:d}=(0,m.useSelect)((e=>{var n;const{getBlockListSettings:o,getBlockRootClientId:r}=e(Qn),l=r(t);return{orientation:(null===(n=o(l))||void 0===n?void 0:n.orientation)||"vertical",rootClientId:l}}),[t]),f=ko(t),h=ko(n),v="vertical"===u,b=(0,s.useMemo)((()=>{if(!f&&!h)return{};const e=f?f.getBoundingClientRect():null,t=h?h.getBoundingClientRect():null;if(v)return{width:f?f.offsetWidth:h.offsetWidth,height:t&&e?t.top-e.bottom:0};let n=0;return e&&t&&(n=(0,g.isRTL)()?e.left-t.right:t.left-e.right),{width:n,height:f?f.offsetHeight:h.offsetHeight}}),[f,h,v]),k=(0,s.useCallback)((()=>{if(!f&&!h)return{};const{ownerDocument:e}=f||h,t=f?f.getBoundingClientRect():null,n=h?h.getBoundingClientRect():null;return v?(0,g.isRTL)()?{top:t?t.bottom:n.top,left:t?t.right:n.right,right:t?t.left:n.left,bottom:n?n.top:t.bottom,ownerDocument:e}:{top:t?t.bottom:n.top,left:t?t.left:n.left,right:t?t.right:n.right,bottom:n?n.top:t.bottom,ownerDocument:e}:(0,g.isRTL)()?{top:t?t.top:n.top,left:t?t.left:n.right,right:n?n.right:t.left,bottom:t?t.bottom:n.bottom,ownerDocument:e}:{top:t?t.top:n.top,left:t?t.right:n.left,right:n?n.left:t.right,bottom:t?t.bottom:n.bottom,ownerDocument:e}}),[f,h]),_=zo(l);return f&&h?(0,s.createElement)(p.Popover,i({ref:_,noArrow:!0,animate:!1,getAnchorRect:k,focusOnMount:!1,__unstableSlotName:r||null,key:n+"--"+d},a,{className:c()("block-editor-block-popover",a.className)}),(0,s.createElement)("div",{style:b},o)):null};const Ip=(0,s.createContext)();function xp(e){let{__unstablePopoverSlot:t,__unstableContentRef:n}=e;const{selectBlock:o,hideInsertionPoint:r}=(0,m.useDispatch)(Qn),l=(0,s.useContext)(Ip),i=(0,s.useRef)(),{orientation:a,previousClientId:u,nextClientId:f,rootClientId:g,isInserterShown:h}=(0,m.useSelect)((e=>{var t;const{getBlockOrder:n,getBlockListSettings:o,getBlockInsertionPoint:r,isBlockBeingDragged:l,getPreviousBlockClientId:i,getNextBlockClientId:s}=e(Qn),a=r(),c=n(a.rootClientId);if(!c.length)return{};let u=c[a.index-1],d=c[a.index];for(;l(u);)u=i(u);for(;l(d);)d=s(d);return{previousClientId:u,nextClientId:d,orientation:(null===(t=o(a.rootClientId))||void 0===t?void 0:t.orientation)||"vertical",rootClientId:a.rootClientId,isInserterShown:null==a?void 0:a.__unstableWithInserter}}),[]),v="vertical"===a,b=(0,d.useReducedMotion)(),k={start:{...v?{height:0,left:"50%",right:"50%",y:0}:{width:0,top:"50%",bottom:"50%",x:0},opacity:0},rest:{...v?{height:4,left:0,right:0,y:-2}:{width:4,top:0,bottom:0,x:-2},opacity:1,borderRadius:"2px",transition:{delay:h?.4:0}},hover:{...v?{height:4,left:0,right:0,y:-2}:{width:4,top:0,bottom:0,x:-2},opacity:1,borderRadius:"2px",transition:{delay:.4}}},_={start:{scale:b?1:0},rest:{scale:1,transition:{delay:.2}}},y=c()("block-editor-block-list__insertion-point","is-"+a);return(0,s.createElement)(Bp,{previousClientId:u,nextClientId:f,__unstablePopoverSlot:t,__unstableContentRef:n},(0,s.createElement)(p.__unstableMotion.div,{layout:!b,initial:b?"rest":"start",animate:"rest",whileHover:"hover",whileTap:"pressed",exit:"start",ref:i,tabIndex:-1,onClick:function(e){e.target===i.current&&f&&o(f,-1)},onFocus:function(e){e.target!==i.current&&(l.current=!0)},className:c()(y,{"is-with-inserter":h}),onHoverEnd:function(e){e.target!==i.current||l.current||r()}},(0,s.createElement)(p.__unstableMotion.div,{variants:k,className:"block-editor-block-list__insertion-point-indicator"}),h&&(0,s.createElement)(p.__unstableMotion.div,{variants:_,className:c()("block-editor-block-list__insertion-point-inserter")},(0,s.createElement)(_p,{position:"bottom center",clientId:f,rootClientId:g,__experimentalIsQuick:!0,onToggle:e=>{l.current=e},onSelectOrClose:()=>{l.current=!1}}))))}function Tp(e){let{children:t,...n}=e;const o=(0,m.useSelect)((e=>e(Qn).isBlockInsertionPointVisible()),[]);return(0,s.createElement)(Ip.Provider,{value:(0,s.useRef)(!1)},o&&(0,s.createElement)(xp,n),t)}function Np(){const e=(0,s.useContext)(Ip),t=(0,m.useSelect)((e=>e(Qn).getSettings().hasReducedUI),[]),{getBlockListSettings:n,getBlockRootClientId:o,getBlockIndex:r,isBlockInsertionPointVisible:l,isMultiSelecting:i,getSelectedBlockClientIds:a,getTemplateLock:c}=(0,m.useSelect)(Qn),{showInsertionPoint:u,hideInsertionPoint:p}=(0,m.useDispatch)(Qn);return(0,d.useRefEffect)((o=>{if(!t)return o.addEventListener("mousemove",s),()=>{o.removeEventListener("mousemove",s)};function s(t){var o,s;if(e.current)return;if(i())return;if(!t.target.classList.contains("block-editor-block-list__layout"))return void(l()&&p());let d;if(t.target.classList.contains("is-root-container")||(d=(t.target.getAttribute("data-block")?t.target:t.target.closest("[data-block]")).getAttribute("data-block")),c(d))return;const m=(null===(o=n(d))||void 0===o?void 0:o.orientation)||"vertical",f=t.target.getBoundingClientRect(),g=t.clientY-f.top,h=t.clientX-f.left;let v=Array.from(t.target.children).find((e=>e.classList.contains("wp-block")&&"vertical"===m&&e.offsetTop>g||e.classList.contains("wp-block")&&"horizontal"===m&&e.offsetLeft>h));if(!v)return;if(!v.id&&(v=v.firstElementChild,!v))return;if(null===(s=v.parentElement)||void 0===s?void 0:s.closest(".block-editor-block-content-overlay.overlay-active"))return;const b=v.id.slice("block-".length);if(!b)return;if(a().includes(b))return;const k=v.getBoundingClientRect();if("horizontal"===m&&(t.clientY>k.bottom||t.clientY<k.top)||"vertical"===m&&(t.clientX>k.right||t.clientX<k.left))return void(l()&&p());const _=r(b);0!==_?u(d,_,{__unstableWithInserter:!0}):l()&&p()}}),[e,n,o,r,l,i,u,p,a])}const Pp="undefined"==typeof window?e=>{setTimeout((()=>e(Date.now())),0)}:window.requestIdleCallback||window.requestAnimationFrame,Mp="undefined"==typeof window?clearTimeout:window.cancelIdleCallback||window.cancelAnimationFrame;function Rp(e){return(0,m.useSelect)((t=>{if(!e)return null;const{getBlockName:n,getBlockAttributes:o}=t(Qn),{getBlockType:l,getActiveBlockVariation:i}=t(r.store),s=n(e),a=l(s);if(!a)return null;const c=o(e),u=i(s,c),d={title:a.title,icon:a.icon,description:a.description,anchor:null==c?void 0:c.anchor};return u?{title:u.title||a.title,icon:u.icon||a.icon,description:u.description||a.description,anchor:null==c?void 0:c.anchor}:d}),[e])}function Lp(e,t){const{attributes:n,name:o,reusableBlockTitle:l}=(0,m.useSelect)((t=>{if(!e)return{};const{getBlockName:n,getBlockAttributes:o,__experimentalGetReusableBlockTitle:l}=t(Qn),i=n(e);if(!i)return{};const s=(0,r.isReusableBlock)((0,r.getBlockType)(i));return{attributes:o(e),name:i,reusableBlockTitle:s&&l(o(e).ref)}}),[e]),i=Rp(e);if(!o||!i)return null;const s=(0,r.getBlockType)(o),a=s?(0,r.__experimentalGetBlockLabel)(s,n):null,c=l||a,d=c&&c!==s.title?c:i.title;return t&&t>0?(0,u.truncate)(d,{length:t}):d}function Ap(e){let{clientId:t,maximumLength:n}=e;return Lp(t,n)}var Dp=e=>{let{children:t,clientIds:n,cloneClassname:o,onDragStart:l,onDragEnd:i}=e;const{srcRootClientId:a,isDraggable:c,icon:u}=(0,m.useSelect)((e=>{var t;const{canMoveBlocks:o,getBlockRootClientId:l,getBlockName:i}=e(Qn),s=l(n[0]),a=i(n[0]);return{srcRootClientId:s,isDraggable:o(n,s),icon:null===(t=(0,r.getBlockType)(a))||void 0===t?void 0:t.icon}}),[n]),d=(0,s.useRef)(!1),[f,g,h]=function(){const e=(0,s.useRef)(null),t=(0,s.useRef)(null),n=(0,s.useRef)(null),o=(0,s.useRef)(null);return(0,s.useEffect)((()=>()=>{o.current&&(clearInterval(o.current),o.current=null)}),[]),[(0,s.useCallback)((r=>{e.current=r.clientY,n.current=(0,Fo.getScrollContainer)(r.target),o.current=setInterval((()=>{if(n.current&&t.current){const e=n.current.scrollTop+t.current;n.current.scroll({top:e})}}),25)}),[]),(0,s.useCallback)((o=>{if(!n.current)return;const r=n.current.offsetHeight,l=e.current-n.current.offsetTop,i=o.clientY-n.current.offsetTop;if(o.clientY>l){const e=Math.max(r-l-50,0),n=Math.max(i-l-50,0)/e;t.current=25*n}else if(o.clientY<l){const e=Math.max(l-50,0),n=Math.max(l-i-50,0)/e;t.current=-25*n}else t.current=0}),[]),()=>{e.current=null,n.current=null,o.current&&(clearInterval(o.current),o.current=null)}]}(),{startDraggingBlocks:v,stopDraggingBlocks:b}=(0,m.useDispatch)(Qn);if((0,s.useEffect)((()=>()=>{d.current&&b()}),[]),!c)return t({isDraggable:!1});const k={type:"block",srcClientIds:n,srcRootClientId:a};return(0,s.createElement)(p.Draggable,{cloneClassname:o,__experimentalTransferDataType:"wp-blocks",transferData:k,onDragStart:e=>{v(n),d.current=!0,f(e),l&&l()},onDragOver:g,onDragEnd:()=>{b(),d.current=!1,h(),i&&i()},__experimentalDragComponent:(0,s.createElement)(vd,{count:n.length,icon:u})},(e=>{let{onDraggableStart:n,onDraggableEnd:o}=e;return t({draggable:!0,onDragStart:n,onDragEnd:o})}))},Op=function(e){let{clientId:t,rootClientId:n}=e;const o=Rp(t),l=(0,m.useSelect)((e=>{var o;const{getBlock:r,getBlockIndex:l,hasBlockMovingClientId:i,getBlockListSettings:s}=e(Qn),a=l(t),{name:c,attributes:u}=r(t);return{index:a,name:c,attributes:u,blockMovingMode:i(),orientation:null===(o=s(n))||void 0===o?void 0:o.orientation}}),[t,n]),{index:a,name:u,attributes:d,blockMovingMode:f,orientation:h}=l,{setNavigationMode:v,removeBlock:b}=(0,m.useDispatch)(Qn),k=(0,s.useRef)(),_=(0,r.getBlockType)(u),y=(0,r.__experimentalGetAccessibleBlockLabel)(_,d,a+1,h);(0,s.useEffect)((()=>{k.current.focus(),(0,Ht.speak)(y)}),[y]);const E=ko(t),{hasBlockMovingClientId:C,getBlockIndex:S,getBlockRootClientId:w,getClientIdsOfDescendants:B,getSelectedBlockClientId:I,getMultiSelectedBlocksEndClientId:x,getPreviousBlockClientId:T,getNextBlockClientId:N,isNavigationMode:P}=(0,m.useSelect)(Qn),{selectBlock:M,clearSelectedBlock:R,setBlockMovingClientId:L,moveBlockToPosition:A}=(0,m.useDispatch)(Qn),D=c()("block-editor-block-list__block-selection-button",{"is-block-moving-mode":!!f}),O=(0,g.__)("Drag");return(0,s.createElement)("div",{className:D},(0,s.createElement)(p.Flex,{justify:"center",className:"block-editor-block-list__block-selection-button__content"},(0,s.createElement)(p.FlexItem,null,(0,s.createElement)(Dc,{icon:null==o?void 0:o.icon,showColors:!0})),(0,s.createElement)(p.FlexItem,null,(0,s.createElement)(Dp,{clientIds:[t]},(e=>(0,s.createElement)(p.Button,i({icon:hd,className:"block-selection-button_drag-handle","aria-hidden":"true",label:O,tabIndex:"-1"},e))))),(0,s.createElement)(p.FlexItem,null,(0,s.createElement)(p.Button,{ref:k,onClick:()=>v(!1),onKeyDown:function(e){const{keyCode:n}=e,o=n===yc.UP,r=n===yc.DOWN,l=n===yc.LEFT,i=n===yc.RIGHT,s=n===yc.TAB,a=n===yc.ESCAPE,c=n===yc.ENTER,u=n===yc.SPACE,d=e.shiftKey;if(n===yc.BACKSPACE||n===yc.DELETE)return b(t),void e.preventDefault();const p=I(),m=x(),f=T(m||p),g=N(m||p),h=s&&d||o,v=s&&!d||r,k=l,_=i;let y;if(h)y=f;else if(v)y=g;else if(k){var D;y=null!==(D=w(p))&&void 0!==D?D:p}else if(_){var O;y=null!==(O=B([p])[0])&&void 0!==O?O:p}const F=C();if(a&&P()&&(R(),e.preventDefault()),a&&F&&!e.defaultPrevented&&(L(null),e.preventDefault()),(c||u)&&F){const e=w(F),t=w(p),n=S(F);let o=S(p);n<o&&e===t&&(o-=1),A(F,e,t,o),M(F),L(null)}if(v||h||k||_)if(y)e.preventDefault(),M(y);else if(s&&p){let t;if(v){t=E;do{t=Fo.focus.tabbable.findNext(t)}while(t&&E.contains(t));t||(t=E.ownerDocument.defaultView.frameElement,t=Fo.focus.tabbable.findNext(t))}else t=Fo.focus.tabbable.findPrevious(E);t&&(e.preventDefault(),t.focus(),R())}},label:y,className:"block-selection-button_select-button"},(0,s.createElement)(Ap,{clientId:t,maximumLength:35})))))};function Fp(e){return Array.from(e.querySelectorAll("[data-toolbar-item]"))}var zp=function(e){let{children:t,focusOnMount:n,__experimentalInitialIndex:o,__experimentalOnIndexChange:r,...l}=e;const a=(0,s.useRef)(),c=function(e){const[t,n]=(0,s.useState)(!0),o=(0,s.useCallback)((()=>{const t=!Fo.focus.tabbable.find(e.current).some((e=>!("toolbarItem"in e.dataset)));t||H()("Using custom components as toolbar controls",{since:"5.6",alternative:"ToolbarItem, ToolbarButton or ToolbarDropdownMenu components",link:"https://developer.wordpress.org/block-editor/components/toolbar-button/#inside-blockcontrols"}),n(t)}),[]);return(0,s.useLayoutEffect)((()=>{const t=new window.MutationObserver(o);return t.observe(e.current,{childList:!0,subtree:!0}),()=>t.disconnect()}),[t]),t}(a);return function(e,t,n,o,r){const[l]=(0,s.useState)(t),[i]=(0,s.useState)(o),a=(0,s.useCallback)((()=>{!function(e){const[t]=Fo.focus.tabbable.find(e);t&&t.focus()}(e.current)}),[]);(0,Kc.useShortcut)("core/block-editor/focus-toolbar",a),(0,s.useEffect)((()=>{l&&a()}),[n,l,a]),(0,s.useEffect)((()=>{let t=0;return i&&!l&&(t=window.requestAnimationFrame((()=>{const t=Fp(e.current),n=i||0;var o;t[n]&&(o=e.current).contains(o.ownerDocument.activeElement)&&t[n].focus()}))),()=>{if(window.cancelAnimationFrame(t),!r||!e.current)return;const n=Fp(e.current).findIndex((e=>0===e.tabIndex));r(n)}}),[i,l])}(a,n,c,o,r),c?(0,s.createElement)(p.Toolbar,i({label:l["aria-label"],ref:a},l),t):(0,s.createElement)(p.NavigableMenu,i({orientation:"horizontal",role:"toolbar",ref:a},l),t)},Vp=(0,s.createElement)(O.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,s.createElement)(O.Path,{d:"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z"})),Hp=(0,s.createElement)(O.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,s.createElement)(O.Path,{d:"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z"})),Gp=(0,s.createElement)(O.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,s.createElement)(O.Path,{d:"M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z"})),Up=(0,s.createElement)(O.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,s.createElement)(O.Path,{d:"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"}));const Wp=(e,t)=>"up"===e?"horizontal"===t?(0,g.isRTL)()?Vp:Hp:Gp:"down"===e?"horizontal"===t?(0,g.isRTL)()?Hp:Vp:Up:null,$p=(e,t)=>"up"===e?"horizontal"===t?(0,g.isRTL)()?(0,g.__)("Move right"):(0,g.__)("Move left"):(0,g.__)("Move up"):"down"===e?"horizontal"===t?(0,g.isRTL)()?(0,g.__)("Move left"):(0,g.__)("Move right"):(0,g.__)("Move down"):null,jp=(0,s.forwardRef)(((e,t)=>{let{clientIds:n,direction:o,orientation:l,...a}=e;const f=(0,d.useInstanceId)(jp),h=(0,u.castArray)(n).length,{blockType:v,isDisabled:b,rootClientId:k,isFirst:_,isLast:y,firstIndex:E,orientation:C="vertical"}=(0,m.useSelect)((e=>{const{getBlockIndex:t,getBlockRootClientId:i,getBlockOrder:s,getBlock:a,getBlockListSettings:c}=e(Qn),d=(0,u.castArray)(n),p=(0,u.first)(d),m=i(p),f=t(p),g=t((0,u.last)(d)),h=s(m),v=a(p),b=0===f,k=g===h.length-1,{orientation:_}=c(m)||{};return{blockType:v?(0,r.getBlockType)(v.name):null,isDisabled:"up"===o?b:k,rootClientId:m,firstIndex:f,isFirst:b,isLast:k,orientation:l||_}}),[n,o]),{moveBlocksDown:S,moveBlocksUp:w}=(0,m.useDispatch)(Qn),B="up"===o?w:S,I=`block-editor-block-mover-button__description-${f}`;return(0,s.createElement)(s.Fragment,null,(0,s.createElement)(p.Button,i({ref:t,className:c()("block-editor-block-mover-button",`is-${o}-button`),icon:Wp(o,C),label:$p(o,C),"aria-describedby":I},a,{onClick:b?null:e=>{B(n,k),a.onClick&&a.onClick(e)},disabled:b,__experimentalIsFocusable:!0})),(0,s.createElement)(p.VisuallyHidden,{id:I},function(e,t,n,o,r,l,i){const s=n+1,a=e=>"up"===e?"horizontal"===i?(0,g.isRTL)()?"right":"left":"up":"down"===e?"horizontal"===i?(0,g.isRTL)()?"left":"right":"down":null;if(e>1)return function(e,t,n,o,r){const l=t+1;return r<0&&n?(0,g.__)("Blocks cannot be moved up as they are already at the top"):r>0&&o?(0,g.__)("Blocks cannot be moved down as they are already at the bottom"):r<0&&!n?(0,g.sprintf)(// translators: 1: Number of selected blocks, 2: Position of selected blocks
31
  (0,g._n)("Move %1$d block from position %2$d up by one place","Move %1$d blocks from position %2$d up by one place",e),e,l):r>0&&!o?(0,g.sprintf)(// translators: 1: Number of selected blocks, 2: Position of selected blocks
32
  (0,g._n)("Move %1$d block from position %2$d down by one place","Move %1$d blocks from position %2$d down by one place",e),e,l):void 0}(e,n,o,r,l);if(o&&r)return(0,g.sprintf)(// translators: %s: Type of block (i.e. Text, Image etc)
33
  (0,g.__)("Block %s is the only block, and cannot be moved"),t);if(l>0&&!r){const e=a("down");if("down"===e)return(0,g.sprintf)(// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position
27
  title:(0,g.__)("Reusable")};var gp=function(e){let{children:t,showPatterns:n=!1,showReusableBlocks:o=!1,onSelect:r}=e;const l=(0,s.useMemo)((()=>{const e=[pp];return n&&e.push(mp),o&&e.push(fp),e}),[pp,n,mp,o,fp]);return(0,s.createElement)(p.TabPanel,{className:"block-editor-inserter__tabs",tabs:l,onSelect:r},t)},hp=(0,s.forwardRef)((function(e,t){let{rootClientId:n,clientId:o,isAppender:r,__experimentalInsertionIndex:l,onSelect:i,showInserterHelpPanel:a,showMostUsedBlocks:c,__experimentalFilterValue:u="",shouldFocusBlock:d=!0}=e;const[f,h]=(0,s.useState)(u),[v,b]=(0,s.useState)(null),[k,_]=(0,s.useState)(null),[y,E,C]=zd({rootClientId:n,clientId:o,isAppender:r,insertionIndex:l,shouldFocusBlock:d}),{showPatterns:S,hasReusableBlocks:w}=(0,m.useSelect)((e=>{var t;const{__experimentalGetAllowedPatterns:n,getSettings:o}=e(Qn);return{showPatterns:!!n(y).length,hasReusableBlocks:!(null===(t=o().__experimentalReusableBlocks)||void 0===t||!t.length)}}),[y]),B=(0,s.useCallback)(((e,t,n)=>{E(e,t,n),i()}),[E,i]),I=(0,s.useCallback)(((e,t)=>{E(e,{patternName:t}),i()}),[E,i]),x=(0,s.useCallback)((e=>{C(!!e),b(e)}),[C,b]),T=(0,s.useCallback)((e=>{_(e)}),[_]),N=(0,s.useMemo)((()=>(0,s.createElement)(s.Fragment,null,(0,s.createElement)("div",{className:"block-editor-inserter__block-list"},(0,s.createElement)(xd,{rootClientId:y,onInsert:B,onHover:x,showMostUsedBlocks:c})),a&&(0,s.createElement)("div",{className:"block-editor-inserter__tips"},(0,s.createElement)(p.VisuallyHidden,{as:"h2"},(0,g.__)("A tip for using the block editor")),(0,s.createElement)(Lc,null)))),[y,B,x,f,c,a]),P=(0,s.useMemo)((()=>(0,s.createElement)(op,{rootClientId:y,onInsert:I,onClickCategory:T,selectedCategory:k})),[y,I,T,k]),M=(0,s.useMemo)((()=>(0,s.createElement)(ip,{rootClientId:y,onInsert:B,onHover:x})),[y,B,x]),R=(0,s.useCallback)((e=>"blocks"===e.name?N:"patterns"===e.name?P:M),[N,P,M]),L=(0,s.useRef)();return(0,s.useImperativeHandle)(t,(()=>({focusSearch:()=>{L.current.focus()}}))),(0,s.createElement)("div",{className:"block-editor-inserter__menu"},(0,s.createElement)("div",{className:"block-editor-inserter__main-area"},(0,s.createElement)("div",{className:"block-editor-inserter__content"},(0,s.createElement)(p.SearchControl,{className:"block-editor-inserter__search",onChange:e=>{v&&b(null),h(e)},value:f,label:(0,g.__)("Search for blocks and patterns"),placeholder:(0,g.__)("Search"),ref:L}),!!f&&(0,s.createElement)(dp,{filterValue:f,onSelect:i,onHover:x,rootClientId:n,clientId:o,isAppender:r,__experimentalInsertionIndex:l,showBlockDirectory:!0,shouldFocusBlock:d}),!f&&(S||w)&&(0,s.createElement)(gp,{showPatterns:S,showReusableBlocks:w},R),!f&&!S&&!w&&N)),a&&v&&(0,s.createElement)(md,{item:v}))}));function vp(e){let{onSelect:t,rootClientId:n,clientId:o,isAppender:r,prioritizePatterns:l}=e;const[i,a]=(0,s.useState)(""),[u,d]=zd({onSelect:t,rootClientId:n,clientId:o,isAppender:r}),[f]=wd(u,d),[h]=Pd(d,u),{setInserterIsOpened:v,insertionIndex:b}=(0,m.useSelect)((e=>{const{getSettings:t,getBlockIndex:n,getBlockCount:r}=e(Qn),l=t(),i=n(o),s=r();return{setInserterIsOpened:l.__experimentalSetIsInserterOpened,insertionIndex:-1===i?s:i}}),[o]),k=h.length&&(!!i||l),_=k&&h.length>6||f.length>6;(0,s.useEffect)((()=>{v&&v(!1)}),[v]);let y=0;return k&&(y=l?4:2),(0,s.createElement)("div",{className:c()("block-editor-inserter__quick-inserter",{"has-search":_,"has-expand":v})},_&&(0,s.createElement)(p.SearchControl,{className:"block-editor-inserter__search",value:i,onChange:e=>{a(e)},label:(0,g.__)("Search for blocks and patterns"),placeholder:(0,g.__)("Search")}),(0,s.createElement)("div",{className:"block-editor-inserter__quick-inserter-results"},(0,s.createElement)(dp,{filterValue:i,onSelect:t,rootClientId:n,clientId:o,isAppender:r,maxBlockPatterns:y,maxBlockTypes:6,isDraggable:!1,prioritizePatterns:l})),v&&(0,s.createElement)(p.Button,{className:"block-editor-inserter__quick-inserter-expand",onClick:()=>{v({rootClientId:n,insertionIndex:b,filterValue:i})},"aria-label":(0,g.__)("Browse all. This will open the main inserter panel in the editor toolbar.")},(0,g.__)("Browse all")))}const bp=e=>{let t,{onToggle:n,disabled:o,isOpen:r,blockTitle:l,hasSingleBlockType:a,toggleProps:c={},prioritizePatterns:u}=e;t=a?(0,g.sprintf)(// translators: %s: the name of the block when there is only one
28
  (0,g._x)("Add %s","directly add the only allowed block"),l):u?(0,g.__)("Add pattern"):(0,g._x)("Add block","Generic label for block inserter button");const{onClick:d,...m}=c;return(0,s.createElement)(p.Button,i({icon:Mc,label:t,tooltipPosition:"bottom",onClick:function(e){n&&n(e),d&&d(e)},className:"block-editor-inserter__toggle","aria-haspopup":!a&&"true","aria-expanded":!a&&r,disabled:o},m))};class kp extends s.Component{constructor(){super(...arguments),this.onToggle=this.onToggle.bind(this),this.renderToggle=this.renderToggle.bind(this),this.renderContent=this.renderContent.bind(this)}onToggle(e){const{onToggle:t}=this.props;t&&t(e)}renderToggle(e){let{onToggle:t,isOpen:n}=e;const{disabled:o,blockTitle:r,hasSingleBlockType:l,directInsertBlock:i,toggleProps:s,hasItems:a,renderToggle:c=bp,prioritizePatterns:u}=this.props;return c({onToggle:t,isOpen:n,disabled:o||!a,blockTitle:r,hasSingleBlockType:l,directInsertBlock:i,toggleProps:s,prioritizePatterns:u})}renderContent(e){let{onClose:t}=e;const{rootClientId:n,clientId:o,isAppender:r,showInserterHelpPanel:l,__experimentalIsQuick:i,prioritizePatterns:a}=this.props;return i?(0,s.createElement)(vp,{onSelect:()=>{t()},rootClientId:n,clientId:o,isAppender:r,prioritizePatterns:a}):(0,s.createElement)(hp,{onSelect:()=>{t()},rootClientId:n,clientId:o,isAppender:r,showInserterHelpPanel:l})}render(){const{position:e,hasSingleBlockType:t,directInsertBlock:n,insertOnlyAllowedBlock:o,__experimentalIsQuick:r,onSelectOrClose:l}=this.props;return t||n?this.renderToggle({onToggle:o}):(0,s.createElement)(p.Dropdown,{className:"block-editor-inserter",contentClassName:c()("block-editor-inserter__popover",{"is-quick":r}),position:e,onToggle:this.onToggle,expandOnMobile:!0,headerTitle:(0,g.__)("Add a block"),renderToggle:this.renderToggle,renderContent:this.renderContent,onClose:l})}}var _p=(0,d.compose)([(0,m.withSelect)(((e,t)=>{let{clientId:n,rootClientId:o}=t;const{getBlockRootClientId:l,hasInserterItems:i,__experimentalGetAllowedBlocks:s,__experimentalGetDirectInsertBlock:a,getBlockIndex:c,getBlockCount:d,getSettings:p}=e(Qn),{getBlockVariations:m}=e(r.store);o=o||l(n)||void 0;const f=s(o),g=a(o),h=c(n),v=d(),b=p(),k=1===(0,u.size)(f)&&0===(0,u.size)(m(f[0].name,"inserter"));let _=!1;return k&&(_=f[0]),{hasItems:i(o),hasSingleBlockType:k,blockTitle:_?_.title:"",allowedBlockType:_,directInsertBlock:g,rootClientId:o,prioritizePatterns:b.__experimentalPreferPatternsOnRoot&&!o&&h>0&&(h<v||0===v)}})),(0,m.withDispatch)(((e,t,n)=>{let{select:o}=n;return{insertOnlyAllowedBlock(){const{rootClientId:n,clientId:l,isAppender:i,hasSingleBlockType:s,allowedBlockType:a,directInsertBlock:c,onSelectOrClose:u}=t;if(!s&&!c)return;const{insertBlock:d}=e(Qn);let p;if(c){const e=function(e){const{getBlock:t,getPreviousBlockClientId:r}=o(Qn);if(!e||!l&&!n)return{};const i={};let s={};if(l){const e=t(l),n=t(r(l));(null==e?void 0:e.name)===(null==n?void 0:n.name)&&(s=(null==n?void 0:n.attributes)||{})}else{var a;const e=t(n);if(null!=e&&null!==(a=e.innerBlocks)&&void 0!==a&&a.length){const t=e.innerBlocks[e.innerBlocks.length-1];c&&(null==c?void 0:c.name)===t.name&&(s=t.attributes)}}return e.forEach((e=>{s.hasOwnProperty(e)&&(i[e]=s[e])})),i}(c.attributesToCopy);p=(0,r.createBlock)(c.name,{...c.attributes||{},...e})}else p=(0,r.createBlock)(a.name);d(p,function(){const{getBlockIndex:e,getBlockSelectionEnd:t,getBlockOrder:r,getBlockRootClientId:s}=o(Qn);if(l)return e(l);const a=t();return!i&&a&&s(a)===n?e(a)+1:r(n).length}(),n),u&&u();const m=(0,g.sprintf)(// translators: %s: the name of the block that has been added
29
  (0,g.__)("%s block added"),a.title);(0,Ht.speak)(m)}}})),(0,d.ifCondition)((e=>{let{hasItems:t,isAppender:n,rootClientId:o,clientId:r}=e;return t||!n&&!o&&!r}))])(kp),yp=(0,d.compose)((0,m.withSelect)(((e,t)=>{const{getBlockCount:n,getSettings:o,getTemplateLock:r}=e(Qn),l=!n(t.rootClientId),{bodyPlaceholder:i}=o();return{showPrompt:l,isLocked:!!r(t.rootClientId),placeholder:i}})),(0,m.withDispatch)(((e,t)=>{const{insertDefaultBlock:n,startTyping:o}=e(Qn);return{onAppend(){const{rootClientId:e}=t;n(void 0,e),o()}}})))((function(e){let{isLocked:t,onAppend:n,showPrompt:o,placeholder:r,rootClientId:l}=e;if(t)return null;const i=(0,Pc.decodeEntities)(r)||(0,g.__)("Type / to choose a block");return(0,s.createElement)("div",{"data-root-client-id":l||"",className:c()("block-editor-default-block-appender",{"has-visible-prompt":o})},(0,s.createElement)("p",{tabIndex:"0",role:"button","aria-label":(0,g.__)("Add default block"),className:"block-editor-default-block-appender__content",onKeyDown:e=>{yc.ENTER!==e.keyCode&&yc.SPACE!==e.keyCode||n()},onClick:()=>n(),onFocus:()=>{o&&n()}},o?i:"\ufeff"),(0,s.createElement)(_p,{rootClientId:l,position:"bottom right",isAppender:!0,__experimentalIsQuick:!0}))}));function Ep(e,t){let{rootClientId:n,className:o,onFocus:r,tabIndex:l}=e;return(0,s.createElement)(_p,{position:"bottom center",rootClientId:n,__experimentalIsQuick:!0,renderToggle:e=>{let n,{onToggle:i,disabled:a,isOpen:u,blockTitle:d,hasSingleBlockType:m}=e;n=m?(0,g.sprintf)(// translators: %s: the name of the block when there is only one
30
+ (0,g._x)("Add %s","directly add the only allowed block"),d):(0,g._x)("Add block","Generic label for block inserter button");const f=!m;let h=(0,s.createElement)(p.Button,{ref:t,onFocus:r,tabIndex:l,className:c()(o,"block-editor-button-block-appender"),onClick:i,"aria-haspopup":f?"true":void 0,"aria-expanded":f?u:void 0,disabled:a,label:n},!m&&(0,s.createElement)(p.VisuallyHidden,{as:"span"},n),(0,s.createElement)(Ir,{icon:Mc}));return(f||m)&&(h=(0,s.createElement)(p.Tooltip,{text:n},h)),h},isAppender:!0})}const Cp=(0,s.forwardRef)(((e,t)=>(H()("wp.blockEditor.ButtonBlockerAppender",{alternative:"wp.blockEditor.ButtonBlockAppender",since:"5.9"}),Ep(e,t))));var Sp=(0,s.forwardRef)(Ep),wp=(0,m.withSelect)(((e,t)=>{let{rootClientId:n}=t;const{canInsertBlockType:o,getTemplateLock:l,getSelectedBlockClientId:i}=e(Qn);return{isLocked:!!l(n),canInsertDefaultBlock:o((0,r.getDefaultBlockName)(),n),selectedBlockClientId:i()}}))((function(e){let t,{rootClientId:n,canInsertDefaultBlock:o,isLocked:r,renderAppender:l,className:i,selectedBlockClientId:a,tagName:u="div"}=e;if(r||!1===l)return null;if(l)t=(0,s.createElement)(l,null);else{if(a!==n&&(n||a))return null;t=o?(0,s.createElement)(yp,{rootClientId:n}):(0,s.createElement)(Sp,{rootClientId:n,className:"block-list-appender__toggle"})}return(0,s.createElement)(u,{tabIndex:-1,className:c()("block-list-appender wp-block",i),contentEditable:!1,"data-block":!0},t)}));(0,s.createContext)();var Bp=function(e){let{previousClientId:t,nextClientId:n,children:o,__unstablePopoverSlot:r,__unstableContentRef:l,...a}=e;const{orientation:u,rootClientId:d}=(0,m.useSelect)((e=>{var n;const{getBlockListSettings:o,getBlockRootClientId:r}=e(Qn),l=r(t);return{orientation:(null===(n=o(l))||void 0===n?void 0:n.orientation)||"vertical",rootClientId:l}}),[t]),f=ko(t),h=ko(n),v="vertical"===u,b=(0,s.useMemo)((()=>{if(!f&&!h)return{};const e=f?f.getBoundingClientRect():null,t=h?h.getBoundingClientRect():null;if(v)return{width:f?f.offsetWidth:h.offsetWidth,height:t&&e?t.top-e.bottom:0};let n=0;return e&&t&&(n=(0,g.isRTL)()?e.left-t.right:t.left-e.right),{width:n,height:f?f.offsetHeight:h.offsetHeight}}),[f,h,v]),k=(0,s.useCallback)((()=>{if(!f&&!h)return{};const{ownerDocument:e}=f||h,t=f?f.getBoundingClientRect():null,n=h?h.getBoundingClientRect():null;return v?(0,g.isRTL)()?{top:t?t.bottom:n.top,left:t?t.right:n.right,right:t?t.left:n.left,bottom:n?n.top:t.bottom,ownerDocument:e}:{top:t?t.bottom:n.top,left:t?t.left:n.left,right:t?t.right:n.right,bottom:n?n.top:t.bottom,ownerDocument:e}:(0,g.isRTL)()?{top:t?t.top:n.top,left:t?t.left:n.right,right:n?n.right:t.left,bottom:t?t.bottom:n.bottom,ownerDocument:e}:{top:t?t.top:n.top,left:t?t.right:n.left,right:n?n.left:t.right,bottom:t?t.bottom:n.bottom,ownerDocument:e}}),[f,h]),_=zo(l);return f&&h?(0,s.createElement)(p.Popover,i({ref:_,noArrow:!0,animate:!1,getAnchorRect:k,focusOnMount:!1,__unstableSlotName:r||null,key:n+"--"+d},a,{className:c()("block-editor-block-popover",a.className),__unstableForcePosition:!0}),(0,s.createElement)("div",{style:b},o)):null};const Ip=(0,s.createContext)();function xp(e){let{__unstablePopoverSlot:t,__unstableContentRef:n}=e;const{selectBlock:o,hideInsertionPoint:r}=(0,m.useDispatch)(Qn),l=(0,s.useContext)(Ip),i=(0,s.useRef)(),{orientation:a,previousClientId:u,nextClientId:f,rootClientId:g,isInserterShown:h}=(0,m.useSelect)((e=>{var t;const{getBlockOrder:n,getBlockListSettings:o,getBlockInsertionPoint:r,isBlockBeingDragged:l,getPreviousBlockClientId:i,getNextBlockClientId:s}=e(Qn),a=r(),c=n(a.rootClientId);if(!c.length)return{};let u=c[a.index-1],d=c[a.index];for(;l(u);)u=i(u);for(;l(d);)d=s(d);return{previousClientId:u,nextClientId:d,orientation:(null===(t=o(a.rootClientId))||void 0===t?void 0:t.orientation)||"vertical",rootClientId:a.rootClientId,isInserterShown:null==a?void 0:a.__unstableWithInserter}}),[]),v="vertical"===a,b=(0,d.useReducedMotion)(),k={start:{...v?{height:0,left:"50%",right:"50%",y:0}:{width:0,top:"50%",bottom:"50%",x:0},opacity:0},rest:{...v?{height:4,left:0,right:0,y:-2}:{width:4,top:0,bottom:0,x:-2},opacity:1,borderRadius:"2px",transition:{delay:h?.4:0}},hover:{...v?{height:4,left:0,right:0,y:-2}:{width:4,top:0,bottom:0,x:-2},opacity:1,borderRadius:"2px",transition:{delay:.4}}},_={start:{scale:b?1:0},rest:{scale:1,transition:{delay:.2}}},y=c()("block-editor-block-list__insertion-point","is-"+a);return(0,s.createElement)(Bp,{previousClientId:u,nextClientId:f,__unstablePopoverSlot:t,__unstableContentRef:n},(0,s.createElement)(p.__unstableMotion.div,{layout:!b,initial:b?"rest":"start",animate:"rest",whileHover:"hover",whileTap:"pressed",exit:"start",ref:i,tabIndex:-1,onClick:function(e){e.target===i.current&&f&&o(f,-1)},onFocus:function(e){e.target!==i.current&&(l.current=!0)},className:c()(y,{"is-with-inserter":h}),onHoverEnd:function(e){e.target!==i.current||l.current||r()}},(0,s.createElement)(p.__unstableMotion.div,{variants:k,className:"block-editor-block-list__insertion-point-indicator"}),h&&(0,s.createElement)(p.__unstableMotion.div,{variants:_,className:c()("block-editor-block-list__insertion-point-inserter")},(0,s.createElement)(_p,{position:"bottom center",clientId:f,rootClientId:g,__experimentalIsQuick:!0,onToggle:e=>{l.current=e},onSelectOrClose:()=>{l.current=!1}}))))}function Tp(e){let{children:t,...n}=e;const o=(0,m.useSelect)((e=>e(Qn).isBlockInsertionPointVisible()),[]);return(0,s.createElement)(Ip.Provider,{value:(0,s.useRef)(!1)},o&&(0,s.createElement)(xp,n),t)}function Np(){const e=(0,s.useContext)(Ip),t=(0,m.useSelect)((e=>e(Qn).getSettings().hasReducedUI),[]),{getBlockListSettings:n,getBlockRootClientId:o,getBlockIndex:r,isBlockInsertionPointVisible:l,isMultiSelecting:i,getSelectedBlockClientIds:a,getTemplateLock:c}=(0,m.useSelect)(Qn),{showInsertionPoint:u,hideInsertionPoint:p}=(0,m.useDispatch)(Qn);return(0,d.useRefEffect)((o=>{if(!t)return o.addEventListener("mousemove",s),()=>{o.removeEventListener("mousemove",s)};function s(t){var o,s;if(e.current)return;if(i())return;if(!t.target.classList.contains("block-editor-block-list__layout"))return void(l()&&p());let d;if(t.target.classList.contains("is-root-container")||(d=(t.target.getAttribute("data-block")?t.target:t.target.closest("[data-block]")).getAttribute("data-block")),c(d))return;const m=(null===(o=n(d))||void 0===o?void 0:o.orientation)||"vertical",f=t.target.getBoundingClientRect(),g=t.clientY-f.top,h=t.clientX-f.left;let v=Array.from(t.target.children).find((e=>e.classList.contains("wp-block")&&"vertical"===m&&e.offsetTop>g||e.classList.contains("wp-block")&&"horizontal"===m&&e.offsetLeft>h));if(!v)return;if(!v.id&&(v=v.firstElementChild,!v))return;if(null===(s=v.parentElement)||void 0===s?void 0:s.closest(".block-editor-block-content-overlay.overlay-active"))return;const b=v.id.slice("block-".length);if(!b)return;if(a().includes(b))return;const k=v.getBoundingClientRect();if("horizontal"===m&&(t.clientY>k.bottom||t.clientY<k.top)||"vertical"===m&&(t.clientX>k.right||t.clientX<k.left))return void(l()&&p());const _=r(b);0!==_?u(d,_,{__unstableWithInserter:!0}):l()&&p()}}),[e,n,o,r,l,i,u,p,a])}const Pp="undefined"==typeof window?e=>{setTimeout((()=>e(Date.now())),0)}:window.requestIdleCallback||window.requestAnimationFrame,Mp="undefined"==typeof window?clearTimeout:window.cancelIdleCallback||window.cancelAnimationFrame;function Rp(e){return(0,m.useSelect)((t=>{if(!e)return null;const{getBlockName:n,getBlockAttributes:o}=t(Qn),{getBlockType:l,getActiveBlockVariation:i}=t(r.store),s=n(e),a=l(s);if(!a)return null;const c=o(e),u=i(s,c),d={title:a.title,icon:a.icon,description:a.description,anchor:null==c?void 0:c.anchor};return u?{title:u.title||a.title,icon:u.icon||a.icon,description:u.description||a.description,anchor:null==c?void 0:c.anchor}:d}),[e])}function Lp(e,t){const{attributes:n,name:o,reusableBlockTitle:l}=(0,m.useSelect)((t=>{if(!e)return{};const{getBlockName:n,getBlockAttributes:o,__experimentalGetReusableBlockTitle:l}=t(Qn),i=n(e);if(!i)return{};const s=(0,r.isReusableBlock)((0,r.getBlockType)(i));return{attributes:o(e),name:i,reusableBlockTitle:s&&l(o(e).ref)}}),[e]),i=Rp(e);if(!o||!i)return null;const s=(0,r.getBlockType)(o),a=s?(0,r.__experimentalGetBlockLabel)(s,n):null,c=l||a,d=c&&c!==s.title?c:i.title;return t&&t>0?(0,u.truncate)(d,{length:t}):d}function Ap(e){let{clientId:t,maximumLength:n}=e;return Lp(t,n)}var Dp=e=>{let{children:t,clientIds:n,cloneClassname:o,onDragStart:l,onDragEnd:i}=e;const{srcRootClientId:a,isDraggable:c,icon:u}=(0,m.useSelect)((e=>{var t;const{canMoveBlocks:o,getBlockRootClientId:l,getBlockName:i}=e(Qn),s=l(n[0]),a=i(n[0]);return{srcRootClientId:s,isDraggable:o(n,s),icon:null===(t=(0,r.getBlockType)(a))||void 0===t?void 0:t.icon}}),[n]),d=(0,s.useRef)(!1),[f,g,h]=function(){const e=(0,s.useRef)(null),t=(0,s.useRef)(null),n=(0,s.useRef)(null),o=(0,s.useRef)(null);return(0,s.useEffect)((()=>()=>{o.current&&(clearInterval(o.current),o.current=null)}),[]),[(0,s.useCallback)((r=>{e.current=r.clientY,n.current=(0,Fo.getScrollContainer)(r.target),o.current=setInterval((()=>{if(n.current&&t.current){const e=n.current.scrollTop+t.current;n.current.scroll({top:e})}}),25)}),[]),(0,s.useCallback)((o=>{if(!n.current)return;const r=n.current.offsetHeight,l=e.current-n.current.offsetTop,i=o.clientY-n.current.offsetTop;if(o.clientY>l){const e=Math.max(r-l-50,0),n=Math.max(i-l-50,0)/e;t.current=25*n}else if(o.clientY<l){const e=Math.max(l-50,0),n=Math.max(l-i-50,0)/e;t.current=-25*n}else t.current=0}),[]),()=>{e.current=null,n.current=null,o.current&&(clearInterval(o.current),o.current=null)}]}(),{startDraggingBlocks:v,stopDraggingBlocks:b}=(0,m.useDispatch)(Qn);if((0,s.useEffect)((()=>()=>{d.current&&b()}),[]),!c)return t({isDraggable:!1});const k={type:"block",srcClientIds:n,srcRootClientId:a};return(0,s.createElement)(p.Draggable,{cloneClassname:o,__experimentalTransferDataType:"wp-blocks",transferData:k,onDragStart:e=>{v(n),d.current=!0,f(e),l&&l()},onDragOver:g,onDragEnd:()=>{b(),d.current=!1,h(),i&&i()},__experimentalDragComponent:(0,s.createElement)(vd,{count:n.length,icon:u})},(e=>{let{onDraggableStart:n,onDraggableEnd:o}=e;return t({draggable:!0,onDragStart:n,onDragEnd:o})}))},Op=function(e){let{clientId:t,rootClientId:n}=e;const o=Rp(t),l=(0,m.useSelect)((e=>{var o;const{getBlock:r,getBlockIndex:l,hasBlockMovingClientId:i,getBlockListSettings:s}=e(Qn),a=l(t),{name:c,attributes:u}=r(t);return{index:a,name:c,attributes:u,blockMovingMode:i(),orientation:null===(o=s(n))||void 0===o?void 0:o.orientation}}),[t,n]),{index:a,name:u,attributes:d,blockMovingMode:f,orientation:h}=l,{setNavigationMode:v,removeBlock:b}=(0,m.useDispatch)(Qn),k=(0,s.useRef)(),_=(0,r.getBlockType)(u),y=(0,r.__experimentalGetAccessibleBlockLabel)(_,d,a+1,h);(0,s.useEffect)((()=>{k.current.focus(),(0,Ht.speak)(y)}),[y]);const E=ko(t),{hasBlockMovingClientId:C,getBlockIndex:S,getBlockRootClientId:w,getClientIdsOfDescendants:B,getSelectedBlockClientId:I,getMultiSelectedBlocksEndClientId:x,getPreviousBlockClientId:T,getNextBlockClientId:N,isNavigationMode:P}=(0,m.useSelect)(Qn),{selectBlock:M,clearSelectedBlock:R,setBlockMovingClientId:L,moveBlockToPosition:A}=(0,m.useDispatch)(Qn),D=c()("block-editor-block-list__block-selection-button",{"is-block-moving-mode":!!f}),O=(0,g.__)("Drag");return(0,s.createElement)("div",{className:D},(0,s.createElement)(p.Flex,{justify:"center",className:"block-editor-block-list__block-selection-button__content"},(0,s.createElement)(p.FlexItem,null,(0,s.createElement)(Dc,{icon:null==o?void 0:o.icon,showColors:!0})),(0,s.createElement)(p.FlexItem,null,(0,s.createElement)(Dp,{clientIds:[t]},(e=>(0,s.createElement)(p.Button,i({icon:hd,className:"block-selection-button_drag-handle","aria-hidden":"true",label:O,tabIndex:"-1"},e))))),(0,s.createElement)(p.FlexItem,null,(0,s.createElement)(p.Button,{ref:k,onClick:()=>v(!1),onKeyDown:function(e){const{keyCode:n}=e,o=n===yc.UP,r=n===yc.DOWN,l=n===yc.LEFT,i=n===yc.RIGHT,s=n===yc.TAB,a=n===yc.ESCAPE,c=n===yc.ENTER,u=n===yc.SPACE,d=e.shiftKey;if(n===yc.BACKSPACE||n===yc.DELETE)return b(t),void e.preventDefault();const p=I(),m=x(),f=T(m||p),g=N(m||p),h=s&&d||o,v=s&&!d||r,k=l,_=i;let y;if(h)y=f;else if(v)y=g;else if(k){var D;y=null!==(D=w(p))&&void 0!==D?D:p}else if(_){var O;y=null!==(O=B([p])[0])&&void 0!==O?O:p}const F=C();if(a&&P()&&(R(),e.preventDefault()),a&&F&&!e.defaultPrevented&&(L(null),e.preventDefault()),(c||u)&&F){const e=w(F),t=w(p),n=S(F);let o=S(p);n<o&&e===t&&(o-=1),A(F,e,t,o),M(F),L(null)}if(v||h||k||_)if(y)e.preventDefault(),M(y);else if(s&&p){let t;if(v){t=E;do{t=Fo.focus.tabbable.findNext(t)}while(t&&E.contains(t));t||(t=E.ownerDocument.defaultView.frameElement,t=Fo.focus.tabbable.findNext(t))}else t=Fo.focus.tabbable.findPrevious(E);t&&(e.preventDefault(),t.focus(),R())}},label:y,className:"block-selection-button_select-button"},(0,s.createElement)(Ap,{clientId:t,maximumLength:35})))))};function Fp(e){return Array.from(e.querySelectorAll("[data-toolbar-item]"))}var zp=function(e){let{children:t,focusOnMount:n,__experimentalInitialIndex:o,__experimentalOnIndexChange:r,...l}=e;const a=(0,s.useRef)(),c=function(e){const[t,n]=(0,s.useState)(!0),o=(0,s.useCallback)((()=>{const t=!Fo.focus.tabbable.find(e.current).some((e=>!("toolbarItem"in e.dataset)));t||H()("Using custom components as toolbar controls",{since:"5.6",alternative:"ToolbarItem, ToolbarButton or ToolbarDropdownMenu components",link:"https://developer.wordpress.org/block-editor/components/toolbar-button/#inside-blockcontrols"}),n(t)}),[]);return(0,s.useLayoutEffect)((()=>{const t=new window.MutationObserver(o);return t.observe(e.current,{childList:!0,subtree:!0}),()=>t.disconnect()}),[t]),t}(a);return function(e,t,n,o,r){const[l]=(0,s.useState)(t),[i]=(0,s.useState)(o),a=(0,s.useCallback)((()=>{!function(e){const[t]=Fo.focus.tabbable.find(e);t&&t.focus()}(e.current)}),[]);(0,Kc.useShortcut)("core/block-editor/focus-toolbar",a),(0,s.useEffect)((()=>{l&&a()}),[n,l,a]),(0,s.useEffect)((()=>{let t=0;return i&&!l&&(t=window.requestAnimationFrame((()=>{const t=Fp(e.current),n=i||0;var o;t[n]&&(o=e.current).contains(o.ownerDocument.activeElement)&&t[n].focus()}))),()=>{if(window.cancelAnimationFrame(t),!r||!e.current)return;const n=Fp(e.current).findIndex((e=>0===e.tabIndex));r(n)}}),[i,l])}(a,n,c,o,r),c?(0,s.createElement)(p.Toolbar,i({label:l["aria-label"],ref:a},l),t):(0,s.createElement)(p.NavigableMenu,i({orientation:"horizontal",role:"toolbar",ref:a},l),t)},Vp=(0,s.createElement)(O.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,s.createElement)(O.Path,{d:"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z"})),Hp=(0,s.createElement)(O.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,s.createElement)(O.Path,{d:"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z"})),Gp=(0,s.createElement)(O.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,s.createElement)(O.Path,{d:"M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z"})),Up=(0,s.createElement)(O.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,s.createElement)(O.Path,{d:"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"}));const Wp=(e,t)=>"up"===e?"horizontal"===t?(0,g.isRTL)()?Vp:Hp:Gp:"down"===e?"horizontal"===t?(0,g.isRTL)()?Hp:Vp:Up:null,$p=(e,t)=>"up"===e?"horizontal"===t?(0,g.isRTL)()?(0,g.__)("Move right"):(0,g.__)("Move left"):(0,g.__)("Move up"):"down"===e?"horizontal"===t?(0,g.isRTL)()?(0,g.__)("Move left"):(0,g.__)("Move right"):(0,g.__)("Move down"):null,jp=(0,s.forwardRef)(((e,t)=>{let{clientIds:n,direction:o,orientation:l,...a}=e;const f=(0,d.useInstanceId)(jp),h=(0,u.castArray)(n).length,{blockType:v,isDisabled:b,rootClientId:k,isFirst:_,isLast:y,firstIndex:E,orientation:C="vertical"}=(0,m.useSelect)((e=>{const{getBlockIndex:t,getBlockRootClientId:i,getBlockOrder:s,getBlock:a,getBlockListSettings:c}=e(Qn),d=(0,u.castArray)(n),p=(0,u.first)(d),m=i(p),f=t(p),g=t((0,u.last)(d)),h=s(m),v=a(p),b=0===f,k=g===h.length-1,{orientation:_}=c(m)||{};return{blockType:v?(0,r.getBlockType)(v.name):null,isDisabled:"up"===o?b:k,rootClientId:m,firstIndex:f,isFirst:b,isLast:k,orientation:l||_}}),[n,o]),{moveBlocksDown:S,moveBlocksUp:w}=(0,m.useDispatch)(Qn),B="up"===o?w:S,I=`block-editor-block-mover-button__description-${f}`;return(0,s.createElement)(s.Fragment,null,(0,s.createElement)(p.Button,i({ref:t,className:c()("block-editor-block-mover-button",`is-${o}-button`),icon:Wp(o,C),label:$p(o,C),"aria-describedby":I},a,{onClick:b?null:e=>{B(n,k),a.onClick&&a.onClick(e)},disabled:b,__experimentalIsFocusable:!0})),(0,s.createElement)(p.VisuallyHidden,{id:I},function(e,t,n,o,r,l,i){const s=n+1,a=e=>"up"===e?"horizontal"===i?(0,g.isRTL)()?"right":"left":"up":"down"===e?"horizontal"===i?(0,g.isRTL)()?"left":"right":"down":null;if(e>1)return function(e,t,n,o,r){const l=t+1;return r<0&&n?(0,g.__)("Blocks cannot be moved up as they are already at the top"):r>0&&o?(0,g.__)("Blocks cannot be moved down as they are already at the bottom"):r<0&&!n?(0,g.sprintf)(// translators: 1: Number of selected blocks, 2: Position of selected blocks
31
  (0,g._n)("Move %1$d block from position %2$d up by one place","Move %1$d blocks from position %2$d up by one place",e),e,l):r>0&&!o?(0,g.sprintf)(// translators: 1: Number of selected blocks, 2: Position of selected blocks
32
  (0,g._n)("Move %1$d block from position %2$d down by one place","Move %1$d blocks from position %2$d down by one place",e),e,l):void 0}(e,n,o,r,l);if(o&&r)return(0,g.sprintf)(// translators: %s: Type of block (i.e. Text, Image etc)
33
  (0,g.__)("Block %s is the only block, and cannot be moved"),t);if(l>0&&!r){const e=a("down");if("down"===e)return(0,g.sprintf)(// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position
build/block-editor/index.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"./build/block-editor/index.min.js","mappings":"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","sources":["webpack://wp/./node_modules/autosize/dist/autosize.js","webpack://wp/./node_modules/classnames/index.js","webpack://wp/./node_modules/computed-style/dist/computedStyle.commonjs.js","webpack://wp/./node_modules/diff/src/diff/base.js","webpack://wp/./node_modules/diff/src/diff/character.js","webpack://wp/./node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","webpack://wp/./node_modules/dom-scroll-into-view/lib/index.js","webpack://wp/./node_modules/dom-scroll-into-view/lib/util.js","webpack://wp/./node_modules/inherits/inherits_browser.js","webpack://wp/./node_modules/line-height/lib/line-height.js","webpack://wp/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://wp/./node_modules/prop-types/index.js","webpack://wp/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://wp/./node_modules/react-autosize-textarea/lib/TextareaAutosize.js","webpack://wp/./node_modules/react-autosize-textarea/lib/index.js","webpack://wp/./node_modules/traverse/index.js","webpack://wp/external window \"React\"","webpack://wp/webpack/bootstrap","webpack://wp/webpack/runtime/compat get default export","webpack://wp/webpack/runtime/define property getters","webpack://wp/webpack/runtime/hasOwnProperty shorthand","webpack://wp/webpack/runtime/make namespace object","webpack://wp/external window [\"wp\",\"blocks\"]","webpack://wp/external window [\"wp\",\"hooks\"]","webpack://wp/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/compat.js","webpack://wp/external window [\"wp\",\"element\"]","webpack://wp/external window \"lodash\"","webpack://wp/external window [\"wp\",\"compose\"]","webpack://wp/external window [\"wp\",\"components\"]","webpack://wp/external window [\"wp\",\"data\"]","webpack://wp/./packages/block-editor/build-module/components/block-controls/@wordpress/block-editor/src/components/block-controls/groups.js","webpack://wp/external window [\"wp\",\"i18n\"]","webpack://wp/./packages/block-editor/build-module/store/@wordpress/block-editor/src/store/defaults.js","webpack://wp/./packages/block-editor/build-module/store/@wordpress/block-editor/src/store/array.js","webpack://wp/./packages/block-editor/build-module/store/@wordpress/block-editor/src/store/reducer.js","webpack://wp/./node_modules/rememo/es/rememo.js","webpack://wp/external window [\"wp\",\"primitives\"]","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/symbol.js","webpack://wp/external window [\"wp\",\"richText\"]","webpack://wp/external window [\"wp\",\"deprecated\"]","webpack://wp/./packages/block-editor/build-module/store/@wordpress/block-editor/src/store/utils.js","webpack://wp/./packages/block-editor/build-module/store/@wordpress/block-editor/src/store/selectors.js","webpack://wp/external window [\"wp\",\"a11y\"]","webpack://wp/./packages/block-editor/build-module/store/@wordpress/block-editor/src/store/actions.js","webpack://wp/./packages/block-editor/build-module/store/@wordpress/block-editor/src/store/constants.js","webpack://wp/./packages/block-editor/build-module/store/@wordpress/block-editor/src/store/index.js","webpack://wp/./packages/block-editor/build-module/components/block-edit/@wordpress/block-editor/src/components/block-edit/context.js","webpack://wp/./packages/block-editor/build-module/components/use-display-block-controls/@wordpress/block-editor/src/components/use-display-block-controls/index.js","webpack://wp/./packages/block-editor/build-module/components/block-controls/@wordpress/block-editor/src/components/block-controls/fill.js","webpack://wp/./packages/block-editor/build-module/components/block-controls/@wordpress/block-editor/src/components/block-controls/hook.js","webpack://wp/./packages/block-editor/build-module/components/block-controls/@wordpress/block-editor/src/components/block-controls/slot.js","webpack://wp/./packages/block-editor/build-module/components/block-controls/@wordpress/block-editor/src/components/block-controls/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/justify-left.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/justify-center.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/justify-right.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/justify-space-between.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/arrow-right.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/arrow-down.js","webpack://wp/./packages/block-editor/build-module/layouts/@wordpress/block-editor/src/layouts/utils.js","webpack://wp/./packages/block-editor/build-module/components/provider/@wordpress/block-editor/src/components/provider/block-refs-provider.js","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/use-block-refs.js","webpack://wp/./packages/block-editor/build-module/components/use-setting/@wordpress/block-editor/src/components/use-setting/index.js","webpack://wp/external window [\"wp\",\"warning\"]","webpack://wp/./packages/block-editor/build-module/components/inspector-controls/@wordpress/block-editor/src/components/inspector-controls/groups.js","webpack://wp/./packages/block-editor/build-module/components/inspector-controls/@wordpress/block-editor/src/components/inspector-controls/fill.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/utils.js","webpack://wp/./packages/block-editor/build-module/components/inspector-controls/@wordpress/block-editor/src/components/inspector-controls/block-support-tools-panel.js","webpack://wp/./packages/block-editor/build-module/components/inspector-controls/@wordpress/block-editor/src/components/inspector-controls/block-support-slot-container.js","webpack://wp/./packages/block-editor/build-module/components/inspector-controls/@wordpress/block-editor/src/components/inspector-controls/slot.js","webpack://wp/./packages/block-editor/build-module/components/inspector-controls/@wordpress/block-editor/src/components/inspector-controls/index.js","webpack://wp/external window [\"wp\",\"isShallowEqual\"]","webpack://wp/external window [\"wp\",\"dom\"]","webpack://wp/./packages/block-editor/build-module/components/block-popover/@wordpress/block-editor/src/components/block-popover/use-popover-scroll.js","webpack://wp/./packages/block-editor/build-module/components/block-popover/@wordpress/block-editor/src/components/block-popover/index.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/margin.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/padding.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/dimensions.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/gap.js","webpack://wp/./packages/block-editor/build-module/components/block-vertical-alignment-control/@wordpress/block-editor/src/components/block-vertical-alignment-control/icons.js","webpack://wp/./packages/block-editor/build-module/components/block-vertical-alignment-control/@wordpress/block-editor/src/components/block-vertical-alignment-control/ui.js","webpack://wp/./packages/block-editor/build-module/components/block-vertical-alignment-control/@wordpress/block-editor/src/components/block-vertical-alignment-control/index.js","webpack://wp/./packages/block-editor/build-module/components/justify-content-control/@wordpress/block-editor/src/components/justify-content-control/ui.js","webpack://wp/./packages/block-editor/build-module/components/justify-content-control/@wordpress/block-editor/src/components/justify-content-control/index.js","webpack://wp/./packages/block-editor/build-module/layouts/@wordpress/block-editor/src/layouts/flex.js","webpack://wp/./packages/icons/build-module/icon/@wordpress/icons/src/icon/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/position-center.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/stretch-wide.js","webpack://wp/./packages/block-editor/build-module/layouts/@wordpress/block-editor/src/layouts/index.js","webpack://wp/./packages/block-editor/build-module/layouts/@wordpress/block-editor/src/layouts/flow.js","webpack://wp/./packages/block-editor/build-module/components/block-list/@wordpress/block-editor/src/components/block-list/layout.js","webpack://wp/./packages/block-editor/build-module/components/block-alignment-control/@wordpress/block-editor/src/components/block-alignment-control/use-available-alignments.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/align-none.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/position-left.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/position-right.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/stretch-full-width.js","webpack://wp/./packages/block-editor/build-module/components/block-alignment-control/@wordpress/block-editor/src/components/block-alignment-control/constants.js","webpack://wp/./packages/block-editor/build-module/components/block-alignment-control/@wordpress/block-editor/src/components/block-alignment-control/ui.js","webpack://wp/./packages/block-editor/build-module/components/block-alignment-control/@wordpress/block-editor/src/components/block-alignment-control/index.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/align.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/lock.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/anchor.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/custom-class-name.js","webpack://wp/./packages/style-engine/build-module/styles/@wordpress/style-engine/src/styles/utils.ts","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/generated-class-name.js","webpack://wp/./packages/style-engine/build-module/styles/@wordpress/style-engine/src/styles/index.ts","webpack://wp/./packages/style-engine/build-module/styles/@wordpress/style-engine/src/styles/margin.ts","webpack://wp/./packages/style-engine/build-module/styles/@wordpress/style-engine/src/styles/padding.ts","webpack://wp/./packages/style-engine/build-module/@wordpress/style-engine/src/index.ts","webpack://wp/./packages/block-editor/build-module/components/block-context/@wordpress/block-editor/src/components/block-context/index.js","webpack://wp/./packages/block-editor/build-module/components/block-edit/@wordpress/block-editor/src/components/block-edit/edit.js","webpack://wp/./packages/block-editor/build-module/components/block-edit/@wordpress/block-editor/src/components/block-edit/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/more-horizontal.js","webpack://wp/./packages/block-editor/build-module/components/warning/@wordpress/block-editor/src/components/warning/index.js","webpack://wp/./packages/block-editor/build-module/components/block-compare/@wordpress/block-editor/src/components/block-compare/block-view.js","webpack://wp/./packages/block-editor/build-module/components/block-compare/@wordpress/block-editor/src/components/block-compare/index.js","webpack://wp/./packages/block-editor/build-module/components/block-list/@wordpress/block-editor/src/components/block-list/block-invalid-warning.js","webpack://wp/./packages/block-editor/build-module/components/block-list/@wordpress/block-editor/src/components/block-list/block-crash-warning.js","webpack://wp/./packages/block-editor/build-module/components/block-list/@wordpress/block-editor/src/components/block-list/block-crash-boundary.js","webpack://wp/./packages/block-editor/build-module/components/block-list/@wordpress/block-editor/src/components/block-list/block-html.js","webpack://wp/./node_modules/@react-spring/rafz/dist/react-spring-rafz.esm.js","webpack://wp/./node_modules/@react-spring/shared/dist/react-spring-shared.esm.js","webpack://wp/./node_modules/@react-spring/animated/dist/react-spring-animated.esm.js","webpack://wp/./node_modules/@react-spring/core/dist/react-spring-core.esm.js","webpack://wp/external window \"ReactDOM\"","webpack://wp/./node_modules/@react-spring/web/dist/react-spring-web.esm.js","webpack://wp/./packages/block-editor/build-module/components/use-moving-animation/@wordpress/block-editor/src/components/use-moving-animation/index.js","webpack://wp/./packages/block-editor/build-module/utils/@wordpress/block-editor/src/utils/dom.js","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/use-focus-first-element.js","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/use-is-hovered.js","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/use-block-class-names.js","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/use-block-default-class-name.js","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/use-block-custom-class-name.js","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/use-block-moving-mode-class-names.js","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/use-focus-handler.js","webpack://wp/external window [\"wp\",\"keycodes\"]","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/use-selected-block-event-handlers.js","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/use-nav-mode-exit.js","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/use-intersection-observer.js","webpack://wp/./packages/block-editor/build-module/components/block-list/use-block-props/@wordpress/block-editor/src/components/block-list/use-block-props/index.js","webpack://wp/./packages/block-editor/build-module/components/block-list/@wordpress/block-editor/src/components/block-list/block.js","webpack://wp/external window [\"wp\",\"htmlEntities\"]","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/plus.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/tips.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/block-default.js","webpack://wp/./packages/block-editor/build-module/components/block-icon/@wordpress/block-editor/src/components/block-icon/index.js","webpack://wp/./packages/block-editor/build-module/components/block-card/@wordpress/block-editor/src/components/block-card/index.js","webpack://wp/./packages/block-editor/build-module/components/provider/@wordpress/block-editor/src/components/provider/use-block-sync.js","webpack://wp/./packages/block-editor/build-module/components/provider/@wordpress/block-editor/src/components/provider/index.js","webpack://wp/./packages/block-editor/build-module/components/provider/@wordpress/block-editor/src/components/provider/with-registry-provider.js","webpack://wp/./packages/block-editor/build-module/components/block-preview/@wordpress/block-editor/src/components/block-preview/live.js","webpack://wp/./packages/block-editor/build-module/components/block-selection-clearer/@wordpress/block-editor/src/components/block-selection-clearer/index.js","webpack://wp/./packages/block-editor/build-module/components/writing-flow/@wordpress/block-editor/src/components/writing-flow/use-multi-selection.js","webpack://wp/./packages/block-editor/build-module/components/writing-flow/@wordpress/block-editor/src/components/writing-flow/use-arrow-nav.js","webpack://wp/external window [\"wp\",\"keyboardShortcuts\"]","webpack://wp/./packages/block-editor/build-module/components/writing-flow/@wordpress/block-editor/src/components/writing-flow/use-select-all.js","webpack://wp/./packages/block-editor/build-module/components/writing-flow/@wordpress/block-editor/src/components/writing-flow/use-drag-selection.js","webpack://wp/./packages/block-editor/build-module/components/writing-flow/@wordpress/block-editor/src/components/writing-flow/use-selection-observer.js","webpack://wp/./packages/block-editor/build-module/components/writing-flow/@wordpress/block-editor/src/components/writing-flow/use-click-selection.js","webpack://wp/./packages/block-editor/build-module/components/writing-flow/@wordpress/block-editor/src/components/writing-flow/use-input.js","webpack://wp/./packages/block-editor/build-module/components/writing-flow/@wordpress/block-editor/src/components/writing-flow/index.js","webpack://wp/./packages/block-editor/build-module/components/writing-flow/@wordpress/block-editor/src/components/writing-flow/use-tab-nav.js","webpack://wp/./packages/block-editor/build-module/components/iframe/@wordpress/block-editor/src/components/iframe/index.js","webpack://wp/./packages/block-editor/node_modules/colord/index.mjs","webpack://wp/./packages/block-editor/node_modules/colord/plugins/names.mjs","webpack://wp/./packages/block-editor/node_modules/colord/plugins/a11y.mjs","webpack://wp/./packages/block-editor/build-module/utils/transform-styles/ast/@wordpress/block-editor/src/utils/transform-styles/ast/parse.js","webpack://wp/./packages/block-editor/build-module/utils/transform-styles/ast/stringify/@wordpress/block-editor/src/utils/transform-styles/ast/stringify/compiler.js","webpack://wp/./packages/block-editor/build-module/utils/transform-styles/ast/stringify/@wordpress/block-editor/src/utils/transform-styles/ast/stringify/compress.js","webpack://wp/./packages/block-editor/build-module/utils/transform-styles/ast/stringify/@wordpress/block-editor/src/utils/transform-styles/ast/stringify/identity.js","webpack://wp/./packages/block-editor/build-module/utils/transform-styles/@wordpress/block-editor/src/utils/transform-styles/traverse.js","webpack://wp/./packages/block-editor/build-module/utils/transform-styles/ast/stringify/@wordpress/block-editor/src/utils/transform-styles/ast/stringify/index.js","webpack://wp/./packages/block-editor/build-module/utils/transform-styles/transforms/@wordpress/block-editor/src/utils/transform-styles/transforms/url-rewrite.js","webpack://wp/./packages/block-editor/build-module/utils/transform-styles/transforms/@wordpress/block-editor/src/utils/transform-styles/transforms/wrap.js","webpack://wp/./packages/block-editor/build-module/utils/transform-styles/@wordpress/block-editor/src/utils/transform-styles/index.js","webpack://wp/./packages/block-editor/build-module/components/editor-styles/@wordpress/block-editor/src/components/editor-styles/index.js","webpack://wp/./packages/block-editor/build-module/components/block-preview/@wordpress/block-editor/src/components/block-preview/auto.js","webpack://wp/./packages/block-editor/build-module/components/block-preview/@wordpress/block-editor/src/components/block-preview/index.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/preview-panel.js","webpack://wp/./packages/block-editor/build-module/components/inserter-listbox/@wordpress/block-editor/src/components/inserter-listbox/context.js","webpack://wp/./packages/block-editor/build-module/components/inserter-listbox/@wordpress/block-editor/src/components/inserter-listbox/item.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/drag-handle.js","webpack://wp/./packages/block-editor/build-module/components/block-draggable/@wordpress/block-editor/src/components/block-draggable/draggable-chip.js","webpack://wp/./packages/block-editor/build-module/components/inserter-draggable-blocks/@wordpress/block-editor/src/components/inserter-draggable-blocks/index.js","webpack://wp/./packages/block-editor/build-module/components/inserter-list-item/@wordpress/block-editor/src/components/inserter-list-item/index.js","webpack://wp/./packages/block-editor/build-module/components/inserter-listbox/@wordpress/block-editor/src/components/inserter-listbox/group.js","webpack://wp/./packages/block-editor/build-module/components/inserter-listbox/@wordpress/block-editor/src/components/inserter-listbox/row.js","webpack://wp/./packages/block-editor/build-module/components/block-types-list/@wordpress/block-editor/src/components/block-types-list/index.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/panel.js","webpack://wp/./packages/block-editor/build-module/components/inserter/hooks/@wordpress/block-editor/src/components/inserter/hooks/use-block-types-state.js","webpack://wp/./packages/block-editor/build-module/components/inserter-listbox/@wordpress/block-editor/src/components/inserter-listbox/index.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/block-types-tab.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/pattern-panel.js","webpack://wp/external window [\"wp\",\"notices\"]","webpack://wp/./packages/block-editor/build-module/components/inserter/hooks/@wordpress/block-editor/src/components/inserter/hooks/use-patterns-state.js","webpack://wp/./packages/block-editor/build-module/components/block-patterns-list/@wordpress/block-editor/src/components/block-patterns-list/index.js","webpack://wp/./packages/block-editor/build-module/components/inserter/block-patterns-explorer/@wordpress/block-editor/src/components/inserter/block-patterns-explorer/sidebar.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/no-results.js","webpack://wp/./packages/block-editor/build-module/components/inserter/hooks/@wordpress/block-editor/src/components/inserter/hooks/use-insertion-point.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/search-items.js","webpack://wp/./packages/block-editor/build-module/components/inserter/block-patterns-explorer/@wordpress/block-editor/src/components/inserter/block-patterns-explorer/patterns-list.js","webpack://wp/./packages/block-editor/build-module/components/inserter/block-patterns-explorer/@wordpress/block-editor/src/components/inserter/block-patterns-explorer/explorer.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/block-patterns-tab.js","webpack://wp/external window [\"wp\",\"url\"]","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/reusable-blocks-tab.js","webpack://wp/./packages/block-editor/build-module/components/inserter-menu-extension/@wordpress/block-editor/src/components/inserter-menu-extension/index.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/search-results.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/tabs.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/menu.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/quick-inserter.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/index.js","webpack://wp/./packages/block-editor/build-module/components/default-block-appender/@wordpress/block-editor/src/components/default-block-appender/index.js","webpack://wp/./packages/block-editor/build-module/components/button-block-appender/@wordpress/block-editor/src/components/button-block-appender/index.js","webpack://wp/./packages/block-editor/build-module/components/block-list-appender/@wordpress/block-editor/src/components/block-list-appender/index.js","webpack://wp/./packages/block-editor/build-module/components/block-popover/@wordpress/block-editor/src/components/block-popover/inbetween.js","webpack://wp/./packages/block-editor/build-module/components/block-tools/@wordpress/block-editor/src/components/block-tools/insertion-point.js","webpack://wp/./packages/block-editor/build-module/components/block-list/@wordpress/block-editor/src/components/block-list/use-in-between-inserter.js","webpack://wp/./packages/block-editor/build-module/utils/@wordpress/block-editor/src/utils/pre-parse-patterns.js","webpack://wp/./packages/block-editor/build-module/components/use-block-display-information/@wordpress/block-editor/src/components/use-block-display-information/index.js","webpack://wp/./packages/block-editor/build-module/components/block-title/@wordpress/block-editor/src/components/block-title/use-block-display-title.js","webpack://wp/./packages/block-editor/build-module/components/block-title/@wordpress/block-editor/src/components/block-title/index.js","webpack://wp/./packages/block-editor/build-module/components/block-draggable/@wordpress/block-editor/src/components/block-draggable/index.js","webpack://wp/./packages/block-editor/build-module/components/block-draggable/@wordpress/block-editor/src/components/block-draggable/use-scroll-when-dragging.js","webpack://wp/./packages/block-editor/build-module/components/block-tools/@wordpress/block-editor/src/components/block-tools/block-selection-button.js","webpack://wp/./packages/block-editor/build-module/components/navigable-toolbar/@wordpress/block-editor/src/components/navigable-toolbar/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/chevron-right.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/chevron-left.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/chevron-up.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/chevron-down.js","webpack://wp/./packages/block-editor/build-module/components/block-mover/@wordpress/block-editor/src/components/block-mover/button.js","webpack://wp/./packages/block-editor/build-module/components/block-mover/@wordpress/block-editor/src/components/block-mover/mover-description.js","webpack://wp/./packages/block-editor/build-module/components/block-mover/@wordpress/block-editor/src/components/block-mover/index.js","webpack://wp/./packages/block-editor/build-module/components/block-toolbar/@wordpress/block-editor/src/components/block-toolbar/utils.js","webpack://wp/./packages/block-editor/build-module/components/block-parent-selector/@wordpress/block-editor/src/components/block-parent-selector/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/copy.js","webpack://wp/./packages/block-editor/build-module/components/block-switcher/@wordpress/block-editor/src/components/block-switcher/preview-block-popover.js","webpack://wp/./packages/block-editor/build-module/components/block-switcher/@wordpress/block-editor/src/components/block-switcher/block-transformations-menu.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/check.js","webpack://wp/external window [\"wp\",\"tokenList\"]","webpack://wp/./packages/block-editor/build-module/components/block-styles/@wordpress/block-editor/src/components/block-styles/utils.js","webpack://wp/./packages/block-editor/build-module/components/block-styles/@wordpress/block-editor/src/components/block-styles/use-styles-for-block.js","webpack://wp/./packages/block-editor/build-module/components/block-styles/@wordpress/block-editor/src/components/block-styles/menu-items.js","webpack://wp/./packages/block-editor/build-module/components/block-switcher/@wordpress/block-editor/src/components/block-switcher/block-styles-menu.js","webpack://wp/./packages/block-editor/build-module/components/block-switcher/@wordpress/block-editor/src/components/block-switcher/utils.js","webpack://wp/./packages/block-editor/build-module/components/block-switcher/@wordpress/block-editor/src/components/block-switcher/use-transformed-patterns.js","webpack://wp/./packages/block-editor/build-module/components/block-switcher/@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js","webpack://wp/./packages/block-editor/build-module/components/block-switcher/@wordpress/block-editor/src/components/block-switcher/index.js","webpack://wp/./packages/block-editor/build-module/components/block-toolbar/@wordpress/block-editor/src/components/block-toolbar/block-toolbar-last-item.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/more-vertical.js","webpack://wp/external window [\"wp\",\"blob\"]","webpack://wp/./packages/block-editor/build-module/utils/@wordpress/block-editor/src/utils/pasting.js","webpack://wp/./packages/block-editor/build-module/components/copy-handler/@wordpress/block-editor/src/components/copy-handler/index.js","webpack://wp/./packages/block-editor/build-module/components/block-actions/@wordpress/block-editor/src/components/block-actions/index.js","webpack://wp/./packages/block-editor/build-module/components/block-settings-menu/@wordpress/block-editor/src/components/block-settings-menu/block-mode-toggle.js","webpack://wp/./packages/block-editor/build-module/components/block-settings-menu/@wordpress/block-editor/src/components/block-settings-menu/block-html-convert-button.js","webpack://wp/./packages/block-editor/build-module/components/block-settings-menu/@wordpress/block-editor/src/components/block-settings-menu/block-convert-button.js","webpack://wp/./packages/block-editor/build-module/components/block-settings-menu/@wordpress/block-editor/src/components/block-settings-menu/block-settings-menu-first-item.js","webpack://wp/./packages/block-editor/build-module/components/convert-to-group-buttons/@wordpress/block-editor/src/components/convert-to-group-buttons/index.js","webpack://wp/./packages/block-editor/build-module/components/convert-to-group-buttons/@wordpress/block-editor/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/unlock.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/lock.js","webpack://wp/./packages/block-editor/build-module/components/block-lock/@wordpress/block-editor/src/components/block-lock/use-block-lock.js","webpack://wp/./packages/block-editor/build-module/components/block-lock/@wordpress/block-editor/src/components/block-lock/modal.js","webpack://wp/./packages/block-editor/build-module/components/block-lock/@wordpress/block-editor/src/components/block-lock/menu-item.js","webpack://wp/./packages/block-editor/build-module/components/block-settings-menu-controls/@wordpress/block-editor/src/components/block-settings-menu-controls/index.js","webpack://wp/./packages/block-editor/build-module/components/block-settings-menu/@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js","webpack://wp/./packages/block-editor/build-module/components/block-settings-menu/@wordpress/block-editor/src/components/block-settings-menu/index.js","webpack://wp/./packages/block-editor/build-module/components/block-lock/@wordpress/block-editor/src/components/block-lock/toolbar.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/group.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/row.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/stack.js","webpack://wp/./packages/block-editor/build-module/components/convert-to-group-buttons/@wordpress/block-editor/src/components/convert-to-group-buttons/toolbar.js","webpack://wp/./packages/block-editor/build-module/components/block-toolbar/@wordpress/block-editor/src/components/block-toolbar/block-name-context.js","webpack://wp/./packages/block-editor/build-module/components/block-toolbar/@wordpress/block-editor/src/components/block-toolbar/index.js","webpack://wp/./packages/block-editor/build-module/components/block-tools/@wordpress/block-editor/src/components/block-tools/block-contextual-toolbar.js","webpack://wp/./packages/block-editor/build-module/components/block-tools/@wordpress/block-editor/src/components/block-tools/selected-block-popover.js","webpack://wp/./packages/block-editor/build-module/components/block-tools/@wordpress/block-editor/src/components/block-tools/back-compat.js","webpack://wp/./packages/block-editor/build-module/components/inner-blocks/@wordpress/block-editor/src/components/inner-blocks/with-client-id.js","webpack://wp/./packages/block-editor/build-module/components/inner-blocks/@wordpress/block-editor/src/components/inner-blocks/button-block-appender.js","webpack://wp/./packages/block-editor/build-module/components/inner-blocks/@wordpress/block-editor/src/components/inner-blocks/default-block-appender.js","webpack://wp/./packages/block-editor/build-module/components/inner-blocks/@wordpress/block-editor/src/components/inner-blocks/get-block-context.js","webpack://wp/./packages/block-editor/build-module/components/use-on-block-drop/@wordpress/block-editor/src/components/use-on-block-drop/index.js","webpack://wp/./packages/block-editor/build-module/utils/@wordpress/block-editor/src/utils/math.js","webpack://wp/./packages/block-editor/build-module/components/use-block-drop-zone/@wordpress/block-editor/src/components/use-block-drop-zone/index.js","webpack://wp/./packages/block-editor/build-module/components/inner-blocks/@wordpress/block-editor/src/components/inner-blocks/index.js","webpack://wp/./packages/block-editor/build-module/components/inner-blocks/@wordpress/block-editor/src/components/inner-blocks/use-nested-settings-update.js","webpack://wp/./packages/block-editor/build-module/components/inner-blocks/@wordpress/block-editor/src/components/inner-blocks/use-inner-block-template-sync.js","webpack://wp/./packages/block-editor/build-module/components/block-list/@wordpress/block-editor/src/components/block-list/index.js","webpack://wp/./packages/block-editor/build-module/components/border-radius-control/@wordpress/block-editor/src/components/border-radius-control/utils.js","webpack://wp/./packages/block-editor/build-module/components/border-radius-control/@wordpress/block-editor/src/components/border-radius-control/all-input-control.js","webpack://wp/./packages/block-editor/build-module/components/border-radius-control/@wordpress/block-editor/src/components/border-radius-control/input-controls.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/link.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/link-off.js","webpack://wp/./packages/block-editor/build-module/components/border-radius-control/@wordpress/block-editor/src/components/border-radius-control/linked-button.js","webpack://wp/./packages/block-editor/build-module/components/border-radius-control/@wordpress/block-editor/src/components/border-radius-control/index.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/border-radius.js","webpack://wp/./packages/block-editor/build-module/components/colors/@wordpress/block-editor/src/components/colors/utils.js","webpack://wp/./packages/block-editor/build-module/components/colors-gradients/@wordpress/block-editor/src/components/colors-gradients/use-common-single-multiple-selects.js","webpack://wp/./packages/block-editor/build-module/components/colors-gradients/@wordpress/block-editor/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/border.js","webpack://wp/./packages/block-editor/build-module/components/gradients/@wordpress/block-editor/src/components/gradients/use-gradient.js","webpack://wp/./packages/block-editor/build-module/components/contrast-checker/@wordpress/block-editor/src/components/contrast-checker/index.js","webpack://wp/./packages/block-editor/build-module/components/colors-gradients/@wordpress/block-editor/src/components/colors-gradients/control.js","webpack://wp/./packages/block-editor/build-module/components/colors-gradients/@wordpress/block-editor/src/components/colors-gradients/tools-panel-color-dropdown.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/color-panel.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/color.js","webpack://wp/./packages/block-editor/build-module/components/font-appearance-control/@wordpress/block-editor/src/components/font-appearance-control/index.js","webpack://wp/./packages/block-editor/build-module/components/line-height-control/@wordpress/block-editor/src/components/line-height-control/index.js","webpack://wp/./packages/block-editor/build-module/components/line-height-control/@wordpress/block-editor/src/components/line-height-control/utils.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/line-height.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/font-appearance.js","webpack://wp/./packages/block-editor/build-module/components/font-family/@wordpress/block-editor/src/components/font-family/index.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/font-family.js","webpack://wp/./packages/block-editor/build-module/components/font-sizes/@wordpress/block-editor/src/components/font-sizes/utils.js","webpack://wp/./packages/block-editor/build-module/components/font-sizes/@wordpress/block-editor/src/components/font-sizes/font-size-picker.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/font-size.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/format-underline.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/format-strikethrough.js","webpack://wp/./packages/block-editor/build-module/components/text-decoration-control/@wordpress/block-editor/src/components/text-decoration-control/index.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/text-decoration.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/format-uppercase.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/format-lowercase.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/format-capitalize.js","webpack://wp/./packages/block-editor/build-module/components/text-transform-control/@wordpress/block-editor/src/components/text-transform-control/index.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/text-transform.js","webpack://wp/./packages/block-editor/build-module/components/letter-spacing-control/@wordpress/block-editor/src/components/letter-spacing-control/index.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/letter-spacing.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/typography.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/style.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/settings.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/filter.js","webpack://wp/./packages/block-editor/build-module/components/duotone-control/@wordpress/block-editor/src/components/duotone-control/index.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/duotone.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/layout.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/use-border-props.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/use-color-props.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/use-spacing-props.js","webpack://wp/./packages/block-editor/build-module/hooks/@wordpress/block-editor/src/hooks/use-cached-truthy.js","webpack://wp/./packages/block-editor/build-module/components/colors/@wordpress/block-editor/src/components/colors/with-colors.js","webpack://wp/./packages/block-editor/build-module/components/font-sizes/@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/align-left.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/align-center.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/align-right.js","webpack://wp/./packages/block-editor/build-module/components/alignment-control/@wordpress/block-editor/src/components/alignment-control/ui.js","webpack://wp/./packages/block-editor/build-module/components/alignment-control/@wordpress/block-editor/src/components/alignment-control/index.js","webpack://wp/./packages/block-editor/build-module/autocompleters/@wordpress/block-editor/src/autocompleters/block.js","webpack://wp/external window [\"wp\",\"apiFetch\"]","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/page.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/post.js","webpack://wp/./packages/block-editor/build-module/autocompleters/@wordpress/block-editor/src/autocompleters/link.js","webpack://wp/./packages/block-editor/build-module/components/autocomplete/@wordpress/block-editor/src/components/autocomplete/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/fullscreen.js","webpack://wp/./packages/block-editor/build-module/components/block-full-height-alignment-control/@wordpress/block-editor/src/components/block-full-height-alignment-control/index.js","webpack://wp/./packages/block-editor/build-module/components/block-alignment-matrix-control/@wordpress/block-editor/src/components/block-alignment-matrix-control/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/chevron-right-small.js","webpack://wp/./packages/block-editor/build-module/components/block-breadcrumb/@wordpress/block-editor/src/components/block-breadcrumb/index.js","webpack://wp/./packages/block-editor/build-module/components/block-content-overlay/@wordpress/block-editor/src/components/block-content-overlay/index.js","webpack://wp/./packages/block-editor/build-module/components/color-style-selector/@wordpress/block-editor/src/components/color-style-selector/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/list-view.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/leaf.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/expander.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/block-select-button.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/block-contents.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/context.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/block.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/utils.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/branch.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/drop-indicator.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/use-list-view-drop-zone.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/index.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/use-list-view-client-ids.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/use-block-selection.js","webpack://wp/./packages/block-editor/build-module/components/list-view/@wordpress/block-editor/src/components/list-view/use-list-view-expand-selected-item.js","webpack://wp/./packages/block-editor/build-module/components/block-navigation/@wordpress/block-editor/src/components/block-navigation/dropdown.js","webpack://wp/./packages/block-editor/build-module/components/block-styles/@wordpress/block-editor/src/components/block-styles/preview-panel.js","webpack://wp/./packages/block-editor/build-module/components/block-styles/@wordpress/block-editor/src/components/block-styles/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/layout.js","webpack://wp/./packages/block-editor/build-module/components/block-variation-picker/@wordpress/block-editor/src/components/block-variation-picker/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/grid.js","webpack://wp/./packages/block-editor/build-module/components/block-pattern-setup/@wordpress/block-editor/src/components/block-pattern-setup/constants.js","webpack://wp/./packages/block-editor/build-module/components/block-pattern-setup/@wordpress/block-editor/src/components/block-pattern-setup/setup-toolbar.js","webpack://wp/./packages/block-editor/build-module/components/block-pattern-setup/@wordpress/block-editor/src/components/block-pattern-setup/index.js","webpack://wp/./packages/block-editor/build-module/components/block-pattern-setup/@wordpress/block-editor/src/components/block-pattern-setup/use-patterns-setup.js","webpack://wp/./packages/block-editor/build-module/components/block-variation-transforms/@wordpress/block-editor/src/components/block-variation-transforms/index.js","webpack://wp/./packages/block-editor/build-module/components/color-palette/@wordpress/block-editor/src/components/color-palette/with-color-context.js","webpack://wp/./packages/block-editor/build-module/components/color-palette/@wordpress/block-editor/src/components/color-palette/index.js","webpack://wp/./packages/block-editor/build-module/components/color-palette/@wordpress/block-editor/src/components/color-palette/control.js","webpack://wp/external window [\"wp\",\"date\"]","webpack://wp/./packages/block-editor/build-module/components/date-format-picker/@wordpress/block-editor/src/components/date-format-picker/index.js","webpack://wp/./packages/block-editor/build-module/components/colors-gradients/@wordpress/block-editor/src/components/colors-gradients/dropdown.js","webpack://wp/./packages/block-editor/build-module/components/colors-gradients/@wordpress/block-editor/src/components/colors-gradients/panel-color-gradient-settings.js","webpack://wp/./node_modules/react-easy-crop/node_modules/tslib/tslib.es6.js","webpack://wp/./node_modules/src/helpers.ts","webpack://wp/./node_modules/src/index.tsx","webpack://wp/./packages/block-editor/build-module/components/image-editor/@wordpress/block-editor/src/components/image-editor/constants.js","webpack://wp/./packages/block-editor/build-module/components/image-editor/@wordpress/block-editor/src/components/image-editor/context.js","webpack://wp/./packages/block-editor/build-module/components/image-editor/@wordpress/block-editor/src/components/image-editor/use-transform-image.js","webpack://wp/./packages/block-editor/build-module/components/image-editor/@wordpress/block-editor/src/components/image-editor/use-save-image.js","webpack://wp/./packages/block-editor/build-module/components/image-editor/@wordpress/block-editor/src/components/image-editor/cropper.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/search.js","webpack://wp/./packages/block-editor/build-module/components/image-editor/@wordpress/block-editor/src/components/image-editor/zoom-dropdown.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/aspect-ratio.js","webpack://wp/./packages/block-editor/build-module/components/image-editor/@wordpress/block-editor/src/components/image-editor/aspect-ratio-dropdown.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/rotate-right.js","webpack://wp/./packages/block-editor/build-module/components/image-editor/@wordpress/block-editor/src/components/image-editor/rotation-button.js","webpack://wp/./packages/block-editor/build-module/components/image-editor/@wordpress/block-editor/src/components/image-editor/form-controls.js","webpack://wp/./packages/block-editor/build-module/components/image-editor/@wordpress/block-editor/src/components/image-editor/index.js","webpack://wp/./packages/block-editor/build-module/components/image-size-control/@wordpress/block-editor/src/components/image-size-control/index.js","webpack://wp/./packages/block-editor/build-module/components/image-size-control/@wordpress/block-editor/src/components/image-size-control/use-dimension-handler.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/keyboard-return.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/settings-drawer.js","webpack://wp/./packages/block-editor/build-module/components/url-input/@wordpress/block-editor/src/components/url-input/index.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/search-create-button.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/globe.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/search-item.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/constants.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/search-results.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/is-url-like.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/use-search-handler.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/search-input.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/info.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/edit.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/pencil.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/viewer-slot.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/use-rich-url-data.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/link-preview.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/index.js","webpack://wp/./packages/block-editor/build-module/components/link-control/@wordpress/block-editor/src/components/link-control/use-create-page.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/media.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/upload.js","webpack://wp/./packages/block-editor/build-module/components/media-upload/@wordpress/block-editor/src/components/media-upload/index.js","webpack://wp/./packages/block-editor/build-module/components/media-upload/@wordpress/block-editor/src/components/media-upload/check.js","webpack://wp/./packages/block-editor/build-module/components/media-replace-flow/@wordpress/block-editor/src/components/media-replace-flow/index.js","webpack://wp/./packages/block-editor/build-module/components/url-popover/@wordpress/block-editor/src/components/url-popover/link-viewer-url.js","webpack://wp/./packages/block-editor/build-module/components/url-popover/@wordpress/block-editor/src/components/url-popover/index.js","webpack://wp/./packages/block-editor/build-module/components/url-popover/@wordpress/block-editor/src/components/url-popover/link-editor.js","webpack://wp/./packages/block-editor/build-module/components/url-popover/@wordpress/block-editor/src/components/url-popover/link-viewer.js","webpack://wp/./packages/block-editor/build-module/components/media-placeholder/@wordpress/block-editor/src/components/media-placeholder/index.js","webpack://wp/./packages/block-editor/build-module/components/panel-color-settings/@wordpress/block-editor/src/components/panel-color-settings/index.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/format-toolbar/@wordpress/block-editor/src/components/rich-text/format-toolbar/index.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/format-toolbar-container.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/use-undo-automatic-change.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/file-paste-handler.js","webpack://wp/external window [\"wp\",\"shortcode\"]","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/utils.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/split-value.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/use-paste-handler.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/use-input-rules.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/prevent-event-discovery.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/use-enter.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/use-format-types.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/use-shortcuts.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/use-input-events.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/use-firefox-compat.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/format-edit.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/index.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/use-mark-persistent.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/use-remove-browser-shortcuts.js","webpack://wp/./packages/block-editor/build-module/components/editable-text/@wordpress/block-editor/src/components/editable-text/index.js","webpack://wp/./packages/block-editor/build-module/components/plain-text/@wordpress/block-editor/src/components/plain-text/index.js","webpack://wp/./packages/block-editor/build-module/components/responsive-block-control/@wordpress/block-editor/src/components/responsive-block-control/label.js","webpack://wp/./packages/block-editor/build-module/components/responsive-block-control/@wordpress/block-editor/src/components/responsive-block-control/index.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/shortcut.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/toolbar-button.js","webpack://wp/./packages/block-editor/build-module/components/rich-text/@wordpress/block-editor/src/components/rich-text/input-event.js","webpack://wp/./packages/block-editor/build-module/components/tool-selector/@wordpress/block-editor/src/components/tool-selector/index.js","webpack://wp/./packages/block-editor/build-module/components/unit-control/@wordpress/block-editor/src/components/unit-control/index.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/arrow-left.js","webpack://wp/./packages/block-editor/build-module/components/url-input/@wordpress/block-editor/src/components/url-input/button.js","webpack://wp/./packages/icons/build-module/library/@wordpress/icons/src/library/close.js","webpack://wp/./packages/block-editor/build-module/components/url-popover/@wordpress/block-editor/src/components/url-popover/image-url-input-ui.js","webpack://wp/./packages/block-editor/build-module/components/preview-options/@wordpress/block-editor/src/components/preview-options/index.js","webpack://wp/./packages/block-editor/build-module/components/use-resize-canvas/@wordpress/block-editor/src/components/use-resize-canvas/index.js","webpack://wp/./packages/block-editor/build-module/components/skip-to-selected-block/@wordpress/block-editor/src/components/skip-to-selected-block/index.js","webpack://wp/external window [\"wp\",\"wordcount\"]","webpack://wp/./packages/block-editor/build-module/components/multi-selection-inspector/@wordpress/block-editor/src/components/multi-selection-inspector/index.js","webpack://wp/./packages/block-editor/build-module/components/default-style-picker/@wordpress/block-editor/src/components/default-style-picker/index.js","webpack://wp/./packages/block-editor/build-module/components/block-inspector/@wordpress/block-editor/src/components/block-inspector/index.js","webpack://wp/./packages/block-editor/build-module/components/block-tools/@wordpress/block-editor/src/components/block-tools/index.js","webpack://wp/./packages/block-editor/build-module/components/inserter/@wordpress/block-editor/src/components/inserter/library.js","webpack://wp/./packages/block-editor/build-module/components/keyboard-shortcuts/@wordpress/block-editor/src/components/keyboard-shortcuts/index.js","webpack://wp/./packages/block-editor/build-module/components/selection-scroll-into-view/@wordpress/block-editor/src/components/selection-scroll-into-view/index.js","webpack://wp/./packages/block-editor/build-module/components/observe-typing/@wordpress/block-editor/src/components/observe-typing/index.js","webpack://wp/./packages/block-editor/build-module/components/typewriter/@wordpress/block-editor/src/components/typewriter/index.js","webpack://wp/./packages/block-editor/build-module/components/use-no-recursive-renders/@wordpress/block-editor/src/components/use-no-recursive-renders/index.js","webpack://wp/./packages/block-editor/build-module/utils/@wordpress/block-editor/src/utils/block-variation-transforms.js","webpack://wp/./packages/block-editor/build-module/utils/@wordpress/block-editor/src/utils/parse-css-unit-to-px.js"],"sourcesContent":["/*!\n\tautosize 4.0.2\n\tlicense: MIT\n\thttp://www.jacklmoore.com/autosize\n*/\n(function (global, factory) {\n\tif (typeof define === \"function\" && define.amd) {\n\t\tdefine(['module', 'exports'], factory);\n\t} else if (typeof exports !== \"undefined\") {\n\t\tfactory(module, exports);\n\t} else {\n\t\tvar mod = {\n\t\t\texports: {}\n\t\t};\n\t\tfactory(mod, mod.exports);\n\t\tglobal.autosize = mod.exports;\n\t}\n})(this, function (module, exports) {\n\t'use strict';\n\n\tvar map = typeof Map === \"function\" ? new Map() : function () {\n\t\tvar keys = [];\n\t\tvar values = [];\n\n\t\treturn {\n\t\t\thas: function has(key) {\n\t\t\t\treturn keys.indexOf(key) > -1;\n\t\t\t},\n\t\t\tget: function get(key) {\n\t\t\t\treturn values[keys.indexOf(key)];\n\t\t\t},\n\t\t\tset: function set(key, value) {\n\t\t\t\tif (keys.indexOf(key) === -1) {\n\t\t\t\t\tkeys.push(key);\n\t\t\t\t\tvalues.push(value);\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelete: function _delete(key) {\n\t\t\t\tvar index = keys.indexOf(key);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tkeys.splice(index, 1);\n\t\t\t\t\tvalues.splice(index, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}();\n\n\tvar createEvent = function createEvent(name) {\n\t\treturn new Event(name, { bubbles: true });\n\t};\n\ttry {\n\t\tnew Event('test');\n\t} catch (e) {\n\t\t// IE does not support `new Event()`\n\t\tcreateEvent = function createEvent(name) {\n\t\t\tvar evt = document.createEvent('Event');\n\t\t\tevt.initEvent(name, true, false);\n\t\t\treturn evt;\n\t\t};\n\t}\n\n\tfunction assign(ta) {\n\t\tif (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;\n\n\t\tvar heightOffset = null;\n\t\tvar clientWidth = null;\n\t\tvar cachedHeight = null;\n\n\t\tfunction init() {\n\t\t\tvar style = window.getComputedStyle(ta, null);\n\n\t\t\tif (style.resize === 'vertical') {\n\t\t\t\tta.style.resize = 'none';\n\t\t\t} else if (style.resize === 'both') {\n\t\t\t\tta.style.resize = 'horizontal';\n\t\t\t}\n\n\t\t\tif (style.boxSizing === 'content-box') {\n\t\t\t\theightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));\n\t\t\t} else {\n\t\t\t\theightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n\t\t\t}\n\t\t\t// Fix when a textarea is not on document body and heightOffset is Not a Number\n\t\t\tif (isNaN(heightOffset)) {\n\t\t\t\theightOffset = 0;\n\t\t\t}\n\n\t\t\tupdate();\n\t\t}\n\n\t\tfunction changeOverflow(value) {\n\t\t\t{\n\t\t\t\t// Chrome/Safari-specific fix:\n\t\t\t\t// When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space\n\t\t\t\t// made available by removing the scrollbar. The following forces the necessary text reflow.\n\t\t\t\tvar width = ta.style.width;\n\t\t\t\tta.style.width = '0px';\n\t\t\t\t// Force reflow:\n\t\t\t\t/* jshint ignore:start */\n\t\t\t\tta.offsetWidth;\n\t\t\t\t/* jshint ignore:end */\n\t\t\t\tta.style.width = width;\n\t\t\t}\n\n\t\t\tta.style.overflowY = value;\n\t\t}\n\n\t\tfunction getParentOverflows(el) {\n\t\t\tvar arr = [];\n\n\t\t\twhile (el && el.parentNode && el.parentNode instanceof Element) {\n\t\t\t\tif (el.parentNode.scrollTop) {\n\t\t\t\t\tarr.push({\n\t\t\t\t\t\tnode: el.parentNode,\n\t\t\t\t\t\tscrollTop: el.parentNode.scrollTop\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tel = el.parentNode;\n\t\t\t}\n\n\t\t\treturn arr;\n\t\t}\n\n\t\tfunction resize() {\n\t\t\tif (ta.scrollHeight === 0) {\n\t\t\t\t// If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar overflows = getParentOverflows(ta);\n\t\t\tvar docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)\n\n\t\t\tta.style.height = '';\n\t\t\tta.style.height = ta.scrollHeight + heightOffset + 'px';\n\n\t\t\t// used to check if an update is actually necessary on window.resize\n\t\t\tclientWidth = ta.clientWidth;\n\n\t\t\t// prevents scroll-position jumping\n\t\t\toverflows.forEach(function (el) {\n\t\t\t\tel.node.scrollTop = el.scrollTop;\n\t\t\t});\n\n\t\t\tif (docTop) {\n\t\t\t\tdocument.documentElement.scrollTop = docTop;\n\t\t\t}\n\t\t}\n\n\t\tfunction update() {\n\t\t\tresize();\n\n\t\t\tvar styleHeight = Math.round(parseFloat(ta.style.height));\n\t\t\tvar computed = window.getComputedStyle(ta, null);\n\n\t\t\t// Using offsetHeight as a replacement for computed.height in IE, because IE does not account use of border-box\n\t\t\tvar actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(computed.height)) : ta.offsetHeight;\n\n\t\t\t// The actual height not matching the style height (set via the resize method) indicates that \n\t\t\t// the max-height has been exceeded, in which case the overflow should be allowed.\n\t\t\tif (actualHeight < styleHeight) {\n\t\t\t\tif (computed.overflowY === 'hidden') {\n\t\t\t\t\tchangeOverflow('scroll');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.\n\t\t\t\tif (computed.overflowY !== 'hidden') {\n\t\t\t\t\tchangeOverflow('hidden');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (cachedHeight !== actualHeight) {\n\t\t\t\tcachedHeight = actualHeight;\n\t\t\t\tvar evt = createEvent('autosize:resized');\n\t\t\t\ttry {\n\t\t\t\t\tta.dispatchEvent(evt);\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Firefox will throw an error on dispatchEvent for a detached element\n\t\t\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=889376\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar pageResize = function pageResize() {\n\t\t\tif (ta.clientWidth !== clientWidth) {\n\t\t\t\tupdate();\n\t\t\t}\n\t\t};\n\n\t\tvar destroy = function (style) {\n\t\t\twindow.removeEventListener('resize', pageResize, false);\n\t\t\tta.removeEventListener('input', update, false);\n\t\t\tta.removeEventListener('keyup', update, false);\n\t\t\tta.removeEventListener('autosize:destroy', destroy, false);\n\t\t\tta.removeEventListener('autosize:update', update, false);\n\n\t\t\tObject.keys(style).forEach(function (key) {\n\t\t\t\tta.style[key] = style[key];\n\t\t\t});\n\n\t\t\tmap.delete(ta);\n\t\t}.bind(ta, {\n\t\t\theight: ta.style.height,\n\t\t\tresize: ta.style.resize,\n\t\t\toverflowY: ta.style.overflowY,\n\t\t\toverflowX: ta.style.overflowX,\n\t\t\twordWrap: ta.style.wordWrap\n\t\t});\n\n\t\tta.addEventListener('autosize:destroy', destroy, false);\n\n\t\t// IE9 does not fire onpropertychange or oninput for deletions,\n\t\t// so binding to onkeyup to catch most of those events.\n\t\t// There is no way that I know of to detect something like 'cut' in IE9.\n\t\tif ('onpropertychange' in ta && 'oninput' in ta) {\n\t\t\tta.addEventListener('keyup', update, false);\n\t\t}\n\n\t\twindow.addEventListener('resize', pageResize, false);\n\t\tta.addEventListener('input', update, false);\n\t\tta.addEventListener('autosize:update', update, false);\n\t\tta.style.overflowX = 'hidden';\n\t\tta.style.wordWrap = 'break-word';\n\n\t\tmap.set(ta, {\n\t\t\tdestroy: destroy,\n\t\t\tupdate: update\n\t\t});\n\n\t\tinit();\n\t}\n\n\tfunction destroy(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.destroy();\n\t\t}\n\t}\n\n\tfunction update(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.update();\n\t\t}\n\t}\n\n\tvar autosize = null;\n\n\t// Do nothing in Node.js environment and IE8 (or lower)\n\tif (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {\n\t\tautosize = function autosize(el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\treturn el;\n\t\t};\n\t} else {\n\t\tautosize = function autosize(el, options) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], function (x) {\n\t\t\t\t\treturn assign(x, options);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], destroy);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], update);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t}\n\n\texports.default = autosize;\n\tmodule.exports = exports['default'];\n});","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// This code has been refactored for 140 bytes\n// You can see the original here: https://github.com/twolfson/computedStyle/blob/04cd1da2e30fa45844f95f5cb1ac898e9b9ef050/lib/computedStyle.js\nvar computedStyle = function (el, prop, getComputedStyle) {\n getComputedStyle = window.getComputedStyle;\n\n // In one fell swoop\n return (\n // If we have getComputedStyle\n getComputedStyle ?\n // Query it\n // TODO: From CSS-Query notes, we might need (node, null) for FF\n getComputedStyle(el) :\n\n // Otherwise, we are in IE and use currentStyle\n el.currentStyle\n )[\n // Switch to camelCase for CSSOM\n // DEV: Grabbed from jQuery\n // https://github.com/jquery/jquery/blob/1.9-stable/src/css.js#L191-L194\n // https://github.com/jquery/jquery/blob/1.9-stable/src/core.js#L593-L597\n prop.replace(/-(\\w)/gi, function (word, letter) {\n return letter.toUpperCase();\n })\n ];\n};\n\nmodule.exports = computedStyle;\n","export default function Diff() {}\n\nDiff.prototype = {\n diff(oldString, newString, options = {}) {\n let callback = options.callback;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n this.options = options;\n\n let self = this;\n\n function done(value) {\n if (callback) {\n setTimeout(function() { callback(undefined, value); }, 0);\n return true;\n } else {\n return value;\n }\n }\n\n // Allow subclasses to massage the input prior to running\n oldString = this.castInput(oldString);\n newString = this.castInput(newString);\n\n oldString = this.removeEmpty(this.tokenize(oldString));\n newString = this.removeEmpty(this.tokenize(newString));\n\n let newLen = newString.length, oldLen = oldString.length;\n let editLength = 1;\n let maxEditLength = newLen + oldLen;\n let bestPath = [{ newPos: -1, components: [] }];\n\n // Seed editLength = 0, i.e. the content starts with the same values\n let oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);\n if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n // Identity per the equality and tokenizer\n return done([{value: this.join(newString), count: newString.length}]);\n }\n\n // Main worker method. checks all permutations of a given edit length for acceptance.\n function execEditLength() {\n for (let diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {\n let basePath;\n let addPath = bestPath[diagonalPath - 1],\n removePath = bestPath[diagonalPath + 1],\n oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;\n if (addPath) {\n // No one else is going to attempt to use this value, clear it\n bestPath[diagonalPath - 1] = undefined;\n }\n\n let canAdd = addPath && addPath.newPos + 1 < newLen,\n canRemove = removePath && 0 <= oldPos && oldPos < oldLen;\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n bestPath[diagonalPath] = undefined;\n continue;\n }\n\n // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the new string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n if (!canAdd || (canRemove && addPath.newPos < removePath.newPos)) {\n basePath = clonePath(removePath);\n self.pushComponent(basePath.components, undefined, true);\n } else {\n basePath = addPath; // No need to clone, we've pulled it from the list\n basePath.newPos++;\n self.pushComponent(basePath.components, true, undefined);\n }\n\n oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath);\n\n // If we have hit the end of both strings, then we are done\n if (basePath.newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken));\n } else {\n // Otherwise track this path as a potential candidate and continue.\n bestPath[diagonalPath] = basePath;\n }\n }\n\n editLength++;\n }\n\n // Performs the length of edit iteration. Is a bit fugly as this has to support the\n // sync and async mode which is never fun. Loops over execEditLength until a value\n // is produced.\n if (callback) {\n (function exec() {\n setTimeout(function() {\n // This should not happen, but we want to be safe.\n /* istanbul ignore next */\n if (editLength > maxEditLength) {\n return callback();\n }\n\n if (!execEditLength()) {\n exec();\n }\n }, 0);\n }());\n } else {\n while (editLength <= maxEditLength) {\n let ret = execEditLength();\n if (ret) {\n return ret;\n }\n }\n }\n },\n\n pushComponent(components, added, removed) {\n let last = components[components.length - 1];\n if (last && last.added === added && last.removed === removed) {\n // We need to clone here as the component clone operation is just\n // as shallow array clone\n components[components.length - 1] = {count: last.count + 1, added: added, removed: removed };\n } else {\n components.push({count: 1, added: added, removed: removed });\n }\n },\n extractCommon(basePath, newString, oldString, diagonalPath) {\n let newLen = newString.length,\n oldLen = oldString.length,\n newPos = basePath.newPos,\n oldPos = newPos - diagonalPath,\n\n commonCount = 0;\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {\n newPos++;\n oldPos++;\n commonCount++;\n }\n\n if (commonCount) {\n basePath.components.push({count: commonCount});\n }\n\n basePath.newPos = newPos;\n return oldPos;\n },\n\n equals(left, right) {\n if (this.options.comparator) {\n return this.options.comparator(left, right);\n } else {\n return left === right\n || (this.options.ignoreCase && left.toLowerCase() === right.toLowerCase());\n }\n },\n removeEmpty(array) {\n let ret = [];\n for (let i = 0; i < array.length; i++) {\n if (array[i]) {\n ret.push(array[i]);\n }\n }\n return ret;\n },\n castInput(value) {\n return value;\n },\n tokenize(value) {\n return value.split('');\n },\n join(chars) {\n return chars.join('');\n }\n};\n\nfunction buildValues(diff, components, newString, oldString, useLongestToken) {\n let componentPos = 0,\n componentLen = components.length,\n newPos = 0,\n oldPos = 0;\n\n for (; componentPos < componentLen; componentPos++) {\n let component = components[componentPos];\n if (!component.removed) {\n if (!component.added && useLongestToken) {\n let value = newString.slice(newPos, newPos + component.count);\n value = value.map(function(value, i) {\n let oldValue = oldString[oldPos + i];\n return oldValue.length > value.length ? oldValue : value;\n });\n\n component.value = diff.join(value);\n } else {\n component.value = diff.join(newString.slice(newPos, newPos + component.count));\n }\n newPos += component.count;\n\n // Common case\n if (!component.added) {\n oldPos += component.count;\n }\n } else {\n component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));\n oldPos += component.count;\n\n // Reverse add and remove so removes are output first to match common convention\n // The diffing algorithm is tied to add then remove output and this is the simplest\n // route to get the desired output with minimal overhead.\n if (componentPos && components[componentPos - 1].added) {\n let tmp = components[componentPos - 1];\n components[componentPos - 1] = components[componentPos];\n components[componentPos] = tmp;\n }\n }\n }\n\n // Special case handle for when one terminal is ignored (i.e. whitespace).\n // For this case we merge the terminal into the prior string and drop the change.\n // This is only available for string mode.\n let lastComponent = components[componentLen - 1];\n if (componentLen > 1\n && typeof lastComponent.value === 'string'\n && (lastComponent.added || lastComponent.removed)\n && diff.equals('', lastComponent.value)) {\n components[componentLen - 2].value += lastComponent.value;\n components.pop();\n }\n\n return components;\n}\n\nfunction clonePath(path) {\n return { newPos: path.newPos, components: path.components.slice(0) };\n}\n","import Diff from './base';\n\nexport const characterDiff = new Diff();\nexport function diffChars(oldStr, newStr, options) { return characterDiff.diff(oldStr, newStr, options); }\n","'use strict';\n\nvar util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var isFramed = !!(isWin && container.frameElement);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isFramed) {\n container = container.document.scrollingElement || container.document.body;\n }\n\n if (isWin || isFramed) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;","'use strict';\n\nmodule.exports = require('./dom-scroll-into-view');","'use strict';\n\nvar _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; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = undefined;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = undefined;\n var j = undefined;\n var i = undefined;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = undefined;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val = undefined;\n var args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","// Load in dependencies\nvar computedStyle = require('computed-style');\n\n/**\n * Calculate the `line-height` of a given node\n * @param {HTMLElement} node Element to calculate line height of. Must be in the DOM.\n * @returns {Number} `line-height` of the element in pixels\n */\nfunction lineHeight(node) {\n // Grab the line-height via style\n var lnHeightStr = computedStyle(node, 'line-height');\n var lnHeight = parseFloat(lnHeightStr, 10);\n\n // If the lineHeight did not contain a unit (i.e. it was numeric), convert it to ems (e.g. '2.3' === '2.3em')\n if (lnHeightStr === lnHeight + '') {\n // Save the old lineHeight style and update the em unit to the element\n var _lnHeightStyle = node.style.lineHeight;\n node.style.lineHeight = lnHeightStr + 'em';\n\n // Calculate the em based height\n lnHeightStr = computedStyle(node, 'line-height');\n lnHeight = parseFloat(lnHeightStr, 10);\n\n // Revert the lineHeight style\n if (_lnHeightStyle) {\n node.style.lineHeight = _lnHeightStyle;\n } else {\n delete node.style.lineHeight;\n }\n }\n\n // If the lineHeight is in `pt`, convert it to pixels (4px for 3pt)\n // DEV: `em` units are converted to `pt` in IE6\n // Conversion ratio from https://developer.mozilla.org/en-US/docs/Web/CSS/length\n if (lnHeightStr.indexOf('pt') !== -1) {\n lnHeight *= 4;\n lnHeight /= 3;\n // Otherwise, if the lineHeight is in `mm`, convert it to pixels (96px for 25.4mm)\n } else if (lnHeightStr.indexOf('mm') !== -1) {\n lnHeight *= 96;\n lnHeight /= 25.4;\n // Otherwise, if the lineHeight is in `cm`, convert it to pixels (96px for 2.54cm)\n } else if (lnHeightStr.indexOf('cm') !== -1) {\n lnHeight *= 96;\n lnHeight /= 2.54;\n // Otherwise, if the lineHeight is in `in`, convert it to pixels (96px for 1in)\n } else if (lnHeightStr.indexOf('in') !== -1) {\n lnHeight *= 96;\n // Otherwise, if the lineHeight is in `pc`, convert it to pixels (12pt for 1pc)\n } else if (lnHeightStr.indexOf('pc') !== -1) {\n lnHeight *= 16;\n }\n\n // Continue our computation\n lnHeight = Math.round(lnHeight);\n\n // If the line-height is \"normal\", calculate by font-size\n if (lnHeightStr === 'normal') {\n // Create a temporary node\n var nodeName = node.nodeName;\n var _node = document.createElement(nodeName);\n _node.innerHTML = '&nbsp;';\n\n // If we have a text area, reset it to only 1 row\n // https://github.com/twolfson/line-height/issues/4\n if (nodeName.toUpperCase() === 'TEXTAREA') {\n _node.setAttribute('rows', '1');\n }\n\n // Set the font-size of the element\n var fontSizeStr = computedStyle(node, 'font-size');\n _node.style.fontSize = fontSizeStr;\n\n // Remove default padding/border which can affect offset height\n // https://github.com/twolfson/line-height/issues/4\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetHeight\n _node.style.padding = '0px';\n _node.style.border = '0px';\n\n // Append it to the body\n var body = document.body;\n body.appendChild(_node);\n\n // Assume the line height of the element is the height\n var height = _node.offsetHeight;\n lnHeight = height;\n\n // Remove our child from the DOM\n body.removeChild(_node);\n }\n\n // Return the calculated height\n return lnHeight;\n}\n\n// Export lineHeight\nmodule.exports = lineHeight;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nexports.__esModule = true;\nvar React = require(\"react\");\nvar PropTypes = require(\"prop-types\");\nvar autosize = require(\"autosize\");\nvar _getLineHeight = require(\"line-height\");\nvar getLineHeight = _getLineHeight;\nvar RESIZED = \"autosize:resized\";\n/**\n * A light replacement for built-in textarea component\n * which automaticaly adjusts its height to match the content\n */\nvar TextareaAutosizeClass = /** @class */ (function (_super) {\n __extends(TextareaAutosizeClass, _super);\n function TextareaAutosizeClass() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n lineHeight: null\n };\n _this.textarea = null;\n _this.onResize = function (e) {\n if (_this.props.onResize) {\n _this.props.onResize(e);\n }\n };\n _this.updateLineHeight = function () {\n if (_this.textarea) {\n _this.setState({\n lineHeight: getLineHeight(_this.textarea)\n });\n }\n };\n _this.onChange = function (e) {\n var onChange = _this.props.onChange;\n _this.currentValue = e.currentTarget.value;\n onChange && onChange(e);\n };\n return _this;\n }\n TextareaAutosizeClass.prototype.componentDidMount = function () {\n var _this = this;\n var _a = this.props, maxRows = _a.maxRows, async = _a.async;\n if (typeof maxRows === \"number\") {\n this.updateLineHeight();\n }\n if (typeof maxRows === \"number\" || async) {\n /*\n the defer is needed to:\n - force \"autosize\" to activate the scrollbar when this.props.maxRows is passed\n - support StyledComponents (see #71)\n */\n setTimeout(function () { return _this.textarea && autosize(_this.textarea); });\n }\n else {\n this.textarea && autosize(this.textarea);\n }\n if (this.textarea) {\n this.textarea.addEventListener(RESIZED, this.onResize);\n }\n };\n TextareaAutosizeClass.prototype.componentWillUnmount = function () {\n if (this.textarea) {\n this.textarea.removeEventListener(RESIZED, this.onResize);\n autosize.destroy(this.textarea);\n }\n };\n TextareaAutosizeClass.prototype.render = function () {\n var _this = this;\n var _a = this, _b = _a.props, onResize = _b.onResize, maxRows = _b.maxRows, onChange = _b.onChange, style = _b.style, innerRef = _b.innerRef, children = _b.children, props = __rest(_b, [\"onResize\", \"maxRows\", \"onChange\", \"style\", \"innerRef\", \"children\"]), lineHeight = _a.state.lineHeight;\n var maxHeight = maxRows && lineHeight ? lineHeight * maxRows : null;\n return (React.createElement(\"textarea\", __assign({}, props, { onChange: this.onChange, style: maxHeight ? __assign({}, style, { maxHeight: maxHeight }) : style, ref: function (element) {\n _this.textarea = element;\n if (typeof _this.props.innerRef === 'function') {\n _this.props.innerRef(element);\n }\n else if (_this.props.innerRef) {\n _this.props.innerRef.current = element;\n }\n } }), children));\n };\n TextareaAutosizeClass.prototype.componentDidUpdate = function () {\n this.textarea && autosize.update(this.textarea);\n };\n TextareaAutosizeClass.defaultProps = {\n rows: 1,\n async: false\n };\n TextareaAutosizeClass.propTypes = {\n rows: PropTypes.number,\n maxRows: PropTypes.number,\n onResize: PropTypes.func,\n innerRef: PropTypes.any,\n async: PropTypes.bool\n };\n return TextareaAutosizeClass;\n}(React.Component));\nexports.TextareaAutosize = React.forwardRef(function (props, ref) {\n return React.createElement(TextareaAutosizeClass, __assign({}, props, { innerRef: ref }));\n});\n","\"use strict\";\nexports.__esModule = true;\nvar TextareaAutosize_1 = require(\"./TextareaAutosize\");\nexports[\"default\"] = TextareaAutosize_1.TextareaAutosize;\n","var traverse = module.exports = function (obj) {\n return new Traverse(obj);\n};\n\nfunction Traverse (obj) {\n this.value = obj;\n}\n\nTraverse.prototype.get = function (ps) {\n var node = this.value;\n for (var i = 0; i < ps.length; i ++) {\n var key = ps[i];\n if (!node || !hasOwnProperty.call(node, key)) {\n node = undefined;\n break;\n }\n node = node[key];\n }\n return node;\n};\n\nTraverse.prototype.has = function (ps) {\n var node = this.value;\n for (var i = 0; i < ps.length; i ++) {\n var key = ps[i];\n if (!node || !hasOwnProperty.call(node, key)) {\n return false;\n }\n node = node[key];\n }\n return true;\n};\n\nTraverse.prototype.set = function (ps, value) {\n var node = this.value;\n for (var i = 0; i < ps.length - 1; i ++) {\n var key = ps[i];\n if (!hasOwnProperty.call(node, key)) node[key] = {};\n node = node[key];\n }\n node[ps[i]] = value;\n return value;\n};\n\nTraverse.prototype.map = function (cb) {\n return walk(this.value, cb, true);\n};\n\nTraverse.prototype.forEach = function (cb) {\n this.value = walk(this.value, cb, false);\n return this.value;\n};\n\nTraverse.prototype.reduce = function (cb, init) {\n var skip = arguments.length === 1;\n var acc = skip ? this.value : init;\n this.forEach(function (x) {\n if (!this.isRoot || !skip) {\n acc = cb.call(this, acc, x);\n }\n });\n return acc;\n};\n\nTraverse.prototype.paths = function () {\n var acc = [];\n this.forEach(function (x) {\n acc.push(this.path); \n });\n return acc;\n};\n\nTraverse.prototype.nodes = function () {\n var acc = [];\n this.forEach(function (x) {\n acc.push(this.node);\n });\n return acc;\n};\n\nTraverse.prototype.clone = function () {\n var parents = [], nodes = [];\n \n return (function clone (src) {\n for (var i = 0; i < parents.length; i++) {\n if (parents[i] === src) {\n return nodes[i];\n }\n }\n \n if (typeof src === 'object' && src !== null) {\n var dst = copy(src);\n \n parents.push(src);\n nodes.push(dst);\n \n forEach(objectKeys(src), function (key) {\n dst[key] = clone(src[key]);\n });\n \n parents.pop();\n nodes.pop();\n return dst;\n }\n else {\n return src;\n }\n })(this.value);\n};\n\nfunction walk (root, cb, immutable) {\n var path = [];\n var parents = [];\n var alive = true;\n \n return (function walker (node_) {\n var node = immutable ? copy(node_) : node_;\n var modifiers = {};\n \n var keepGoing = true;\n \n var state = {\n node : node,\n node_ : node_,\n path : [].concat(path),\n parent : parents[parents.length - 1],\n parents : parents,\n key : path.slice(-1)[0],\n isRoot : path.length === 0,\n level : path.length,\n circular : null,\n update : function (x, stopHere) {\n if (!state.isRoot) {\n state.parent.node[state.key] = x;\n }\n state.node = x;\n if (stopHere) keepGoing = false;\n },\n 'delete' : function (stopHere) {\n delete state.parent.node[state.key];\n if (stopHere) keepGoing = false;\n },\n remove : function (stopHere) {\n if (isArray(state.parent.node)) {\n state.parent.node.splice(state.key, 1);\n }\n else {\n delete state.parent.node[state.key];\n }\n if (stopHere) keepGoing = false;\n },\n keys : null,\n before : function (f) { modifiers.before = f },\n after : function (f) { modifiers.after = f },\n pre : function (f) { modifiers.pre = f },\n post : function (f) { modifiers.post = f },\n stop : function () { alive = false },\n block : function () { keepGoing = false }\n };\n \n if (!alive) return state;\n \n function updateState() {\n if (typeof state.node === 'object' && state.node !== null) {\n if (!state.keys || state.node_ !== state.node) {\n state.keys = objectKeys(state.node)\n }\n \n state.isLeaf = state.keys.length == 0;\n \n for (var i = 0; i < parents.length; i++) {\n if (parents[i].node_ === node_) {\n state.circular = parents[i];\n break;\n }\n }\n }\n else {\n state.isLeaf = true;\n state.keys = null;\n }\n \n state.notLeaf = !state.isLeaf;\n state.notRoot = !state.isRoot;\n }\n \n updateState();\n \n // use return values to update if defined\n var ret = cb.call(state, state.node);\n if (ret !== undefined && state.update) state.update(ret);\n \n if (modifiers.before) modifiers.before.call(state, state.node);\n \n if (!keepGoing) return state;\n \n if (typeof state.node == 'object'\n && state.node !== null && !state.circular) {\n parents.push(state);\n \n updateState();\n \n forEach(state.keys, function (key, i) {\n path.push(key);\n \n if (modifiers.pre) modifiers.pre.call(state, state.node[key], key);\n \n var child = walker(state.node[key]);\n if (immutable && hasOwnProperty.call(state.node, key)) {\n state.node[key] = child.node;\n }\n \n child.isLast = i == state.keys.length - 1;\n child.isFirst = i == 0;\n \n if (modifiers.post) modifiers.post.call(state, child);\n \n path.pop();\n });\n parents.pop();\n }\n \n if (modifiers.after) modifiers.after.call(state, state.node);\n \n return state;\n })(root).node;\n}\n\nfunction copy (src) {\n if (typeof src === 'object' && src !== null) {\n var dst;\n \n if (isArray(src)) {\n dst = [];\n }\n else if (isDate(src)) {\n dst = new Date(src.getTime ? src.getTime() : src);\n }\n else if (isRegExp(src)) {\n dst = new RegExp(src);\n }\n else if (isError(src)) {\n dst = { message: src.message };\n }\n else if (isBoolean(src)) {\n dst = new Boolean(src);\n }\n else if (isNumber(src)) {\n dst = new Number(src);\n }\n else if (isString(src)) {\n dst = new String(src);\n }\n else if (Object.create && Object.getPrototypeOf) {\n dst = Object.create(Object.getPrototypeOf(src));\n }\n else if (src.constructor === Object) {\n dst = {};\n }\n else {\n var proto =\n (src.constructor && src.constructor.prototype)\n || src.__proto__\n || {}\n ;\n var T = function () {};\n T.prototype = proto;\n dst = new T;\n }\n \n forEach(objectKeys(src), function (key) {\n dst[key] = src[key];\n });\n return dst;\n }\n else return src;\n}\n\nvar objectKeys = Object.keys || function keys (obj) {\n var res = [];\n for (var key in obj) res.push(key)\n return res;\n};\n\nfunction toS (obj) { return Object.prototype.toString.call(obj) }\nfunction isDate (obj) { return toS(obj) === '[object Date]' }\nfunction isRegExp (obj) { return toS(obj) === '[object RegExp]' }\nfunction isError (obj) { return toS(obj) === '[object Error]' }\nfunction isBoolean (obj) { return toS(obj) === '[object Boolean]' }\nfunction isNumber (obj) { return toS(obj) === '[object Number]' }\nfunction isString (obj) { return toS(obj) === '[object String]' }\n\nvar isArray = Array.isArray || function isArray (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nvar forEach = function (xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n};\n\nforEach(objectKeys(Traverse.prototype), function (key) {\n traverse[key] = function (obj) {\n var args = [].slice.call(arguments, 1);\n var t = new Traverse(obj);\n return t[key].apply(t, args);\n };\n});\n\nvar hasOwnProperty = Object.hasOwnProperty || function (obj, key) {\n return key in obj;\n};\n","module.exports = window[\"React\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"blocks\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"hooks\"];","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","/**\n * WordPress dependencies\n */\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { addFilter } from '@wordpress/hooks';\n\nfunction migrateLightBlockWrapper( settings ) {\n\tconst { apiVersion = 1 } = settings;\n\tif (\n\t\tapiVersion < 2 &&\n\t\thasBlockSupport( settings, 'lightBlockWrapper', false )\n\t) {\n\t\tsettings.apiVersion = 2;\n\t}\n\n\treturn settings;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/compat/migrateLightBlockWrapper',\n\tmigrateLightBlockWrapper\n);\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"element\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"lodash\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"compose\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"components\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"data\"];","/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\nconst BlockControlsDefault = createSlotFill( 'BlockControls' );\nconst BlockControlsBlock = createSlotFill( 'BlockControlsBlock' );\nconst BlockControlsInline = createSlotFill( 'BlockFormatControls' );\nconst BlockControlsOther = createSlotFill( 'BlockControlsOther' );\nconst BlockControlsParent = createSlotFill( 'BlockControlsParent' );\n\nconst groups = {\n\tdefault: BlockControlsDefault,\n\tblock: BlockControlsBlock,\n\tinline: BlockControlsInline,\n\tother: BlockControlsOther,\n\tparent: BlockControlsParent,\n};\n\nexport default groups;\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"i18n\"];","/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\n\nexport const PREFERENCES_DEFAULTS = {\n\tinsertUsage: {},\n};\n\n/**\n * The default editor settings\n *\n * @typedef {Object} SETTINGS_DEFAULT\n * @property {boolean} alignWide Enable/Disable Wide/Full Alignments\n * @property {boolean} supportsLayout Enable/disable layouts support in container blocks.\n * @property {boolean} imageEditing Image Editing settings set to false to disable.\n * @property {Array} imageSizes Available image sizes\n * @property {number} maxWidth Max width to constraint resizing\n * @property {boolean|Array} allowedBlockTypes Allowed block types\n * @property {boolean} hasFixedToolbar Whether or not the editor toolbar is fixed\n * @property {boolean} focusMode Whether the focus mode is enabled or not\n * @property {Array} styles Editor Styles\n * @property {boolean} keepCaretInsideBlock Whether caret should move between blocks in edit mode\n * @property {string} bodyPlaceholder Empty post placeholder\n * @property {string} titlePlaceholder Empty title placeholder\n * @property {boolean} canLockBlocks Whether the user can manage Block Lock state\n * @property {boolean} codeEditingEnabled Whether or not the user can switch to the code editor\n * @property {boolean} generateAnchors Enable/Disable auto anchor generation for Heading blocks\n * @property {boolean} __experimentalCanUserUseUnfilteredHTML Whether the user should be able to use unfiltered HTML or the HTML should be filtered e.g., to remove elements considered insecure like iframes.\n * @property {boolean} __experimentalBlockDirectory Whether the user has enabled the Block Directory\n * @property {Array} __experimentalBlockPatterns Array of objects representing the block patterns\n * @property {Array} __experimentalBlockPatternCategories Array of objects representing the block pattern categories\n * @property {boolean} __unstableGalleryWithImageBlocks Whether the user has enabled the refactored gallery block which uses InnerBlocks\n */\nexport const SETTINGS_DEFAULTS = {\n\talignWide: false,\n\tsupportsLayout: true,\n\n\t// colors setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults.\n\t// The setting is only kept for backward compatibility purposes.\n\tcolors: [\n\t\t{\n\t\t\tname: __( 'Black' ),\n\t\t\tslug: 'black',\n\t\t\tcolor: '#000000',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Cyan bluish gray' ),\n\t\t\tslug: 'cyan-bluish-gray',\n\t\t\tcolor: '#abb8c3',\n\t\t},\n\t\t{\n\t\t\tname: __( 'White' ),\n\t\t\tslug: 'white',\n\t\t\tcolor: '#ffffff',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Pale pink' ),\n\t\t\tslug: 'pale-pink',\n\t\t\tcolor: '#f78da7',\n\t\t},\n\t\t{ name: __( 'Vivid red' ), slug: 'vivid-red', color: '#cf2e2e' },\n\t\t{\n\t\t\tname: __( 'Luminous vivid orange' ),\n\t\t\tslug: 'luminous-vivid-orange',\n\t\t\tcolor: '#ff6900',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous vivid amber' ),\n\t\t\tslug: 'luminous-vivid-amber',\n\t\t\tcolor: '#fcb900',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Light green cyan' ),\n\t\t\tslug: 'light-green-cyan',\n\t\t\tcolor: '#7bdcb5',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Vivid green cyan' ),\n\t\t\tslug: 'vivid-green-cyan',\n\t\t\tcolor: '#00d084',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Pale cyan blue' ),\n\t\t\tslug: 'pale-cyan-blue',\n\t\t\tcolor: '#8ed1fc',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Vivid cyan blue' ),\n\t\t\tslug: 'vivid-cyan-blue',\n\t\t\tcolor: '#0693e3',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Vivid purple' ),\n\t\t\tslug: 'vivid-purple',\n\t\t\tcolor: '#9b51e0',\n\t\t},\n\t],\n\t// fontSizes setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults.\n\t// The setting is only kept for backward compatibility purposes.\n\tfontSizes: [\n\t\t{\n\t\t\tname: _x( 'Small', 'font size name' ),\n\t\t\tsize: 13,\n\t\t\tslug: 'small',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Normal', 'font size name' ),\n\t\t\tsize: 16,\n\t\t\tslug: 'normal',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Medium', 'font size name' ),\n\t\t\tsize: 20,\n\t\t\tslug: 'medium',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Large', 'font size name' ),\n\t\t\tsize: 36,\n\t\t\tslug: 'large',\n\t\t},\n\t\t{\n\t\t\tname: _x( 'Huge', 'font size name' ),\n\t\t\tsize: 42,\n\t\t\tslug: 'huge',\n\t\t},\n\t],\n\n\t// Image default size slug.\n\timageDefaultSize: 'large',\n\n\timageSizes: [\n\t\t{ slug: 'thumbnail', name: __( 'Thumbnail' ) },\n\t\t{ slug: 'medium', name: __( 'Medium' ) },\n\t\t{ slug: 'large', name: __( 'Large' ) },\n\t\t{ slug: 'full', name: __( 'Full Size' ) },\n\t],\n\n\t// Allow plugin to disable Image Editor if need be.\n\timageEditing: true,\n\n\t// This is current max width of the block inner area\n\t// It's used to constraint image resizing and this value could be overridden later by themes\n\tmaxWidth: 580,\n\n\t// Allowed block types for the editor, defaulting to true (all supported).\n\tallowedBlockTypes: true,\n\n\t// Maximum upload size in bytes allowed for the site.\n\tmaxUploadFileSize: 0,\n\n\t// List of allowed mime types and file extensions.\n\tallowedMimeTypes: null,\n\n\t// Allows to disable block locking interface.\n\tcanLockBlocks: true,\n\n\t__experimentalCanUserUseUnfilteredHTML: false,\n\t__experimentalBlockDirectory: false,\n\t__mobileEnablePageTemplates: false,\n\t__experimentalBlockPatterns: [],\n\t__experimentalBlockPatternCategories: [],\n\t__unstableGalleryWithImageBlocks: false,\n\n\tgenerateAnchors: false,\n\t// gradients setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults.\n\t// The setting is only kept for backward compatibility purposes.\n\tgradients: [\n\t\t{\n\t\t\tname: __( 'Vivid cyan blue to vivid purple' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',\n\t\t\tslug: 'vivid-cyan-blue-to-vivid-purple',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Light green cyan to vivid green cyan' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%)',\n\t\t\tslug: 'light-green-cyan-to-vivid-green-cyan',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous vivid amber to luminous vivid orange' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%)',\n\t\t\tslug: 'luminous-vivid-amber-to-luminous-vivid-orange',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous vivid orange to vivid red' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%)',\n\t\t\tslug: 'luminous-vivid-orange-to-vivid-red',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Very light gray to cyan bluish gray' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%)',\n\t\t\tslug: 'very-light-gray-to-cyan-bluish-gray',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Cool to warm spectrum' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%)',\n\t\t\tslug: 'cool-to-warm-spectrum',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Blush light purple' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%)',\n\t\t\tslug: 'blush-light-purple',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Blush bordeaux' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%)',\n\t\t\tslug: 'blush-bordeaux',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Luminous dusk' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%)',\n\t\t\tslug: 'luminous-dusk',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Pale ocean' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%)',\n\t\t\tslug: 'pale-ocean',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Electric grass' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%)',\n\t\t\tslug: 'electric-grass',\n\t\t},\n\t\t{\n\t\t\tname: __( 'Midnight' ),\n\t\t\tgradient:\n\t\t\t\t'linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%)',\n\t\t\tslug: 'midnight',\n\t\t},\n\t],\n\n\t__unstableResolvedAssets: { styles: [], scripts: [] },\n};\n","/**\n * External dependencies\n */\nimport { castArray } from 'lodash';\n\n/**\n * Insert one or multiple elements into a given position of an array.\n *\n * @param {Array} array Source array.\n * @param {*} elements Elements to insert.\n * @param {number} index Insert Position.\n *\n * @return {Array} Result.\n */\nexport function insertAt( array, elements, index ) {\n\treturn [\n\t\t...array.slice( 0, index ),\n\t\t...castArray( elements ),\n\t\t...array.slice( index ),\n\t];\n}\n\n/**\n * Moves an element in an array.\n *\n * @param {Array} array Source array.\n * @param {number} from Source index.\n * @param {number} to Destination index.\n * @param {number} count Number of elements to move.\n *\n * @return {Array} Result.\n */\nexport function moveTo( array, from, to, count = 1 ) {\n\tconst withoutMovedElements = [ ...array ];\n\twithoutMovedElements.splice( from, count );\n\treturn insertAt(\n\t\twithoutMovedElements,\n\t\tarray.slice( from, from + count ),\n\t\tto\n\t);\n}\n","/**\n * External dependencies\n */\nimport {\n\tflow,\n\treduce,\n\tfirst,\n\tlast,\n\tomit,\n\twithout,\n\tmapValues,\n\tkeys,\n\tisEqual,\n\tisEmpty,\n\tidentity,\n\tomitBy,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers, select } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n/**\n * Internal dependencies\n */\nimport { PREFERENCES_DEFAULTS, SETTINGS_DEFAULTS } from './defaults';\nimport { insertAt, moveTo } from './array';\n\n/**\n * Given an array of blocks, returns an object where each key is a nesting\n * context, the value of which is an array of block client IDs existing within\n * that nesting context.\n *\n * @param {Array} blocks Blocks to map.\n * @param {?string} rootClientId Assumed root client ID.\n *\n * @return {Object} Block order map object.\n */\nfunction mapBlockOrder( blocks, rootClientId = '' ) {\n\tconst result = { [ rootClientId ]: [] };\n\n\tblocks.forEach( ( block ) => {\n\t\tconst { clientId, innerBlocks } = block;\n\n\t\tresult[ rootClientId ].push( clientId );\n\n\t\tObject.assign( result, mapBlockOrder( innerBlocks, clientId ) );\n\t} );\n\n\treturn result;\n}\n\n/**\n * Given an array of blocks, returns an object where each key contains\n * the clientId of the block and the value is the parent of the block.\n *\n * @param {Array} blocks Blocks to map.\n * @param {?string} rootClientId Assumed root client ID.\n *\n * @return {Object} Block order map object.\n */\nfunction mapBlockParents( blocks, rootClientId = '' ) {\n\treturn blocks.reduce(\n\t\t( result, block ) =>\n\t\t\tObject.assign(\n\t\t\t\tresult,\n\t\t\t\t{ [ block.clientId ]: rootClientId },\n\t\t\t\tmapBlockParents( block.innerBlocks, block.clientId )\n\t\t\t),\n\t\t{}\n\t);\n}\n\n/**\n * Helper method to iterate through all blocks, recursing into inner blocks,\n * applying a transformation function to each one.\n * Returns a flattened object with the transformed blocks.\n *\n * @param {Array} blocks Blocks to flatten.\n * @param {Function} transform Transforming function to be applied to each block.\n *\n * @return {Object} Flattened object.\n */\nfunction flattenBlocks( blocks, transform = identity ) {\n\tconst result = {};\n\n\tconst stack = [ ...blocks ];\n\twhile ( stack.length ) {\n\t\tconst { innerBlocks, ...block } = stack.shift();\n\t\tstack.push( ...innerBlocks );\n\t\tresult[ block.clientId ] = transform( block );\n\t}\n\n\treturn result;\n}\n\n/**\n * Given an array of blocks, returns an object containing all blocks, without\n * attributes, recursing into inner blocks. Keys correspond to the block client\n * ID, the value of which is the attributes object.\n *\n * @param {Array} blocks Blocks to flatten.\n *\n * @return {Object} Flattened block attributes object.\n */\nfunction getFlattenedBlocksWithoutAttributes( blocks ) {\n\treturn flattenBlocks( blocks, ( block ) => omit( block, 'attributes' ) );\n}\n\n/**\n * Given an array of blocks, returns an object containing all block attributes,\n * recursing into inner blocks. Keys correspond to the block client ID, the\n * value of which is the attributes object.\n *\n * @param {Array} blocks Blocks to flatten.\n *\n * @return {Object} Flattened block attributes object.\n */\nfunction getFlattenedBlockAttributes( blocks ) {\n\treturn flattenBlocks( blocks, ( block ) => block.attributes );\n}\n\n/**\n * Returns an object against which it is safe to perform mutating operations,\n * given the original object and its current working copy.\n *\n * @param {Object} original Original object.\n * @param {Object} working Working object.\n *\n * @return {Object} Mutation-safe object.\n */\nfunction getMutateSafeObject( original, working ) {\n\tif ( original === working ) {\n\t\treturn { ...original };\n\t}\n\n\treturn working;\n}\n\n/**\n * Returns true if the two object arguments have the same keys, or false\n * otherwise.\n *\n * @param {Object} a First object.\n * @param {Object} b Second object.\n *\n * @return {boolean} Whether the two objects have the same keys.\n */\nexport function hasSameKeys( a, b ) {\n\treturn isEqual( keys( a ), keys( b ) );\n}\n\n/**\n * Returns true if, given the currently dispatching action and the previously\n * dispatched action, the two actions are updating the same block attribute, or\n * false otherwise.\n *\n * @param {Object} action Currently dispatching action.\n * @param {Object} lastAction Previously dispatched action.\n *\n * @return {boolean} Whether actions are updating the same block attribute.\n */\nexport function isUpdatingSameBlockAttribute( action, lastAction ) {\n\treturn (\n\t\taction.type === 'UPDATE_BLOCK_ATTRIBUTES' &&\n\t\tlastAction !== undefined &&\n\t\tlastAction.type === 'UPDATE_BLOCK_ATTRIBUTES' &&\n\t\tisEqual( action.clientIds, lastAction.clientIds ) &&\n\t\thasSameKeys( action.attributes, lastAction.attributes )\n\t);\n}\n\nfunction buildBlockTree( state, blocks ) {\n\tconst result = {};\n\tconst stack = [ ...blocks ];\n\tconst flattenedBlocks = [ ...blocks ];\n\twhile ( stack.length ) {\n\t\tconst block = stack.shift();\n\t\tstack.push( ...block.innerBlocks );\n\t\tflattenedBlocks.push( ...block.innerBlocks );\n\t}\n\t// Create objects before mutating them, that way it's always defined.\n\tfor ( const block of flattenedBlocks ) {\n\t\tresult[ block.clientId ] = {};\n\t}\n\tfor ( const block of flattenedBlocks ) {\n\t\tresult[ block.clientId ] = Object.assign( result[ block.clientId ], {\n\t\t\t...state.byClientId[ block.clientId ],\n\t\t\tattributes: state.attributes[ block.clientId ],\n\t\t\tinnerBlocks: block.innerBlocks.map(\n\t\t\t\t( subBlock ) => result[ subBlock.clientId ]\n\t\t\t),\n\t\t} );\n\t}\n\n\treturn result;\n}\n\nfunction updateParentInnerBlocksInTree(\n\tstate,\n\ttree,\n\tupdatedClientIds,\n\tupdateChildrenOfUpdatedClientIds = false\n) {\n\tconst uncontrolledParents = new Set( [] );\n\tconst controlledParents = new Set();\n\tfor ( const clientId of updatedClientIds ) {\n\t\tlet current = updateChildrenOfUpdatedClientIds\n\t\t\t? clientId\n\t\t\t: state.parents[ clientId ];\n\t\tdo {\n\t\t\tif ( state.controlledInnerBlocks[ current ] ) {\n\t\t\t\t// Should stop on controlled blocks.\n\t\t\t\t// If we reach a controlled parent, break out of the loop.\n\t\t\t\tcontrolledParents.add( current );\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// Else continue traversing up through parents.\n\t\t\t\tuncontrolledParents.add( current );\n\t\t\t\tcurrent = state.parents[ current ];\n\t\t\t}\n\t\t} while ( current !== undefined );\n\t}\n\n\t// To make sure the order of assignments doesn't matter,\n\t// we first create empty objects and mutates the inner blocks later.\n\tfor ( const clientId of uncontrolledParents ) {\n\t\ttree[ clientId ] = {\n\t\t\t...tree[ clientId ],\n\t\t};\n\t}\n\tfor ( const clientId of uncontrolledParents ) {\n\t\ttree[ clientId ].innerBlocks = ( state.order[ clientId ] || [] ).map(\n\t\t\t( subClientId ) => tree[ subClientId ]\n\t\t);\n\t}\n\n\t// Controlled parent blocks, need a dedicated key for their inner blocks\n\t// to be used when doing getBlocks( controlledBlockClientId ).\n\tfor ( const clientId of controlledParents ) {\n\t\ttree[ 'controlled||' + clientId ] = {\n\t\t\tinnerBlocks: ( state.order[ clientId ] || [] ).map(\n\t\t\t\t( subClientId ) => tree[ subClientId ]\n\t\t\t),\n\t\t};\n\t}\n\n\treturn tree;\n}\n\n/**\n * Higher-order reducer intended to compute full block objects key for each block in the post.\n * This is a denormalization to optimize the performance of the getBlock selectors and avoid\n * recomputing the block objects and avoid heavy memoization.\n *\n * @param {Function} reducer Original reducer function.\n *\n * @return {Function} Enhanced reducer function.\n */\nconst withBlockTree = ( reducer ) => ( state = {}, action ) => {\n\tconst newState = reducer( state, action );\n\n\tif ( newState === state ) {\n\t\treturn state;\n\t}\n\n\tnewState.tree = state.tree ? state.tree : {};\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCKS':\n\t\tcase 'INSERT_BLOCKS': {\n\t\t\tconst subTree = buildBlockTree( newState, action.blocks );\n\t\t\tnewState.tree = updateParentInnerBlocksInTree(\n\t\t\t\tnewState,\n\t\t\t\t{\n\t\t\t\t\t...newState.tree,\n\t\t\t\t\t...subTree,\n\t\t\t\t},\n\t\t\t\taction.rootClientId ? [ action.rootClientId ] : [ '' ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'UPDATE_BLOCK':\n\t\t\tnewState.tree = updateParentInnerBlocksInTree(\n\t\t\t\tnewState,\n\t\t\t\t{\n\t\t\t\t\t...newState.tree,\n\t\t\t\t\t[ action.clientId ]: {\n\t\t\t\t\t\t...newState.tree[ action.clientId ],\n\t\t\t\t\t\t...newState.byClientId[ action.clientId ],\n\t\t\t\t\t\tattributes: newState.attributes[ action.clientId ],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t[ action.clientId ],\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'UPDATE_BLOCK_ATTRIBUTES': {\n\t\t\tconst newSubTree = action.clientIds.reduce(\n\t\t\t\t( result, clientId ) => {\n\t\t\t\t\tresult[ clientId ] = {\n\t\t\t\t\t\t...newState.tree[ clientId ],\n\t\t\t\t\t\tattributes: newState.attributes[ clientId ],\n\t\t\t\t\t};\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t\tnewState.tree = updateParentInnerBlocksInTree(\n\t\t\t\tnewState,\n\t\t\t\t{\n\t\t\t\t\t...newState.tree,\n\t\t\t\t\t...newSubTree,\n\t\t\t\t},\n\t\t\t\taction.clientIds,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': {\n\t\t\tconst subTree = buildBlockTree( newState, action.blocks );\n\t\t\tnewState.tree = updateParentInnerBlocksInTree(\n\t\t\t\tnewState,\n\t\t\t\t{\n\t\t\t\t\t...omit(\n\t\t\t\t\t\tnewState.tree,\n\t\t\t\t\t\taction.replacedClientIds.concat(\n\t\t\t\t\t\t\t// Controlled inner blocks are only removed\n\t\t\t\t\t\t\t// if the block doesn't move to another position\n\t\t\t\t\t\t\t// otherwise their content will be lost.\n\t\t\t\t\t\t\taction.replacedClientIds\n\t\t\t\t\t\t\t\t.filter( ( clientId ) => ! subTree[ clientId ] )\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( clientId ) => 'controlled||' + clientId\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\t...subTree,\n\t\t\t\t},\n\t\t\t\taction.blocks.map( ( b ) => b.clientId ),\n\t\t\t\tfalse\n\t\t\t);\n\n\t\t\t// If there are no replaced blocks, it means we're removing blocks so we need to update their parent.\n\t\t\tconst parentsOfRemovedBlocks = [];\n\t\t\tfor ( const clientId of action.clientIds ) {\n\t\t\t\tif (\n\t\t\t\t\tstate.parents[ clientId ] !== undefined &&\n\t\t\t\t\t( state.parents[ clientId ] === '' ||\n\t\t\t\t\t\tnewState.byClientId[ state.parents[ clientId ] ] )\n\t\t\t\t) {\n\t\t\t\t\tparentsOfRemovedBlocks.push( state.parents[ clientId ] );\n\t\t\t\t}\n\t\t\t}\n\t\t\tnewState.tree = updateParentInnerBlocksInTree(\n\t\t\t\tnewState,\n\t\t\t\tnewState.tree,\n\t\t\t\tparentsOfRemovedBlocks,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN':\n\t\t\tconst parentsOfRemovedBlocks = [];\n\t\t\tfor ( const clientId of action.clientIds ) {\n\t\t\t\tif (\n\t\t\t\t\tstate.parents[ clientId ] !== undefined &&\n\t\t\t\t\t( state.parents[ clientId ] === '' ||\n\t\t\t\t\t\tnewState.byClientId[ state.parents[ clientId ] ] )\n\t\t\t\t) {\n\t\t\t\t\tparentsOfRemovedBlocks.push( state.parents[ clientId ] );\n\t\t\t\t}\n\t\t\t}\n\t\t\tnewState.tree = updateParentInnerBlocksInTree(\n\t\t\t\tnewState,\n\t\t\t\tomit(\n\t\t\t\t\tnewState.tree,\n\t\t\t\t\taction.removedClientIds.concat(\n\t\t\t\t\t\taction.removedClientIds.map(\n\t\t\t\t\t\t\t( clientId ) => 'controlled||' + clientId\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tparentsOfRemovedBlocks,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'MOVE_BLOCKS_TO_POSITION': {\n\t\t\tconst updatedBlockUids = [];\n\t\t\tif ( action.fromRootClientId ) {\n\t\t\t\tupdatedBlockUids.push( action.fromRootClientId );\n\t\t\t}\n\t\t\tif ( action.toRootClientId ) {\n\t\t\t\tupdatedBlockUids.push( action.toRootClientId );\n\t\t\t}\n\t\t\tif ( ! action.fromRootClientId || ! action.fromRootClientId ) {\n\t\t\t\tupdatedBlockUids.push( '' );\n\t\t\t}\n\t\t\tnewState.tree = updateParentInnerBlocksInTree(\n\t\t\t\tnewState,\n\t\t\t\tnewState.tree,\n\t\t\t\tupdatedBlockUids,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'MOVE_BLOCKS_UP':\n\t\tcase 'MOVE_BLOCKS_DOWN': {\n\t\t\tconst updatedBlockUids = [\n\t\t\t\taction.rootClientId ? action.rootClientId : '',\n\t\t\t];\n\t\t\tnewState.tree = updateParentInnerBlocksInTree(\n\t\t\t\tnewState,\n\t\t\t\tnewState.tree,\n\t\t\t\tupdatedBlockUids,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'SAVE_REUSABLE_BLOCK_SUCCESS': {\n\t\t\tconst updatedBlockUids = keys(\n\t\t\t\tomitBy( newState.attributes, ( attributes, clientId ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tnewState.byClientId[ clientId ].name !== 'core/block' ||\n\t\t\t\t\t\tattributes.ref !== action.updatedId\n\t\t\t\t\t);\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\tnewState.tree = updateParentInnerBlocksInTree(\n\t\t\t\tnewState,\n\t\t\t\t{\n\t\t\t\t\t...newState.tree,\n\t\t\t\t\t...updatedBlockUids.reduce( ( result, clientId ) => {\n\t\t\t\t\t\tresult[ clientId ] = {\n\t\t\t\t\t\t\t...newState.byClientId[ clientId ],\n\t\t\t\t\t\t\tattributes: newState.attributes[ clientId ],\n\t\t\t\t\t\t\tinnerBlocks: newState.tree[ clientId ].innerBlocks,\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}, {} ),\n\t\t\t\t},\n\t\t\t\tupdatedBlockUids,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\t}\n\n\treturn newState;\n};\n\n/**\n * Higher-order reducer intended to augment the blocks reducer, assigning an\n * `isPersistentChange` property value corresponding to whether a change in\n * state can be considered as persistent. All changes are considered persistent\n * except when updating the same block attribute as in the previous action.\n *\n * @param {Function} reducer Original reducer function.\n *\n * @return {Function} Enhanced reducer function.\n */\nfunction withPersistentBlockChange( reducer ) {\n\tlet lastAction;\n\tlet markNextChangeAsNotPersistent = false;\n\n\treturn ( state, action ) => {\n\t\tlet nextState = reducer( state, action );\n\n\t\tconst isExplicitPersistentChange =\n\t\t\taction.type === 'MARK_LAST_CHANGE_AS_PERSISTENT' ||\n\t\t\tmarkNextChangeAsNotPersistent;\n\n\t\t// Defer to previous state value (or default) unless changing or\n\t\t// explicitly marking as persistent.\n\t\tif ( state === nextState && ! isExplicitPersistentChange ) {\n\t\t\tmarkNextChangeAsNotPersistent =\n\t\t\t\taction.type === 'MARK_NEXT_CHANGE_AS_NOT_PERSISTENT';\n\n\t\t\tconst nextIsPersistentChange = state?.isPersistentChange ?? true;\n\t\t\tif ( state.isPersistentChange === nextIsPersistentChange ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...nextState,\n\t\t\t\tisPersistentChange: nextIsPersistentChange,\n\t\t\t};\n\t\t}\n\n\t\tnextState = {\n\t\t\t...nextState,\n\t\t\tisPersistentChange: isExplicitPersistentChange\n\t\t\t\t? ! markNextChangeAsNotPersistent\n\t\t\t\t: ! isUpdatingSameBlockAttribute( action, lastAction ),\n\t\t};\n\n\t\t// In comparing against the previous action, consider only those which\n\t\t// would have qualified as one which would have been ignored or not\n\t\t// have resulted in a changed state.\n\t\tlastAction = action;\n\t\tmarkNextChangeAsNotPersistent =\n\t\t\taction.type === 'MARK_NEXT_CHANGE_AS_NOT_PERSISTENT';\n\n\t\treturn nextState;\n\t};\n}\n\n/**\n * Higher-order reducer intended to augment the blocks reducer, assigning an\n * `isIgnoredChange` property value corresponding to whether a change in state\n * can be considered as ignored. A change is considered ignored when the result\n * of an action not incurred by direct user interaction.\n *\n * @param {Function} reducer Original reducer function.\n *\n * @return {Function} Enhanced reducer function.\n */\nfunction withIgnoredBlockChange( reducer ) {\n\t/**\n\t * Set of action types for which a blocks state change should be ignored.\n\t *\n\t * @type {Set}\n\t */\n\tconst IGNORED_ACTION_TYPES = new Set( [ 'RECEIVE_BLOCKS' ] );\n\n\treturn ( state, action ) => {\n\t\tconst nextState = reducer( state, action );\n\n\t\tif ( nextState !== state ) {\n\t\t\tnextState.isIgnoredChange = IGNORED_ACTION_TYPES.has( action.type );\n\t\t}\n\n\t\treturn nextState;\n\t};\n}\n\n/**\n * Higher-order reducer targeting the combined blocks reducer, augmenting\n * block client IDs in remove action to include cascade of inner blocks.\n *\n * @param {Function} reducer Original reducer function.\n *\n * @return {Function} Enhanced reducer function.\n */\nconst withInnerBlocksRemoveCascade = ( reducer ) => ( state, action ) => {\n\t// Gets all children which need to be removed.\n\tconst getAllChildren = ( clientIds ) => {\n\t\tlet result = clientIds;\n\t\tfor ( let i = 0; i < result.length; i++ ) {\n\t\t\tif (\n\t\t\t\t! state.order[ result[ i ] ] ||\n\t\t\t\t( action.keepControlledInnerBlocks &&\n\t\t\t\t\taction.keepControlledInnerBlocks[ result[ i ] ] )\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( result === clientIds ) {\n\t\t\t\tresult = [ ...result ];\n\t\t\t}\n\n\t\t\tresult.push( ...state.order[ result[ i ] ] );\n\t\t}\n\t\treturn result;\n\t};\n\n\tif ( state ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'REMOVE_BLOCKS':\n\t\t\t\taction = {\n\t\t\t\t\t...action,\n\t\t\t\t\ttype: 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN',\n\t\t\t\t\tremovedClientIds: getAllChildren( action.clientIds ),\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase 'REPLACE_BLOCKS':\n\t\t\t\taction = {\n\t\t\t\t\t...action,\n\t\t\t\t\ttype: 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN',\n\t\t\t\t\treplacedClientIds: getAllChildren( action.clientIds ),\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn reducer( state, action );\n};\n\n/**\n * Higher-order reducer which targets the combined blocks reducer and handles\n * the `RESET_BLOCKS` action. When dispatched, this action will replace all\n * blocks that exist in the post, leaving blocks that exist only in state (e.g.\n * reusable blocks and blocks controlled by inner blocks controllers) alone.\n *\n * @param {Function} reducer Original reducer function.\n *\n * @return {Function} Enhanced reducer function.\n */\nconst withBlockReset = ( reducer ) => ( state, action ) => {\n\tif ( action.type === 'RESET_BLOCKS' ) {\n\t\tconst newState = {\n\t\t\t...state,\n\t\t\tbyClientId: getFlattenedBlocksWithoutAttributes( action.blocks ),\n\t\t\tattributes: getFlattenedBlockAttributes( action.blocks ),\n\t\t\torder: mapBlockOrder( action.blocks ),\n\t\t\tparents: mapBlockParents( action.blocks ),\n\t\t\tcontrolledInnerBlocks: {},\n\t\t};\n\n\t\tconst subTree = buildBlockTree( newState, action.blocks );\n\t\tnewState.tree = {\n\t\t\t...subTree,\n\t\t\t// Root.\n\t\t\t'': {\n\t\t\t\tinnerBlocks: action.blocks.map(\n\t\t\t\t\t( subBlock ) => subTree[ subBlock.clientId ]\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\n\t\treturn newState;\n\t}\n\n\treturn reducer( state, action );\n};\n\n/**\n * Higher-order reducer which targets the combined blocks reducer and handles\n * the `REPLACE_INNER_BLOCKS` action. When dispatched, this action the state\n * should become equivalent to the execution of a `REMOVE_BLOCKS` action\n * containing all the child's of the root block followed by the execution of\n * `INSERT_BLOCKS` with the new blocks.\n *\n * @param {Function} reducer Original reducer function.\n *\n * @return {Function} Enhanced reducer function.\n */\nconst withReplaceInnerBlocks = ( reducer ) => ( state, action ) => {\n\tif ( action.type !== 'REPLACE_INNER_BLOCKS' ) {\n\t\treturn reducer( state, action );\n\t}\n\n\t// Finds every nested inner block controller. We must check the action blocks\n\t// and not just the block parent state because some inner block controllers\n\t// should be deleted if specified, whereas others should not be deleted. If\n\t// a controlled should not be deleted, then we need to avoid deleting its\n\t// inner blocks from the block state because its inner blocks will not be\n\t// attached to the block in the action.\n\tconst nestedControllers = {};\n\tif ( Object.keys( state.controlledInnerBlocks ).length ) {\n\t\tconst stack = [ ...action.blocks ];\n\t\twhile ( stack.length ) {\n\t\t\tconst { innerBlocks, ...block } = stack.shift();\n\t\t\tstack.push( ...innerBlocks );\n\t\t\tif ( !! state.controlledInnerBlocks[ block.clientId ] ) {\n\t\t\t\tnestedControllers[ block.clientId ] = true;\n\t\t\t}\n\t\t}\n\t}\n\n\t// The `keepControlledInnerBlocks` prop will keep the inner blocks of the\n\t// marked block in the block state so that they can be reattached to the\n\t// marked block when we re-insert everything a few lines below.\n\tlet stateAfterBlocksRemoval = state;\n\tif ( state.order[ action.rootClientId ] ) {\n\t\tstateAfterBlocksRemoval = reducer( stateAfterBlocksRemoval, {\n\t\t\ttype: 'REMOVE_BLOCKS',\n\t\t\tkeepControlledInnerBlocks: nestedControllers,\n\t\t\tclientIds: state.order[ action.rootClientId ],\n\t\t} );\n\t}\n\tlet stateAfterInsert = stateAfterBlocksRemoval;\n\tif ( action.blocks.length ) {\n\t\tstateAfterInsert = reducer( stateAfterInsert, {\n\t\t\t...action,\n\t\t\ttype: 'INSERT_BLOCKS',\n\t\t\tindex: 0,\n\t\t} );\n\n\t\t// We need to re-attach the block order of the controlled inner blocks.\n\t\t// Otherwise, an inner block controller's blocks will be deleted entirely\n\t\t// from its entity..\n\t\tstateAfterInsert.order = {\n\t\t\t...stateAfterInsert.order,\n\t\t\t...reduce(\n\t\t\t\tnestedControllers,\n\t\t\t\t( result, value, key ) => {\n\t\t\t\t\tif ( state.order[ key ] ) {\n\t\t\t\t\t\tresult[ key ] = state.order[ key ];\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t),\n\t\t};\n\t}\n\treturn stateAfterInsert;\n};\n\n/**\n * Higher-order reducer which targets the combined blocks reducer and handles\n * the `SAVE_REUSABLE_BLOCK_SUCCESS` action. This action can't be handled by\n * regular reducers and needs a higher-order reducer since it needs access to\n * both `byClientId` and `attributes` simultaneously.\n *\n * @param {Function} reducer Original reducer function.\n *\n * @return {Function} Enhanced reducer function.\n */\nconst withSaveReusableBlock = ( reducer ) => ( state, action ) => {\n\tif ( state && action.type === 'SAVE_REUSABLE_BLOCK_SUCCESS' ) {\n\t\tconst { id, updatedId } = action;\n\n\t\t// If a temporary reusable block is saved, we swap the temporary id with the final one.\n\t\tif ( id === updatedId ) {\n\t\t\treturn state;\n\t\t}\n\n\t\tstate = { ...state };\n\n\t\tstate.attributes = mapValues(\n\t\t\tstate.attributes,\n\t\t\t( attributes, clientId ) => {\n\t\t\t\tconst { name } = state.byClientId[ clientId ];\n\t\t\t\tif ( name === 'core/block' && attributes.ref === id ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\tref: updatedId,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn attributes;\n\t\t\t}\n\t\t);\n\t}\n\n\treturn reducer( state, action );\n};\n/**\n * Higher-order reducer which removes blocks from state when switching parent block controlled state.\n *\n * @param {Function} reducer Original reducer function.\n *\n * @return {Function} Enhanced reducer function.\n */\nconst withResetControlledBlocks = ( reducer ) => ( state, action ) => {\n\tif ( action.type === 'SET_HAS_CONTROLLED_INNER_BLOCKS' ) {\n\t\t// when switching a block from controlled to uncontrolled or inverse,\n\t\t// we need to remove its content first.\n\t\tconst tempState = reducer( state, {\n\t\t\ttype: 'REPLACE_INNER_BLOCKS',\n\t\t\trootClientId: action.clientId,\n\t\t\tblocks: [],\n\t\t} );\n\t\treturn reducer( tempState, action );\n\t}\n\n\treturn reducer( state, action );\n};\n\n/**\n * Reducer returning the blocks state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const blocks = flow(\n\tcombineReducers,\n\twithSaveReusableBlock, // Needs to be before withBlockCache.\n\twithBlockTree, // Needs to be before withInnerBlocksRemoveCascade.\n\twithInnerBlocksRemoveCascade,\n\twithReplaceInnerBlocks, // Needs to be after withInnerBlocksRemoveCascade.\n\twithBlockReset,\n\twithPersistentBlockChange,\n\twithIgnoredBlockChange,\n\twithResetControlledBlocks\n)( {\n\tbyClientId( state = {}, action ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'RECEIVE_BLOCKS':\n\t\t\tcase 'INSERT_BLOCKS':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t...getFlattenedBlocksWithoutAttributes( action.blocks ),\n\t\t\t\t};\n\n\t\t\tcase 'UPDATE_BLOCK':\n\t\t\t\t// Ignore updates if block isn't known.\n\t\t\t\tif ( ! state[ action.clientId ] ) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\n\t\t\t\t// Do nothing if only attributes change.\n\t\t\t\tconst changes = omit( action.updates, 'attributes' );\n\t\t\t\tif ( isEmpty( changes ) ) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[ action.clientId ]: {\n\t\t\t\t\t\t...state[ action.clientId ],\n\t\t\t\t\t\t...changes,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\tcase 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN':\n\t\t\t\tif ( ! action.blocks ) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t...omit( state, action.replacedClientIds ),\n\t\t\t\t\t...getFlattenedBlocksWithoutAttributes( action.blocks ),\n\t\t\t\t};\n\n\t\t\tcase 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN':\n\t\t\t\treturn omit( state, action.removedClientIds );\n\t\t}\n\n\t\treturn state;\n\t},\n\n\tattributes( state = {}, action ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'RECEIVE_BLOCKS':\n\t\t\tcase 'INSERT_BLOCKS':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t...getFlattenedBlockAttributes( action.blocks ),\n\t\t\t\t};\n\n\t\t\tcase 'UPDATE_BLOCK':\n\t\t\t\t// Ignore updates if block isn't known or there are no attribute changes.\n\t\t\t\tif (\n\t\t\t\t\t! state[ action.clientId ] ||\n\t\t\t\t\t! action.updates.attributes\n\t\t\t\t) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[ action.clientId ]: {\n\t\t\t\t\t\t...state[ action.clientId ],\n\t\t\t\t\t\t...action.updates.attributes,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\tcase 'UPDATE_BLOCK_ATTRIBUTES': {\n\t\t\t\t// Avoid a state change if none of the block IDs are known.\n\t\t\t\tif ( action.clientIds.every( ( id ) => ! state[ id ] ) ) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\n\t\t\t\tconst next = action.clientIds.reduce(\n\t\t\t\t\t( accumulator, id ) => ( {\n\t\t\t\t\t\t...accumulator,\n\t\t\t\t\t\t[ id ]: reduce(\n\t\t\t\t\t\t\taction.uniqueByBlock\n\t\t\t\t\t\t\t\t? action.attributes[ id ]\n\t\t\t\t\t\t\t\t: action.attributes,\n\t\t\t\t\t\t\t( result, value, key ) => {\n\t\t\t\t\t\t\t\t// Consider as updates only changed values.\n\t\t\t\t\t\t\t\tif ( value !== result[ key ] ) {\n\t\t\t\t\t\t\t\t\tresult = getMutateSafeObject(\n\t\t\t\t\t\t\t\t\t\tstate[ id ],\n\t\t\t\t\t\t\t\t\t\tresult\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tresult[ key ] = value;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tstate[ id ]\n\t\t\t\t\t\t),\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\taction.clientIds.every(\n\t\t\t\t\t\t( id ) => next[ id ] === state[ id ]\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\n\t\t\t\treturn { ...state, ...next };\n\t\t\t}\n\n\t\t\tcase 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN':\n\t\t\t\tif ( ! action.blocks ) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t...omit( state, action.replacedClientIds ),\n\t\t\t\t\t...getFlattenedBlockAttributes( action.blocks ),\n\t\t\t\t};\n\n\t\t\tcase 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN':\n\t\t\t\treturn omit( state, action.removedClientIds );\n\t\t}\n\n\t\treturn state;\n\t},\n\n\torder( state = {}, action ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'RECEIVE_BLOCKS': {\n\t\t\t\tconst blockOrder = mapBlockOrder( action.blocks );\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t...omit( blockOrder, '' ),\n\t\t\t\t\t'': ( state?.[ '' ] || [] ).concat( blockOrder[ '' ] ),\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase 'INSERT_BLOCKS': {\n\t\t\t\tconst { rootClientId = '' } = action;\n\t\t\t\tconst subState = state[ rootClientId ] || [];\n\t\t\t\tconst mappedBlocks = mapBlockOrder(\n\t\t\t\t\taction.blocks,\n\t\t\t\t\trootClientId\n\t\t\t\t);\n\t\t\t\tconst { index = subState.length } = action;\n\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t...mappedBlocks,\n\t\t\t\t\t[ rootClientId ]: insertAt(\n\t\t\t\t\t\tsubState,\n\t\t\t\t\t\tmappedBlocks[ rootClientId ],\n\t\t\t\t\t\tindex\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcase 'MOVE_BLOCKS_TO_POSITION': {\n\t\t\t\tconst {\n\t\t\t\t\tfromRootClientId = '',\n\t\t\t\t\ttoRootClientId = '',\n\t\t\t\t\tclientIds,\n\t\t\t\t} = action;\n\t\t\t\tconst { index = state[ toRootClientId ].length } = action;\n\n\t\t\t\t// Moving inside the same parent block.\n\t\t\t\tif ( fromRootClientId === toRootClientId ) {\n\t\t\t\t\tconst subState = state[ toRootClientId ];\n\t\t\t\t\tconst fromIndex = subState.indexOf( clientIds[ 0 ] );\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...state,\n\t\t\t\t\t\t[ toRootClientId ]: moveTo(\n\t\t\t\t\t\t\tstate[ toRootClientId ],\n\t\t\t\t\t\t\tfromIndex,\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\tclientIds.length\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Moving from a parent block to another.\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[ fromRootClientId ]: without(\n\t\t\t\t\t\tstate[ fromRootClientId ],\n\t\t\t\t\t\t...clientIds\n\t\t\t\t\t),\n\t\t\t\t\t[ toRootClientId ]: insertAt(\n\t\t\t\t\t\tstate[ toRootClientId ],\n\t\t\t\t\t\tclientIds,\n\t\t\t\t\t\tindex\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcase 'MOVE_BLOCKS_UP': {\n\t\t\t\tconst { clientIds, rootClientId = '' } = action;\n\t\t\t\tconst firstClientId = first( clientIds );\n\t\t\t\tconst subState = state[ rootClientId ];\n\n\t\t\t\tif (\n\t\t\t\t\t! subState.length ||\n\t\t\t\t\tfirstClientId === first( subState )\n\t\t\t\t) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\n\t\t\t\tconst firstIndex = subState.indexOf( firstClientId );\n\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[ rootClientId ]: moveTo(\n\t\t\t\t\t\tsubState,\n\t\t\t\t\t\tfirstIndex,\n\t\t\t\t\t\tfirstIndex - 1,\n\t\t\t\t\t\tclientIds.length\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcase 'MOVE_BLOCKS_DOWN': {\n\t\t\t\tconst { clientIds, rootClientId = '' } = action;\n\t\t\t\tconst firstClientId = first( clientIds );\n\t\t\t\tconst lastClientId = last( clientIds );\n\t\t\t\tconst subState = state[ rootClientId ];\n\n\t\t\t\tif ( ! subState.length || lastClientId === last( subState ) ) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\n\t\t\t\tconst firstIndex = subState.indexOf( firstClientId );\n\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[ rootClientId ]: moveTo(\n\t\t\t\t\t\tsubState,\n\t\t\t\t\t\tfirstIndex,\n\t\t\t\t\t\tfirstIndex + 1,\n\t\t\t\t\t\tclientIds.length\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcase 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': {\n\t\t\t\tconst { clientIds } = action;\n\t\t\t\tif ( ! action.blocks ) {\n\t\t\t\t\treturn state;\n\t\t\t\t}\n\n\t\t\t\tconst mappedBlocks = mapBlockOrder( action.blocks );\n\n\t\t\t\treturn flow( [\n\t\t\t\t\t( nextState ) =>\n\t\t\t\t\t\tomit( nextState, action.replacedClientIds ),\n\t\t\t\t\t( nextState ) => ( {\n\t\t\t\t\t\t...nextState,\n\t\t\t\t\t\t...omit( mappedBlocks, '' ),\n\t\t\t\t\t} ),\n\t\t\t\t\t( nextState ) =>\n\t\t\t\t\t\tmapValues( nextState, ( subState ) =>\n\t\t\t\t\t\t\treduce(\n\t\t\t\t\t\t\t\tsubState,\n\t\t\t\t\t\t\t\t( result, clientId ) => {\n\t\t\t\t\t\t\t\t\tif ( clientId === clientIds[ 0 ] ) {\n\t\t\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\t\t\t...result,\n\t\t\t\t\t\t\t\t\t\t\t...mappedBlocks[ '' ],\n\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tclientIds.indexOf( clientId ) === -1\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tresult.push( clientId );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t[]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t),\n\t\t\t\t] )( state );\n\t\t\t}\n\n\t\t\tcase 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN':\n\t\t\t\treturn flow( [\n\t\t\t\t\t// Remove inner block ordering for removed blocks.\n\t\t\t\t\t( nextState ) => omit( nextState, action.removedClientIds ),\n\n\t\t\t\t\t// Remove deleted blocks from other blocks' orderings.\n\t\t\t\t\t( nextState ) =>\n\t\t\t\t\t\tmapValues( nextState, ( subState ) =>\n\t\t\t\t\t\t\twithout( subState, ...action.removedClientIds )\n\t\t\t\t\t\t),\n\t\t\t\t] )( state );\n\t\t}\n\n\t\treturn state;\n\t},\n\n\t// While technically redundant data as the inverse of `order`, it serves as\n\t// an optimization for the selectors which derive the ancestry of a block.\n\tparents( state = {}, action ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'RECEIVE_BLOCKS':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t...mapBlockParents( action.blocks ),\n\t\t\t\t};\n\n\t\t\tcase 'INSERT_BLOCKS':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t...mapBlockParents(\n\t\t\t\t\t\taction.blocks,\n\t\t\t\t\t\taction.rootClientId || ''\n\t\t\t\t\t),\n\t\t\t\t};\n\n\t\t\tcase 'MOVE_BLOCKS_TO_POSITION': {\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t...action.clientIds.reduce( ( accumulator, id ) => {\n\t\t\t\t\t\taccumulator[ id ] = action.toRootClientId || '';\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}, {} ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcase 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN':\n\t\t\t\treturn {\n\t\t\t\t\t...omit( state, action.replacedClientIds ),\n\t\t\t\t\t...mapBlockParents(\n\t\t\t\t\t\taction.blocks,\n\t\t\t\t\t\tstate[ action.clientIds[ 0 ] ]\n\t\t\t\t\t),\n\t\t\t\t};\n\n\t\t\tcase 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN':\n\t\t\t\treturn omit( state, action.removedClientIds );\n\t\t}\n\n\t\treturn state;\n\t},\n\n\tcontrolledInnerBlocks(\n\t\tstate = {},\n\t\t{ type, clientId, hasControlledInnerBlocks }\n\t) {\n\t\tif ( type === 'SET_HAS_CONTROLLED_INNER_BLOCKS' ) {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ clientId ]: hasControlledInnerBlocks,\n\t\t\t};\n\t\t}\n\t\treturn state;\n\t},\n} );\n\n/**\n * Reducer returning typing state.\n *\n * @param {boolean} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {boolean} Updated state.\n */\nexport function isTyping( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'START_TYPING':\n\t\t\treturn true;\n\n\t\tcase 'STOP_TYPING':\n\t\t\treturn false;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning dragged block client id.\n *\n * @param {string[]} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string[]} Updated state.\n */\nexport function draggedBlocks( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'START_DRAGGING_BLOCKS':\n\t\t\treturn action.clientIds;\n\n\t\tcase 'STOP_DRAGGING_BLOCKS':\n\t\t\treturn [];\n\t}\n\n\treturn state;\n}\n\n/**\n * Internal helper reducer for selectionStart and selectionEnd. Can hold a block\n * selection, represented by an object with property clientId.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nfunction selectionHelper( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'CLEAR_SELECTED_BLOCK': {\n\t\t\tif ( state.clientId ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\treturn state;\n\t\t}\n\t\tcase 'SELECT_BLOCK':\n\t\t\tif ( action.clientId === state.clientId ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn { clientId: action.clientId };\n\t\tcase 'REPLACE_INNER_BLOCKS':\n\t\tcase 'INSERT_BLOCKS': {\n\t\t\tif ( ! action.updateSelection || ! action.blocks.length ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn { clientId: action.blocks[ 0 ].clientId };\n\t\t}\n\t\tcase 'REMOVE_BLOCKS':\n\t\t\tif (\n\t\t\t\t! action.clientIds ||\n\t\t\t\t! action.clientIds.length ||\n\t\t\t\taction.clientIds.indexOf( state.clientId ) === -1\n\t\t\t) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn {};\n\t\tcase 'REPLACE_BLOCKS': {\n\t\t\tif ( action.clientIds.indexOf( state.clientId ) === -1 ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\tconst blockToSelect =\n\t\t\t\taction.blocks[ action.indexToSelect ] ||\n\t\t\t\taction.blocks[ action.blocks.length - 1 ];\n\n\t\t\tif ( ! blockToSelect ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tif ( blockToSelect.clientId === state.clientId ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn { clientId: blockToSelect.clientId };\n\t\t}\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the selection state.\n *\n * @param {boolean} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {boolean} Updated state.\n */\nexport function selection( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SELECTION_CHANGE':\n\t\t\tif ( action.clientId ) {\n\t\t\t\treturn {\n\t\t\t\t\tselectionStart: {\n\t\t\t\t\t\tclientId: action.clientId,\n\t\t\t\t\t\tattributeKey: action.attributeKey,\n\t\t\t\t\t\toffset: action.startOffset,\n\t\t\t\t\t},\n\t\t\t\t\tselectionEnd: {\n\t\t\t\t\t\tclientId: action.clientId,\n\t\t\t\t\t\tattributeKey: action.attributeKey,\n\t\t\t\t\t\toffset: action.endOffset,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tselectionStart: action.start || state.selectionStart,\n\t\t\t\tselectionEnd: action.end || state.selectionEnd,\n\t\t\t};\n\t\tcase 'RESET_SELECTION':\n\t\t\tconst { selectionStart, selectionEnd } = action;\n\t\t\treturn {\n\t\t\t\tselectionStart,\n\t\t\t\tselectionEnd,\n\t\t\t};\n\t\tcase 'MULTI_SELECT':\n\t\t\tconst { start, end } = action;\n\n\t\t\tif (\n\t\t\t\tstart === state.selectionStart?.clientId &&\n\t\t\t\tend === state.selectionEnd?.clientId\n\t\t\t) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tselectionStart: { clientId: start },\n\t\t\t\tselectionEnd: { clientId: end },\n\t\t\t};\n\t\tcase 'RESET_BLOCKS':\n\t\t\tconst startClientId = state?.selectionStart?.clientId;\n\t\t\tconst endClientId = state?.selectionEnd?.clientId;\n\n\t\t\t// Do nothing if there's no selected block.\n\t\t\tif ( ! startClientId && ! endClientId ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\t// If the start of the selection won't exist after reset, remove selection.\n\t\t\tif (\n\t\t\t\t! action.blocks.some(\n\t\t\t\t\t( block ) => block.clientId === startClientId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn {\n\t\t\t\t\tselectionStart: {},\n\t\t\t\t\tselectionEnd: {},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// If the end of the selection won't exist after reset, collapse selection.\n\t\t\tif (\n\t\t\t\t! action.blocks.some(\n\t\t\t\t\t( block ) => block.clientId === endClientId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tselectionEnd: state.selectionStart,\n\t\t\t\t};\n\t\t\t}\n\t}\n\n\treturn {\n\t\tselectionStart: selectionHelper( state.selectionStart, action ),\n\t\tselectionEnd: selectionHelper( state.selectionEnd, action ),\n\t};\n}\n\n/**\n * Reducer returning whether the user is multi-selecting.\n *\n * @param {boolean} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {boolean} Updated state.\n */\nexport function isMultiSelecting( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'START_MULTI_SELECT':\n\t\t\treturn true;\n\n\t\tcase 'STOP_MULTI_SELECT':\n\t\t\treturn false;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning whether selection is enabled.\n *\n * @param {boolean} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {boolean} Updated state.\n */\nexport function isSelectionEnabled( state = true, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'TOGGLE_SELECTION':\n\t\t\treturn action.isSelectionEnabled;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the initial block selection.\n *\n * Currently this in only used to restore the selection after block deletion and\n * pasting new content.This reducer should eventually be removed in favour of setting\n * selection directly.\n *\n * @param {boolean} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {number|null} Initial position: 0, -1 or null.\n */\nexport function initialPosition( state = null, action ) {\n\tif (\n\t\taction.type === 'REPLACE_BLOCKS' &&\n\t\taction.initialPosition !== undefined\n\t) {\n\t\treturn action.initialPosition;\n\t} else if (\n\t\t[\n\t\t\t'MULTI_SELECT',\n\t\t\t'SELECT_BLOCK',\n\t\t\t'RESET_SELECTION',\n\t\t\t'INSERT_BLOCKS',\n\t\t\t'REPLACE_INNER_BLOCKS',\n\t\t].includes( action.type )\n\t) {\n\t\treturn action.initialPosition;\n\t}\n\n\treturn state;\n}\n\nexport function blocksMode( state = {}, action ) {\n\tif ( action.type === 'TOGGLE_BLOCK_MODE' ) {\n\t\tconst { clientId } = action;\n\t\treturn {\n\t\t\t...state,\n\t\t\t[ clientId ]:\n\t\t\t\tstate[ clientId ] && state[ clientId ] === 'html'\n\t\t\t\t\t? 'visual'\n\t\t\t\t\t: 'html',\n\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the block insertion point visibility, either null if there\n * is not an explicit insertion point assigned, or an object of its `index` and\n * `rootClientId`.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function insertionPoint( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SHOW_INSERTION_POINT':\n\t\t\tconst { rootClientId, index, __unstableWithInserter } = action;\n\t\t\treturn { rootClientId, index, __unstableWithInserter };\n\n\t\tcase 'HIDE_INSERTION_POINT':\n\t\t\treturn null;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning whether the post blocks match the defined template or not.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {boolean} Updated state.\n */\nexport function template( state = { isValid: true }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_TEMPLATE_VALIDITY':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisValid: action.isValid,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the editor setting.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function settings( state = SETTINGS_DEFAULTS, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the user preferences.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string} Updated state.\n */\nexport function preferences( state = PREFERENCES_DEFAULTS, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'INSERT_BLOCKS':\n\t\tcase 'REPLACE_BLOCKS':\n\t\t\treturn action.blocks.reduce( ( prevState, block ) => {\n\t\t\t\tconst { attributes, name: blockName } = block;\n\t\t\t\tconst match = select( blocksStore ).getActiveBlockVariation(\n\t\t\t\t\tblockName,\n\t\t\t\t\tattributes\n\t\t\t\t);\n\t\t\t\t// If a block variation match is found change the name to be the same with the\n\t\t\t\t// one that is used for block variations in the Inserter (`getItemFromVariation`).\n\t\t\t\tlet id = match?.name\n\t\t\t\t\t? `${ blockName }/${ match.name }`\n\t\t\t\t\t: blockName;\n\t\t\t\tconst insert = { name: id };\n\t\t\t\tif ( blockName === 'core/block' ) {\n\t\t\t\t\tinsert.ref = attributes.ref;\n\t\t\t\t\tid += '/' + attributes.ref;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t...prevState,\n\t\t\t\t\tinsertUsage: {\n\t\t\t\t\t\t...prevState.insertUsage,\n\t\t\t\t\t\t[ id ]: {\n\t\t\t\t\t\t\ttime: action.time,\n\t\t\t\t\t\t\tcount: prevState.insertUsage[ id ]\n\t\t\t\t\t\t\t\t? prevState.insertUsage[ id ].count + 1\n\t\t\t\t\t\t\t\t: 1,\n\t\t\t\t\t\t\tinsert,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}, state );\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning an object where each key is a block client ID, its value\n * representing the settings for its nested blocks.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const blockListSettings = ( state = {}, action ) => {\n\tswitch ( action.type ) {\n\t\t// Even if the replaced blocks have the same client ID, our logic\n\t\t// should correct the state.\n\t\tcase 'REPLACE_BLOCKS':\n\t\tcase 'REMOVE_BLOCKS': {\n\t\t\treturn omit( state, action.clientIds );\n\t\t}\n\t\tcase 'UPDATE_BLOCK_LIST_SETTINGS': {\n\t\t\tconst { clientId } = action;\n\t\t\tif ( ! action.settings ) {\n\t\t\t\tif ( state.hasOwnProperty( clientId ) ) {\n\t\t\t\t\treturn omit( state, clientId );\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\tif ( isEqual( state[ clientId ], action.settings ) ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ clientId ]: action.settings,\n\t\t\t};\n\t\t}\n\t}\n\treturn state;\n};\n\n/**\n * Reducer returning whether the navigation mode is enabled or not.\n *\n * @param {string} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string} Updated state.\n */\nexport function isNavigationMode( state = false, action ) {\n\t// Let inserting block always trigger Edit mode.\n\tif ( action.type === 'INSERT_BLOCKS' ) {\n\t\treturn false;\n\t}\n\n\tif ( action.type === 'SET_NAVIGATION_MODE' ) {\n\t\treturn action.isNavigationMode;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning whether the block moving mode is enabled or not.\n *\n * @param {string|null} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|null} Updated state.\n */\nexport function hasBlockMovingClientId( state = null, action ) {\n\t// Let inserting block always trigger Edit mode.\n\n\tif ( action.type === 'SET_BLOCK_MOVING_MODE' ) {\n\t\treturn action.hasBlockMovingClientId;\n\t}\n\n\tif ( action.type === 'SET_NAVIGATION_MODE' ) {\n\t\treturn null;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer return an updated state representing the most recent block attribute\n * update. The state is structured as an object where the keys represent the\n * client IDs of blocks, the values a subset of attributes from the most recent\n * block update. The state is always reset to null if the last action is\n * anything other than an attributes update.\n *\n * @param {Object<string,Object>} state Current state.\n * @param {Object} action Action object.\n *\n * @return {[string,Object]} Updated state.\n */\nexport function lastBlockAttributesChange( state, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_BLOCK':\n\t\t\tif ( ! action.updates.attributes ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn { [ action.clientId ]: action.updates.attributes };\n\n\t\tcase 'UPDATE_BLOCK_ATTRIBUTES':\n\t\t\treturn action.clientIds.reduce(\n\t\t\t\t( accumulator, id ) => ( {\n\t\t\t\t\t...accumulator,\n\t\t\t\t\t[ id ]: action.uniqueByBlock\n\t\t\t\t\t\t? action.attributes[ id ]\n\t\t\t\t\t\t: action.attributes,\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t\t);\n\t}\n\n\treturn null;\n}\n\n/**\n * Reducer returning automatic change state.\n *\n * @param {boolean} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string} Updated state.\n */\nexport function automaticChangeStatus( state, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'MARK_AUTOMATIC_CHANGE':\n\t\t\treturn 'pending';\n\t\tcase 'MARK_AUTOMATIC_CHANGE_FINAL':\n\t\t\tif ( state === 'pending' ) {\n\t\t\t\treturn 'final';\n\t\t\t}\n\n\t\t\treturn;\n\t\tcase 'SELECTION_CHANGE':\n\t\t\t// As long as the state is not final, ignore any selection changes.\n\t\t\tif ( state !== 'final' ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn;\n\t\t// Undoing an automatic change should still be possible after mouse\n\t\t// move.\n\t\tcase 'START_TYPING':\n\t\tcase 'STOP_TYPING':\n\t\t\treturn state;\n\t}\n\n\t// Reset the state by default (for any action not handled).\n}\n\n/**\n * Reducer returning current highlighted block.\n *\n * @param {boolean} state Current highlighted block.\n * @param {Object} action Dispatched action.\n *\n * @return {string} Updated state.\n */\nexport function highlightedBlock( state, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'TOGGLE_BLOCK_HIGHLIGHT':\n\t\t\tconst { clientId, isHighlighted } = action;\n\n\t\t\tif ( isHighlighted ) {\n\t\t\t\treturn clientId;\n\t\t\t} else if ( state === clientId ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn state;\n\t\tcase 'SELECT_BLOCK':\n\t\t\tif ( action.clientId !== state ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the block insertion event list state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function lastBlockInserted( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'INSERT_BLOCKS':\n\t\t\tif ( ! action.blocks.length ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\tconst clientId = action.blocks[ 0 ].clientId;\n\t\t\tconst source = action.meta?.source;\n\n\t\t\treturn { clientId, source };\n\t\tcase 'RESET_BLOCKS':\n\t\t\treturn {};\n\t}\n\treturn state;\n}\n\nexport default combineReducers( {\n\tblocks,\n\tisTyping,\n\tdraggedBlocks,\n\tselection,\n\tisMultiSelecting,\n\tisSelectionEnabled,\n\tinitialPosition,\n\tblocksMode,\n\tblockListSettings,\n\tinsertionPoint,\n\ttemplate,\n\tsettings,\n\tpreferences,\n\tlastBlockAttributesChange,\n\tisNavigationMode,\n\thasBlockMovingClientId,\n\tautomaticChangeStatus,\n\thighlightedBlock,\n\tlastBlockInserted,\n} );\n","'use strict';\n\nvar LEAF_KEY, hasWeakMap;\n\n/**\n * Arbitrary value used as key for referencing cache object in WeakMap tree.\n *\n * @type {Object}\n */\nLEAF_KEY = {};\n\n/**\n * Whether environment supports WeakMap.\n *\n * @type {boolean}\n */\nhasWeakMap = typeof WeakMap !== 'undefined';\n\n/**\n * Returns the first argument as the sole entry in an array.\n *\n * @param {*} value Value to return.\n *\n * @return {Array} Value returned as entry in array.\n */\nfunction arrayOf( value ) {\n\treturn [ value ];\n}\n\n/**\n * Returns true if the value passed is object-like, or false otherwise. A value\n * is object-like if it can support property assignment, e.g. object or array.\n *\n * @param {*} value Value to test.\n *\n * @return {boolean} Whether value is object-like.\n */\nfunction isObjectLike( value ) {\n\treturn !! value && 'object' === typeof value;\n}\n\n/**\n * Creates and returns a new cache object.\n *\n * @return {Object} Cache object.\n */\nfunction createCache() {\n\tvar cache = {\n\t\tclear: function() {\n\t\t\tcache.head = null;\n\t\t},\n\t};\n\n\treturn cache;\n}\n\n/**\n * Returns true if entries within the two arrays are strictly equal by\n * reference from a starting index.\n *\n * @param {Array} a First array.\n * @param {Array} b Second array.\n * @param {number} fromIndex Index from which to start comparison.\n *\n * @return {boolean} Whether arrays are shallowly equal.\n */\nfunction isShallowEqual( a, b, fromIndex ) {\n\tvar i;\n\n\tif ( a.length !== b.length ) {\n\t\treturn false;\n\t}\n\n\tfor ( i = fromIndex; i < a.length; i++ ) {\n\t\tif ( a[ i ] !== b[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/**\n * Returns a memoized selector function. The getDependants function argument is\n * called before the memoized selector and is expected to return an immutable\n * reference or array of references on which the selector depends for computing\n * its own return value. The memoize cache is preserved only as long as those\n * dependant references remain the same. If getDependants returns a different\n * reference(s), the cache is cleared and the selector value regenerated.\n *\n * @param {Function} selector Selector function.\n * @param {Function} getDependants Dependant getter returning an immutable\n * reference or array of reference used in\n * cache bust consideration.\n *\n * @return {Function} Memoized selector.\n */\nexport default function( selector, getDependants ) {\n\tvar rootCache, getCache;\n\n\t// Use object source as dependant if getter not provided\n\tif ( ! getDependants ) {\n\t\tgetDependants = arrayOf;\n\t}\n\n\t/**\n\t * Returns the root cache. If WeakMap is supported, this is assigned to the\n\t * root WeakMap cache set, otherwise it is a shared instance of the default\n\t * cache object.\n\t *\n\t * @return {(WeakMap|Object)} Root cache object.\n\t */\n\tfunction getRootCache() {\n\t\treturn rootCache;\n\t}\n\n\t/**\n\t * Returns the cache for a given dependants array. When possible, a WeakMap\n\t * will be used to create a unique cache for each set of dependants. This\n\t * is feasible due to the nature of WeakMap in allowing garbage collection\n\t * to occur on entries where the key object is no longer referenced. Since\n\t * WeakMap requires the key to be an object, this is only possible when the\n\t * dependant is object-like. The root cache is created as a hierarchy where\n\t * each top-level key is the first entry in a dependants set, the value a\n\t * WeakMap where each key is the next dependant, and so on. This continues\n\t * so long as the dependants are object-like. If no dependants are object-\n\t * like, then the cache is shared across all invocations.\n\t *\n\t * @see isObjectLike\n\t *\n\t * @param {Array} dependants Selector dependants.\n\t *\n\t * @return {Object} Cache object.\n\t */\n\tfunction getWeakMapCache( dependants ) {\n\t\tvar caches = rootCache,\n\t\t\tisUniqueByDependants = true,\n\t\t\ti, dependant, map, cache;\n\n\t\tfor ( i = 0; i < dependants.length; i++ ) {\n\t\t\tdependant = dependants[ i ];\n\n\t\t\t// Can only compose WeakMap from object-like key.\n\t\t\tif ( ! isObjectLike( dependant ) ) {\n\t\t\t\tisUniqueByDependants = false;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// Does current segment of cache already have a WeakMap?\n\t\t\tif ( caches.has( dependant ) ) {\n\t\t\t\t// Traverse into nested WeakMap.\n\t\t\t\tcaches = caches.get( dependant );\n\t\t\t} else {\n\t\t\t\t// Create, set, and traverse into a new one.\n\t\t\t\tmap = new WeakMap();\n\t\t\t\tcaches.set( dependant, map );\n\t\t\t\tcaches = map;\n\t\t\t}\n\t\t}\n\n\t\t// We use an arbitrary (but consistent) object as key for the last item\n\t\t// in the WeakMap to serve as our running cache.\n\t\tif ( ! caches.has( LEAF_KEY ) ) {\n\t\t\tcache = createCache();\n\t\t\tcache.isUniqueByDependants = isUniqueByDependants;\n\t\t\tcaches.set( LEAF_KEY, cache );\n\t\t}\n\n\t\treturn caches.get( LEAF_KEY );\n\t}\n\n\t// Assign cache handler by availability of WeakMap\n\tgetCache = hasWeakMap ? getWeakMapCache : getRootCache;\n\n\t/**\n\t * Resets root memoization cache.\n\t */\n\tfunction clear() {\n\t\trootCache = hasWeakMap ? new WeakMap() : createCache();\n\t}\n\n\t// eslint-disable-next-line jsdoc/check-param-names\n\t/**\n\t * The augmented selector call, considering first whether dependants have\n\t * changed before passing it to underlying memoize function.\n\t *\n\t * @param {Object} source Source object for derivation.\n\t * @param {...*} extraArgs Additional arguments to pass to selector.\n\t *\n\t * @return {*} Selector result.\n\t */\n\tfunction callSelector( /* source, ...extraArgs */ ) {\n\t\tvar len = arguments.length,\n\t\t\tcache, node, i, args, dependants;\n\n\t\t// Create copy of arguments (avoid leaking deoptimization).\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tdependants = getDependants.apply( null, args );\n\t\tcache = getCache( dependants );\n\n\t\t// If not guaranteed uniqueness by dependants (primitive type or lack\n\t\t// of WeakMap support), shallow compare against last dependants and, if\n\t\t// references have changed, destroy cache to recalculate result.\n\t\tif ( ! cache.isUniqueByDependants ) {\n\t\t\tif ( cache.lastDependants && ! isShallowEqual( dependants, cache.lastDependants, 0 ) ) {\n\t\t\t\tcache.clear();\n\t\t\t}\n\n\t\t\tcache.lastDependants = dependants;\n\t\t}\n\n\t\tnode = cache.head;\n\t\twhile ( node ) {\n\t\t\t// Check whether node arguments match arguments\n\t\t\tif ( ! isShallowEqual( node.args, args, 1 ) ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== cache.head ) {\n\t\t\t\t// Adjust siblings to point to each other.\n\t\t\t\tnode.prev.next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = cache.head;\n\t\t\t\tnode.prev = null;\n\t\t\t\tcache.head.prev = node;\n\t\t\t\tcache.head = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\tnode = {\n\t\t\t// Generate the result from original function\n\t\t\tval: selector.apply( null, args ),\n\t\t};\n\n\t\t// Avoid including the source object in the cache.\n\t\targs[ 0 ] = null;\n\t\tnode.args = args;\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( cache.head ) {\n\t\t\tcache.head.prev = node;\n\t\t\tnode.next = cache.head;\n\t\t}\n\n\t\tcache.head = node;\n\n\t\treturn node.val;\n\t}\n\n\tcallSelector.getDependants = getDependants;\n\tcallSelector.clear = clear;\n\tclear();\n\n\treturn callSelector;\n}\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"primitives\"];","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst symbol = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z\" />\n\t</SVG>\n);\n\nexport default symbol;\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"richText\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"deprecated\"];","/**\n * Helper function that maps attribute definition properties to the\n * ones used by RichText utils like `create, toHTMLString, etc..`.\n *\n * @param {Object} attributeDefinition A block's attribute definition object.\n * @return {Object} The mapped object.\n */\nexport function mapRichTextSettings( attributeDefinition ) {\n\tconst {\n\t\tmultiline: multilineTag,\n\t\t__unstableMultilineWrapperTags: multilineWrapperTags,\n\t\t__unstablePreserveWhiteSpace: preserveWhiteSpace,\n\t} = attributeDefinition;\n\treturn {\n\t\tmultilineTag,\n\t\tmultilineWrapperTags,\n\t\tpreserveWhiteSpace,\n\t};\n}\n","/**\n * External dependencies\n */\nimport {\n\tcastArray,\n\tfirst,\n\tisArray,\n\tisBoolean,\n\tlast,\n\tmap,\n\treduce,\n\tsome,\n\tfind,\n\tfilter,\n\tmapKeys,\n\torderBy,\n} from 'lodash';\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tgetBlockTypes,\n\tgetBlockVariations,\n\thasBlockSupport,\n\tgetPossibleBlockTransformations,\n\tparse,\n\tswitchToBlockType,\n} from '@wordpress/blocks';\nimport { Platform } from '@wordpress/element';\nimport { applyFilters } from '@wordpress/hooks';\nimport { symbol } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { create, remove, toHTMLString } from '@wordpress/rich-text';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { mapRichTextSettings } from './utils';\n\n/**\n * A block selection object.\n *\n * @typedef {Object} WPBlockSelection\n *\n * @property {string} clientId A block client ID.\n * @property {string} attributeKey A block attribute key.\n * @property {number} offset An attribute value offset, based on the rich\n * text value. See `wp.richText.create`.\n */\n\n// Module constants.\nconst MILLISECONDS_PER_HOUR = 3600 * 1000;\nconst MILLISECONDS_PER_DAY = 24 * 3600 * 1000;\nconst MILLISECONDS_PER_WEEK = 7 * 24 * 3600 * 1000;\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation, as in a connected or\n * other pure component which performs `shouldComponentUpdate` check on props.\n * This should be used as a last resort, since the normalized data should be\n * maintained by the reducer result in state.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\n/**\n * Returns a block's name given its client ID, or null if no block exists with\n * the client ID.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n *\n * @return {string} Block name.\n */\nexport function getBlockName( state, clientId ) {\n\tconst block = state.blocks.byClientId[ clientId ];\n\tconst socialLinkName = 'core/social-link';\n\n\tif ( Platform.OS !== 'web' && block?.name === socialLinkName ) {\n\t\tconst attributes = state.blocks.attributes[ clientId ];\n\t\tconst { service } = attributes;\n\n\t\treturn service ? `${ socialLinkName }-${ service }` : socialLinkName;\n\t}\n\treturn block ? block.name : null;\n}\n\n/**\n * Returns whether a block is valid or not.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n *\n * @return {boolean} Is Valid.\n */\nexport function isBlockValid( state, clientId ) {\n\tconst block = state.blocks.byClientId[ clientId ];\n\treturn !! block && block.isValid;\n}\n\n/**\n * Returns a block's attributes given its client ID, or null if no block exists with\n * the client ID.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n *\n * @return {Object?} Block attributes.\n */\nexport function getBlockAttributes( state, clientId ) {\n\tconst block = state.blocks.byClientId[ clientId ];\n\tif ( ! block ) {\n\t\treturn null;\n\t}\n\n\treturn state.blocks.attributes[ clientId ];\n}\n\n/**\n * Returns a block given its client ID. This is a parsed copy of the block,\n * containing its `blockName`, `clientId`, and current `attributes` state. This\n * is not the block's registration settings, which must be retrieved from the\n * blocks module registration store.\n *\n * getBlock recurses through its inner blocks until all its children blocks have\n * been retrieved. Note that getBlock will not return the child inner blocks of\n * an inner block controller. This is because an inner block controller syncs\n * itself with its own entity, and should therefore not be included with the\n * blocks of a different entity. For example, say you call `getBlocks( TP )` to\n * get the blocks of a template part. If another template part is a child of TP,\n * then the nested template part's child blocks will not be returned. This way,\n * the template block itself is considered part of the parent, but the children\n * are not.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n *\n * @return {Object} Parsed block object.\n */\nexport function getBlock( state, clientId ) {\n\tconst block = state.blocks.byClientId[ clientId ];\n\tif ( ! block ) {\n\t\treturn null;\n\t}\n\n\treturn state.blocks.tree[ clientId ];\n}\n\nexport const __unstableGetBlockWithoutInnerBlocks = createSelector(\n\t( state, clientId ) => {\n\t\tconst block = state.blocks.byClientId[ clientId ];\n\t\tif ( ! block ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\t...block,\n\t\t\tattributes: getBlockAttributes( state, clientId ),\n\t\t};\n\t},\n\t( state, clientId ) => [\n\t\tstate.blocks.byClientId[ clientId ],\n\t\tstate.blocks.attributes[ clientId ],\n\t]\n);\n\n/**\n * Returns all block objects for the current post being edited as an array in\n * the order they appear in the post. Note that this will exclude child blocks\n * of nested inner block controllers.\n *\n * @param {Object} state Editor state.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {Object[]} Post blocks.\n */\nexport function getBlocks( state, rootClientId ) {\n\tconst treeKey =\n\t\t! rootClientId || ! areInnerBlocksControlled( state, rootClientId )\n\t\t\t? rootClientId || ''\n\t\t\t: 'controlled||' + rootClientId;\n\treturn state.blocks.tree[ treeKey ]?.innerBlocks || EMPTY_ARRAY;\n}\n\n/**\n * Returns a stripped down block object containing only its client ID,\n * and its inner blocks' client IDs.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Client ID of the block to get.\n *\n * @return {Object} Client IDs of the post blocks.\n */\nexport const __unstableGetClientIdWithClientIdsTree = createSelector(\n\t( state, clientId ) => ( {\n\t\tclientId,\n\t\tinnerBlocks: __unstableGetClientIdsTree( state, clientId ),\n\t} ),\n\t( state ) => [ state.blocks.order ]\n);\n\n/**\n * Returns the block tree represented in the block-editor store from the\n * given root, consisting of stripped down block objects containing only\n * their client IDs, and their inner blocks' client IDs.\n *\n * @param {Object} state Editor state.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {Object[]} Client IDs of the post blocks.\n */\nexport const __unstableGetClientIdsTree = createSelector(\n\t( state, rootClientId = '' ) =>\n\t\tmap( getBlockOrder( state, rootClientId ), ( clientId ) =>\n\t\t\t__unstableGetClientIdWithClientIdsTree( state, clientId )\n\t\t),\n\t( state ) => [ state.blocks.order ]\n);\n\n/**\n * Returns an array containing the clientIds of all descendants of the blocks\n * given. Returned ids are ordered first by the order of the ids given, then\n * by the order that they appear in the editor.\n *\n * @param {Object} state Global application state.\n * @param {Array} clientIds Array of blocks to inspect.\n *\n * @return {Array} ids of descendants.\n */\nexport const getClientIdsOfDescendants = createSelector(\n\t( state, clientIds ) => {\n\t\tconst collectedIds = [];\n\t\tfor ( const givenId of clientIds ) {\n\t\t\tfor ( const descendantId of getBlockOrder( state, givenId ) ) {\n\t\t\t\tcollectedIds.push(\n\t\t\t\t\tdescendantId,\n\t\t\t\t\t...getClientIdsOfDescendants( state, [ descendantId ] )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn collectedIds;\n\t},\n\t( state ) => [ state.blocks.order ]\n);\n\n/**\n * Returns an array containing the clientIds of the top-level blocks and\n * their descendants of any depth (for nested blocks). Ids are returned\n * in the same order that they appear in the editor.\n *\n * @param {Object} state Global application state.\n *\n * @return {Array} ids of top-level and descendant blocks.\n */\nexport const getClientIdsWithDescendants = createSelector(\n\t( state ) => {\n\t\tconst collectedIds = [];\n\t\tfor ( const topLevelId of getBlockOrder( state ) ) {\n\t\t\tcollectedIds.push(\n\t\t\t\ttopLevelId,\n\t\t\t\t...getClientIdsOfDescendants( state, [ topLevelId ] )\n\t\t\t);\n\t\t}\n\t\treturn collectedIds;\n\t},\n\t( state ) => [ state.blocks.order ]\n);\n\n/**\n * Returns the total number of blocks, or the total number of blocks with a specific name in a post.\n * The number returned includes nested blocks.\n *\n * @param {Object} state Global application state.\n * @param {?string} blockName Optional block name, if specified only blocks of that type will be counted.\n *\n * @return {number} Number of blocks in the post, or number of blocks with name equal to blockName.\n */\nexport const getGlobalBlockCount = createSelector(\n\t( state, blockName ) => {\n\t\tconst clientIds = getClientIdsWithDescendants( state );\n\t\tif ( ! blockName ) {\n\t\t\treturn clientIds.length;\n\t\t}\n\t\treturn reduce(\n\t\t\tclientIds,\n\t\t\t( accumulator, clientId ) => {\n\t\t\t\tconst block = state.blocks.byClientId[ clientId ];\n\t\t\t\treturn block.name === blockName ? accumulator + 1 : accumulator;\n\t\t\t},\n\t\t\t0\n\t\t);\n\t},\n\t( state ) => [ state.blocks.order, state.blocks.byClientId ]\n);\n\n/**\n * Returns all global blocks that match a blockName. Results include nested blocks.\n *\n * @param {Object} state Global application state.\n * @param {?string} blockName Optional block name, if not specified, returns an empty array.\n *\n * @return {Array} Array of clientIds of blocks with name equal to blockName.\n */\nexport const __experimentalGetGlobalBlocksByName = createSelector(\n\t( state, blockName ) => {\n\t\tif ( ! blockName ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst clientIds = getClientIdsWithDescendants( state );\n\t\tconst foundBlocks = clientIds.filter( ( clientId ) => {\n\t\t\tconst block = state.blocks.byClientId[ clientId ];\n\t\t\treturn block.name === blockName;\n\t\t} );\n\t\treturn foundBlocks.length > 0 ? foundBlocks : EMPTY_ARRAY;\n\t},\n\t( state ) => [ state.blocks.order, state.blocks.byClientId ]\n);\n\n/**\n * Given an array of block client IDs, returns the corresponding array of block\n * objects.\n *\n * @param {Object} state Editor state.\n * @param {string[]} clientIds Client IDs for which blocks are to be returned.\n *\n * @return {WPBlock[]} Block objects.\n */\nexport const getBlocksByClientId = createSelector(\n\t( state, clientIds ) =>\n\t\tmap( castArray( clientIds ), ( clientId ) =>\n\t\t\tgetBlock( state, clientId )\n\t\t),\n\t( state, clientIds ) =>\n\t\tmap(\n\t\t\tcastArray( clientIds ),\n\t\t\t( clientId ) => state.blocks.tree[ clientId ]\n\t\t)\n);\n\n/**\n * Returns the number of blocks currently present in the post.\n *\n * @param {Object} state Editor state.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {number} Number of blocks in the post.\n */\nexport function getBlockCount( state, rootClientId ) {\n\treturn getBlockOrder( state, rootClientId ).length;\n}\n\n/**\n * Returns the current selection start block client ID, attribute key and text\n * offset.\n *\n * @param {Object} state Block editor state.\n *\n * @return {WPBlockSelection} Selection start information.\n */\nexport function getSelectionStart( state ) {\n\treturn state.selection.selectionStart;\n}\n\n/**\n * Returns the current selection end block client ID, attribute key and text\n * offset.\n *\n * @param {Object} state Block editor state.\n *\n * @return {WPBlockSelection} Selection end information.\n */\nexport function getSelectionEnd( state ) {\n\treturn state.selection.selectionEnd;\n}\n\n/**\n * Returns the current block selection start. This value may be null, and it\n * may represent either a singular block selection or multi-selection start.\n * A selection is singular if its start and end match.\n *\n * @param {Object} state Global application state.\n *\n * @return {?string} Client ID of block selection start.\n */\nexport function getBlockSelectionStart( state ) {\n\treturn state.selection.selectionStart.clientId;\n}\n\n/**\n * Returns the current block selection end. This value may be null, and it\n * may represent either a singular block selection or multi-selection end.\n * A selection is singular if its start and end match.\n *\n * @param {Object} state Global application state.\n *\n * @return {?string} Client ID of block selection end.\n */\nexport function getBlockSelectionEnd( state ) {\n\treturn state.selection.selectionEnd.clientId;\n}\n\n/**\n * Returns the number of blocks currently selected in the post.\n *\n * @param {Object} state Global application state.\n *\n * @return {number} Number of blocks selected in the post.\n */\nexport function getSelectedBlockCount( state ) {\n\tconst multiSelectedBlockCount = getMultiSelectedBlockClientIds( state )\n\t\t.length;\n\n\tif ( multiSelectedBlockCount ) {\n\t\treturn multiSelectedBlockCount;\n\t}\n\n\treturn state.selection.selectionStart.clientId ? 1 : 0;\n}\n\n/**\n * Returns true if there is a single selected block, or false otherwise.\n *\n * @param {Object} state Editor state.\n *\n * @return {boolean} Whether a single block is selected.\n */\nexport function hasSelectedBlock( state ) {\n\tconst { selectionStart, selectionEnd } = state.selection;\n\treturn (\n\t\t!! selectionStart.clientId &&\n\t\tselectionStart.clientId === selectionEnd.clientId\n\t);\n}\n\n/**\n * Returns the currently selected block client ID, or null if there is no\n * selected block.\n *\n * @param {Object} state Editor state.\n *\n * @return {?string} Selected block client ID.\n */\nexport function getSelectedBlockClientId( state ) {\n\tconst { selectionStart, selectionEnd } = state.selection;\n\tconst { clientId } = selectionStart;\n\n\tif ( ! clientId || clientId !== selectionEnd.clientId ) {\n\t\treturn null;\n\t}\n\n\treturn clientId;\n}\n\n/**\n * Returns the currently selected block, or null if there is no selected block.\n *\n * @param {Object} state Global application state.\n *\n * @return {?Object} Selected block.\n */\nexport function getSelectedBlock( state ) {\n\tconst clientId = getSelectedBlockClientId( state );\n\treturn clientId ? getBlock( state, clientId ) : null;\n}\n\n/**\n * Given a block client ID, returns the root block from which the block is\n * nested, an empty string for top-level blocks, or null if the block does not\n * exist.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block from which to find root client ID.\n *\n * @return {?string} Root client ID, if exists\n */\nexport function getBlockRootClientId( state, clientId ) {\n\treturn state.blocks.parents[ clientId ] !== undefined\n\t\t? state.blocks.parents[ clientId ]\n\t\t: null;\n}\n\n/**\n * Given a block client ID, returns the list of all its parents from top to bottom.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block from which to find root client ID.\n * @param {boolean} ascending Order results from bottom to top (true) or top to bottom (false).\n *\n * @return {Array} ClientIDs of the parent blocks.\n */\nexport const getBlockParents = createSelector(\n\t( state, clientId, ascending = false ) => {\n\t\tconst parents = [];\n\t\tlet current = clientId;\n\t\twhile ( !! state.blocks.parents[ current ] ) {\n\t\t\tcurrent = state.blocks.parents[ current ];\n\t\t\tparents.push( current );\n\t\t}\n\n\t\treturn ascending ? parents : parents.reverse();\n\t},\n\t( state ) => [ state.blocks.parents ]\n);\n\n/**\n * Given a block client ID and a block name, returns the list of all its parents\n * from top to bottom, filtered by the given name(s). For example, if passed\n * 'core/group' as the blockName, it will only return parents which are group\n * blocks. If passed `[ 'core/group', 'core/cover']`, as the blockName, it will\n * return parents which are group blocks and parents which are cover blocks.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block from which to find root client ID.\n * @param {string|string[]} blockName Block name(s) to filter.\n * @param {boolean} ascending Order results from bottom to top (true) or top to bottom (false).\n *\n * @return {Array} ClientIDs of the parent blocks.\n */\nexport const getBlockParentsByBlockName = createSelector(\n\t( state, clientId, blockName, ascending = false ) => {\n\t\tconst parents = getBlockParents( state, clientId, ascending );\n\t\treturn map(\n\t\t\tfilter(\n\t\t\t\tmap( parents, ( id ) => ( {\n\t\t\t\t\tid,\n\t\t\t\t\tname: getBlockName( state, id ),\n\t\t\t\t} ) ),\n\t\t\t\t( { name } ) => {\n\t\t\t\t\tif ( Array.isArray( blockName ) ) {\n\t\t\t\t\t\treturn blockName.includes( name );\n\t\t\t\t\t}\n\t\t\t\t\treturn name === blockName;\n\t\t\t\t}\n\t\t\t),\n\t\t\t( { id } ) => id\n\t\t);\n\t},\n\t( state ) => [ state.blocks.parents ]\n);\n\n/**\n * Given a block client ID, returns the root of the hierarchy from which the block is nested, return the block itself for root level blocks.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block from which to find root client ID.\n *\n * @return {string} Root client ID\n */\nexport function getBlockHierarchyRootClientId( state, clientId ) {\n\tlet current = clientId;\n\tlet parent;\n\tdo {\n\t\tparent = current;\n\t\tcurrent = state.blocks.parents[ current ];\n\t} while ( current );\n\treturn parent;\n}\n\n/**\n * Given a block client ID, returns the lowest common ancestor with selected client ID.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block from which to find common ancestor client ID.\n *\n * @return {string} Common ancestor client ID or undefined\n */\nexport function getLowestCommonAncestorWithSelectedBlock( state, clientId ) {\n\tconst selectedId = getSelectedBlockClientId( state );\n\tconst clientParents = [ ...getBlockParents( state, clientId ), clientId ];\n\tconst selectedParents = [\n\t\t...getBlockParents( state, selectedId ),\n\t\tselectedId,\n\t];\n\n\tlet lowestCommonAncestor;\n\n\tconst maxDepth = Math.min( clientParents.length, selectedParents.length );\n\tfor ( let index = 0; index < maxDepth; index++ ) {\n\t\tif ( clientParents[ index ] === selectedParents[ index ] ) {\n\t\t\tlowestCommonAncestor = clientParents[ index ];\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn lowestCommonAncestor;\n}\n\n/**\n * Returns the client ID of the block adjacent one at the given reference\n * startClientId and modifier directionality. Defaults start startClientId to\n * the selected block, and direction as next block. Returns null if there is no\n * adjacent block.\n *\n * @param {Object} state Editor state.\n * @param {?string} startClientId Optional client ID of block from which to\n * search.\n * @param {?number} modifier Directionality multiplier (1 next, -1\n * previous).\n *\n * @return {?string} Return the client ID of the block, or null if none exists.\n */\nexport function getAdjacentBlockClientId( state, startClientId, modifier = 1 ) {\n\t// Default to selected block.\n\tif ( startClientId === undefined ) {\n\t\tstartClientId = getSelectedBlockClientId( state );\n\t}\n\n\t// Try multi-selection starting at extent based on modifier.\n\tif ( startClientId === undefined ) {\n\t\tif ( modifier < 0 ) {\n\t\t\tstartClientId = getFirstMultiSelectedBlockClientId( state );\n\t\t} else {\n\t\t\tstartClientId = getLastMultiSelectedBlockClientId( state );\n\t\t}\n\t}\n\n\t// Validate working start client ID.\n\tif ( ! startClientId ) {\n\t\treturn null;\n\t}\n\n\t// Retrieve start block root client ID, being careful to allow the falsey\n\t// empty string top-level root by explicitly testing against null.\n\tconst rootClientId = getBlockRootClientId( state, startClientId );\n\tif ( rootClientId === null ) {\n\t\treturn null;\n\t}\n\n\tconst { order } = state.blocks;\n\tconst orderSet = order[ rootClientId ];\n\tconst index = orderSet.indexOf( startClientId );\n\tconst nextIndex = index + 1 * modifier;\n\n\t// Block was first in set and we're attempting to get previous.\n\tif ( nextIndex < 0 ) {\n\t\treturn null;\n\t}\n\n\t// Block was last in set and we're attempting to get next.\n\tif ( nextIndex === orderSet.length ) {\n\t\treturn null;\n\t}\n\n\t// Assume incremented index is within the set.\n\treturn orderSet[ nextIndex ];\n}\n\n/**\n * Returns the previous block's client ID from the given reference start ID.\n * Defaults start to the selected block. Returns null if there is no previous\n * block.\n *\n * @param {Object} state Editor state.\n * @param {?string} startClientId Optional client ID of block from which to\n * search.\n *\n * @return {?string} Adjacent block's client ID, or null if none exists.\n */\nexport function getPreviousBlockClientId( state, startClientId ) {\n\treturn getAdjacentBlockClientId( state, startClientId, -1 );\n}\n\n/**\n * Returns the next block's client ID from the given reference start ID.\n * Defaults start to the selected block. Returns null if there is no next\n * block.\n *\n * @param {Object} state Editor state.\n * @param {?string} startClientId Optional client ID of block from which to\n * search.\n *\n * @return {?string} Adjacent block's client ID, or null if none exists.\n */\nexport function getNextBlockClientId( state, startClientId ) {\n\treturn getAdjacentBlockClientId( state, startClientId, 1 );\n}\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Returns the initial caret position for the selected block.\n * This position is to used to position the caret properly when the selected block changes.\n * If the current block is not a RichText, having initial position set to 0 means \"focus block\"\n *\n * @param {Object} state Global application state.\n *\n * @return {0|-1|null} Initial position.\n */\nexport function getSelectedBlocksInitialCaretPosition( state ) {\n\t/* eslint-enable jsdoc/valid-types */\n\treturn state.initialPosition;\n}\n\n/**\n * Returns the current selection set of block client IDs (multiselection or single selection).\n *\n * @param {Object} state Editor state.\n *\n * @return {Array} Multi-selected block client IDs.\n */\nexport const getSelectedBlockClientIds = createSelector(\n\t( state ) => {\n\t\tconst { selectionStart, selectionEnd } = state.selection;\n\n\t\tif (\n\t\t\tselectionStart.clientId === undefined ||\n\t\t\tselectionEnd.clientId === undefined\n\t\t) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tif ( selectionStart.clientId === selectionEnd.clientId ) {\n\t\t\treturn [ selectionStart.clientId ];\n\t\t}\n\n\t\t// Retrieve root client ID to aid in retrieving relevant nested block\n\t\t// order, being careful to allow the falsey empty string top-level root\n\t\t// by explicitly testing against null.\n\t\tconst rootClientId = getBlockRootClientId(\n\t\t\tstate,\n\t\t\tselectionStart.clientId\n\t\t);\n\t\tif ( rootClientId === null ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst blockOrder = getBlockOrder( state, rootClientId );\n\t\tconst startIndex = blockOrder.indexOf( selectionStart.clientId );\n\t\tconst endIndex = blockOrder.indexOf( selectionEnd.clientId );\n\n\t\tif ( startIndex > endIndex ) {\n\t\t\treturn blockOrder.slice( endIndex, startIndex + 1 );\n\t\t}\n\n\t\treturn blockOrder.slice( startIndex, endIndex + 1 );\n\t},\n\t( state ) => [\n\t\tstate.blocks.order,\n\t\tstate.selection.selectionStart.clientId,\n\t\tstate.selection.selectionEnd.clientId,\n\t]\n);\n\n/**\n * Returns the current multi-selection set of block client IDs, or an empty\n * array if there is no multi-selection.\n *\n * @param {Object} state Editor state.\n *\n * @return {Array} Multi-selected block client IDs.\n */\nexport function getMultiSelectedBlockClientIds( state ) {\n\tconst { selectionStart, selectionEnd } = state.selection;\n\n\tif ( selectionStart.clientId === selectionEnd.clientId ) {\n\t\treturn EMPTY_ARRAY;\n\t}\n\n\treturn getSelectedBlockClientIds( state );\n}\n\n/**\n * Returns the current multi-selection set of blocks, or an empty array if\n * there is no multi-selection.\n *\n * @param {Object} state Editor state.\n *\n * @return {Array} Multi-selected block objects.\n */\nexport const getMultiSelectedBlocks = createSelector(\n\t( state ) => {\n\t\tconst multiSelectedBlockClientIds = getMultiSelectedBlockClientIds(\n\t\t\tstate\n\t\t);\n\t\tif ( ! multiSelectedBlockClientIds.length ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\treturn multiSelectedBlockClientIds.map( ( clientId ) =>\n\t\t\tgetBlock( state, clientId )\n\t\t);\n\t},\n\t( state ) => [\n\t\t...getSelectedBlockClientIds.getDependants( state ),\n\t\tstate.blocks.byClientId,\n\t\tstate.blocks.order,\n\t\tstate.blocks.attributes,\n\t]\n);\n\n/**\n * Returns the client ID of the first block in the multi-selection set, or null\n * if there is no multi-selection.\n *\n * @param {Object} state Editor state.\n *\n * @return {?string} First block client ID in the multi-selection set.\n */\nexport function getFirstMultiSelectedBlockClientId( state ) {\n\treturn first( getMultiSelectedBlockClientIds( state ) ) || null;\n}\n\n/**\n * Returns the client ID of the last block in the multi-selection set, or null\n * if there is no multi-selection.\n *\n * @param {Object} state Editor state.\n *\n * @return {?string} Last block client ID in the multi-selection set.\n */\nexport function getLastMultiSelectedBlockClientId( state ) {\n\treturn last( getMultiSelectedBlockClientIds( state ) ) || null;\n}\n\n/**\n * Returns true if a multi-selection exists, and the block corresponding to the\n * specified client ID is the first block of the multi-selection set, or false\n * otherwise.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n *\n * @return {boolean} Whether block is first in multi-selection.\n */\nexport function isFirstMultiSelectedBlock( state, clientId ) {\n\treturn getFirstMultiSelectedBlockClientId( state ) === clientId;\n}\n\n/**\n * Returns true if the client ID occurs within the block multi-selection, or\n * false otherwise.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n *\n * @return {boolean} Whether block is in multi-selection set.\n */\nexport function isBlockMultiSelected( state, clientId ) {\n\treturn getMultiSelectedBlockClientIds( state ).indexOf( clientId ) !== -1;\n}\n\n/**\n * Returns true if an ancestor of the block is multi-selected, or false\n * otherwise.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n *\n * @return {boolean} Whether an ancestor of the block is in multi-selection\n * set.\n */\nexport const isAncestorMultiSelected = createSelector(\n\t( state, clientId ) => {\n\t\tlet ancestorClientId = clientId;\n\t\tlet isMultiSelected = false;\n\t\twhile ( ancestorClientId && ! isMultiSelected ) {\n\t\t\tancestorClientId = getBlockRootClientId( state, ancestorClientId );\n\t\t\tisMultiSelected = isBlockMultiSelected( state, ancestorClientId );\n\t\t}\n\t\treturn isMultiSelected;\n\t},\n\t( state ) => [\n\t\tstate.blocks.order,\n\t\tstate.selection.selectionStart.clientId,\n\t\tstate.selection.selectionEnd.clientId,\n\t]\n);\n\n/**\n * Returns the client ID of the block which begins the multi-selection set, or\n * null if there is no multi-selection.\n *\n * This is not necessarily the first client ID in the selection.\n *\n * @see getFirstMultiSelectedBlockClientId\n *\n * @param {Object} state Editor state.\n *\n * @return {?string} Client ID of block beginning multi-selection.\n */\nexport function getMultiSelectedBlocksStartClientId( state ) {\n\tconst { selectionStart, selectionEnd } = state.selection;\n\n\tif ( selectionStart.clientId === selectionEnd.clientId ) {\n\t\treturn null;\n\t}\n\n\treturn selectionStart.clientId || null;\n}\n\n/**\n * Returns the client ID of the block which ends the multi-selection set, or\n * null if there is no multi-selection.\n *\n * This is not necessarily the last client ID in the selection.\n *\n * @see getLastMultiSelectedBlockClientId\n *\n * @param {Object} state Editor state.\n *\n * @return {?string} Client ID of block ending multi-selection.\n */\nexport function getMultiSelectedBlocksEndClientId( state ) {\n\tconst { selectionStart, selectionEnd } = state.selection;\n\n\tif ( selectionStart.clientId === selectionEnd.clientId ) {\n\t\treturn null;\n\t}\n\n\treturn selectionEnd.clientId || null;\n}\n\n/**\n * Returns true if the selection is not partial.\n *\n * @param {Object} state Editor state.\n *\n * @return {boolean} Whether the selection is mergeable.\n */\nexport function __unstableIsFullySelected( state ) {\n\tconst selectionAnchor = getSelectionStart( state );\n\tconst selectionFocus = getSelectionEnd( state );\n\treturn (\n\t\t! selectionAnchor.attributeKey &&\n\t\t! selectionFocus.attributeKey &&\n\t\ttypeof selectionAnchor.offset === 'undefined' &&\n\t\ttypeof selectionFocus.offset === 'undefined'\n\t);\n}\n\n/**\n * Returns true if the selection is collapsed.\n *\n * @param {Object} state Editor state.\n *\n * @return {boolean} Whether the selection is collapsed.\n */\nexport function __unstableIsSelectionCollapsed( state ) {\n\tconst selectionAnchor = getSelectionStart( state );\n\tconst selectionFocus = getSelectionEnd( state );\n\treturn (\n\t\t!! selectionAnchor &&\n\t\t!! selectionFocus &&\n\t\tselectionAnchor.clientId === selectionFocus.clientId &&\n\t\tselectionAnchor.attributeKey === selectionFocus.attributeKey &&\n\t\tselectionAnchor.offset === selectionFocus.offset\n\t);\n}\n\n/**\n * Check whether the selection is mergeable.\n *\n * @param {Object} state Editor state.\n * @param {boolean} isForward Whether to merge forwards.\n *\n * @return {boolean} Whether the selection is mergeable.\n */\nexport function __unstableIsSelectionMergeable( state, isForward ) {\n\tconst selectionAnchor = getSelectionStart( state );\n\tconst selectionFocus = getSelectionEnd( state );\n\n\t// It's not mergeable if the start and end are within the same block.\n\tif ( selectionAnchor.clientId === selectionFocus.clientId ) return false;\n\n\t// It's not mergeable if there's no rich text selection.\n\tif (\n\t\t! selectionAnchor.attributeKey ||\n\t\t! selectionFocus.attributeKey ||\n\t\ttypeof selectionAnchor.offset === 'undefined' ||\n\t\ttypeof selectionFocus.offset === 'undefined'\n\t)\n\t\treturn false;\n\n\tconst anchorRootClientId = getBlockRootClientId(\n\t\tstate,\n\t\tselectionAnchor.clientId\n\t);\n\tconst focusRootClientId = getBlockRootClientId(\n\t\tstate,\n\t\tselectionFocus.clientId\n\t);\n\n\t// It's not mergeable if the selection doesn't start and end in the same\n\t// block list. Maybe in the future it should be allowed.\n\tif ( anchorRootClientId !== focusRootClientId ) {\n\t\treturn false;\n\t}\n\n\tconst blockOrder = getBlockOrder( state, anchorRootClientId );\n\tconst anchorIndex = blockOrder.indexOf( selectionAnchor.clientId );\n\tconst focusIndex = blockOrder.indexOf( selectionFocus.clientId );\n\n\t// Reassign selection start and end based on order.\n\tlet selectionStart, selectionEnd;\n\n\tif ( anchorIndex > focusIndex ) {\n\t\tselectionStart = selectionFocus;\n\t\tselectionEnd = selectionAnchor;\n\t} else {\n\t\tselectionStart = selectionAnchor;\n\t\tselectionEnd = selectionFocus;\n\t}\n\n\tconst targetBlockClientId = isForward\n\t\t? selectionEnd.clientId\n\t\t: selectionStart.clientId;\n\tconst blockToMergeClientId = isForward\n\t\t? selectionStart.clientId\n\t\t: selectionEnd.clientId;\n\n\tconst targetBlock = getBlock( state, targetBlockClientId );\n\tconst targetBlockType = getBlockType( targetBlock.name );\n\n\tif ( ! targetBlockType.merge ) return false;\n\n\tconst blockToMerge = getBlock( state, blockToMergeClientId );\n\n\t// It's mergeable if the blocks are of the same type.\n\tif ( blockToMerge.name === targetBlock.name ) return true;\n\n\t// If the blocks are of a different type, try to transform the block being\n\t// merged into the same type of block.\n\tconst blocksToMerge = switchToBlockType( blockToMerge, targetBlock.name );\n\n\treturn blocksToMerge && blocksToMerge.length;\n}\n\n/**\n * Get partial selected blocks with their content updated\n * based on the selection.\n *\n * @param {Object} state Editor state.\n *\n * @return {Object[]} Updated partial selected blocks.\n */\nexport const __unstableGetSelectedBlocksWithPartialSelection = ( state ) => {\n\tconst selectionAnchor = getSelectionStart( state );\n\tconst selectionFocus = getSelectionEnd( state );\n\n\tif ( selectionAnchor.clientId === selectionFocus.clientId ) {\n\t\treturn EMPTY_ARRAY;\n\t}\n\n\t// Can't split if the selection is not set.\n\tif (\n\t\t! selectionAnchor.attributeKey ||\n\t\t! selectionFocus.attributeKey ||\n\t\ttypeof selectionAnchor.offset === 'undefined' ||\n\t\ttypeof selectionFocus.offset === 'undefined'\n\t) {\n\t\treturn EMPTY_ARRAY;\n\t}\n\n\tconst anchorRootClientId = getBlockRootClientId(\n\t\tstate,\n\t\tselectionAnchor.clientId\n\t);\n\tconst focusRootClientId = getBlockRootClientId(\n\t\tstate,\n\t\tselectionFocus.clientId\n\t);\n\n\t// It's not splittable if the selection doesn't start and end in the same\n\t// block list. Maybe in the future it should be allowed.\n\tif ( anchorRootClientId !== focusRootClientId ) {\n\t\treturn EMPTY_ARRAY;\n\t}\n\n\tconst blockOrder = getBlockOrder( state, anchorRootClientId );\n\tconst anchorIndex = blockOrder.indexOf( selectionAnchor.clientId );\n\tconst focusIndex = blockOrder.indexOf( selectionFocus.clientId );\n\n\t// Reassign selection start and end based on order.\n\tconst [ selectionStart, selectionEnd ] =\n\t\tanchorIndex > focusIndex\n\t\t\t? [ selectionFocus, selectionAnchor ]\n\t\t\t: [ selectionAnchor, selectionFocus ];\n\n\tconst blockA = getBlock( state, selectionStart.clientId );\n\tconst blockAType = getBlockType( blockA.name );\n\n\tconst blockB = getBlock( state, selectionEnd.clientId );\n\tconst blockBType = getBlockType( blockB.name );\n\n\tconst htmlA = blockA.attributes[ selectionStart.attributeKey ];\n\tconst htmlB = blockB.attributes[ selectionEnd.attributeKey ];\n\n\tconst attributeDefinitionA =\n\t\tblockAType.attributes[ selectionStart.attributeKey ];\n\tconst attributeDefinitionB =\n\t\tblockBType.attributes[ selectionEnd.attributeKey ];\n\n\tlet valueA = create( {\n\t\thtml: htmlA,\n\t\t...mapRichTextSettings( attributeDefinitionA ),\n\t} );\n\tlet valueB = create( {\n\t\thtml: htmlB,\n\t\t...mapRichTextSettings( attributeDefinitionB ),\n\t} );\n\n\tvalueA = remove( valueA, 0, selectionStart.offset );\n\tvalueB = remove( valueB, selectionEnd.offset, valueB.text.length );\n\n\treturn [\n\t\t{\n\t\t\t...blockA,\n\t\t\tattributes: {\n\t\t\t\t...blockA.attributes,\n\t\t\t\t[ selectionStart.attributeKey ]: toHTMLString( {\n\t\t\t\t\tvalue: valueA,\n\t\t\t\t\t...mapRichTextSettings( attributeDefinitionA ),\n\t\t\t\t} ),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t...blockB,\n\t\t\tattributes: {\n\t\t\t\t...blockB.attributes,\n\t\t\t\t[ selectionEnd.attributeKey ]: toHTMLString( {\n\t\t\t\t\tvalue: valueB,\n\t\t\t\t\t...mapRichTextSettings( attributeDefinitionB ),\n\t\t\t\t} ),\n\t\t\t},\n\t\t},\n\t];\n};\n\n/**\n * Returns an array containing all block client IDs in the editor in the order\n * they appear. Optionally accepts a root client ID of the block list for which\n * the order should be returned, defaulting to the top-level block order.\n *\n * @param {Object} state Editor state.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {Array} Ordered client IDs of editor blocks.\n */\nexport function getBlockOrder( state, rootClientId ) {\n\treturn state.blocks.order[ rootClientId || '' ] || EMPTY_ARRAY;\n}\n\n/**\n * Returns the index at which the block corresponding to the specified client\n * ID occurs within the block order, or `-1` if the block does not exist.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n *\n * @return {number} Index at which block exists in order.\n */\nexport function getBlockIndex( state, clientId ) {\n\tconst rootClientId = getBlockRootClientId( state, clientId );\n\treturn getBlockOrder( state, rootClientId ).indexOf( clientId );\n}\n\n/**\n * Returns true if the block corresponding to the specified client ID is\n * currently selected and no multi-selection exists, or false otherwise.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n *\n * @return {boolean} Whether block is selected and multi-selection exists.\n */\nexport function isBlockSelected( state, clientId ) {\n\tconst { selectionStart, selectionEnd } = state.selection;\n\n\tif ( selectionStart.clientId !== selectionEnd.clientId ) {\n\t\treturn false;\n\t}\n\n\treturn selectionStart.clientId === clientId;\n}\n\n/**\n * Returns true if one of the block's inner blocks is selected.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n * @param {boolean} deep Perform a deep check.\n *\n * @return {boolean} Whether the block as an inner block selected\n */\nexport function hasSelectedInnerBlock( state, clientId, deep = false ) {\n\treturn some(\n\t\tgetBlockOrder( state, clientId ),\n\t\t( innerClientId ) =>\n\t\t\tisBlockSelected( state, innerClientId ) ||\n\t\t\tisBlockMultiSelected( state, innerClientId ) ||\n\t\t\t( deep && hasSelectedInnerBlock( state, innerClientId, deep ) )\n\t);\n}\n\n/**\n * Returns true if the block corresponding to the specified client ID is\n * currently selected but isn't the last of the selected blocks. Here \"last\"\n * refers to the block sequence in the document, _not_ the sequence of\n * multi-selection, which is why `state.selectionEnd` isn't used.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n *\n * @return {boolean} Whether block is selected and not the last in the\n * selection.\n */\nexport function isBlockWithinSelection( state, clientId ) {\n\tif ( ! clientId ) {\n\t\treturn false;\n\t}\n\n\tconst clientIds = getMultiSelectedBlockClientIds( state );\n\tconst index = clientIds.indexOf( clientId );\n\treturn index > -1 && index < clientIds.length - 1;\n}\n\n/**\n * Returns true if a multi-selection has been made, or false otherwise.\n *\n * @param {Object} state Editor state.\n *\n * @return {boolean} Whether multi-selection has been made.\n */\nexport function hasMultiSelection( state ) {\n\tconst { selectionStart, selectionEnd } = state.selection;\n\treturn selectionStart.clientId !== selectionEnd.clientId;\n}\n\n/**\n * Whether in the process of multi-selecting or not. This flag is only true\n * while the multi-selection is being selected (by mouse move), and is false\n * once the multi-selection has been settled.\n *\n * @see hasMultiSelection\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if multi-selecting, false if not.\n */\nexport function isMultiSelecting( state ) {\n\treturn state.isMultiSelecting;\n}\n\n/**\n * Selector that returns if multi-selection is enabled or not.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} True if it should be possible to multi-select blocks, false if multi-selection is disabled.\n */\nexport function isSelectionEnabled( state ) {\n\treturn state.isSelectionEnabled;\n}\n\n/**\n * Returns the block's editing mode, defaulting to \"visual\" if not explicitly\n * assigned.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId Block client ID.\n *\n * @return {Object} Block editing mode.\n */\nexport function getBlockMode( state, clientId ) {\n\treturn state.blocksMode[ clientId ] || 'visual';\n}\n\n/**\n * Returns true if the user is typing, or false otherwise.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether user is typing.\n */\nexport function isTyping( state ) {\n\treturn state.isTyping;\n}\n\n/**\n * Returns true if the user is dragging blocks, or false otherwise.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether user is dragging blocks.\n */\nexport function isDraggingBlocks( state ) {\n\treturn !! state.draggedBlocks.length;\n}\n\n/**\n * Returns the client ids of any blocks being directly dragged.\n *\n * This does not include children of a parent being dragged.\n *\n * @param {Object} state Global application state.\n *\n * @return {string[]} Array of dragged block client ids.\n */\nexport function getDraggedBlockClientIds( state ) {\n\treturn state.draggedBlocks;\n}\n\n/**\n * Returns whether the block is being dragged.\n *\n * Only returns true if the block is being directly dragged,\n * not if the block is a child of a parent being dragged.\n * See `isAncestorBeingDragged` for child blocks.\n *\n * @param {Object} state Global application state.\n * @param {string} clientId Client id for block to check.\n *\n * @return {boolean} Whether the block is being dragged.\n */\nexport function isBlockBeingDragged( state, clientId ) {\n\treturn state.draggedBlocks.includes( clientId );\n}\n\n/**\n * Returns whether a parent/ancestor of the block is being dragged.\n *\n * @param {Object} state Global application state.\n * @param {string} clientId Client id for block to check.\n *\n * @return {boolean} Whether the block's ancestor is being dragged.\n */\nexport function isAncestorBeingDragged( state, clientId ) {\n\t// Return early if no blocks are being dragged rather than\n\t// the more expensive check for parents.\n\tif ( ! isDraggingBlocks( state ) ) {\n\t\treturn false;\n\t}\n\n\tconst parents = getBlockParents( state, clientId );\n\treturn some( parents, ( parentClientId ) =>\n\t\tisBlockBeingDragged( state, parentClientId )\n\t);\n}\n\n/**\n * Returns true if the caret is within formatted text, or false otherwise.\n *\n * @deprecated\n *\n * @return {boolean} Whether the caret is within formatted text.\n */\nexport function isCaretWithinFormattedText() {\n\tdeprecated(\n\t\t'wp.data.select( \"core/block-editor\" ).isCaretWithinFormattedText',\n\t\t{\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t}\n\t);\n\n\treturn false;\n}\n\n/**\n * Returns the insertion point, the index at which the new inserted block would\n * be placed. Defaults to the last index.\n *\n * @param {Object} state Editor state.\n *\n * @return {Object} Insertion point object with `rootClientId`, `index`.\n */\nexport function getBlockInsertionPoint( state ) {\n\tlet rootClientId, index;\n\n\tconst {\n\t\tinsertionPoint,\n\t\tselection: { selectionEnd },\n\t} = state;\n\tif ( insertionPoint !== null ) {\n\t\treturn insertionPoint;\n\t}\n\n\tconst { clientId } = selectionEnd;\n\n\tif ( clientId ) {\n\t\trootClientId = getBlockRootClientId( state, clientId ) || undefined;\n\t\tindex = getBlockIndex( state, selectionEnd.clientId, rootClientId ) + 1;\n\t} else {\n\t\tindex = getBlockOrder( state ).length;\n\t}\n\n\treturn { rootClientId, index };\n}\n\n/**\n * Returns true if we should show the block insertion point.\n *\n * @param {Object} state Global application state.\n *\n * @return {?boolean} Whether the insertion point is visible or not.\n */\nexport function isBlockInsertionPointVisible( state ) {\n\treturn state.insertionPoint !== null;\n}\n\n/**\n * Returns whether the blocks matches the template or not.\n *\n * @param {boolean} state\n * @return {?boolean} Whether the template is valid or not.\n */\nexport function isValidTemplate( state ) {\n\treturn state.template.isValid;\n}\n\n/**\n * Returns the defined block template\n *\n * @param {boolean} state\n *\n * @return {?Array} Block Template.\n */\nexport function getTemplate( state ) {\n\treturn state.settings.template;\n}\n\n/**\n * Returns the defined block template lock. Optionally accepts a root block\n * client ID as context, otherwise defaulting to the global context.\n *\n * @param {Object} state Editor state.\n * @param {?string} rootClientId Optional block root client ID.\n *\n * @return {?string} Block Template Lock\n */\nexport function getTemplateLock( state, rootClientId ) {\n\tif ( ! rootClientId ) {\n\t\treturn state.settings.templateLock;\n\t}\n\n\tconst blockListSettings = getBlockListSettings( state, rootClientId );\n\tif ( ! blockListSettings ) {\n\t\treturn null;\n\t}\n\n\treturn blockListSettings.templateLock;\n}\n\nconst checkAllowList = ( list, item, defaultResult = null ) => {\n\tif ( isBoolean( list ) ) {\n\t\treturn list;\n\t}\n\tif ( isArray( list ) ) {\n\t\t// TODO: when there is a canonical way to detect that we are editing a post\n\t\t// the following check should be changed to something like:\n\t\t// if ( list.includes( 'core/post-content' ) && getEditorMode() === 'post-content' && item === null )\n\t\tif ( list.includes( 'core/post-content' ) && item === null ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn list.includes( item );\n\t}\n\treturn defaultResult;\n};\n\n/**\n * Determines if the given block type is allowed to be inserted into the block list.\n * This function is not exported and not memoized because using a memoized selector\n * inside another memoized selector is just a waste of time.\n *\n * @param {Object} state Editor state.\n * @param {string|Object} blockName The block type object, e.g., the response\n * from the block directory; or a string name of\n * an installed block type, e.g.' core/paragraph'.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {boolean} Whether the given block type is allowed to be inserted.\n */\nconst canInsertBlockTypeUnmemoized = (\n\tstate,\n\tblockName,\n\trootClientId = null\n) => {\n\tlet blockType;\n\tif ( blockName && 'object' === typeof blockName ) {\n\t\tblockType = blockName;\n\t\tblockName = blockType.name;\n\t} else {\n\t\tblockType = getBlockType( blockName );\n\t}\n\tif ( ! blockType ) {\n\t\treturn false;\n\t}\n\n\tconst { allowedBlockTypes } = getSettings( state );\n\n\tconst isBlockAllowedInEditor = checkAllowList(\n\t\tallowedBlockTypes,\n\t\tblockName,\n\t\ttrue\n\t);\n\tif ( ! isBlockAllowedInEditor ) {\n\t\treturn false;\n\t}\n\n\tconst isLocked = !! getTemplateLock( state, rootClientId );\n\tif ( isLocked ) {\n\t\treturn false;\n\t}\n\n\tconst parentBlockListSettings = getBlockListSettings( state, rootClientId );\n\n\t// The parent block doesn't have settings indicating it doesn't support\n\t// inner blocks, return false.\n\tif ( rootClientId && parentBlockListSettings === undefined ) {\n\t\treturn false;\n\t}\n\n\tconst parentAllowedBlocks = parentBlockListSettings?.allowedBlocks;\n\tconst hasParentAllowedBlock = checkAllowList(\n\t\tparentAllowedBlocks,\n\t\tblockName\n\t);\n\n\tconst blockAllowedParentBlocks = blockType.parent;\n\tconst parentName = getBlockName( state, rootClientId );\n\tconst hasBlockAllowedParent = checkAllowList(\n\t\tblockAllowedParentBlocks,\n\t\tparentName\n\t);\n\n\tlet hasBlockAllowedAncestor = true;\n\tconst blockAllowedAncestorBlocks = blockType.ancestor;\n\tif ( blockAllowedAncestorBlocks ) {\n\t\tconst ancestors = [\n\t\t\trootClientId,\n\t\t\t...getBlockParents( state, rootClientId ),\n\t\t];\n\n\t\thasBlockAllowedAncestor = some( ancestors, ( ancestorClientId ) =>\n\t\t\tcheckAllowList(\n\t\t\t\tblockAllowedAncestorBlocks,\n\t\t\t\tgetBlockName( state, ancestorClientId )\n\t\t\t)\n\t\t);\n\t}\n\n\tconst canInsert =\n\t\thasBlockAllowedAncestor &&\n\t\t( ( hasParentAllowedBlock === null &&\n\t\t\thasBlockAllowedParent === null ) ||\n\t\t\thasParentAllowedBlock === true ||\n\t\t\thasBlockAllowedParent === true );\n\n\tif ( ! canInsert ) {\n\t\treturn canInsert;\n\t}\n\n\t/**\n\t * This filter is an ad-hoc solution to prevent adding template parts inside post content.\n\t * Conceptually, having a filter inside a selector is bad pattern so this code will be\n\t * replaced by a declarative API that doesn't the following drawbacks:\n\t *\n\t * Filters are not reactive: Upon switching between \"template mode\" and non \"template mode\",\n\t * the filter and selector won't necessarily be executed again. For now, it doesn't matter much\n\t * because you can't switch between the two modes while the inserter stays open.\n\t *\n\t * Filters are global: Once they're defined, they will affect all editor instances and all registries.\n\t * An ideal API would only affect specific editor instances.\n\t */\n\treturn applyFilters(\n\t\t'blockEditor.__unstableCanInsertBlockType',\n\t\tcanInsert,\n\t\tblockType,\n\t\trootClientId,\n\t\t{\n\t\t\t// Pass bound selectors of the current registry. If we're in a nested\n\t\t\t// context, the data will differ from the one selected from the root\n\t\t\t// registry.\n\t\t\tgetBlock: getBlock.bind( null, state ),\n\t\t\tgetBlockParentsByBlockName: getBlockParentsByBlockName.bind(\n\t\t\t\tnull,\n\t\t\t\tstate\n\t\t\t),\n\t\t}\n\t);\n};\n\n/**\n * Determines if the given block type is allowed to be inserted into the block list.\n *\n * @param {Object} state Editor state.\n * @param {string} blockName The name of the block type, e.g.' core/paragraph'.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {boolean} Whether the given block type is allowed to be inserted.\n */\nexport const canInsertBlockType = createSelector(\n\tcanInsertBlockTypeUnmemoized,\n\t( state, blockName, rootClientId ) => [\n\t\tstate.blockListSettings[ rootClientId ],\n\t\tstate.blocks.byClientId[ rootClientId ],\n\t\tstate.settings.allowedBlockTypes,\n\t\tstate.settings.templateLock,\n\t]\n);\n\n/**\n * Determines if the given blocks are allowed to be inserted into the block\n * list.\n *\n * @param {Object} state Editor state.\n * @param {string} clientIds The block client IDs to be inserted.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {boolean} Whether the given blocks are allowed to be inserted.\n */\nexport function canInsertBlocks( state, clientIds, rootClientId = null ) {\n\treturn clientIds.every( ( id ) =>\n\t\tcanInsertBlockType( state, getBlockName( state, id ), rootClientId )\n\t);\n}\n\n/**\n * Determines if the given block is allowed to be deleted.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId The block client Id.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {boolean} Whether the given block is allowed to be removed.\n */\nexport function canRemoveBlock( state, clientId, rootClientId = null ) {\n\tconst attributes = getBlockAttributes( state, clientId );\n\n\t// attributes can be null if the block is already deleted.\n\tif ( attributes === null ) {\n\t\treturn true;\n\t}\n\n\tconst { lock } = attributes;\n\tconst parentIsLocked = !! getTemplateLock( state, rootClientId );\n\t// If we don't have a lock on the blockType level, we defer to the parent templateLock.\n\tif ( lock === undefined || lock?.remove === undefined ) {\n\t\treturn ! parentIsLocked;\n\t}\n\n\t// When remove is true, it means we cannot remove it.\n\treturn ! lock?.remove;\n}\n\n/**\n * Determines if the given blocks are allowed to be removed.\n *\n * @param {Object} state Editor state.\n * @param {string} clientIds The block client IDs to be removed.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {boolean} Whether the given blocks are allowed to be removed.\n */\nexport function canRemoveBlocks( state, clientIds, rootClientId = null ) {\n\treturn clientIds.every( ( clientId ) =>\n\t\tcanRemoveBlock( state, clientId, rootClientId )\n\t);\n}\n\n/**\n * Determines if the given block is allowed to be moved.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId The block client Id.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {boolean} Whether the given block is allowed to be moved.\n */\nexport function canMoveBlock( state, clientId, rootClientId = null ) {\n\tconst attributes = getBlockAttributes( state, clientId );\n\tif ( attributes === null ) {\n\t\treturn;\n\t}\n\n\tconst { lock } = attributes;\n\tconst parentIsLocked = getTemplateLock( state, rootClientId ) === 'all';\n\t// If we don't have a lock on the blockType level, we defer to the parent templateLock.\n\tif ( lock === undefined || lock?.move === undefined ) {\n\t\treturn ! parentIsLocked;\n\t}\n\n\t// When move is true, it means we cannot move it.\n\treturn ! lock?.move;\n}\n\n/**\n * Determines if the given blocks are allowed to be moved.\n *\n * @param {Object} state Editor state.\n * @param {string} clientIds The block client IDs to be moved.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {boolean} Whether the given blocks are allowed to be moved.\n */\nexport function canMoveBlocks( state, clientIds, rootClientId = null ) {\n\treturn clientIds.every( ( clientId ) =>\n\t\tcanMoveBlock( state, clientId, rootClientId )\n\t);\n}\n\n/**\n * Determines if the given block is allowed to be edited.\n *\n * @param {Object} state Editor state.\n * @param {string} clientId The block client Id.\n *\n * @return {boolean} Whether the given block is allowed to be edited.\n */\nexport function canEditBlock( state, clientId ) {\n\tconst attributes = getBlockAttributes( state, clientId );\n\tif ( attributes === null ) {\n\t\treturn true;\n\t}\n\n\tconst { lock } = attributes;\n\n\t// When the edit is true, we cannot edit the block.\n\treturn ! lock?.edit;\n}\n\n/**\n * Determines if the given block type can be locked/unlocked by a user.\n *\n * @param {Object} state Editor state.\n * @param {(string|Object)} nameOrType Block name or type object.\n *\n * @return {boolean} Whether a given block type can be locked/unlocked.\n */\nexport function canLockBlockType( state, nameOrType ) {\n\tif ( ! hasBlockSupport( nameOrType, 'lock', true ) ) {\n\t\treturn false;\n\t}\n\n\t// Use block editor settings as the default value.\n\treturn !! state.settings?.canLockBlocks;\n}\n\n/**\n * Returns information about how recently and frequently a block has been inserted.\n *\n * @param {Object} state Global application state.\n * @param {string} id A string which identifies the insert, e.g. 'core/block/12'\n *\n * @return {?{ time: number, count: number }} An object containing `time` which is when the last\n * insert occurred as a UNIX epoch, and `count` which is\n * the number of inserts that have occurred.\n */\nfunction getInsertUsage( state, id ) {\n\treturn state.preferences.insertUsage?.[ id ] ?? null;\n}\n\n/**\n * Returns whether we can show a block type in the inserter\n *\n * @param {Object} state Global State\n * @param {Object} blockType BlockType\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {boolean} Whether the given block type is allowed to be shown in the inserter.\n */\nconst canIncludeBlockTypeInInserter = ( state, blockType, rootClientId ) => {\n\tif ( ! hasBlockSupport( blockType, 'inserter', true ) ) {\n\t\treturn false;\n\t}\n\n\treturn canInsertBlockTypeUnmemoized( state, blockType.name, rootClientId );\n};\n\n/**\n * Return a function to be used to tranform a block variation to an inserter item\n *\n * @param {Object} state Global State\n * @param {Object} item Denormalized inserter item\n * @return {Function} Function to transform a block variation to inserter item\n */\nconst getItemFromVariation = ( state, item ) => ( variation ) => {\n\tconst variationId = `${ item.id }/${ variation.name }`;\n\tconst { time, count = 0 } = getInsertUsage( state, variationId ) || {};\n\treturn {\n\t\t...item,\n\t\tid: variationId,\n\t\ticon: variation.icon || item.icon,\n\t\ttitle: variation.title || item.title,\n\t\tdescription: variation.description || item.description,\n\t\tcategory: variation.category || item.category,\n\t\t// If `example` is explicitly undefined for the variation, the preview will not be shown.\n\t\texample: variation.hasOwnProperty( 'example' )\n\t\t\t? variation.example\n\t\t\t: item.example,\n\t\tinitialAttributes: {\n\t\t\t...item.initialAttributes,\n\t\t\t...variation.attributes,\n\t\t},\n\t\tinnerBlocks: variation.innerBlocks,\n\t\tkeywords: variation.keywords || item.keywords,\n\t\tfrecency: calculateFrecency( time, count ),\n\t};\n};\n\n/**\n * Returns the calculated frecency.\n *\n * 'frecency' is a heuristic (https://en.wikipedia.org/wiki/Frecency)\n * that combines block usage frequenty and recency.\n *\n * @param {number} time When the last insert occurred as a UNIX epoch\n * @param {number} count The number of inserts that have occurred.\n *\n * @return {number} The calculated frecency.\n */\nconst calculateFrecency = ( time, count ) => {\n\tif ( ! time ) {\n\t\treturn count;\n\t}\n\t// The selector is cached, which means Date.now() is the last time that the\n\t// relevant state changed. This suits our needs.\n\tconst duration = Date.now() - time;\n\tswitch ( true ) {\n\t\tcase duration < MILLISECONDS_PER_HOUR:\n\t\t\treturn count * 4;\n\t\tcase duration < MILLISECONDS_PER_DAY:\n\t\t\treturn count * 2;\n\t\tcase duration < MILLISECONDS_PER_WEEK:\n\t\t\treturn count / 2;\n\t\tdefault:\n\t\t\treturn count / 4;\n\t}\n};\n\n/**\n * Returns a function that accepts a block type and builds an item to be shown\n * in a specific context. It's used for building items for Inserter and available\n * block Transfroms list.\n *\n * @param {Object} state Editor state.\n * @param {Object} options Options object for handling the building of a block type.\n * @param {string} options.buildScope The scope for which the item is going to be used.\n * @return {Function} Function returns an item to be shown in a specific context (Inserter|Transforms list).\n */\nconst buildBlockTypeItem = ( state, { buildScope = 'inserter' } ) => (\n\tblockType\n) => {\n\tconst id = blockType.name;\n\n\tlet isDisabled = false;\n\tif ( ! hasBlockSupport( blockType.name, 'multiple', true ) ) {\n\t\tisDisabled = some(\n\t\t\tgetBlocksByClientId( state, getClientIdsWithDescendants( state ) ),\n\t\t\t{ name: blockType.name }\n\t\t);\n\t}\n\n\tconst { time, count = 0 } = getInsertUsage( state, id ) || {};\n\tconst blockItemBase = {\n\t\tid,\n\t\tname: blockType.name,\n\t\ttitle: blockType.title,\n\t\ticon: blockType.icon,\n\t\tisDisabled,\n\t\tfrecency: calculateFrecency( time, count ),\n\t};\n\tif ( buildScope === 'transform' ) return blockItemBase;\n\n\tconst inserterVariations = getBlockVariations( blockType.name, 'inserter' );\n\treturn {\n\t\t...blockItemBase,\n\t\tinitialAttributes: {},\n\t\tdescription: blockType.description,\n\t\tcategory: blockType.category,\n\t\tkeywords: blockType.keywords,\n\t\tvariations: inserterVariations,\n\t\texample: blockType.example,\n\t\tutility: 1, // Deprecated.\n\t};\n};\n\n/**\n * Determines the items that appear in the inserter. Includes both static\n * items (e.g. a regular block type) and dynamic items (e.g. a reusable block).\n *\n * Each item object contains what's necessary to display a button in the\n * inserter and handle its selection.\n *\n * The 'frecency' property is a heuristic (https://en.wikipedia.org/wiki/Frecency)\n * that combines block usage frequenty and recency.\n *\n * Items are returned ordered descendingly by their 'utility' and 'frecency'.\n *\n * @param {Object} state Editor state.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {WPEditorInserterItem[]} Items that appear in inserter.\n *\n * @typedef {Object} WPEditorInserterItem\n * @property {string} id Unique identifier for the item.\n * @property {string} name The type of block to create.\n * @property {Object} initialAttributes Attributes to pass to the newly created block.\n * @property {string} title Title of the item, as it appears in the inserter.\n * @property {string} icon Dashicon for the item, as it appears in the inserter.\n * @property {string} category Block category that the item is associated with.\n * @property {string[]} keywords Keywords that can be searched to find this item.\n * @property {boolean} isDisabled Whether or not the user should be prevented from inserting\n * this item.\n * @property {number} frecency Heuristic that combines frequency and recency.\n */\nexport const getInserterItems = createSelector(\n\t( state, rootClientId = null ) => {\n\t\tconst buildBlockTypeInserterItem = buildBlockTypeItem( state, {\n\t\t\tbuildScope: 'inserter',\n\t\t} );\n\n\t\t/*\n\t\t * Matches block comment delimiters amid serialized content.\n\t\t *\n\t\t * @see `tokenizer` in `@wordpress/block-serialization-default-parser`\n\t\t * package\n\t\t *\n\t\t * blockParserTokenizer differs from the original tokenizer in the\n\t\t * following ways:\n\t\t *\n\t\t * - removed global flag (/g)\n\t\t * - prepended ^\\s*\n\t\t *\n\t\t */\n\t\tconst blockParserTokenizer = /^\\s*<!--\\s+(\\/)?wp:([a-z][a-z0-9_-]*\\/)?([a-z][a-z0-9_-]*)\\s+({(?:(?=([^}]+|}+(?=})|(?!}\\s+\\/?-->)[^])*)\\5|[^]*?)}\\s+)?(\\/)?-->/;\n\n\t\tconst buildReusableBlockInserterItem = ( reusableBlock ) => {\n\t\t\tlet icon = symbol;\n\n\t\t\t/*\n\t\t\t * Instead of always displaying a generic \"symbol\" icon for every\n\t\t\t * reusable block, try to use an icon that represents the first\n\t\t\t * outermost block contained in the reusable block. This requires\n\t\t\t * scanning the serialized form of the reusable block to find its\n\t\t\t * first block delimiter, then looking up the corresponding block\n\t\t\t * type, if available.\n\t\t\t */\n\t\t\tif ( Platform.OS === 'web' ) {\n\t\t\t\tconst content =\n\t\t\t\t\ttypeof reusableBlock.content.raw === 'string'\n\t\t\t\t\t\t? reusableBlock.content.raw\n\t\t\t\t\t\t: reusableBlock.content;\n\t\t\t\tconst rawBlockMatch = content.match( blockParserTokenizer );\n\t\t\t\tif ( rawBlockMatch ) {\n\t\t\t\t\tconst [\n\t\t\t\t\t\t,\n\t\t\t\t\t\t,\n\t\t\t\t\t\tnamespace = 'core/',\n\t\t\t\t\t\tblockName,\n\t\t\t\t\t] = rawBlockMatch;\n\t\t\t\t\tconst referencedBlockType = getBlockType(\n\t\t\t\t\t\tnamespace + blockName\n\t\t\t\t\t);\n\t\t\t\t\tif ( referencedBlockType ) {\n\t\t\t\t\t\ticon = referencedBlockType.icon;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst id = `core/block/${ reusableBlock.id }`;\n\t\t\tconst { time, count = 0 } = getInsertUsage( state, id ) || {};\n\t\t\tconst frecency = calculateFrecency( time, count );\n\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tname: 'core/block',\n\t\t\t\tinitialAttributes: { ref: reusableBlock.id },\n\t\t\t\ttitle: reusableBlock.title.raw,\n\t\t\t\ticon,\n\t\t\t\tcategory: 'reusable',\n\t\t\t\tkeywords: [],\n\t\t\t\tisDisabled: false,\n\t\t\t\tutility: 1, // Deprecated.\n\t\t\t\tfrecency,\n\t\t\t};\n\t\t};\n\n\t\tconst blockTypeInserterItems = getBlockTypes()\n\t\t\t.filter( ( blockType ) =>\n\t\t\t\tcanIncludeBlockTypeInInserter( state, blockType, rootClientId )\n\t\t\t)\n\t\t\t.map( buildBlockTypeInserterItem );\n\n\t\tconst reusableBlockInserterItems = canInsertBlockTypeUnmemoized(\n\t\t\tstate,\n\t\t\t'core/block',\n\t\t\trootClientId\n\t\t)\n\t\t\t? getReusableBlocks( state ).map( buildReusableBlockInserterItem )\n\t\t\t: [];\n\n\t\tconst items = blockTypeInserterItems.reduce( ( accumulator, item ) => {\n\t\t\tconst { variations = [] } = item;\n\t\t\t// Exclude any block type item that is to be replaced by a default variation.\n\t\t\tif ( ! variations.some( ( { isDefault } ) => isDefault ) ) {\n\t\t\t\taccumulator.push( item );\n\t\t\t}\n\t\t\tif ( variations.length ) {\n\t\t\t\tconst variationMapper = getItemFromVariation( state, item );\n\t\t\t\taccumulator.push( ...variations.map( variationMapper ) );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] );\n\n\t\t// Ensure core blocks are prioritized in the returned results,\n\t\t// because third party blocks can be registered earlier than\n\t\t// the core blocks (usually by using the `init` action),\n\t\t// thus affecting the display order.\n\t\t// We don't sort reusable blocks as they are handled differently.\n\t\tconst groupByType = ( blocks, block ) => {\n\t\t\tconst { core, noncore } = blocks;\n\t\t\tconst type = block.name.startsWith( 'core/' ) ? core : noncore;\n\n\t\t\ttype.push( block );\n\t\t\treturn blocks;\n\t\t};\n\t\tconst {\n\t\t\tcore: coreItems,\n\t\t\tnoncore: nonCoreItems,\n\t\t} = items.reduce( groupByType, { core: [], noncore: [] } );\n\t\tconst sortedBlockTypes = [ ...coreItems, ...nonCoreItems ];\n\t\treturn [ ...sortedBlockTypes, ...reusableBlockInserterItems ];\n\t},\n\t( state, rootClientId ) => [\n\t\tstate.blockListSettings[ rootClientId ],\n\t\tstate.blocks.byClientId,\n\t\tstate.blocks.order,\n\t\tstate.preferences.insertUsage,\n\t\tstate.settings.allowedBlockTypes,\n\t\tstate.settings.templateLock,\n\t\tgetReusableBlocks( state ),\n\t\tgetBlockTypes(),\n\t]\n);\n\n/**\n * Determines the items that appear in the available block transforms list.\n *\n * Each item object contains what's necessary to display a menu item in the\n * transform list and handle its selection.\n *\n * The 'frecency' property is a heuristic (https://en.wikipedia.org/wiki/Frecency)\n * that combines block usage frequenty and recency.\n *\n * Items are returned ordered descendingly by their 'frecency'.\n *\n * @param {Object} state Editor state.\n * @param {Object|Object[]} blocks Block object or array objects.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {WPEditorTransformItem[]} Items that appear in inserter.\n *\n * @typedef {Object} WPEditorTransformItem\n * @property {string} id Unique identifier for the item.\n * @property {string} name The type of block to create.\n * @property {string} title Title of the item, as it appears in the inserter.\n * @property {string} icon Dashicon for the item, as it appears in the inserter.\n * @property {boolean} isDisabled Whether or not the user should be prevented from inserting\n * this item.\n * @property {number} frecency Heuristic that combines frequency and recency.\n */\nexport const getBlockTransformItems = createSelector(\n\t( state, blocks, rootClientId = null ) => {\n\t\tconst normalizedBlocks = castArray( blocks );\n\t\tconst [ sourceBlock ] = normalizedBlocks;\n\t\tconst buildBlockTypeTransformItem = buildBlockTypeItem( state, {\n\t\t\tbuildScope: 'transform',\n\t\t} );\n\t\tconst blockTypeTransformItems = getBlockTypes()\n\t\t\t.filter( ( blockType ) =>\n\t\t\t\tcanIncludeBlockTypeInInserter( state, blockType, rootClientId )\n\t\t\t)\n\t\t\t.map( buildBlockTypeTransformItem );\n\n\t\tconst itemsByName = mapKeys(\n\t\t\tblockTypeTransformItems,\n\t\t\t( { name } ) => name\n\t\t);\n\n\t\t// Consider unwraping the highest priority.\n\t\titemsByName[ '*' ] = {\n\t\t\tfrecency: +Infinity,\n\t\t\tid: '*',\n\t\t\tisDisabled: false,\n\t\t\tname: '*',\n\t\t\ttitle: __( 'Unwrap' ),\n\t\t\ticon: itemsByName[ sourceBlock?.name ]?.icon,\n\t\t};\n\n\t\tconst possibleTransforms = getPossibleBlockTransformations(\n\t\t\tnormalizedBlocks\n\t\t).reduce( ( accumulator, block ) => {\n\t\t\tif ( block === '*' ) {\n\t\t\t\taccumulator.push( itemsByName[ '*' ] );\n\t\t\t} else if ( itemsByName[ block?.name ] ) {\n\t\t\t\taccumulator.push( itemsByName[ block.name ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] );\n\t\treturn orderBy(\n\t\t\tpossibleTransforms,\n\t\t\t( block ) => itemsByName[ block.name ].frecency,\n\t\t\t'desc'\n\t\t);\n\t},\n\t( state, rootClientId ) => [\n\t\tstate.blockListSettings[ rootClientId ],\n\t\tstate.blocks.byClientId,\n\t\tstate.preferences.insertUsage,\n\t\tstate.settings.allowedBlockTypes,\n\t\tstate.settings.templateLock,\n\t\tgetBlockTypes(),\n\t]\n);\n\n/**\n * Determines whether there are items to show in the inserter.\n *\n * @param {Object} state Editor state.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {boolean} Items that appear in inserter.\n */\nexport const hasInserterItems = createSelector(\n\t( state, rootClientId = null ) => {\n\t\tconst hasBlockType = some( getBlockTypes(), ( blockType ) =>\n\t\t\tcanIncludeBlockTypeInInserter( state, blockType, rootClientId )\n\t\t);\n\t\tif ( hasBlockType ) {\n\t\t\treturn true;\n\t\t}\n\t\tconst hasReusableBlock =\n\t\t\tcanInsertBlockTypeUnmemoized( state, 'core/block', rootClientId ) &&\n\t\t\tgetReusableBlocks( state ).length > 0;\n\n\t\treturn hasReusableBlock;\n\t},\n\t( state, rootClientId ) => [\n\t\tstate.blockListSettings[ rootClientId ],\n\t\tstate.blocks.byClientId,\n\t\tstate.settings.allowedBlockTypes,\n\t\tstate.settings.templateLock,\n\t\tgetReusableBlocks( state ),\n\t\tgetBlockTypes(),\n\t]\n);\n\n/**\n * Returns the list of allowed inserter blocks for inner blocks children\n *\n * @param {Object} state Editor state.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {Array?} The list of allowed block types.\n */\nexport const __experimentalGetAllowedBlocks = createSelector(\n\t( state, rootClientId = null ) => {\n\t\tif ( ! rootClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn filter( getBlockTypes(), ( blockType ) =>\n\t\t\tcanIncludeBlockTypeInInserter( state, blockType, rootClientId )\n\t\t);\n\t},\n\t( state, rootClientId ) => [\n\t\tstate.blockListSettings[ rootClientId ],\n\t\tstate.blocks.byClientId,\n\t\tstate.settings.allowedBlockTypes,\n\t\tstate.settings.templateLock,\n\t\tgetBlockTypes(),\n\t]\n);\n\n/**\n * Returns the block to be directly inserted by the block appender.\n *\n * @param {Object} state Editor state.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {?WPDirectInsertBlock} The block type to be directly inserted.\n *\n * @typedef {Object} WPDirectInsertBlock\n * @property {string} name The type of block.\n * @property {?Object} attributes Attributes to pass to the newly created block.\n * @property {?Array<string>} attributesToCopy Attributes to be copied from adjecent blocks when inserted.\n */\nexport const __experimentalGetDirectInsertBlock = createSelector(\n\t( state, rootClientId = null ) => {\n\t\tif ( ! rootClientId ) {\n\t\t\treturn;\n\t\t}\n\t\tconst defaultBlock =\n\t\t\tstate.blockListSettings[ rootClientId ]?.__experimentalDefaultBlock;\n\t\tconst directInsert =\n\t\t\tstate.blockListSettings[ rootClientId ]?.__experimentalDirectInsert;\n\t\tif ( ! defaultBlock || ! directInsert ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( typeof directInsert === 'function' ) {\n\t\t\treturn directInsert( getBlock( state, rootClientId ) )\n\t\t\t\t? defaultBlock\n\t\t\t\t: null;\n\t\t}\n\t\treturn defaultBlock;\n\t},\n\t( state, rootClientId ) => [\n\t\tstate.blockListSettings[ rootClientId ],\n\t\tstate.blocks.tree[ rootClientId ],\n\t]\n);\n\nconst checkAllowListRecursive = ( blocks, allowedBlockTypes ) => {\n\tif ( isBoolean( allowedBlockTypes ) ) {\n\t\treturn allowedBlockTypes;\n\t}\n\n\tconst blocksQueue = [ ...blocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\n\t\tconst isAllowed = checkAllowList(\n\t\t\tallowedBlockTypes,\n\t\t\tblock.name || block.blockName,\n\t\t\ttrue\n\t\t);\n\t\tif ( ! isAllowed ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\n\treturn true;\n};\n\nexport const __experimentalGetParsedPattern = createSelector(\n\t( state, patternName ) => {\n\t\tconst patterns = state.settings.__experimentalBlockPatterns;\n\t\tconst pattern = patterns.find( ( { name } ) => name === patternName );\n\t\tif ( ! pattern ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\t...pattern,\n\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} ),\n\t\t};\n\t},\n\t( state ) => [ state.settings.__experimentalBlockPatterns ]\n);\n\nconst getAllAllowedPatterns = createSelector(\n\t( state ) => {\n\t\tconst patterns = state.settings.__experimentalBlockPatterns;\n\t\tconst { allowedBlockTypes } = getSettings( state );\n\t\tconst parsedPatterns = patterns\n\t\t\t.filter( ( { inserter = true } ) => !! inserter )\n\t\t\t.map( ( { name } ) =>\n\t\t\t\t__experimentalGetParsedPattern( state, name )\n\t\t\t);\n\t\tconst allowedPatterns = parsedPatterns.filter( ( { blocks } ) =>\n\t\t\tcheckAllowListRecursive( blocks, allowedBlockTypes )\n\t\t);\n\t\treturn allowedPatterns;\n\t},\n\t( state ) => [\n\t\tstate.settings.__experimentalBlockPatterns,\n\t\tstate.settings.allowedBlockTypes,\n\t]\n);\n\n/**\n * Returns the list of allowed patterns for inner blocks children.\n *\n * @param {Object} state Editor state.\n * @param {?string} rootClientId Optional target root client ID.\n *\n * @return {Array?} The list of allowed patterns.\n */\nexport const __experimentalGetAllowedPatterns = createSelector(\n\t( state, rootClientId = null ) => {\n\t\tconst availableParsedPatterns = getAllAllowedPatterns( state );\n\t\tconst patternsAllowed = filter(\n\t\t\tavailableParsedPatterns,\n\t\t\t( { blocks } ) =>\n\t\t\t\tblocks.every( ( { name } ) =>\n\t\t\t\t\tcanInsertBlockType( state, name, rootClientId )\n\t\t\t\t)\n\t\t);\n\n\t\treturn patternsAllowed;\n\t},\n\t( state, rootClientId ) => [\n\t\tstate.settings.__experimentalBlockPatterns,\n\t\tstate.settings.allowedBlockTypes,\n\t\tstate.settings.templateLock,\n\t\tstate.blockListSettings[ rootClientId ],\n\t\tstate.blocks.byClientId[ rootClientId ],\n\t]\n);\n\n/**\n * Returns the list of patterns based on their declared `blockTypes`\n * and a block's name.\n * Patterns can use `blockTypes` to integrate in work flows like\n * suggesting appropriate patterns in a Placeholder state(during insertion)\n * or blocks transformations.\n *\n * @param {Object} state Editor state.\n * @param {string|string[]} blockNames Block's name or array of block names to find matching pattens.\n * @param {?string} rootClientId Optional target root client ID.\n *\n * @return {Array} The list of matched block patterns based on declared `blockTypes` and block name.\n */\nexport const __experimentalGetPatternsByBlockTypes = createSelector(\n\t( state, blockNames, rootClientId = null ) => {\n\t\tif ( ! blockNames ) return EMPTY_ARRAY;\n\t\tconst patterns = __experimentalGetAllowedPatterns(\n\t\t\tstate,\n\t\t\trootClientId\n\t\t);\n\t\tconst normalizedBlockNames = Array.isArray( blockNames )\n\t\t\t? blockNames\n\t\t\t: [ blockNames ];\n\t\treturn patterns.filter( ( pattern ) =>\n\t\t\tpattern?.blockTypes?.some?.( ( blockName ) =>\n\t\t\t\tnormalizedBlockNames.includes( blockName )\n\t\t\t)\n\t\t);\n\t},\n\t( state, rootClientId ) => [\n\t\t...__experimentalGetAllowedPatterns.getDependants(\n\t\t\tstate,\n\t\t\trootClientId\n\t\t),\n\t]\n);\n\n/**\n * Determines the items that appear in the available pattern transforms list.\n *\n * For now we only handle blocks without InnerBlocks and take into account\n * the `__experimentalRole` property of blocks' attributes for the transformation.\n *\n * We return the first set of possible eligible block patterns,\n * by checking the `blockTypes` property. We still have to recurse through\n * block pattern's blocks and try to find matches from the selected blocks.\n * Now this happens in the consumer to avoid heavy operations in the selector.\n *\n * @param {Object} state Editor state.\n * @param {Object[]} blocks The selected blocks.\n * @param {?string} rootClientId Optional root client ID of block list.\n *\n * @return {WPBlockPattern[]} Items that are eligible for a pattern transformation.\n */\nexport const __experimentalGetPatternTransformItems = createSelector(\n\t( state, blocks, rootClientId = null ) => {\n\t\tif ( ! blocks ) return EMPTY_ARRAY;\n\t\t/**\n\t\t * For now we only handle blocks without InnerBlocks and take into account\n\t\t * the `__experimentalRole` property of blocks' attributes for the transformation.\n\t\t * Note that the blocks have been retrieved through `getBlock`, which doesn't\n\t\t * return the inner blocks of an inner block controller, so we still need\n\t\t * to check for this case too.\n\t\t */\n\t\tif (\n\t\t\tblocks.some(\n\t\t\t\t( { clientId, innerBlocks } ) =>\n\t\t\t\t\tinnerBlocks.length ||\n\t\t\t\t\tareInnerBlocksControlled( state, clientId )\n\t\t\t)\n\t\t) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\t// Create a Set of the selected block names that is used in patterns filtering.\n\t\tconst selectedBlockNames = Array.from(\n\t\t\tnew Set( blocks.map( ( { name } ) => name ) )\n\t\t);\n\t\t/**\n\t\t * Here we will return first set of possible eligible block patterns,\n\t\t * by checking the `blockTypes` property. We still have to recurse through\n\t\t * block pattern's blocks and try to find matches from the selected blocks.\n\t\t * Now this happens in the consumer to avoid heavy operations in the selector.\n\t\t */\n\t\treturn __experimentalGetPatternsByBlockTypes(\n\t\t\tstate,\n\t\t\tselectedBlockNames,\n\t\t\trootClientId\n\t\t);\n\t},\n\t( state, rootClientId ) => [\n\t\t...__experimentalGetPatternsByBlockTypes.getDependants(\n\t\t\tstate,\n\t\t\trootClientId\n\t\t),\n\t]\n);\n\n/**\n * Returns the Block List settings of a block, if any exist.\n *\n * @param {Object} state Editor state.\n * @param {?string} clientId Block client ID.\n *\n * @return {?Object} Block settings of the block if set.\n */\nexport function getBlockListSettings( state, clientId ) {\n\treturn state.blockListSettings[ clientId ];\n}\n\n/**\n * Returns the editor settings.\n *\n * @param {Object} state Editor state.\n *\n * @return {Object} The editor settings object.\n */\nexport function getSettings( state ) {\n\treturn state.settings;\n}\n\n/**\n * Returns true if the most recent block change is be considered persistent, or\n * false otherwise. A persistent change is one committed by BlockEditorProvider\n * via its `onChange` callback, in addition to `onInput`.\n *\n * @param {Object} state Block editor state.\n *\n * @return {boolean} Whether the most recent block change was persistent.\n */\nexport function isLastBlockChangePersistent( state ) {\n\treturn state.blocks.isPersistentChange;\n}\n\n/**\n * Returns the block list settings for an array of blocks, if any exist.\n *\n * @param {Object} state Editor state.\n * @param {Array} clientIds Block client IDs.\n *\n * @return {Object} An object where the keys are client ids and the values are\n * a block list setting object.\n */\nexport const __experimentalGetBlockListSettingsForBlocks = createSelector(\n\t( state, clientIds = [] ) => {\n\t\treturn clientIds.reduce( ( blockListSettingsForBlocks, clientId ) => {\n\t\t\tif ( ! state.blockListSettings[ clientId ] ) {\n\t\t\t\treturn blockListSettingsForBlocks;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...blockListSettingsForBlocks,\n\t\t\t\t[ clientId ]: state.blockListSettings[ clientId ],\n\t\t\t};\n\t\t}, {} );\n\t},\n\t( state ) => [ state.blockListSettings ]\n);\n\n/**\n * Returns the title of a given reusable block\n *\n * @param {Object} state Global application state.\n * @param {number|string} ref The shared block's ID.\n *\n * @return {string} The reusable block saved title.\n */\nexport const __experimentalGetReusableBlockTitle = createSelector(\n\t( state, ref ) => {\n\t\tconst reusableBlock = find(\n\t\t\tgetReusableBlocks( state ),\n\t\t\t( block ) => block.id === ref\n\t\t);\n\t\tif ( ! reusableBlock ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn reusableBlock.title?.raw;\n\t},\n\t( state ) => [ getReusableBlocks( state ) ]\n);\n\n/**\n * Returns true if the most recent block change is be considered ignored, or\n * false otherwise. An ignored change is one not to be committed by\n * BlockEditorProvider, neither via `onChange` nor `onInput`.\n *\n * @param {Object} state Block editor state.\n *\n * @return {boolean} Whether the most recent block change was ignored.\n */\nexport function __unstableIsLastBlockChangeIgnored( state ) {\n\t// TODO: Removal Plan: Changes incurred by RECEIVE_BLOCKS should not be\n\t// ignored if in-fact they result in a change in blocks state. The current\n\t// need to ignore changes not a result of user interaction should be\n\t// accounted for in the refactoring of reusable blocks as occurring within\n\t// their own separate block editor / state (#7119).\n\treturn state.blocks.isIgnoredChange;\n}\n\n/**\n * Returns the block attributes changed as a result of the last dispatched\n * action.\n *\n * @param {Object} state Block editor state.\n *\n * @return {Object<string,Object>} Subsets of block attributes changed, keyed\n * by block client ID.\n */\nexport function __experimentalGetLastBlockAttributeChanges( state ) {\n\treturn state.lastBlockAttributesChange;\n}\n\n/**\n * Returns the available reusable blocks\n *\n * @param {Object} state Global application state.\n *\n * @return {Array} Reusable blocks\n */\nfunction getReusableBlocks( state ) {\n\treturn state?.settings?.__experimentalReusableBlocks ?? EMPTY_ARRAY;\n}\n\n/**\n * Returns whether the navigation mode is enabled.\n *\n * @param {Object} state Editor state.\n *\n * @return {boolean} Is navigation mode enabled.\n */\nexport function isNavigationMode( state ) {\n\treturn state.isNavigationMode;\n}\n\n/**\n * Returns whether block moving mode is enabled.\n *\n * @param {Object} state Editor state.\n *\n * @return {string} Client Id of moving block.\n */\nexport function hasBlockMovingClientId( state ) {\n\treturn state.hasBlockMovingClientId;\n}\n\n/**\n * Returns true if the last change was an automatic change, false otherwise.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the last change was automatic.\n */\nexport function didAutomaticChange( state ) {\n\treturn !! state.automaticChangeStatus;\n}\n\n/**\n * Returns true if the current highlighted block matches the block clientId.\n *\n * @param {Object} state Global application state.\n * @param {string} clientId The block to check.\n *\n * @return {boolean} Whether the block is currently highlighted.\n */\nexport function isBlockHighlighted( state, clientId ) {\n\treturn state.highlightedBlock === clientId;\n}\n\n/**\n * Checks if a given block has controlled inner blocks.\n *\n * @param {Object} state Global application state.\n * @param {string} clientId The block to check.\n *\n * @return {boolean} True if the block has controlled inner blocks.\n */\nexport function areInnerBlocksControlled( state, clientId ) {\n\treturn !! state.blocks.controlledInnerBlocks[ clientId ];\n}\n\n/**\n * Returns the clientId for the first 'active' block of a given array of block names.\n * A block is 'active' if it (or a child) is the selected block.\n * Returns the first match moving up the DOM from the selected block.\n *\n * @param {Object} state Global application state.\n * @param {string[]} validBlocksNames The names of block types to check for.\n *\n * @return {string} The matching block's clientId.\n */\nexport const __experimentalGetActiveBlockIdByBlockNames = createSelector(\n\t( state, validBlockNames ) => {\n\t\tif ( ! validBlockNames.length ) {\n\t\t\treturn null;\n\t\t}\n\t\t// Check if selected block is a valid entity area.\n\t\tconst selectedBlockClientId = getSelectedBlockClientId( state );\n\t\tif (\n\t\t\tvalidBlockNames.includes(\n\t\t\t\tgetBlockName( state, selectedBlockClientId )\n\t\t\t)\n\t\t) {\n\t\t\treturn selectedBlockClientId;\n\t\t}\n\t\t// Check if first selected block is a child of a valid entity area.\n\t\tconst multiSelectedBlockClientIds = getMultiSelectedBlockClientIds(\n\t\t\tstate\n\t\t);\n\t\tconst entityAreaParents = getBlockParentsByBlockName(\n\t\t\tstate,\n\t\t\tselectedBlockClientId || multiSelectedBlockClientIds[ 0 ],\n\t\t\tvalidBlockNames\n\t\t);\n\t\tif ( entityAreaParents ) {\n\t\t\t// Last parent closest/most interior.\n\t\t\treturn last( entityAreaParents );\n\t\t}\n\t\treturn null;\n\t},\n\t( state, validBlockNames ) => [\n\t\tstate.selection.selectionStart.clientId,\n\t\tstate.selection.selectionEnd.clientId,\n\t\tvalidBlockNames,\n\t]\n);\n\n/**\n * Tells if the block with the passed clientId was just inserted.\n *\n * @param {Object} state Global application state.\n * @param {Object} clientId Client Id of the block.\n * @param {?string} source Optional insertion source of the block.\n * @return {boolean} True if the block matches the last block inserted from the specified source.\n */\nexport function wasBlockJustInserted( state, clientId, source ) {\n\tconst { lastBlockInserted } = state;\n\treturn (\n\t\tlastBlockInserted.clientId === clientId &&\n\t\tlastBlockInserted.source === source\n\t);\n}\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"a11y\"];","/**\n * External dependencies\n */\nimport { castArray, findKey, first, isObject, last, some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcloneBlock,\n\t__experimentalCloneSanitizedBlock,\n\tcreateBlock,\n\tdoBlocksMatchTemplate,\n\tgetBlockType,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tswitchToBlockType,\n\tsynchronizeBlocksWithTemplate,\n} from '@wordpress/blocks';\nimport { speak } from '@wordpress/a11y';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { create, insert, remove, toHTMLString } from '@wordpress/rich-text';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { mapRichTextSettings } from './utils';\n\n/**\n * Action which will insert a default block insert action if there\n * are no other blocks at the root of the editor. This action should be used\n * in actions which may result in no blocks remaining in the editor (removal,\n * replacement, etc).\n */\nconst ensureDefaultBlock = () => ( { select, dispatch } ) => {\n\t// To avoid a focus loss when removing the last block, assure there is\n\t// always a default block if the last of the blocks have been removed.\n\tconst count = select.getBlockCount();\n\tif ( count > 0 ) {\n\t\treturn;\n\t}\n\n\t// If there's an custom appender, don't insert default block.\n\t// We have to remember to manually move the focus elsewhere to\n\t// prevent it from being lost though.\n\tconst { __unstableHasCustomAppender } = select.getSettings();\n\tif ( __unstableHasCustomAppender ) {\n\t\treturn;\n\t}\n\n\tdispatch.insertDefaultBlock();\n};\n\n/**\n * Action that resets blocks state to the specified array of blocks, taking precedence\n * over any other content reflected as an edit in state.\n *\n * @param {Array} blocks Array of blocks.\n */\nexport const resetBlocks = ( blocks ) => ( { dispatch } ) => {\n\tdispatch( { type: 'RESET_BLOCKS', blocks } );\n\tdispatch( validateBlocksToTemplate( blocks ) );\n};\n\n/**\n * Block validity is a function of blocks state (at the point of a\n * reset) and the template setting. As a compromise to its placement\n * across distinct parts of state, it is implemented here as a side-\n * effect of the block reset action.\n *\n * @param {Array} blocks Array of blocks.\n */\nexport const validateBlocksToTemplate = ( blocks ) => ( {\n\tselect,\n\tdispatch,\n} ) => {\n\tconst template = select.getTemplate();\n\tconst templateLock = select.getTemplateLock();\n\n\t// Unlocked templates are considered always valid because they act\n\t// as default values only.\n\tconst isBlocksValidToTemplate =\n\t\t! template ||\n\t\ttemplateLock !== 'all' ||\n\t\tdoBlocksMatchTemplate( blocks, template );\n\n\t// Update if validity has changed.\n\tconst isValidTemplate = select.isValidTemplate();\n\n\tif ( isBlocksValidToTemplate !== isValidTemplate ) {\n\t\tdispatch.setTemplateValidity( isBlocksValidToTemplate );\n\t\treturn isBlocksValidToTemplate;\n\t}\n};\n\n/**\n * A block selection object.\n *\n * @typedef {Object} WPBlockSelection\n *\n * @property {string} clientId A block client ID.\n * @property {string} attributeKey A block attribute key.\n * @property {number} offset An attribute value offset, based on the rich\n * text value. See `wp.richText.create`.\n */\n\n/**\n * A selection object.\n *\n * @typedef {Object} WPSelection\n *\n * @property {WPBlockSelection} start The selection start.\n * @property {WPBlockSelection} end The selection end.\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Returns an action object used in signalling that selection state should be\n * reset to the specified selection.\n *\n * @param {WPBlockSelection} selectionStart The selection start.\n * @param {WPBlockSelection} selectionEnd The selection end.\n * @param {0|-1|null} initialPosition Initial block position.\n *\n * @return {Object} Action object.\n */\nexport function resetSelection(\n\tselectionStart,\n\tselectionEnd,\n\tinitialPosition\n) {\n\t/* eslint-enable jsdoc/valid-types */\n\treturn {\n\t\ttype: 'RESET_SELECTION',\n\t\tselectionStart,\n\t\tselectionEnd,\n\t\tinitialPosition,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that blocks have been received.\n * Unlike resetBlocks, these should be appended to the existing known set, not\n * replacing.\n *\n * @deprecated\n *\n * @param {Object[]} blocks Array of block objects.\n *\n * @return {Object} Action object.\n */\nexport function receiveBlocks( blocks ) {\n\tdeprecated( 'wp.data.dispatch( \"core/block-editor\" ).receiveBlocks', {\n\t\tsince: '5.9',\n\t\talternative: 'resetBlocks or insertBlocks',\n\t} );\n\n\treturn {\n\t\ttype: 'RECEIVE_BLOCKS',\n\t\tblocks,\n\t};\n}\n\n/**\n * Action that updates attributes of multiple blocks with the specified client IDs.\n *\n * @param {string|string[]} clientIds Block client IDs.\n * @param {Object} attributes Block attributes to be merged. Should be keyed by clientIds if\n * uniqueByBlock is true.\n * @param {boolean} uniqueByBlock true if each block in clientIds array has a unique set of attributes\n * @return {Object} Action object.\n */\nexport function updateBlockAttributes(\n\tclientIds,\n\tattributes,\n\tuniqueByBlock = false\n) {\n\treturn {\n\t\ttype: 'UPDATE_BLOCK_ATTRIBUTES',\n\t\tclientIds: castArray( clientIds ),\n\t\tattributes,\n\t\tuniqueByBlock,\n\t};\n}\n\n/**\n * Action that updates the block with the specified client ID.\n *\n * @param {string} clientId Block client ID.\n * @param {Object} updates Block attributes to be merged.\n *\n * @return {Object} Action object.\n */\nexport function updateBlock( clientId, updates ) {\n\treturn {\n\t\ttype: 'UPDATE_BLOCK',\n\t\tclientId,\n\t\tupdates,\n\t};\n}\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Returns an action object used in signalling that the block with the\n * specified client ID has been selected, optionally accepting a position\n * value reflecting its selection directionality. An initialPosition of -1\n * reflects a reverse selection.\n *\n * @param {string} clientId Block client ID.\n * @param {0|-1|null} initialPosition Optional initial position. Pass as -1 to\n * reflect reverse selection.\n *\n * @return {Object} Action object.\n */\nexport function selectBlock( clientId, initialPosition = 0 ) {\n\t/* eslint-enable jsdoc/valid-types */\n\treturn {\n\t\ttype: 'SELECT_BLOCK',\n\t\tinitialPosition,\n\t\tclientId,\n\t};\n}\n\n/**\n * Yields action objects used in signalling that the block preceding the given\n * clientId should be selected.\n *\n * @param {string} clientId Block client ID.\n */\nexport const selectPreviousBlock = ( clientId ) => ( { select, dispatch } ) => {\n\tconst previousBlockClientId = select.getPreviousBlockClientId( clientId );\n\tif ( previousBlockClientId ) {\n\t\tdispatch.selectBlock( previousBlockClientId, -1 );\n\t}\n};\n\n/**\n * Yields action objects used in signalling that the block following the given\n * clientId should be selected.\n *\n * @param {string} clientId Block client ID.\n */\nexport const selectNextBlock = ( clientId ) => ( { select, dispatch } ) => {\n\tconst nextBlockClientId = select.getNextBlockClientId( clientId );\n\tif ( nextBlockClientId ) {\n\t\tdispatch.selectBlock( nextBlockClientId );\n\t}\n};\n\n/**\n * Action that starts block multi-selection.\n *\n * @return {Object} Action object.\n */\nexport function startMultiSelect() {\n\treturn {\n\t\ttype: 'START_MULTI_SELECT',\n\t};\n}\n\n/**\n * Action that stops block multi-selection.\n *\n * @return {Object} Action object.\n */\nexport function stopMultiSelect() {\n\treturn {\n\t\ttype: 'STOP_MULTI_SELECT',\n\t};\n}\n\n/**\n * Action that changes block multi-selection.\n *\n * @param {string} start First block of the multi selection.\n * @param {string} end Last block of the multiselection.\n * @param {number|null} __experimentalInitialPosition Optional initial position. Pass as null to skip focus within editor canvas.\n */\nexport const multiSelect = (\n\tstart,\n\tend,\n\t__experimentalInitialPosition = 0\n) => ( { select, dispatch } ) => {\n\tconst startBlockRootClientId = select.getBlockRootClientId( start );\n\tconst endBlockRootClientId = select.getBlockRootClientId( end );\n\n\t// Only allow block multi-selections at the same level.\n\tif ( startBlockRootClientId !== endBlockRootClientId ) {\n\t\treturn;\n\t}\n\n\tdispatch( {\n\t\ttype: 'MULTI_SELECT',\n\t\tstart,\n\t\tend,\n\t\tinitialPosition: __experimentalInitialPosition,\n\t} );\n\n\tconst blockCount = select.getSelectedBlockCount();\n\n\tspeak(\n\t\tsprintf(\n\t\t\t/* translators: %s: number of selected blocks */\n\t\t\t_n( '%s block selected.', '%s blocks selected.', blockCount ),\n\t\t\tblockCount\n\t\t),\n\t\t'assertive'\n\t);\n};\n\n/**\n * Action that clears the block selection.\n *\n * @return {Object} Action object.\n */\nexport function clearSelectedBlock() {\n\treturn {\n\t\ttype: 'CLEAR_SELECTED_BLOCK',\n\t};\n}\n\n/**\n * Action that enables or disables block selection.\n *\n * @param {boolean} [isSelectionEnabled=true] Whether block selection should\n * be enabled.\n *\n * @return {Object} Action object.\n */\nexport function toggleSelection( isSelectionEnabled = true ) {\n\treturn {\n\t\ttype: 'TOGGLE_SELECTION',\n\t\tisSelectionEnabled,\n\t};\n}\n\nfunction getBlocksWithDefaultStylesApplied( blocks, blockEditorSettings ) {\n\tconst preferredStyleVariations =\n\t\tblockEditorSettings?.__experimentalPreferredStyleVariations?.value ??\n\t\t{};\n\treturn blocks.map( ( block ) => {\n\t\tconst blockName = block.name;\n\t\tif ( ! hasBlockSupport( blockName, 'defaultStylePicker', true ) ) {\n\t\t\treturn block;\n\t\t}\n\t\tif ( ! preferredStyleVariations[ blockName ] ) {\n\t\t\treturn block;\n\t\t}\n\t\tconst className = block.attributes?.className;\n\t\tif ( className?.includes( 'is-style-' ) ) {\n\t\t\treturn block;\n\t\t}\n\t\tconst { attributes = {} } = block;\n\t\tconst blockStyle = preferredStyleVariations[ blockName ];\n\t\treturn {\n\t\t\t...block,\n\t\t\tattributes: {\n\t\t\t\t...attributes,\n\t\t\t\tclassName: `${\n\t\t\t\t\tclassName || ''\n\t\t\t\t} is-style-${ blockStyle }`.trim(),\n\t\t\t},\n\t\t};\n\t} );\n}\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Action that replaces given blocks with one or more replacement blocks.\n *\n * @param {(string|string[])} clientIds Block client ID(s) to replace.\n * @param {(Object|Object[])} blocks Replacement block(s).\n * @param {number} indexToSelect Index of replacement block to select.\n * @param {0|-1|null} initialPosition Index of caret after in the selected block after the operation.\n * @param {?Object} meta Optional Meta values to be passed to the action object.\n *\n * @return {Object} Action object.\n */\nexport const replaceBlocks = (\n\tclientIds,\n\tblocks,\n\tindexToSelect,\n\tinitialPosition = 0,\n\tmeta\n) => ( { select, dispatch } ) => {\n\t/* eslint-enable jsdoc/valid-types */\n\tclientIds = castArray( clientIds );\n\tblocks = getBlocksWithDefaultStylesApplied(\n\t\tcastArray( blocks ),\n\t\tselect.getSettings()\n\t);\n\tconst rootClientId = select.getBlockRootClientId( first( clientIds ) );\n\t// Replace is valid if the new blocks can be inserted in the root block.\n\tfor ( let index = 0; index < blocks.length; index++ ) {\n\t\tconst block = blocks[ index ];\n\t\tconst canInsertBlock = select.canInsertBlockType(\n\t\t\tblock.name,\n\t\t\trootClientId\n\t\t);\n\t\tif ( ! canInsertBlock ) {\n\t\t\treturn;\n\t\t}\n\t}\n\tdispatch( {\n\t\ttype: 'REPLACE_BLOCKS',\n\t\tclientIds,\n\t\tblocks,\n\t\ttime: Date.now(),\n\t\tindexToSelect,\n\t\tinitialPosition,\n\t\tmeta,\n\t} );\n\tdispatch( ensureDefaultBlock() );\n};\n\n/**\n * Action that replaces a single block with one or more replacement blocks.\n *\n * @param {(string|string[])} clientId Block client ID to replace.\n * @param {(Object|Object[])} block Replacement block(s).\n *\n * @return {Object} Action object.\n */\nexport function replaceBlock( clientId, block ) {\n\treturn replaceBlocks( clientId, block );\n}\n\n/**\n * Higher-order action creator which, given the action type to dispatch creates\n * an action creator for managing block movement.\n *\n * @param {string} type Action type to dispatch.\n *\n * @return {Function} Action creator.\n */\nconst createOnMove = ( type ) => ( clientIds, rootClientId ) => ( {\n\tselect,\n\tdispatch,\n} ) => {\n\t// If one of the blocks is locked or the parent is locked, we cannot move any block.\n\tconst canMoveBlocks = select.canMoveBlocks( clientIds, rootClientId );\n\tif ( ! canMoveBlocks ) {\n\t\treturn;\n\t}\n\n\tdispatch( { type, clientIds: castArray( clientIds ), rootClientId } );\n};\n\nexport const moveBlocksDown = createOnMove( 'MOVE_BLOCKS_DOWN' );\nexport const moveBlocksUp = createOnMove( 'MOVE_BLOCKS_UP' );\n\n/**\n * Action that moves given blocks to a new position.\n *\n * @param {?string} clientIds The client IDs of the blocks.\n * @param {?string} fromRootClientId Root client ID source.\n * @param {?string} toRootClientId Root client ID destination.\n * @param {number} index The index to move the blocks to.\n */\nexport const moveBlocksToPosition = (\n\tclientIds,\n\tfromRootClientId = '',\n\ttoRootClientId = '',\n\tindex\n) => ( { select, dispatch } ) => {\n\tconst canMoveBlocks = select.canMoveBlocks( clientIds, fromRootClientId );\n\n\t// If one of the blocks is locked or the parent is locked, we cannot move any block.\n\tif ( ! canMoveBlocks ) {\n\t\treturn;\n\t}\n\n\t// If moving inside the same root block the move is always possible.\n\tif ( fromRootClientId !== toRootClientId ) {\n\t\tconst canRemoveBlocks = select.canRemoveBlocks(\n\t\t\tclientIds,\n\t\t\tfromRootClientId\n\t\t);\n\n\t\t// If we're moving to another block, it means we're deleting blocks from\n\t\t// the original block, so we need to check if removing is possible.\n\t\tif ( ! canRemoveBlocks ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst canInsertBlocks = select.canInsertBlocks(\n\t\t\tclientIds,\n\t\t\ttoRootClientId\n\t\t);\n\n\t\t// If moving to other parent block, the move is possible if we can insert a block of the same type inside the new parent block.\n\t\tif ( ! canInsertBlocks ) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tdispatch( {\n\t\ttype: 'MOVE_BLOCKS_TO_POSITION',\n\t\tfromRootClientId,\n\t\ttoRootClientId,\n\t\tclientIds,\n\t\tindex,\n\t} );\n};\n\n/**\n * Action that moves given block to a new position.\n *\n * @param {?string} clientId The client ID of the block.\n * @param {?string} fromRootClientId Root client ID source.\n * @param {?string} toRootClientId Root client ID destination.\n * @param {number} index The index to move the block to.\n */\nexport function moveBlockToPosition(\n\tclientId,\n\tfromRootClientId = '',\n\ttoRootClientId = '',\n\tindex\n) {\n\treturn moveBlocksToPosition(\n\t\t[ clientId ],\n\t\tfromRootClientId,\n\t\ttoRootClientId,\n\t\tindex\n\t);\n}\n\n/**\n * Action that inserts a single block, optionally at a specific index respective a root block list.\n *\n * @param {Object} block Block object to insert.\n * @param {?number} index Index at which block should be inserted.\n * @param {?string} rootClientId Optional root client ID of block list on which to insert.\n * @param {?boolean} updateSelection If true block selection will be updated. If false, block selection will not change. Defaults to true.\n * @param {?Object} meta Optional Meta values to be passed to the action object.\n *\n * @return {Object} Action object.\n */\nexport function insertBlock(\n\tblock,\n\tindex,\n\trootClientId,\n\tupdateSelection,\n\tmeta\n) {\n\treturn insertBlocks(\n\t\t[ block ],\n\t\tindex,\n\t\trootClientId,\n\t\tupdateSelection,\n\t\t0,\n\t\tmeta\n\t);\n}\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Action that inserts an array of blocks, optionally at a specific index respective a root block list.\n *\n * @param {Object[]} blocks Block objects to insert.\n * @param {?number} index Index at which block should be inserted.\n * @param {?string} rootClientId Optional root client ID of block list on which to insert.\n * @param {?boolean} updateSelection If true block selection will be updated. If false, block selection will not change. Defaults to true.\n * @param {0|-1|null} initialPosition Initial focus position. Setting it to null prevent focusing the inserted block.\n * @param {?Object} meta Optional Meta values to be passed to the action object.\n * @return {Object} Action object.\n */\nexport const insertBlocks = (\n\tblocks,\n\tindex,\n\trootClientId,\n\tupdateSelection = true,\n\tinitialPosition = 0,\n\tmeta\n) => ( { select, dispatch } ) => {\n\t/* eslint-enable jsdoc/valid-types */\n\tif ( isObject( initialPosition ) ) {\n\t\tmeta = initialPosition;\n\t\tinitialPosition = 0;\n\t\tdeprecated( \"meta argument in wp.data.dispatch('core/block-editor')\", {\n\t\t\tsince: '5.8',\n\t\t\thint: 'The meta argument is now the 6th argument of the function',\n\t\t} );\n\t}\n\n\tblocks = getBlocksWithDefaultStylesApplied(\n\t\tcastArray( blocks ),\n\t\tselect.getSettings()\n\t);\n\tconst allowedBlocks = [];\n\tfor ( const block of blocks ) {\n\t\tconst isValid = select.canInsertBlockType( block.name, rootClientId );\n\t\tif ( isValid ) {\n\t\t\tallowedBlocks.push( block );\n\t\t}\n\t}\n\tif ( allowedBlocks.length ) {\n\t\tdispatch( {\n\t\t\ttype: 'INSERT_BLOCKS',\n\t\t\tblocks: allowedBlocks,\n\t\t\tindex,\n\t\t\trootClientId,\n\t\t\ttime: Date.now(),\n\t\t\tupdateSelection,\n\t\t\tinitialPosition: updateSelection ? initialPosition : null,\n\t\t\tmeta,\n\t\t} );\n\t}\n};\n\n/**\n * Action that shows the insertion point.\n *\n * @param {?string} rootClientId Optional root client ID of block list on\n * which to insert.\n * @param {?number} index Index at which block should be inserted.\n * @param {Object} __unstableOptions Whether or not to show an inserter button.\n *\n * @return {Object} Action object.\n */\nexport function showInsertionPoint(\n\trootClientId,\n\tindex,\n\t__unstableOptions = {}\n) {\n\tconst { __unstableWithInserter } = __unstableOptions;\n\treturn {\n\t\ttype: 'SHOW_INSERTION_POINT',\n\t\trootClientId,\n\t\tindex,\n\t\t__unstableWithInserter,\n\t};\n}\n\n/**\n * Action that hides the insertion point.\n *\n * @return {Object} Action object.\n */\nexport function hideInsertionPoint() {\n\treturn {\n\t\ttype: 'HIDE_INSERTION_POINT',\n\t};\n}\n\n/**\n * Action that resets the template validity.\n *\n * @param {boolean} isValid template validity flag.\n *\n * @return {Object} Action object.\n */\nexport function setTemplateValidity( isValid ) {\n\treturn {\n\t\ttype: 'SET_TEMPLATE_VALIDITY',\n\t\tisValid,\n\t};\n}\n\n/**\n * Action that synchronizes the template with the list of blocks.\n *\n * @return {Object} Action object.\n */\nexport const synchronizeTemplate = () => ( { select, dispatch } ) => {\n\tdispatch( { type: 'SYNCHRONIZE_TEMPLATE' } );\n\tconst blocks = select.getBlocks();\n\tconst template = select.getTemplate();\n\tconst updatedBlockList = synchronizeBlocksWithTemplate( blocks, template );\n\n\tdispatch.resetBlocks( updatedBlockList );\n};\n\n/**\n * Delete the current selection.\n *\n * @param {boolean} isForward\n */\nexport const __unstableDeleteSelection = ( isForward ) => ( {\n\tregistry,\n\tselect,\n\tdispatch,\n} ) => {\n\tconst selectionAnchor = select.getSelectionStart();\n\tconst selectionFocus = select.getSelectionEnd();\n\n\tif ( selectionAnchor.clientId === selectionFocus.clientId ) return;\n\n\t// It's not mergeable if there's no rich text selection.\n\tif (\n\t\t! selectionAnchor.attributeKey ||\n\t\t! selectionFocus.attributeKey ||\n\t\ttypeof selectionAnchor.offset === 'undefined' ||\n\t\ttypeof selectionFocus.offset === 'undefined'\n\t)\n\t\treturn false;\n\n\tconst anchorRootClientId = select.getBlockRootClientId(\n\t\tselectionAnchor.clientId\n\t);\n\tconst focusRootClientId = select.getBlockRootClientId(\n\t\tselectionFocus.clientId\n\t);\n\n\t// It's not mergeable if the selection doesn't start and end in the same\n\t// block list. Maybe in the future it should be allowed.\n\tif ( anchorRootClientId !== focusRootClientId ) {\n\t\treturn;\n\t}\n\n\tconst blockOrder = select.getBlockOrder( anchorRootClientId );\n\tconst anchorIndex = blockOrder.indexOf( selectionAnchor.clientId );\n\tconst focusIndex = blockOrder.indexOf( selectionFocus.clientId );\n\n\t// Reassign selection start and end based on order.\n\tlet selectionStart, selectionEnd;\n\n\tif ( anchorIndex > focusIndex ) {\n\t\tselectionStart = selectionFocus;\n\t\tselectionEnd = selectionAnchor;\n\t} else {\n\t\tselectionStart = selectionAnchor;\n\t\tselectionEnd = selectionFocus;\n\t}\n\n\tconst targetSelection = isForward ? selectionEnd : selectionStart;\n\tconst targetBlock = select.getBlock( targetSelection.clientId );\n\tconst targetBlockType = getBlockType( targetBlock.name );\n\n\tif ( ! targetBlockType.merge ) {\n\t\treturn;\n\t}\n\n\tconst selectionA = selectionStart;\n\tconst selectionB = selectionEnd;\n\n\tconst blockA = select.getBlock( selectionA.clientId );\n\tconst blockAType = getBlockType( blockA.name );\n\n\tconst blockB = select.getBlock( selectionB.clientId );\n\tconst blockBType = getBlockType( blockB.name );\n\n\tconst htmlA = blockA.attributes[ selectionA.attributeKey ];\n\tconst htmlB = blockB.attributes[ selectionB.attributeKey ];\n\n\tconst attributeDefinitionA =\n\t\tblockAType.attributes[ selectionA.attributeKey ];\n\tconst attributeDefinitionB =\n\t\tblockBType.attributes[ selectionB.attributeKey ];\n\n\tlet valueA = create( {\n\t\thtml: htmlA,\n\t\t...mapRichTextSettings( attributeDefinitionA ),\n\t} );\n\tlet valueB = create( {\n\t\thtml: htmlB,\n\t\t...mapRichTextSettings( attributeDefinitionB ),\n\t} );\n\n\t// A robust way to retain selection position through various transforms\n\t// is to insert a special character at the position and then recover it.\n\tconst START_OF_SELECTED_AREA = '\\u0086';\n\n\tvalueA = remove( valueA, selectionA.offset, valueA.text.length );\n\tvalueB = insert( valueB, START_OF_SELECTED_AREA, 0, selectionB.offset );\n\n\t// Clone the blocks so we don't manipulate the original.\n\tconst cloneA = cloneBlock( blockA, {\n\t\t[ selectionA.attributeKey ]: toHTMLString( {\n\t\t\tvalue: valueA,\n\t\t\t...mapRichTextSettings( attributeDefinitionA ),\n\t\t} ),\n\t} );\n\tconst cloneB = cloneBlock( blockB, {\n\t\t[ selectionB.attributeKey ]: toHTMLString( {\n\t\t\tvalue: valueB,\n\t\t\t...mapRichTextSettings( attributeDefinitionB ),\n\t\t} ),\n\t} );\n\n\tconst followingBlock = isForward ? cloneA : cloneB;\n\n\t// We can only merge blocks with similar types\n\t// thus, we transform the block to merge first\n\tconst blocksWithTheSameType =\n\t\tblockA.name === blockB.name\n\t\t\t? [ followingBlock ]\n\t\t\t: switchToBlockType( followingBlock, targetBlockType.name );\n\n\t// If the block types can not match, do nothing\n\tif ( ! blocksWithTheSameType || ! blocksWithTheSameType.length ) {\n\t\treturn;\n\t}\n\n\tlet updatedAttributes;\n\n\tif ( isForward ) {\n\t\tconst blockToMerge = blocksWithTheSameType.pop();\n\t\tupdatedAttributes = targetBlockType.merge(\n\t\t\tblockToMerge.attributes,\n\t\t\tcloneB.attributes\n\t\t);\n\t} else {\n\t\tconst blockToMerge = blocksWithTheSameType.shift();\n\t\tupdatedAttributes = targetBlockType.merge(\n\t\t\tcloneA.attributes,\n\t\t\tblockToMerge.attributes\n\t\t);\n\t}\n\n\tconst newAttributeKey = findKey(\n\t\tupdatedAttributes,\n\t\t( v ) =>\n\t\t\ttypeof v === 'string' && v.indexOf( START_OF_SELECTED_AREA ) !== -1\n\t);\n\n\tconst convertedHtml = updatedAttributes[ newAttributeKey ];\n\tconst convertedValue = create( {\n\t\thtml: convertedHtml,\n\t\t...mapRichTextSettings( targetBlockType.attributes[ newAttributeKey ] ),\n\t} );\n\tconst newOffset = convertedValue.text.indexOf( START_OF_SELECTED_AREA );\n\tconst newValue = remove( convertedValue, newOffset, newOffset + 1 );\n\tconst newHtml = toHTMLString( {\n\t\tvalue: newValue,\n\t\t...mapRichTextSettings( targetBlockType.attributes[ newAttributeKey ] ),\n\t} );\n\n\tupdatedAttributes[ newAttributeKey ] = newHtml;\n\n\tconst selectedBlockClientIds = select.getSelectedBlockClientIds();\n\tconst replacement = [\n\t\t...( isForward ? blocksWithTheSameType : [] ),\n\t\t{\n\t\t\t// Preserve the original client ID.\n\t\t\t...targetBlock,\n\t\t\tattributes: {\n\t\t\t\t...targetBlock.attributes,\n\t\t\t\t...updatedAttributes,\n\t\t\t},\n\t\t},\n\t\t...( isForward ? [] : blocksWithTheSameType ),\n\t];\n\n\tregistry.batch( () => {\n\t\tdispatch.selectionChange(\n\t\t\ttargetBlock.clientId,\n\t\t\tnewAttributeKey,\n\t\t\tnewOffset,\n\t\t\tnewOffset\n\t\t);\n\n\t\tdispatch.replaceBlocks(\n\t\t\tselectedBlockClientIds,\n\t\t\treplacement,\n\t\t\t0, // If we don't pass the `indexToSelect` it will default to the last block.\n\t\t\tselect.getSelectedBlocksInitialCaretPosition()\n\t\t);\n\t} );\n};\n\n/**\n * Split the current selection.\n */\nexport const __unstableSplitSelection = () => ( { select, dispatch } ) => {\n\tconst selectionAnchor = select.getSelectionStart();\n\tconst selectionFocus = select.getSelectionEnd();\n\n\tif ( selectionAnchor.clientId === selectionFocus.clientId ) return;\n\n\t// Can't split if the selection is not set.\n\tif (\n\t\t! selectionAnchor.attributeKey ||\n\t\t! selectionFocus.attributeKey ||\n\t\ttypeof selectionAnchor.offset === 'undefined' ||\n\t\ttypeof selectionFocus.offset === 'undefined'\n\t)\n\t\treturn;\n\n\tconst anchorRootClientId = select.getBlockRootClientId(\n\t\tselectionAnchor.clientId\n\t);\n\tconst focusRootClientId = select.getBlockRootClientId(\n\t\tselectionFocus.clientId\n\t);\n\n\t// It's not splittable if the selection doesn't start and end in the same\n\t// block list. Maybe in the future it should be allowed.\n\tif ( anchorRootClientId !== focusRootClientId ) {\n\t\treturn;\n\t}\n\n\tconst blockOrder = select.getBlockOrder( anchorRootClientId );\n\tconst anchorIndex = blockOrder.indexOf( selectionAnchor.clientId );\n\tconst focusIndex = blockOrder.indexOf( selectionFocus.clientId );\n\n\t// Reassign selection start and end based on order.\n\tlet selectionStart, selectionEnd;\n\n\tif ( anchorIndex > focusIndex ) {\n\t\tselectionStart = selectionFocus;\n\t\tselectionEnd = selectionAnchor;\n\t} else {\n\t\tselectionStart = selectionAnchor;\n\t\tselectionEnd = selectionFocus;\n\t}\n\n\tconst selectionA = selectionStart;\n\tconst selectionB = selectionEnd;\n\n\tconst blockA = select.getBlock( selectionA.clientId );\n\tconst blockAType = getBlockType( blockA.name );\n\n\tconst blockB = select.getBlock( selectionB.clientId );\n\tconst blockBType = getBlockType( blockB.name );\n\n\tconst htmlA = blockA.attributes[ selectionA.attributeKey ];\n\tconst htmlB = blockB.attributes[ selectionB.attributeKey ];\n\n\tconst attributeDefinitionA =\n\t\tblockAType.attributes[ selectionA.attributeKey ];\n\tconst attributeDefinitionB =\n\t\tblockBType.attributes[ selectionB.attributeKey ];\n\n\tlet valueA = create( {\n\t\thtml: htmlA,\n\t\t...mapRichTextSettings( attributeDefinitionA ),\n\t} );\n\tlet valueB = create( {\n\t\thtml: htmlB,\n\t\t...mapRichTextSettings( attributeDefinitionB ),\n\t} );\n\n\tvalueA = remove( valueA, selectionA.offset, valueA.text.length );\n\tvalueB = remove( valueB, 0, selectionB.offset );\n\n\tdispatch.replaceBlocks(\n\t\tselect.getSelectedBlockClientIds(),\n\t\t[\n\t\t\t{\n\t\t\t\t// Preserve the original client ID.\n\t\t\t\t...blockA,\n\t\t\t\tattributes: {\n\t\t\t\t\t...blockA.attributes,\n\t\t\t\t\t[ selectionA.attributeKey ]: toHTMLString( {\n\t\t\t\t\t\tvalue: valueA,\n\t\t\t\t\t\t...mapRichTextSettings( attributeDefinitionA ),\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t},\n\t\t\tcreateBlock( getDefaultBlockName() ),\n\t\t\t{\n\t\t\t\t// Preserve the original client ID.\n\t\t\t\t...blockB,\n\t\t\t\tattributes: {\n\t\t\t\t\t...blockB.attributes,\n\t\t\t\t\t[ selectionB.attributeKey ]: toHTMLString( {\n\t\t\t\t\t\tvalue: valueB,\n\t\t\t\t\t\t...mapRichTextSettings( attributeDefinitionB ),\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t1, // If we don't pass the `indexToSelect` it will default to the last block.\n\t\tselect.getSelectedBlocksInitialCaretPosition()\n\t);\n};\n\n/**\n * Expand the selection to cover the entire blocks, removing partial selection.\n */\nexport const __unstableExpandSelection = () => ( { select, dispatch } ) => {\n\tconst selectionAnchor = select.getSelectionStart();\n\tconst selectionFocus = select.getSelectionEnd();\n\tdispatch.selectionChange( {\n\t\tstart: { clientId: selectionAnchor.clientId },\n\t\tend: { clientId: selectionFocus.clientId },\n\t} );\n};\n\n/**\n * Action that merges two blocks.\n *\n * @param {string} firstBlockClientId Client ID of the first block to merge.\n * @param {string} secondBlockClientId Client ID of the second block to merge.\n */\nexport const mergeBlocks = ( firstBlockClientId, secondBlockClientId ) => ( {\n\tselect,\n\tdispatch,\n} ) => {\n\tconst blocks = [ firstBlockClientId, secondBlockClientId ];\n\tdispatch( { type: 'MERGE_BLOCKS', blocks } );\n\n\tconst [ clientIdA, clientIdB ] = blocks;\n\tconst blockA = select.getBlock( clientIdA );\n\tconst blockAType = getBlockType( blockA.name );\n\n\t// Only focus the previous block if it's not mergeable.\n\tif ( blockAType && ! blockAType.merge ) {\n\t\tdispatch.selectBlock( blockA.clientId );\n\t\treturn;\n\t}\n\n\tconst blockB = select.getBlock( clientIdB );\n\tconst blockBType = getBlockType( blockB.name );\n\tconst { clientId, attributeKey, offset } = select.getSelectionStart();\n\tconst selectedBlockType = clientId === clientIdA ? blockAType : blockBType;\n\tconst attributeDefinition = selectedBlockType.attributes[ attributeKey ];\n\tconst canRestoreTextSelection =\n\t\t( clientId === clientIdA || clientId === clientIdB ) &&\n\t\tattributeKey !== undefined &&\n\t\toffset !== undefined &&\n\t\t// We cannot restore text selection if the RichText identifier\n\t\t// is not a defined block attribute key. This can be the case if the\n\t\t// fallback intance ID is used to store selection (and no RichText\n\t\t// identifier is set), or when the identifier is wrong.\n\t\t!! attributeDefinition;\n\n\tif ( ! attributeDefinition ) {\n\t\tif ( typeof attributeKey === 'number' ) {\n\t\t\twindow.console.error(\n\t\t\t\t`RichText needs an identifier prop that is the block attribute key of the attribute it controls. Its type is expected to be a string, but was ${ typeof attributeKey }`\n\t\t\t);\n\t\t} else {\n\t\t\twindow.console.error(\n\t\t\t\t'The RichText identifier prop does not match any attributes defined by the block.'\n\t\t\t);\n\t\t}\n\t}\n\n\t// A robust way to retain selection position through various transforms\n\t// is to insert a special character at the position and then recover it.\n\tconst START_OF_SELECTED_AREA = '\\u0086';\n\n\t// Clone the blocks so we don't insert the character in a \"live\" block.\n\tconst cloneA = cloneBlock( blockA );\n\tconst cloneB = cloneBlock( blockB );\n\n\tif ( canRestoreTextSelection ) {\n\t\tconst selectedBlock = clientId === clientIdA ? cloneA : cloneB;\n\t\tconst html = selectedBlock.attributes[ attributeKey ];\n\t\tconst value = insert(\n\t\t\tcreate( {\n\t\t\t\thtml,\n\t\t\t\t...mapRichTextSettings( attributeDefinition ),\n\t\t\t} ),\n\t\t\tSTART_OF_SELECTED_AREA,\n\t\t\toffset,\n\t\t\toffset\n\t\t);\n\n\t\tselectedBlock.attributes[ attributeKey ] = toHTMLString( {\n\t\t\tvalue,\n\t\t\t...mapRichTextSettings( attributeDefinition ),\n\t\t} );\n\t}\n\n\t// We can only merge blocks with similar types\n\t// thus, we transform the block to merge first.\n\tconst blocksWithTheSameType =\n\t\tblockA.name === blockB.name\n\t\t\t? [ cloneB ]\n\t\t\t: switchToBlockType( cloneB, blockA.name );\n\n\t// If the block types can not match, do nothing.\n\tif ( ! blocksWithTheSameType || ! blocksWithTheSameType.length ) {\n\t\treturn;\n\t}\n\n\t// Calling the merge to update the attributes and remove the block to be merged.\n\tconst updatedAttributes = blockAType.merge(\n\t\tcloneA.attributes,\n\t\tblocksWithTheSameType[ 0 ].attributes\n\t);\n\n\tif ( canRestoreTextSelection ) {\n\t\tconst newAttributeKey = findKey(\n\t\t\tupdatedAttributes,\n\t\t\t( v ) =>\n\t\t\t\ttypeof v === 'string' &&\n\t\t\t\tv.indexOf( START_OF_SELECTED_AREA ) !== -1\n\t\t);\n\t\tconst convertedHtml = updatedAttributes[ newAttributeKey ];\n\t\tconst convertedValue = create( {\n\t\t\thtml: convertedHtml,\n\t\t\t...mapRichTextSettings( blockAType.attributes[ newAttributeKey ] ),\n\t\t} );\n\t\tconst newOffset = convertedValue.text.indexOf( START_OF_SELECTED_AREA );\n\t\tconst newValue = remove( convertedValue, newOffset, newOffset + 1 );\n\t\tconst newHtml = toHTMLString( {\n\t\t\tvalue: newValue,\n\t\t\t...mapRichTextSettings( blockAType.attributes[ newAttributeKey ] ),\n\t\t} );\n\n\t\tupdatedAttributes[ newAttributeKey ] = newHtml;\n\n\t\tdispatch.selectionChange(\n\t\t\tblockA.clientId,\n\t\t\tnewAttributeKey,\n\t\t\tnewOffset,\n\t\t\tnewOffset\n\t\t);\n\t}\n\n\tdispatch.replaceBlocks(\n\t\t[ blockA.clientId, blockB.clientId ],\n\t\t[\n\t\t\t{\n\t\t\t\t...blockA,\n\t\t\t\tattributes: {\n\t\t\t\t\t...blockA.attributes,\n\t\t\t\t\t...updatedAttributes,\n\t\t\t\t},\n\t\t\t},\n\t\t\t...blocksWithTheSameType.slice( 1 ),\n\t\t],\n\t\t0 // If we don't pass the `indexToSelect` it will default to the last block.\n\t);\n};\n\n/**\n * Yields action objects used in signalling that the blocks corresponding to\n * the set of specified client IDs are to be removed.\n *\n * @param {string|string[]} clientIds Client IDs of blocks to remove.\n * @param {boolean} selectPrevious True if the previous block should be\n * selected when a block is removed.\n */\nexport const removeBlocks = ( clientIds, selectPrevious = true ) => ( {\n\tselect,\n\tdispatch,\n} ) => {\n\tif ( ! clientIds || ! clientIds.length ) {\n\t\treturn;\n\t}\n\n\tclientIds = castArray( clientIds );\n\tconst rootClientId = select.getBlockRootClientId( clientIds[ 0 ] );\n\tconst canRemoveBlocks = select.canRemoveBlocks( clientIds, rootClientId );\n\n\tif ( ! canRemoveBlocks ) {\n\t\treturn;\n\t}\n\n\tif ( selectPrevious ) {\n\t\tdispatch.selectPreviousBlock( clientIds[ 0 ] );\n\t}\n\n\tdispatch( { type: 'REMOVE_BLOCKS', clientIds } );\n\n\t// To avoid a focus loss when removing the last block, assure there is\n\t// always a default block if the last of the blocks have been removed.\n\tdispatch( ensureDefaultBlock() );\n};\n\n/**\n * Returns an action object used in signalling that the block with the\n * specified client ID is to be removed.\n *\n * @param {string} clientId Client ID of block to remove.\n * @param {boolean} selectPrevious True if the previous block should be\n * selected when a block is removed.\n *\n * @return {Object} Action object.\n */\nexport function removeBlock( clientId, selectPrevious ) {\n\treturn removeBlocks( [ clientId ], selectPrevious );\n}\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Returns an action object used in signalling that the inner blocks with the\n * specified client ID should be replaced.\n *\n * @param {string} rootClientId Client ID of the block whose InnerBlocks will re replaced.\n * @param {Object[]} blocks Block objects to insert as new InnerBlocks\n * @param {?boolean} updateSelection If true block selection will be updated. If false, block selection will not change. Defaults to false.\n * @param {0|-1|null} initialPosition Initial block position.\n * @return {Object} Action object.\n */\nexport function replaceInnerBlocks(\n\trootClientId,\n\tblocks,\n\tupdateSelection = false,\n\tinitialPosition = 0\n) {\n\t/* eslint-enable jsdoc/valid-types */\n\treturn {\n\t\ttype: 'REPLACE_INNER_BLOCKS',\n\t\trootClientId,\n\t\tblocks,\n\t\tupdateSelection,\n\t\tinitialPosition: updateSelection ? initialPosition : null,\n\t\ttime: Date.now(),\n\t};\n}\n\n/**\n * Returns an action object used to toggle the block editing mode between\n * visual and HTML modes.\n *\n * @param {string} clientId Block client ID.\n *\n * @return {Object} Action object.\n */\nexport function toggleBlockMode( clientId ) {\n\treturn {\n\t\ttype: 'TOGGLE_BLOCK_MODE',\n\t\tclientId,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user has begun to type.\n *\n * @return {Object} Action object.\n */\nexport function startTyping() {\n\treturn {\n\t\ttype: 'START_TYPING',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user has stopped typing.\n *\n * @return {Object} Action object.\n */\nexport function stopTyping() {\n\treturn {\n\t\ttype: 'STOP_TYPING',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user has begun to drag blocks.\n *\n * @param {string[]} clientIds An array of client ids being dragged\n *\n * @return {Object} Action object.\n */\nexport function startDraggingBlocks( clientIds = [] ) {\n\treturn {\n\t\ttype: 'START_DRAGGING_BLOCKS',\n\t\tclientIds,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user has stopped dragging blocks.\n *\n * @return {Object} Action object.\n */\nexport function stopDraggingBlocks() {\n\treturn {\n\t\ttype: 'STOP_DRAGGING_BLOCKS',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the caret has entered formatted text.\n *\n * @deprecated\n *\n * @return {Object} Action object.\n */\nexport function enterFormattedText() {\n\tdeprecated( 'wp.data.dispatch( \"core/block-editor\" ).enterFormattedText', {\n\t\tsince: '6.1',\n\t\tversion: '6.3',\n\t} );\n\treturn {\n\t\ttype: 'DO_NOTHING',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user caret has exited formatted text.\n *\n * @deprecated\n *\n * @return {Object} Action object.\n */\nexport function exitFormattedText() {\n\tdeprecated( 'wp.data.dispatch( \"core/block-editor\" ).exitFormattedText', {\n\t\tsince: '6.1',\n\t\tversion: '6.3',\n\t} );\n\treturn {\n\t\ttype: 'DO_NOTHING',\n\t};\n}\n\n/**\n * Action that changes the position of the user caret.\n *\n * @param {string|WPSelection} clientId The selected block client ID.\n * @param {string} attributeKey The selected block attribute key.\n * @param {number} startOffset The start offset.\n * @param {number} endOffset The end offset.\n *\n * @return {Object} Action object.\n */\nexport function selectionChange(\n\tclientId,\n\tattributeKey,\n\tstartOffset,\n\tendOffset\n) {\n\tif ( typeof clientId === 'string' ) {\n\t\treturn {\n\t\t\ttype: 'SELECTION_CHANGE',\n\t\t\tclientId,\n\t\t\tattributeKey,\n\t\t\tstartOffset,\n\t\t\tendOffset,\n\t\t};\n\t}\n\n\treturn { type: 'SELECTION_CHANGE', ...clientId };\n}\n\n/**\n * Action that adds a new block of the default type to the block list.\n *\n * @param {?Object} attributes Optional attributes of the block to assign.\n * @param {?string} rootClientId Optional root client ID of block list on which\n * to append.\n * @param {?number} index Optional index where to insert the default block.\n */\nexport const insertDefaultBlock = ( attributes, rootClientId, index ) => ( {\n\tdispatch,\n} ) => {\n\t// Abort if there is no default block type (if it has been unregistered).\n\tconst defaultBlockName = getDefaultBlockName();\n\tif ( ! defaultBlockName ) {\n\t\treturn;\n\t}\n\n\tconst block = createBlock( defaultBlockName, attributes );\n\n\treturn dispatch.insertBlock( block, index, rootClientId );\n};\n\n/**\n * Action that changes the nested settings of a given block.\n *\n * @param {string} clientId Client ID of the block whose nested setting are\n * being received.\n * @param {Object} settings Object with the new settings for the nested block.\n *\n * @return {Object} Action object\n */\nexport function updateBlockListSettings( clientId, settings ) {\n\treturn {\n\t\ttype: 'UPDATE_BLOCK_LIST_SETTINGS',\n\t\tclientId,\n\t\tsettings,\n\t};\n}\n\n/**\n * Action that updates the block editor settings.\n *\n * @param {Object} settings Updated settings\n *\n * @return {Object} Action object\n */\nexport function updateSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Action that signals that a temporary reusable block has been saved\n * in order to switch its temporary id with the real id.\n *\n * @param {string} id Reusable block's id.\n * @param {string} updatedId Updated block's id.\n *\n * @return {Object} Action object.\n */\nexport function __unstableSaveReusableBlock( id, updatedId ) {\n\treturn {\n\t\ttype: 'SAVE_REUSABLE_BLOCK_SUCCESS',\n\t\tid,\n\t\tupdatedId,\n\t};\n}\n\n/**\n * Action that marks the last block change explicitly as persistent.\n *\n * @return {Object} Action object.\n */\nexport function __unstableMarkLastChangeAsPersistent() {\n\treturn { type: 'MARK_LAST_CHANGE_AS_PERSISTENT' };\n}\n\n/**\n * Action that signals that the next block change should be marked explicitly as not persistent.\n *\n * @return {Object} Action object.\n */\nexport function __unstableMarkNextChangeAsNotPersistent() {\n\treturn { type: 'MARK_NEXT_CHANGE_AS_NOT_PERSISTENT' };\n}\n\n/**\n * Action that marks the last block change as an automatic change, meaning it was not\n * performed by the user, and can be undone using the `Escape` and `Backspace` keys.\n * This action must be called after the change was made, and any actions that are a\n * consequence of it, so it is recommended to be called at the next idle period to ensure all\n * selection changes have been recorded.\n */\nexport const __unstableMarkAutomaticChange = () => ( { dispatch } ) => {\n\tdispatch( { type: 'MARK_AUTOMATIC_CHANGE' } );\n\tconst { requestIdleCallback = ( cb ) => setTimeout( cb, 100 ) } = window;\n\trequestIdleCallback( () => {\n\t\tdispatch( { type: 'MARK_AUTOMATIC_CHANGE_FINAL' } );\n\t} );\n};\n\n/**\n * Action that enables or disables the navigation mode.\n *\n * @param {string} isNavigationMode Enable/Disable navigation mode.\n */\nexport const setNavigationMode = ( isNavigationMode = true ) => ( {\n\tdispatch,\n} ) => {\n\tdispatch( { type: 'SET_NAVIGATION_MODE', isNavigationMode } );\n\n\tif ( isNavigationMode ) {\n\t\tspeak(\n\t\t\t__(\n\t\t\t\t'You are currently in navigation mode. Navigate blocks using the Tab key and Arrow keys. Use Left and Right Arrow keys to move between nesting levels. To exit navigation mode and edit the selected block, press Enter.'\n\t\t\t)\n\t\t);\n\t} else {\n\t\tspeak(\n\t\t\t__(\n\t\t\t\t'You are currently in edit mode. To return to the navigation mode, press Escape.'\n\t\t\t)\n\t\t);\n\t}\n};\n\n/**\n * Action that enables or disables the block moving mode.\n *\n * @param {string|null} hasBlockMovingClientId Enable/Disable block moving mode.\n */\nexport const setBlockMovingClientId = ( hasBlockMovingClientId = null ) => ( {\n\tdispatch,\n} ) => {\n\tdispatch( { type: 'SET_BLOCK_MOVING_MODE', hasBlockMovingClientId } );\n\n\tif ( hasBlockMovingClientId ) {\n\t\tspeak(\n\t\t\t__(\n\t\t\t\t'Use the Tab key and Arrow keys to choose new block location. Use Left and Right Arrow keys to move between nesting levels. Once location is selected press Enter or Space to move the block.'\n\t\t\t)\n\t\t);\n\t}\n};\n\n/**\n * Action that duplicates a list of blocks.\n *\n * @param {string[]} clientIds\n * @param {boolean} updateSelection\n */\nexport const duplicateBlocks = ( clientIds, updateSelection = true ) => ( {\n\tselect,\n\tdispatch,\n} ) => {\n\tif ( ! clientIds || ! clientIds.length ) {\n\t\treturn;\n\t}\n\n\t// Return early if blocks don't exist.\n\tconst blocks = select.getBlocksByClientId( clientIds );\n\tif ( some( blocks, ( block ) => ! block ) ) {\n\t\treturn;\n\t}\n\n\t// Return early if blocks don't support multiple usage.\n\tconst blockNames = blocks.map( ( block ) => block.name );\n\tif (\n\t\tblockNames.some(\n\t\t\t( blockName ) => ! hasBlockSupport( blockName, 'multiple', true )\n\t\t)\n\t) {\n\t\treturn;\n\t}\n\n\tconst rootClientId = select.getBlockRootClientId( clientIds[ 0 ] );\n\tconst lastSelectedIndex = select.getBlockIndex(\n\t\tlast( castArray( clientIds ) )\n\t);\n\tconst clonedBlocks = blocks.map( ( block ) =>\n\t\t__experimentalCloneSanitizedBlock( block )\n\t);\n\tdispatch.insertBlocks(\n\t\tclonedBlocks,\n\t\tlastSelectedIndex + 1,\n\t\trootClientId,\n\t\tupdateSelection\n\t);\n\tif ( clonedBlocks.length > 1 && updateSelection ) {\n\t\tdispatch.multiSelect(\n\t\t\tfirst( clonedBlocks ).clientId,\n\t\t\tlast( clonedBlocks ).clientId\n\t\t);\n\t}\n\treturn clonedBlocks.map( ( block ) => block.clientId );\n};\n\n/**\n * Action that inserts an empty block before a given block.\n *\n * @param {string} clientId\n */\nexport const insertBeforeBlock = ( clientId ) => ( { select, dispatch } ) => {\n\tif ( ! clientId ) {\n\t\treturn;\n\t}\n\tconst rootClientId = select.getBlockRootClientId( clientId );\n\tconst isLocked = select.getTemplateLock( rootClientId );\n\tif ( isLocked ) {\n\t\treturn;\n\t}\n\n\tconst firstSelectedIndex = select.getBlockIndex( clientId );\n\treturn dispatch.insertDefaultBlock( {}, rootClientId, firstSelectedIndex );\n};\n\n/**\n * Action that inserts an empty block after a given block.\n *\n * @param {string} clientId\n */\nexport const insertAfterBlock = ( clientId ) => ( { select, dispatch } ) => {\n\tif ( ! clientId ) {\n\t\treturn;\n\t}\n\tconst rootClientId = select.getBlockRootClientId( clientId );\n\tconst isLocked = select.getTemplateLock( rootClientId );\n\tif ( isLocked ) {\n\t\treturn;\n\t}\n\n\tconst firstSelectedIndex = select.getBlockIndex( clientId );\n\treturn dispatch.insertDefaultBlock(\n\t\t{},\n\t\trootClientId,\n\t\tfirstSelectedIndex + 1\n\t);\n};\n\n/**\n * Action that toggles the highlighted block state.\n *\n * @param {string} clientId The block's clientId.\n * @param {boolean} isHighlighted The highlight state.\n */\nexport function toggleBlockHighlight( clientId, isHighlighted ) {\n\treturn {\n\t\ttype: 'TOGGLE_BLOCK_HIGHLIGHT',\n\t\tclientId,\n\t\tisHighlighted,\n\t};\n}\n\n/**\n * Action that \"flashes\" the block with a given `clientId` by rhythmically highlighting it.\n *\n * @param {string} clientId Target block client ID.\n */\nexport const flashBlock = ( clientId ) => async ( { dispatch } ) => {\n\tdispatch( toggleBlockHighlight( clientId, true ) );\n\tawait new Promise( ( resolve ) => setTimeout( resolve, 150 ) );\n\tdispatch( toggleBlockHighlight( clientId, false ) );\n};\n\n/**\n * Action that sets whether a block has controlled inner blocks.\n *\n * @param {string} clientId The block's clientId.\n * @param {boolean} hasControlledInnerBlocks True if the block's inner blocks are controlled.\n */\nexport function setHasControlledInnerBlocks(\n\tclientId,\n\thasControlledInnerBlocks\n) {\n\treturn {\n\t\ttype: 'SET_HAS_CONTROLLED_INNER_BLOCKS',\n\t\thasControlledInnerBlocks,\n\t\tclientId,\n\t};\n}\n","export const STORE_NAME = 'core/block-editor';\n","/**\n * WordPress dependencies\n */\nimport { createReduxStore, registerStore } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as selectors from './selectors';\nimport * as actions from './actions';\nimport { STORE_NAME } from './constants';\n\n/**\n * Block editor data store configuration.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore\n *\n * @type {Object}\n */\nexport const storeConfig = {\n\treducer,\n\tselectors,\n\tactions,\n};\n\n/**\n * Store definition for the block editor namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n *\n * @type {Object}\n */\nexport const store = createReduxStore( STORE_NAME, {\n\t...storeConfig,\n\tpersist: [ 'preferences' ],\n} );\n\n// Ideally we'd use register instead of register stores.\nregisterStore( STORE_NAME, {\n\t...storeConfig,\n\tpersist: [ 'preferences' ],\n} );\n","/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n\nexport const DEFAULT_BLOCK_EDIT_CONTEXT = {\n\tname: '',\n\tisSelected: false,\n};\n\nconst Context = createContext( DEFAULT_BLOCK_EDIT_CONTEXT );\nconst { Provider } = Context;\n\nexport { Provider as BlockEditContextProvider };\n\n/**\n * A hook that returns the block edit context.\n *\n * @return {Object} Block edit context\n */\nexport function useBlockEditContext() {\n\treturn useContext( Context );\n}\n","/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditContext } from '../block-edit/context';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function useDisplayBlockControls() {\n\tconst { isSelected, clientId, name } = useBlockEditContext();\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( isSelected ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tif ( isFirstMultiSelectedBlock( clientId ) ) {\n\t\t\t\treturn getMultiSelectedBlockClientIds().every(\n\t\t\t\t\t( id ) => getBlockName( id ) === name\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\t[ clientId, isSelected, name ]\n\t);\n}\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalStyleProvider as StyleProvider,\n\t__experimentalToolbarContext as ToolbarContext,\n\tToolbarGroup,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useBlockControlsFill from './hook';\n\nexport default function BlockControlsFill( {\n\tgroup = 'default',\n\tcontrols,\n\tchildren,\n\t__experimentalShareWithChildBlocks = false,\n} ) {\n\tconst Fill = useBlockControlsFill(\n\t\tgroup,\n\t\t__experimentalShareWithChildBlocks\n\t);\n\tif ( ! Fill ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill>\n\t\t\t\t{ ( fillProps ) => {\n\t\t\t\t\t// Children passed to BlockControlsFill will not have access to any\n\t\t\t\t\t// React Context whose Provider is part of the BlockControlsSlot tree.\n\t\t\t\t\t// So we re-create the Provider in this subtree.\n\t\t\t\t\tconst value = ! isEmpty( fillProps ) ? fillProps : null;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolbarContext.Provider value={ value }>\n\t\t\t\t\t\t\t{ group === 'default' && (\n\t\t\t\t\t\t\t\t<ToolbarGroup controls={ controls } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t</ToolbarContext.Provider>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t</Fill>\n\t\t</StyleProvider>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport groups from './groups';\nimport { store as blockEditorStore } from '../../store';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useDisplayBlockControls from '../use-display-block-controls';\n\nexport default function useBlockControlsFill( group, shareWithChildBlocks ) {\n\tconst isDisplayed = useDisplayBlockControls();\n\tconst { clientId } = useBlockEditContext();\n\tconst isParentDisplayed = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockName, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst { hasBlockSupport } = select( blocksStore );\n\t\t\treturn (\n\t\t\t\tshareWithChildBlocks &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tgetBlockName( clientId ),\n\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\tfalse\n\t\t\t\t) &&\n\t\t\t\thasSelectedInnerBlock( clientId )\n\t\t\t);\n\t\t},\n\t\t[ shareWithChildBlocks, clientId ]\n\t);\n\n\tif ( isDisplayed ) {\n\t\treturn groups[ group ]?.Fill;\n\t}\n\tif ( isParentDisplayed ) {\n\t\treturn groups.parent.Fill;\n\t}\n\treturn null;\n}\n","/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport {\n\t__experimentalToolbarContext as ToolbarContext,\n\tToolbarGroup,\n\t__experimentalUseSlot as useSlot,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport groups from './groups';\n\nexport default function BlockControlsSlot( { group = 'default', ...props } ) {\n\tconst accessibleToolbarState = useContext( ToolbarContext );\n\tconst Slot = groups[ group ].Slot;\n\tconst slot = useSlot( Slot.__unstableName );\n\tconst hasFills = Boolean( slot.fills && slot.fills.length );\n\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\tif ( group === 'default' ) {\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\t{ ...props }\n\t\t\t\tbubblesVirtually\n\t\t\t\tfillProps={ accessibleToolbarState }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<Slot\n\t\t\t\t{ ...props }\n\t\t\t\tbubblesVirtually\n\t\t\t\tfillProps={ accessibleToolbarState }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n}\n","/**\n * Internal dependencies\n */\nimport BlockControlsFill from './fill';\nimport BlockControlsSlot from './slot';\n\nconst BlockControls = BlockControlsFill;\n\nBlockControls.Slot = BlockControlsSlot;\n\n// This is just here for backward compatibility.\nexport const BlockFormatControls = ( props ) => {\n\treturn <BlockControlsFill group=\"inline\" { ...props } />;\n};\nBlockFormatControls.Slot = ( props ) => {\n\treturn <BlockControlsSlot group=\"inline\" { ...props } />;\n};\n\nexport default BlockControls;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst justifyLeft = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M9 9v6h11V9H9zM4 20h1.5V4H4v16z\" />\n\t</SVG>\n);\n\nexport default justifyLeft;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst justifyCenter = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M20 9h-7.2V4h-1.6v5H4v6h7.2v5h1.6v-5H20z\" />\n\t</SVG>\n);\n\nexport default justifyCenter;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst justifyRight = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M4 15h11V9H4v6zM18.5 4v16H20V4h-1.5z\" />\n\t</SVG>\n);\n\nexport default justifyRight;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst justifySpaceBetween = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M9 15h6V9H9v6zm-5 5h1.5V4H4v16zM18.5 4v16H20V4h-1.5z\" />\n\t</SVG>\n);\n\nexport default justifySpaceBetween;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst arrowRight = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M14.3 6.7l-1.1 1.1 4 4H4v1.5h13.3l-4.1 4.4 1.1 1.1 5.8-6.3z\" />\n\t</SVG>\n);\n\nexport default arrowRight;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst arrowDown = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M16.2 13.2l-4 4V4h-1.5v13.3l-4.5-4.1-1 1.1 6.2 5.8 5.8-5.8-1-1.1z\" />\n\t</SVG>\n);\n\nexport default arrowDown;\n","/**\n * Utility to generate the proper CSS selector for layout styles.\n *\n * @param {string|string[]} selectors - CSS selectors\n * @param {boolean} append - string to append.\n *\n * @return {string} - CSS selector.\n */\nexport function appendSelectors( selectors, append = '' ) {\n\t// Ideally we shouldn't need the `.editor-styles-wrapper` increased specificity here\n\t// The problem though is that we have a `.editor-styles-wrapper p { margin: reset; }` style\n\t// it's used to reset the default margin added by wp-admin to paragraphs\n\t// so we need this to be higher speficity otherwise, it won't be applied to paragraphs inside containers\n\t// When the post editor is fully iframed, this extra classname could be removed.\n\n\treturn selectors\n\t\t.split( ',' )\n\t\t.map(\n\t\t\t( subselector ) =>\n\t\t\t\t`.editor-styles-wrapper ${ subselector } ${ append }`\n\t\t)\n\t\t.join( ',' );\n}\n","/**\n * WordPress dependencies\n */\nimport { createContext, useMemo } from '@wordpress/element';\n\nexport const BlockRefs = createContext( {\n\trefs: new Map(),\n\tcallbacks: new Map(),\n} );\n\nexport function BlockRefsProvider( { children } ) {\n\tconst value = useMemo(\n\t\t() => ( { refs: new Map(), callbacks: new Map() } ),\n\t\t[]\n\t);\n\treturn (\n\t\t<BlockRefs.Provider value={ value }>{ children }</BlockRefs.Provider>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport {\n\tuseContext,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { BlockRefs } from '../../provider/block-refs-provider';\n\n/** @typedef {import('@wordpress/element').RefCallback} RefCallback */\n/** @typedef {import('@wordpress/element').RefObject} RefObject */\n\n/**\n * Provides a ref to the BlockRefs context.\n *\n * @param {string} clientId The client ID of the element ref.\n *\n * @return {RefCallback} Ref callback.\n */\nexport function useBlockRefProvider( clientId ) {\n\tconst { refs, callbacks } = useContext( BlockRefs );\n\tconst ref = useRef();\n\tuseLayoutEffect( () => {\n\t\trefs.set( ref, clientId );\n\t\treturn () => {\n\t\t\trefs.delete( ref );\n\t\t};\n\t}, [ clientId ] );\n\treturn useRefEffect(\n\t\t( element ) => {\n\t\t\t// Update the ref in the provider.\n\t\t\tref.current = element;\n\t\t\t// Call any update functions.\n\t\t\tcallbacks.forEach( ( id, setElement ) => {\n\t\t\t\tif ( clientId === id ) {\n\t\t\t\t\tsetElement( element );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n\n/**\n * Gets a ref pointing to the current block element. Continues to return a\n * stable ref even if the block client ID changes.\n *\n * @param {string} clientId The client ID to get a ref for.\n *\n * @return {RefObject} A ref containing the element.\n */\nfunction useBlockRef( clientId ) {\n\tconst { refs } = useContext( BlockRefs );\n\tconst freshClientId = useRef();\n\tfreshClientId.current = clientId;\n\t// Always return an object, even if no ref exists for a given client ID, so\n\t// that `current` works at a later point.\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tget current() {\n\t\t\t\tlet element = null;\n\n\t\t\t\t// Multiple refs may be created for a single block. Find the\n\t\t\t\t// first that has an element set.\n\t\t\t\tfor ( const [ ref, id ] of refs.entries() ) {\n\t\t\t\t\tif ( id === freshClientId.current && ref.current ) {\n\t\t\t\t\t\telement = ref.current;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn element;\n\t\t\t},\n\t\t} ),\n\t\t[]\n\t);\n}\n\n/**\n * Return the element for a given client ID. Updates whenever the element\n * changes, becomes available, or disappears.\n *\n * @param {string} clientId The client ID to an element for.\n *\n * @return {Element|null} The block's wrapper element.\n */\nfunction useBlockElement( clientId ) {\n\tconst { callbacks } = useContext( BlockRefs );\n\tconst ref = useBlockRef( clientId );\n\tconst [ element, setElement ] = useState( null );\n\n\tuseLayoutEffect( () => {\n\t\tif ( ! clientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcallbacks.set( setElement, clientId );\n\t\treturn () => {\n\t\t\tcallbacks.delete( setElement );\n\t\t};\n\t}, [ clientId ] );\n\n\treturn ref.current || element;\n}\n\nexport { useBlockRef as __unstableUseBlockRef };\nexport { useBlockElement as __unstableUseBlockElement };\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__EXPERIMENTAL_PATHS_WITH_MERGE as PATHS_WITH_MERGE,\n\thasBlockSupport,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditContext } from '../block-edit';\nimport { store as blockEditorStore } from '../../store';\n\nconst blockedPaths = [ 'color', 'border', 'typography', 'spacing' ];\n\nconst deprecatedFlags = {\n\t'color.palette': ( settings ) =>\n\t\tsettings.colors === undefined ? undefined : settings.colors,\n\t'color.gradients': ( settings ) =>\n\t\tsettings.gradients === undefined ? undefined : settings.gradients,\n\t'color.custom': ( settings ) =>\n\t\tsettings.disableCustomColors === undefined\n\t\t\t? undefined\n\t\t\t: ! settings.disableCustomColors,\n\t'color.customGradient': ( settings ) =>\n\t\tsettings.disableCustomGradients === undefined\n\t\t\t? undefined\n\t\t\t: ! settings.disableCustomGradients,\n\t'typography.fontSizes': ( settings ) =>\n\t\tsettings.fontSizes === undefined ? undefined : settings.fontSizes,\n\t'typography.customFontSize': ( settings ) =>\n\t\tsettings.disableCustomFontSizes === undefined\n\t\t\t? undefined\n\t\t\t: ! settings.disableCustomFontSizes,\n\t'typography.lineHeight': ( settings ) => settings.enableCustomLineHeight,\n\t'spacing.units': ( settings ) => {\n\t\tif ( settings.enableCustomUnits === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( settings.enableCustomUnits === true ) {\n\t\t\treturn [ 'px', 'em', 'rem', 'vh', 'vw', '%' ];\n\t\t}\n\n\t\treturn settings.enableCustomUnits;\n\t},\n\t'spacing.padding': ( settings ) => settings.enableCustomSpacing,\n};\n\nconst prefixedFlags = {\n\t/*\n\t * These were only available in the plugin\n\t * and can be removed when the minimum WordPress version\n\t * for the plugin is 5.9.\n\t */\n\t'border.customColor': 'border.color',\n\t'border.customStyle': 'border.style',\n\t'border.customWidth': 'border.width',\n\t'typography.customFontStyle': 'typography.fontStyle',\n\t'typography.customFontWeight': 'typography.fontWeight',\n\t'typography.customLetterSpacing': 'typography.letterSpacing',\n\t'typography.customTextDecorations': 'typography.textDecoration',\n\t'typography.customTextTransforms': 'typography.textTransform',\n\t/*\n\t * These were part of WordPress 5.8 and we need to keep them.\n\t */\n\t'border.customRadius': 'border.radius',\n\t'spacing.customMargin': 'spacing.margin',\n\t'spacing.customPadding': 'spacing.padding',\n\t'typography.customLineHeight': 'typography.lineHeight',\n};\n\n/**\n * Remove `custom` prefixes for flags that did not land in 5.8.\n *\n * This provides continued support for `custom` prefixed properties. It will\n * be removed once third party devs have had sufficient time to update themes,\n * plugins, etc.\n *\n * @see https://github.com/WordPress/gutenberg/pull/34485\n *\n * @param {string} path Path to desired value in settings.\n * @return {string} The value for defined setting.\n */\nconst removeCustomPrefixes = ( path ) => {\n\treturn prefixedFlags[ path ] || path;\n};\n\n/**\n * Hook that retrieves the given setting for the block instance in use.\n *\n * It looks up the settings first in the block instance hierarchy.\n * If none is found, it'll look it up in the block editor store.\n *\n * @param {string} path The path to the setting.\n * @return {any} Returns the value defined for the setting.\n * @example\n * ```js\n * const isEnabled = useSetting( 'typography.dropCap' );\n * ```\n */\nexport default function useSetting( path ) {\n\tconst { name: blockName, clientId } = useBlockEditContext();\n\n\tconst setting = useSelect(\n\t\t( select ) => {\n\t\t\tif ( blockedPaths.includes( path ) ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'Top level useSetting paths are disabled. Please use a subpath to query the information needed.'\n\t\t\t\t);\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tlet result;\n\t\t\tconst normalizedPath = removeCustomPrefixes( path );\n\n\t\t\t// 1. Take settings from the block instance or its ancestors.\n\t\t\tconst candidates = [\n\t\t\t\t...select( blockEditorStore ).getBlockParents( clientId ),\n\t\t\t\tclientId, // The current block is added last, so it overwrites any ancestor.\n\t\t\t];\n\t\t\tcandidates.forEach( ( candidateClientId ) => {\n\t\t\t\tconst candidateBlockName = select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).getBlockName( candidateClientId );\n\t\t\t\tif (\n\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\tcandidateBlockName,\n\t\t\t\t\t\t'__experimentalSettings',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tconst candidateAtts = select(\n\t\t\t\t\t\tblockEditorStore\n\t\t\t\t\t).getBlockAttributes( candidateClientId );\n\t\t\t\t\tconst candidateResult =\n\t\t\t\t\t\tget(\n\t\t\t\t\t\t\tcandidateAtts,\n\t\t\t\t\t\t\t`settings.blocks.${ blockName }.${ normalizedPath }`\n\t\t\t\t\t\t) ??\n\t\t\t\t\t\tget( candidateAtts, `settings.${ normalizedPath }` );\n\t\t\t\t\tif ( candidateResult !== undefined ) {\n\t\t\t\t\t\tresult = candidateResult;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// 2. Fall back to the settings from the block editor store (__experimentalFeatures).\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tif ( result === undefined ) {\n\t\t\t\tconst defaultsPath = `__experimentalFeatures.${ normalizedPath }`;\n\t\t\t\tconst blockPath = `__experimentalFeatures.blocks.${ blockName }.${ normalizedPath }`;\n\t\t\t\tresult =\n\t\t\t\t\tget( settings, blockPath ) ?? get( settings, defaultsPath );\n\t\t\t}\n\n\t\t\t// Return if the setting was found in either the block instance or the store.\n\t\t\tif ( result !== undefined ) {\n\t\t\t\tif ( PATHS_WITH_MERGE[ normalizedPath ] ) {\n\t\t\t\t\treturn result.custom ?? result.theme ?? result.default;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t// 3. Otherwise, use deprecated settings.\n\t\t\tconst deprecatedSettingsValue = deprecatedFlags[ normalizedPath ]\n\t\t\t\t? deprecatedFlags[ normalizedPath ]( settings )\n\t\t\t\t: undefined;\n\t\t\tif ( deprecatedSettingsValue !== undefined ) {\n\t\t\t\treturn deprecatedSettingsValue;\n\t\t\t}\n\n\t\t\t// 4. Fallback for typography.dropCap:\n\t\t\t// This is only necessary to support typography.dropCap.\n\t\t\t// when __experimentalFeatures are not present (core without plugin).\n\t\t\t// To remove when __experimentalFeatures are ported to core.\n\t\t\treturn normalizedPath === 'typography.dropCap' ? true : undefined;\n\t\t},\n\t\t[ blockName, clientId, path ]\n\t);\n\n\treturn setting;\n}\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"warning\"];","/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\nconst InspectorControlsDefault = createSlotFill( 'InspectorControls' );\nconst InspectorControlsAdvanced = createSlotFill( 'InspectorAdvancedControls' );\nconst InspectorControlsBorder = createSlotFill( 'InspectorControlsBorder' );\nconst InspectorControlsColor = createSlotFill( 'InspectorControlsColor' );\nconst InspectorControlsDimensions = createSlotFill(\n\t'InspectorControlsDimensions'\n);\nconst InspectorControlsTypography = createSlotFill(\n\t'InspectorControlsTypography'\n);\n\nconst groups = {\n\tdefault: InspectorControlsDefault,\n\tadvanced: InspectorControlsAdvanced,\n\tborder: InspectorControlsBorder,\n\tcolor: InspectorControlsColor,\n\tdimensions: InspectorControlsDimensions,\n\ttypography: InspectorControlsTypography,\n};\n\nexport default groups;\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalStyleProvider as StyleProvider,\n\t__experimentalToolsPanelContext as ToolsPanelContext,\n} from '@wordpress/components';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useDisplayBlockControls from '../use-display-block-controls';\nimport groups from './groups';\n\nexport default function InspectorControlsFill( {\n\t__experimentalGroup: group = 'default',\n\tchildren,\n} ) {\n\tconst isDisplayed = useDisplayBlockControls();\n\tconst Fill = groups[ group ]?.Fill;\n\tif ( ! Fill ) {\n\t\twarning( `Unknown InspectorControl group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\tif ( ! isDisplayed ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill>\n\t\t\t\t{ ( fillProps ) => {\n\t\t\t\t\t// Children passed to InspectorControlsFill will not have\n\t\t\t\t\t// access to any React Context whose Provider is part of\n\t\t\t\t\t// the InspectorControlsSlot tree. So we re-create the\n\t\t\t\t\t// Provider in this subtree.\n\t\t\t\t\tconst value = ! isEmpty( fillProps ) ? fillProps : null;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolsPanelContext.Provider value={ value }>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t</ToolsPanelContext.Provider>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t</Fill>\n\t\t</StyleProvider>\n\t);\n}\n","/**\n * External dependencies\n */\nimport {\n\tpickBy,\n\tisEmpty,\n\tisObject,\n\tidentity,\n\tmapValues,\n\tforEach,\n\tget,\n\tsetWith,\n\tclone,\n\tevery,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\n\n/**\n * Removed falsy values from nested object.\n *\n * @param {*} object\n * @return {*} Object cleaned from falsy values\n */\nexport const cleanEmptyObject = ( object ) => {\n\tif ( ! isObject( object ) || Array.isArray( object ) ) {\n\t\treturn object;\n\t}\n\tconst cleanedNestedObjects = pickBy(\n\t\tmapValues( object, cleanEmptyObject ),\n\t\tidentity\n\t);\n\treturn isEmpty( cleanedNestedObjects ) ? undefined : cleanedNestedObjects;\n};\n\nexport function immutableSet( object, path, value ) {\n\treturn setWith( object ? clone( object ) : {}, path, value, clone );\n}\n\nexport function transformStyles(\n\tactiveSupports,\n\tmigrationPaths,\n\tresult,\n\tsource,\n\tindex,\n\tresults\n) {\n\t// If there are no active supports return early.\n\tif ( every( activeSupports, ( isActive ) => ! isActive ) ) {\n\t\treturn result;\n\t}\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the styles should not be transformed.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\t// For cases where we have a transform from one block to multiple blocks\n\t// or multiple blocks to one block we apply the styles of the first source block\n\t// to the result(s).\n\tlet referenceBlockAttributes = source[ 0 ]?.attributes;\n\t// If we are in presence of transform between more than one block in the source\n\t// that has more than one block in the result\n\t// we apply the styles on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( results.length > 1 && source.length > 1 ) {\n\t\tif ( source[ index ] ) {\n\t\t\treferenceBlockAttributes = source[ index ]?.attributes;\n\t\t} else {\n\t\t\treturn result;\n\t\t}\n\t}\n\tlet returnBlock = result;\n\tforEach( activeSupports, ( isActive, support ) => {\n\t\tif ( isActive ) {\n\t\t\tmigrationPaths[ support ].forEach( ( path ) => {\n\t\t\t\tconst styleValue = get( referenceBlockAttributes, path );\n\t\t\t\tif ( styleValue ) {\n\t\t\t\t\treturnBlock = {\n\t\t\t\t\t\t...returnBlock,\n\t\t\t\t\t\tattributes: immutableSet(\n\t\t\t\t\t\t\treturnBlock.attributes,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tstyleValue\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t} );\n\treturn returnBlock;\n}\n\n/**\n * Check whether serialization of specific block support feature or set should\n * be skipped.\n *\n * @param {string|Object} blockType Block name or block type object.\n * @param {string} featureSet Name of block support feature set.\n * @param {string} feature Name of the individual feature to check.\n *\n * @return {boolean} Whether serialization should occur.\n */\nexport function shouldSkipSerialization( blockType, featureSet, feature ) {\n\tconst support = getBlockSupport( blockType, featureSet );\n\tconst skipSerialization = support?.__experimentalSkipSerialization;\n\n\tif ( Array.isArray( skipSerialization ) ) {\n\t\treturn skipSerialization.includes( feature );\n\t}\n\n\treturn skipSerialization;\n}\n","/**\n * WordPress dependencies\n */\nimport { __experimentalToolsPanel as ToolsPanel } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { cleanEmptyObject } from '../../hooks/utils';\n\nexport default function BlockSupportToolsPanel( { children, group, label } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetMultiSelectedBlockClientIds,\n\t\tgetSelectedBlockClientId,\n\t\thasMultiSelection,\n\t} = useSelect( blockEditorStore );\n\n\tconst panelId = getSelectedBlockClientId();\n\tconst resetAll = useCallback(\n\t\t( resetFilters = [] ) => {\n\t\t\tconst newAttributes = {};\n\n\t\t\tconst clientIds = hasMultiSelection()\n\t\t\t\t? getMultiSelectedBlockClientIds()\n\t\t\t\t: [ panelId ];\n\n\t\t\tclientIds.forEach( ( clientId ) => {\n\t\t\t\tconst { style } = getBlockAttributes( clientId );\n\t\t\t\tlet newBlockAttributes = { style };\n\n\t\t\t\tresetFilters.forEach( ( resetFilter ) => {\n\t\t\t\t\tnewBlockAttributes = {\n\t\t\t\t\t\t...newBlockAttributes,\n\t\t\t\t\t\t...resetFilter( newBlockAttributes ),\n\t\t\t\t\t};\n\t\t\t\t} );\n\n\t\t\t\t// Enforce a cleaned style object.\n\t\t\t\tnewBlockAttributes = {\n\t\t\t\t\t...newBlockAttributes,\n\t\t\t\t\tstyle: cleanEmptyObject( newBlockAttributes.style ),\n\t\t\t\t};\n\n\t\t\t\tnewAttributes[ clientId ] = newBlockAttributes;\n\t\t\t} );\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes, true );\n\t\t},\n\t\t[\n\t\t\tcleanEmptyObject,\n\t\t\tgetBlockAttributes,\n\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\thasMultiSelection,\n\t\t\tpanelId,\n\t\t\tupdateBlockAttributes,\n\t\t]\n\t);\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tclassName={ `${ group }-block-support-panel` }\n\t\t\tlabel={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tkey={ panelId }\n\t\t\tpanelId={ panelId }\n\t\t\thasInnerWrapper={ true }\n\t\t\tshouldRenderPlaceholderItems={ true } // Required to maintain fills ordering.\n\t\t\t__experimentalFirstVisibleItemClass=\"first\"\n\t\t\t__experimentalLastVisibleItemClass=\"last\"\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __experimentalToolsPanelContext as ToolsPanelContext } from '@wordpress/components';\nimport { useContext } from '@wordpress/element';\n\nexport default function BlockSupportSlotContainer( { Slot, ...props } ) {\n\tconst toolsPanelContext = useContext( ToolsPanelContext );\n\treturn (\n\t\t<Slot { ...props } fillProps={ toolsPanelContext } bubblesVirtually />\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __experimentalUseSlot as useSlot } from '@wordpress/components';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport BlockSupportToolsPanel from './block-support-tools-panel';\nimport BlockSupportSlotContainer from './block-support-slot-container';\nimport groups from './groups';\n\nexport default function InspectorControlsSlot( {\n\t__experimentalGroup: group = 'default',\n\tlabel,\n\t...props\n} ) {\n\tconst Slot = groups[ group ]?.Slot;\n\tconst slot = useSlot( Slot?.__unstableName );\n\tif ( ! Slot || ! slot ) {\n\t\twarning( `Unknown InspectorControl group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\n\tconst hasFills = Boolean( slot.fills && slot.fills.length );\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\tif ( label ) {\n\t\treturn (\n\t\t\t<BlockSupportToolsPanel group={ group } label={ label }>\n\t\t\t\t<BlockSupportSlotContainer { ...props } Slot={ Slot } />\n\t\t\t</BlockSupportToolsPanel>\n\t\t);\n\t}\n\n\treturn <Slot { ...props } bubblesVirtually />;\n}\n","/**\n * Internal dependencies\n */\nimport InspectorControlsFill from './fill';\nimport InspectorControlsSlot from './slot';\n\nconst InspectorControls = InspectorControlsFill;\n\nInspectorControls.Slot = InspectorControlsSlot;\n\n// This is just here for backward compatibility.\nexport const InspectorAdvancedControls = ( props ) => {\n\treturn (\n\t\t<InspectorControlsFill { ...props } __experimentalGroup=\"advanced\" />\n\t);\n};\nInspectorAdvancedControls.Slot = ( props ) => {\n\treturn (\n\t\t<InspectorControlsSlot { ...props } __experimentalGroup=\"advanced\" />\n\t);\n};\nInspectorAdvancedControls.slotName = 'InspectorAdvancedControls';\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inspector-controls/README.md\n */\nexport default InspectorControls;\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"isShallowEqual\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"dom\"];","/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Allow scrolling \"through\" popovers over the canvas. This is only called for\n * as long as the pointer is over a popover. Do not use React events because it\n * will bubble through portals.\n *\n * @param {Object} scrollableRef\n */\nfunction usePopoverScroll( scrollableRef ) {\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( ! scrollableRef ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction onWheel( event ) {\n\t\t\t\tconst { deltaX, deltaY } = event;\n\t\t\t\tscrollableRef.current.scrollBy( deltaX, deltaY );\n\t\t\t}\n\t\t\t// Tell the browser that we do not call event.preventDefault\n\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#improving_scrolling_performance_with_passive_listeners\n\t\t\tconst options = { passive: true };\n\t\t\tnode.addEventListener( 'wheel', onWheel, options );\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'wheel', onWheel, options );\n\t\t\t};\n\t\t},\n\t\t[ scrollableRef ]\n\t);\n}\n\nexport default usePopoverScroll;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Popover } from '@wordpress/components';\nimport { getScrollContainer } from '@wordpress/dom';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nexport default function BlockPopover( {\n\tclientId,\n\tbottomClientId,\n\tchildren,\n\t__unstableRefreshSize,\n\t__unstableCoverTarget = false,\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n\t...props\n} ) {\n\tconst selectedElement = useBlockElement( clientId );\n\tconst lastSelectedElement = useBlockElement( bottomClientId ?? clientId );\n\tconst popoverScrollRef = usePopoverScroll( __unstableContentRef );\n\tconst style = useMemo( () => {\n\t\tif ( ! selectedElement || lastSelectedElement !== selectedElement ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tposition: 'absolute',\n\t\t\twidth: selectedElement.offsetWidth,\n\t\t\theight: selectedElement.offsetHeight,\n\t\t};\n\t}, [ selectedElement, lastSelectedElement, __unstableRefreshSize ] );\n\n\tif ( ! selectedElement || ( bottomClientId && ! lastSelectedElement ) ) {\n\t\treturn null;\n\t}\n\n\tconst anchorRef = {\n\t\ttop: selectedElement,\n\t\tbottom: lastSelectedElement,\n\t};\n\n\tconst { ownerDocument } = selectedElement;\n\tconst stickyBoundaryElement =\n\t\townerDocument.defaultView.frameElement ||\n\t\tgetScrollContainer( selectedElement ) ||\n\t\townerDocument.body;\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ popoverScrollRef }\n\t\t\tnoArrow\n\t\t\tanimate={ false }\n\t\t\tposition=\"top right left\"\n\t\t\tfocusOnMount={ false }\n\t\t\tanchorRef={ anchorRef }\n\t\t\t__unstableStickyBoundaryElement={\n\t\t\t\t__unstableCoverTarget ? undefined : stickyBoundaryElement\n\t\t\t}\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot || null }\n\t\t\t__unstableBoundaryParent\n\t\t\t// Observe movement for block animations (especially horizontal).\n\t\t\t__unstableObserveElement={ selectedElement }\n\t\t\t// Used to safeguard sticky position behavior against cases where it would permanently\n\t\t\t// obscure specific sections of a block.\n\t\t\t__unstableEditorCanvasWrapper={ __unstableContentRef?.current }\n\t\t\t__unstableForcePosition={ __unstableCoverTarget }\n\t\t\t{ ...props }\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-block-popover',\n\t\t\t\tprops.className\n\t\t\t) }\n\t\t>\n\t\t\t{ __unstableCoverTarget && <div style={ style }>{ children }</div> }\n\t\t\t{ ! __unstableCoverTarget && children }\n\t\t</Popover>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tPlatform,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalBoxControl as BoxControl,\n} from '@wordpress/components';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../components/use-setting';\nimport {\n\tAXIAL_SIDES,\n\tSPACING_SUPPORT_KEY,\n\tuseCustomSides,\n\tuseIsDimensionsSupportValid,\n} from './dimensions';\nimport { cleanEmptyObject } from './utils';\nimport BlockPopover from '../components/block-popover';\n\n/**\n * Determines if there is margin support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasMarginSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, SPACING_SUPPORT_KEY );\n\treturn !! ( true === support || support?.margin );\n}\n\n/**\n * Checks if there is a current value in the margin block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a margin value set.\n */\nexport function hasMarginValue( props ) {\n\treturn props.attributes.style?.spacing?.margin !== undefined;\n}\n\n/**\n * Resets the margin block support attributes. This can be used when disabling\n * the margin support controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetMargin( { attributes = {}, setAttributes } ) {\n\tconst { style } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tspacing: {\n\t\t\t\t...style?.spacing,\n\t\t\t\tmargin: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if margin settings have been disabled.\n *\n * @param {string} name The name of the block.\n *\n * @return {boolean} Whether margin setting is disabled.\n */\nexport function useIsMarginDisabled( { name: blockName } = {} ) {\n\tconst isDisabled = ! useSetting( 'spacing.margin' );\n\tconst isInvalid = ! useIsDimensionsSupportValid( blockName, 'margin' );\n\n\treturn ! hasMarginSupport( blockName ) || isDisabled || isInvalid;\n}\n\n/**\n * Inspector control panel containing the margin related configuration\n *\n * @param {Object} props Block props.\n *\n * @return {WPElement} Margin edit element.\n */\nexport function MarginEdit( props ) {\n\tconst {\n\t\tname: blockName,\n\t\tattributes: { style },\n\t\tsetAttributes,\n\t} = props;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\tconst sides = useCustomSides( blockName, 'margin' );\n\tconst splitOnAxis =\n\t\tsides && sides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tif ( useIsMarginDisabled( props ) ) {\n\t\treturn null;\n\t}\n\n\tconst onChange = ( next ) => {\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tspacing: {\n\t\t\t\t...style?.spacing,\n\t\t\t\tmargin: next,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\treturn Platform.select( {\n\t\tweb: (\n\t\t\t<>\n\t\t\t\t<BoxControl\n\t\t\t\t\tvalues={ style?.spacing?.margin }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\tsides={ sides }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tallowReset={ false }\n\t\t\t\t\tsplitOnAxis={ splitOnAxis }\n\t\t\t\t/>\n\t\t\t</>\n\t\t),\n\t\tnative: null,\n\t} );\n}\n\nexport function MarginVisualizer( { clientId, attributes } ) {\n\tconst margin = attributes?.style?.spacing?.margin;\n\tconst style = useMemo( () => {\n\t\treturn {\n\t\t\tborderTopWidth: margin?.top ?? 0,\n\t\t\tborderRightWidth: margin?.right ?? 0,\n\t\t\tborderBottomWidth: margin?.bottom ?? 0,\n\t\t\tborderLeftWidth: margin?.left ?? 0,\n\t\t\ttop: margin?.top ? `-${ margin.top }` : 0,\n\t\t\tright: margin?.right ? `-${ margin.right }` : 0,\n\t\t\tbottom: margin?.bottom ? `-${ margin.bottom }` : 0,\n\t\t\tleft: margin?.left ? `-${ margin.left }` : 0,\n\t\t};\n\t}, [ margin ] );\n\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst valueRef = useRef( margin );\n\tconst timeoutRef = useRef();\n\n\tconst clearTimer = () => {\n\t\tif ( timeoutRef.current ) {\n\t\t\twindow.clearTimeout( timeoutRef.current );\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! isShallowEqual( margin, valueRef.current ) ) {\n\t\t\tsetIsActive( true );\n\t\t\tvalueRef.current = margin;\n\n\t\t\tclearTimer();\n\n\t\t\ttimeoutRef.current = setTimeout( () => {\n\t\t\t\tsetIsActive( false );\n\t\t\t}, 400 );\n\t\t}\n\n\t\treturn () => clearTimer();\n\t}, [ margin ] );\n\n\tif ( ! isActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockPopover\n\t\t\tclientId={ clientId }\n\t\t\t__unstableCoverTarget\n\t\t\t__unstableRefreshSize={ margin }\n\t\t>\n\t\t\t<div className=\"block-editor__padding-visualizer\" style={ style } />\n\t\t</BlockPopover>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tPlatform,\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseMemo,\n} from '@wordpress/element';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalBoxControl as BoxControl,\n} from '@wordpress/components';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../components/use-setting';\nimport {\n\tAXIAL_SIDES,\n\tSPACING_SUPPORT_KEY,\n\tuseCustomSides,\n\tuseIsDimensionsSupportValid,\n} from './dimensions';\nimport { cleanEmptyObject } from './utils';\nimport BlockPopover from '../components/block-popover';\n\n/**\n * Determines if there is padding support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasPaddingSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, SPACING_SUPPORT_KEY );\n\treturn !! ( true === support || support?.padding );\n}\n\n/**\n * Checks if there is a current value in the padding block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a padding value set.\n */\nexport function hasPaddingValue( props ) {\n\treturn props.attributes.style?.spacing?.padding !== undefined;\n}\n\n/**\n * Resets the padding block support attributes. This can be used when disabling\n * the padding support controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetPadding( { attributes = {}, setAttributes } ) {\n\tconst { style } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tspacing: {\n\t\t\t\t...style?.spacing,\n\t\t\t\tpadding: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if padding settings have been disabled.\n *\n * @param {string} name The name of the block.\n *\n * @return {boolean} Whether padding setting is disabled.\n */\nexport function useIsPaddingDisabled( { name: blockName } = {} ) {\n\tconst isDisabled = ! useSetting( 'spacing.padding' );\n\tconst isInvalid = ! useIsDimensionsSupportValid( blockName, 'padding' );\n\n\treturn ! hasPaddingSupport( blockName ) || isDisabled || isInvalid;\n}\n\n/**\n * Inspector control panel containing the padding related configuration\n *\n * @param {Object} props\n *\n * @return {WPElement} Padding edit element.\n */\nexport function PaddingEdit( props ) {\n\tconst {\n\t\tname: blockName,\n\t\tattributes: { style },\n\t\tsetAttributes,\n\t} = props;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\tconst sides = useCustomSides( blockName, 'padding' );\n\tconst splitOnAxis =\n\t\tsides && sides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tif ( useIsPaddingDisabled( props ) ) {\n\t\treturn null;\n\t}\n\n\tconst onChange = ( next ) => {\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tspacing: {\n\t\t\t\t...style?.spacing,\n\t\t\t\tpadding: next,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\treturn Platform.select( {\n\t\tweb: (\n\t\t\t<>\n\t\t\t\t<BoxControl\n\t\t\t\t\tvalues={ style?.spacing?.padding }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\tsides={ sides }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tallowReset={ false }\n\t\t\t\t\tsplitOnAxis={ splitOnAxis }\n\t\t\t\t/>\n\t\t\t</>\n\t\t),\n\t\tnative: null,\n\t} );\n}\n\nexport function PaddingVisualizer( { clientId, attributes } ) {\n\tconst padding = attributes?.style?.spacing?.padding;\n\tconst style = useMemo( () => {\n\t\treturn {\n\t\t\tborderTopWidth: padding?.top ?? 0,\n\t\t\tborderRightWidth: padding?.right ?? 0,\n\t\t\tborderBottomWidth: padding?.bottom ?? 0,\n\t\t\tborderLeftWidth: padding?.left ?? 0,\n\t\t};\n\t}, [ padding ] );\n\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst valueRef = useRef( padding );\n\tconst timeoutRef = useRef();\n\n\tconst clearTimer = () => {\n\t\tif ( timeoutRef.current ) {\n\t\t\twindow.clearTimeout( timeoutRef.current );\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! isShallowEqual( padding, valueRef.current ) ) {\n\t\t\tsetIsActive( true );\n\t\t\tvalueRef.current = padding;\n\n\t\t\tclearTimer();\n\n\t\t\ttimeoutRef.current = setTimeout( () => {\n\t\t\t\tsetIsActive( false );\n\t\t\t}, 400 );\n\t\t}\n\n\t\treturn () => clearTimer();\n\t}, [ padding ] );\n\n\tif ( ! isActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockPopover\n\t\t\tclientId={ clientId }\n\t\t\t__unstableCoverTarget\n\t\t\t__unstableRefreshSize={ padding }\n\t\t>\n\t\t\t<div className=\"block-editor__padding-visualizer\" style={ style } />\n\t\t</BlockPopover>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';\nimport { Platform } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlockSupport } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tGapEdit,\n\thasGapSupport,\n\thasGapValue,\n\tresetGap,\n\tuseIsGapDisabled,\n} from './gap';\nimport {\n\tMarginEdit,\n\tMarginVisualizer,\n\thasMarginSupport,\n\thasMarginValue,\n\tresetMargin,\n\tuseIsMarginDisabled,\n} from './margin';\nimport {\n\tPaddingEdit,\n\tPaddingVisualizer,\n\thasPaddingSupport,\n\thasPaddingValue,\n\tresetPadding,\n\tuseIsPaddingDisabled,\n} from './padding';\n\nexport const SPACING_SUPPORT_KEY = 'spacing';\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nexport const AXIAL_SIDES = [ 'vertical', 'horizontal' ];\n\n/**\n * Inspector controls for dimensions support.\n *\n * @param {Object} props Block props.\n *\n * @return {WPElement} Inspector controls for spacing support features.\n */\nexport function DimensionsPanel( props ) {\n\tconst isGapDisabled = useIsGapDisabled( props );\n\tconst isPaddingDisabled = useIsPaddingDisabled( props );\n\tconst isMarginDisabled = useIsMarginDisabled( props );\n\tconst isDisabled = useIsDimensionsDisabled( props );\n\tconst isSupported = hasDimensionsSupport( props.name );\n\n\tif ( isDisabled || ! isSupported ) {\n\t\treturn null;\n\t}\n\n\tconst defaultSpacingControls = getBlockSupport( props.name, [\n\t\tSPACING_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\n\tconst createResetAllFilter = ( attribute ) => ( newAttributes ) => ( {\n\t\t...newAttributes,\n\t\tstyle: {\n\t\t\t...newAttributes.style,\n\t\t\tspacing: {\n\t\t\t\t...newAttributes.style?.spacing,\n\t\t\t\t[ attribute ]: undefined,\n\t\t\t},\n\t\t},\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls __experimentalGroup=\"dimensions\">\n\t\t\t\t{ ! isPaddingDisabled && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => hasPaddingValue( props ) }\n\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\tonDeselect={ () => resetPadding( props ) }\n\t\t\t\t\t\tresetAllFilter={ createResetAllFilter( 'padding' ) }\n\t\t\t\t\t\tisShownByDefault={ defaultSpacingControls?.padding }\n\t\t\t\t\t\tpanelId={ props.clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PaddingEdit { ...props } />\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ ! isMarginDisabled && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => hasMarginValue( props ) }\n\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\tonDeselect={ () => resetMargin( props ) }\n\t\t\t\t\t\tresetAllFilter={ createResetAllFilter( 'margin' ) }\n\t\t\t\t\t\tisShownByDefault={ defaultSpacingControls?.margin }\n\t\t\t\t\t\tpanelId={ props.clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MarginEdit { ...props } />\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ ! isGapDisabled && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => hasGapValue( props ) }\n\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\tonDeselect={ () => resetGap( props ) }\n\t\t\t\t\t\tresetAllFilter={ createResetAllFilter( 'blockGap' ) }\n\t\t\t\t\t\tisShownByDefault={ defaultSpacingControls?.blockGap }\n\t\t\t\t\t\tpanelId={ props.clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<GapEdit { ...props } />\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ ! isPaddingDisabled && <PaddingVisualizer { ...props } /> }\n\t\t\t{ ! isMarginDisabled && <MarginVisualizer { ...props } /> }\n\t\t</>\n\t);\n}\n\n/**\n * Determine whether there is dimensions related block support.\n *\n * @param {string} blockName Block name.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasDimensionsSupport( blockName ) {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\thasGapSupport( blockName ) ||\n\t\thasPaddingSupport( blockName ) ||\n\t\thasMarginSupport( blockName )\n\t);\n}\n\n/**\n * Determines whether dimensions support has been disabled.\n *\n * @param {Object} props Block properties.\n *\n * @return {boolean} If spacing support is completely disabled.\n */\nconst useIsDimensionsDisabled = ( props = {} ) => {\n\tconst gapDisabled = useIsGapDisabled( props );\n\tconst paddingDisabled = useIsPaddingDisabled( props );\n\tconst marginDisabled = useIsMarginDisabled( props );\n\n\treturn gapDisabled && paddingDisabled && marginDisabled;\n};\n\n/**\n * Custom hook to retrieve which padding/margin is supported\n * e.g. top, right, bottom or left.\n *\n * Sides are opted into by default. It is only if a specific side is set to\n * false that it is omitted.\n *\n * @param {string} blockName Block name.\n * @param {string} feature The feature custom sides relate to e.g. padding or margins.\n *\n * @return {Object} Sides supporting custom margin.\n */\nexport function useCustomSides( blockName, feature ) {\n\tconst support = getBlockSupport( blockName, SPACING_SUPPORT_KEY );\n\n\t// Skip when setting is boolean as theme isn't setting arbitrary sides.\n\tif ( ! support || typeof support[ feature ] === 'boolean' ) {\n\t\treturn;\n\t}\n\n\treturn support[ feature ];\n}\n\n/**\n * Custom hook to determine whether the sides configured in the\n * block support are valid. A dimension property cannot declare\n * support for a mix of axial and individual sides.\n *\n * @param {string} blockName Block name.\n * @param {string} feature The feature custom sides relate to e.g. padding or margins.\n *\n * @return {boolean} If the feature has a valid configuration of sides.\n */\nexport function useIsDimensionsSupportValid( blockName, feature ) {\n\tconst sides = useCustomSides( blockName, feature );\n\n\tif (\n\t\tsides &&\n\t\tsides.some( ( side ) => ALL_SIDES.includes( side ) ) &&\n\t\tsides.some( ( side ) => AXIAL_SIDES.includes( side ) )\n\t) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t`The ${ feature } support for the \"${ blockName }\" block can not be configured to support both axial and arbitrary sides.`\n\t\t);\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Platform } from '@wordpress/element';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockRef as useBlockRef } from '../components/block-list/use-block-props/use-block-refs';\nimport useSetting from '../components/use-setting';\nimport { AXIAL_SIDES, SPACING_SUPPORT_KEY, useCustomSides } from './dimensions';\nimport { cleanEmptyObject } from './utils';\n\n/**\n * Determines if there is gap support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n * @return {boolean} Whether there is support.\n */\nexport function hasGapSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, SPACING_SUPPORT_KEY );\n\treturn !! ( true === support || support?.blockGap );\n}\n\n/**\n * Checks if there is a current value in the gap block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a gap value set.\n */\nexport function hasGapValue( props ) {\n\treturn props.attributes.style?.spacing?.blockGap !== undefined;\n}\n\n/**\n * Returns a BoxControl object value from a given blockGap style value.\n * The string check is for backwards compatibility before Gutenberg supported\n * split gap values (row and column) and the value was a string n + unit.\n *\n * @param {string? | Object?} blockGapValue A block gap string or axial object value, e.g., '10px' or { top: '10px', left: '10px'}.\n * @return {Object|null} A value to pass to the BoxControl component.\n */\nexport function getGapBoxControlValueFromStyle( blockGapValue ) {\n\tif ( ! blockGapValue ) {\n\t\treturn null;\n\t}\n\n\tconst isValueString = typeof blockGapValue === 'string';\n\treturn {\n\t\ttop: isValueString ? blockGapValue : blockGapValue?.top,\n\t\tleft: isValueString ? blockGapValue : blockGapValue?.left,\n\t};\n}\n\n/**\n * Returns a CSS value for the `gap` property from a given blockGap style.\n *\n * @param {string? | Object?} blockGapValue A block gap string or axial object value, e.g., '10px' or { top: '10px', left: '10px'}.\n * @param {string?} defaultValue A default gap value.\n * @return {string|null} The concatenated gap value (row and column).\n */\nexport function getGapCSSValue( blockGapValue, defaultValue = '0' ) {\n\tconst blockGapBoxControlValue = getGapBoxControlValueFromStyle(\n\t\tblockGapValue\n\t);\n\tif ( ! blockGapBoxControlValue ) {\n\t\treturn null;\n\t}\n\n\tconst row = blockGapBoxControlValue?.top || defaultValue;\n\tconst column = blockGapBoxControlValue?.left || defaultValue;\n\n\treturn row === column ? row : `${ row } ${ column }`;\n}\n\n/**\n * Resets the gap block support attribute. This can be used when disabling\n * the gap support controls for a block via a progressive discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetGap( { attributes = {}, setAttributes } ) {\n\tconst { style } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: {\n\t\t\t...style,\n\t\t\tspacing: {\n\t\t\t\t...style?.spacing,\n\t\t\t\tblockGap: undefined,\n\t\t\t},\n\t\t},\n\t} );\n}\n\n/**\n * Custom hook that checks if gap settings have been disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether the gap setting is disabled.\n */\nexport function useIsGapDisabled( { name: blockName } = {} ) {\n\tconst isDisabled = ! useSetting( 'spacing.blockGap' );\n\treturn ! hasGapSupport( blockName ) || isDisabled;\n}\n\n/**\n * Inspector control panel containing the gap related configuration\n *\n * @param {Object} props\n *\n * @return {WPElement} Gap edit element.\n */\nexport function GapEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes: { style },\n\t\tname: blockName,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\tconst sides = useCustomSides( blockName, 'blockGap' );\n\tconst ref = useBlockRef( clientId );\n\n\tif ( useIsGapDisabled( props ) ) {\n\t\treturn null;\n\t}\n\n\tconst splitOnAxis =\n\t\tsides && sides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tconst onChange = ( next ) => {\n\t\tlet blockGap = next;\n\n\t\t// If splitOnAxis activated we need to return a BoxControl object to the BoxControl component.\n\t\tif ( !! next && splitOnAxis ) {\n\t\t\tblockGap = { ...getGapBoxControlValueFromStyle( next ) };\n\t\t}\n\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tspacing: {\n\t\t\t\t...style?.spacing,\n\t\t\t\tblockGap,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\n\t\t// In Safari, changing the `gap` CSS value on its own will not trigger the layout\n\t\t// to be recalculated / re-rendered. To force the updated gap to re-render, here\n\t\t// we replace the block's node with itself.\n\t\tconst isSafari =\n\t\t\twindow?.navigator.userAgent &&\n\t\t\twindow.navigator.userAgent.includes( 'Safari' ) &&\n\t\t\t! window.navigator.userAgent.includes( 'Chrome ' ) &&\n\t\t\t! window.navigator.userAgent.includes( 'Chromium ' );\n\n\t\tif ( ref.current && isSafari ) {\n\t\t\tref.current.parentNode?.replaceChild( ref.current, ref.current );\n\t\t}\n\t};\n\n\tconst gapValue = getGapBoxControlValueFromStyle( style?.spacing?.blockGap );\n\n\t// The BoxControl component expects a full complement of side values.\n\t// Gap row and column values translate to top/bottom and left/right respectively.\n\tconst boxControlGapValue = splitOnAxis\n\t\t? {\n\t\t\t\t...gapValue,\n\t\t\t\tright: gapValue?.left,\n\t\t\t\tbottom: gapValue?.top,\n\t\t }\n\t\t: gapValue?.top;\n\n\treturn Platform.select( {\n\t\tweb: (\n\t\t\t<>\n\t\t\t\t{ splitOnAxis ? (\n\t\t\t\t\t<BoxControl\n\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tsides={ sides }\n\t\t\t\t\t\tvalues={ boxControlGapValue }\n\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\tsplitOnAxis={ splitOnAxis }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t// Default to `row` for combined values.\n\t\t\t\t\t\tvalue={ boxControlGapValue }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t),\n\t\tnative: null,\n\t} );\n}\n","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/components';\n\nexport const alignBottom = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z\" />\n\t</SVG>\n);\n\nexport const alignCenter = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z\" />\n\t</SVG>\n);\n\nexport const alignTop = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M9 20h6V9H9v11zM4 4v1.5h16V4H4z\" />\n\t</SVG>\n);\n","/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { ToolbarGroup, ToolbarDropdownMenu } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { alignTop, alignCenter, alignBottom } from './icons';\n\nconst BLOCK_ALIGNMENTS_CONTROLS = {\n\ttop: {\n\t\ticon: alignTop,\n\t\ttitle: _x( 'Align top', 'Block vertical alignment setting' ),\n\t},\n\tcenter: {\n\t\ticon: alignCenter,\n\t\ttitle: _x( 'Align middle', 'Block vertical alignment setting' ),\n\t},\n\tbottom: {\n\t\ticon: alignBottom,\n\t\ttitle: _x( 'Align bottom', 'Block vertical alignment setting' ),\n\t},\n};\n\nconst DEFAULT_CONTROLS = [ 'top', 'center', 'bottom' ];\nconst DEFAULT_CONTROL = 'top';\n\nconst POPOVER_PROPS = {\n\tisAlternate: true,\n};\n\nfunction BlockVerticalAlignmentUI( {\n\tvalue,\n\tonChange,\n\tcontrols = DEFAULT_CONTROLS,\n\tisCollapsed = true,\n\tisToolbar,\n} ) {\n\tfunction applyOrUnset( align ) {\n\t\treturn () => onChange( value === align ? undefined : align );\n\t}\n\n\tconst activeAlignment = BLOCK_ALIGNMENTS_CONTROLS[ value ];\n\tconst defaultAlignmentControl =\n\t\tBLOCK_ALIGNMENTS_CONTROLS[ DEFAULT_CONTROL ];\n\n\tconst UIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu;\n\tconst extraProps = isToolbar ? { isCollapsed } : {};\n\n\treturn (\n\t\t<UIComponent\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ticon={\n\t\t\t\tactiveAlignment\n\t\t\t\t\t? activeAlignment.icon\n\t\t\t\t\t: defaultAlignmentControl.icon\n\t\t\t}\n\t\t\tlabel={ _x(\n\t\t\t\t'Change vertical alignment',\n\t\t\t\t'Block vertical alignment setting label'\n\t\t\t) }\n\t\t\tcontrols={ controls.map( ( control ) => {\n\t\t\t\treturn {\n\t\t\t\t\t...BLOCK_ALIGNMENTS_CONTROLS[ control ],\n\t\t\t\t\tisActive: value === control,\n\t\t\t\t\trole: isCollapsed ? 'menuitemradio' : undefined,\n\t\t\t\t\tonClick: applyOrUnset( control ),\n\t\t\t\t};\n\t\t\t} ) }\n\t\t\t{ ...extraProps }\n\t\t/>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-vertical-alignment-toolbar/README.md\n */\nexport default BlockVerticalAlignmentUI;\n","/**\n * Internal dependencies\n */\nimport BlockVerticalAlignmentUI from './ui';\n\nconst BlockVerticalAlignmentControl = ( props ) => {\n\treturn <BlockVerticalAlignmentUI { ...props } isToolbar={ false } />;\n};\n\nconst BlockVerticalAlignmentToolbar = ( props ) => {\n\treturn <BlockVerticalAlignmentUI { ...props } isToolbar />;\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-vertical-alignment-control/README.md\n */\nexport { BlockVerticalAlignmentControl, BlockVerticalAlignmentToolbar };\n","/**\n * WordPress dependencies\n */\nimport { ToolbarDropdownMenu, ToolbarGroup } from '@wordpress/components';\nimport {\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n\tjustifySpaceBetween,\n} from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nconst icons = {\n\tleft: justifyLeft,\n\tcenter: justifyCenter,\n\tright: justifyRight,\n\t'space-between': justifySpaceBetween,\n};\n\nfunction JustifyContentUI( {\n\tallowedControls = [ 'left', 'center', 'right', 'space-between' ],\n\tisCollapsed = true,\n\tonChange,\n\tvalue,\n\tpopoverProps,\n\tisToolbar,\n} ) {\n\t// If the control is already selected we want a click\n\t// again on the control to deselect the item, so we\n\t// call onChange( undefined )\n\tconst handleClick = ( next ) => {\n\t\tif ( next === value ) {\n\t\t\tonChange( undefined );\n\t\t} else {\n\t\t\tonChange( next );\n\t\t}\n\t};\n\n\tconst icon = value ? icons[ value ] : icons.left;\n\tconst allControls = [\n\t\t{\n\t\t\tname: 'left',\n\t\t\ticon: justifyLeft,\n\t\t\ttitle: __( 'Justify items left' ),\n\t\t\tisActive: 'left' === value,\n\t\t\tonClick: () => handleClick( 'left' ),\n\t\t},\n\t\t{\n\t\t\tname: 'center',\n\t\t\ticon: justifyCenter,\n\t\t\ttitle: __( 'Justify items center' ),\n\t\t\tisActive: 'center' === value,\n\t\t\tonClick: () => handleClick( 'center' ),\n\t\t},\n\t\t{\n\t\t\tname: 'right',\n\t\t\ticon: justifyRight,\n\t\t\ttitle: __( 'Justify items right' ),\n\t\t\tisActive: 'right' === value,\n\t\t\tonClick: () => handleClick( 'right' ),\n\t\t},\n\t\t{\n\t\t\tname: 'space-between',\n\t\t\ticon: justifySpaceBetween,\n\t\t\ttitle: __( 'Space between items' ),\n\t\t\tisActive: 'space-between' === value,\n\t\t\tonClick: () => handleClick( 'space-between' ),\n\t\t},\n\t];\n\n\tconst UIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu;\n\tconst extraProps = isToolbar ? { isCollapsed } : {};\n\n\treturn (\n\t\t<UIComponent\n\t\t\ticon={ icon }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tlabel={ __( 'Change items justification' ) }\n\t\t\tcontrols={ allControls.filter( ( elem ) =>\n\t\t\t\tallowedControls.includes( elem.name )\n\t\t\t) }\n\t\t\t{ ...extraProps }\n\t\t/>\n\t);\n}\n\nexport default JustifyContentUI;\n","/**\n * Internal dependencies\n */\nimport JustifyContentUI from './ui';\n\nconst JustifyContentControl = ( props ) => {\n\treturn <JustifyContentUI { ...props } isToolbar={ false } />;\n};\n\nconst JustifyToolbar = ( props ) => {\n\treturn <JustifyContentUI { ...props } isToolbar />;\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/justify-content-control/README.md\n */\nexport { JustifyContentControl, JustifyToolbar };\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n\tjustifySpaceBetween,\n\tarrowRight,\n\tarrowDown,\n} from '@wordpress/icons';\nimport { Button, ToggleControl, Flex, FlexItem } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport useSetting from '../components/use-setting';\nimport {\n\tBlockControls,\n\tJustifyContentControl,\n\tBlockVerticalAlignmentControl,\n} from '../components';\nimport { shouldSkipSerialization } from '../hooks/utils';\n\n// Used with the default, horizontal flex orientation.\nconst justifyContentMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\t'space-between': 'space-between',\n};\n\n// Used with the vertical (column) flex orientation.\nconst alignItemsMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n};\n\nconst verticalAlignmentMap = {\n\ttop: 'flex-start',\n\tcenter: 'center',\n\tbottom: 'flex-end',\n};\n\nconst flexWrapOptions = [ 'wrap', 'nowrap' ];\n\nexport default {\n\tname: 'flex',\n\tlabel: __( 'Flex' ),\n\tinspectorControls: function FlexLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { allowOrientation = true } = layoutBlockSupport;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ allowOrientation && (\n\t\t\t\t\t\t\t<OrientationControl\n\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t\t<FlexWrapControl layout={ layout } onChange={ onChange } />\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function FlexLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t} ) {\n\t\tif ( layoutBlockSupport?.allowSwitching ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { allowVerticalAlignment = true } = layoutBlockSupport;\n\t\treturn (\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tisToolbar\n\t\t\t\t/>\n\t\t\t\t{ allowVerticalAlignment &&\n\t\t\t\t\tlayout?.orientation !== 'vertical' && (\n\t\t\t\t\t\t<FlexLayoutVerticalAlignmentControl\n\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tisToolbar\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t);\n\t},\n\tsave: function FlexLayoutStyle( { selector, layout, style, blockName } ) {\n\t\tconst { orientation = 'horizontal' } = layout;\n\t\tconst blockGapSupport = useSetting( 'spacing.blockGap' );\n\t\tconst hasBlockGapStylesSupport = blockGapSupport !== null;\n\t\t// If a block's block.json skips serialization for spacing or spacing.blockGap,\n\t\t// don't apply the user-defined value to the styles.\n\t\tconst blockGapValue =\n\t\t\tstyle?.spacing?.blockGap &&\n\t\t\t! shouldSkipSerialization( blockName, 'spacing', 'blockGap' )\n\t\t\t\t? getGapCSSValue( style?.spacing?.blockGap, '0.5em' )\n\t\t\t\t: 'var( --wp--style--block-gap, 0.5em )';\n\t\tconst justifyContent =\n\t\t\tjustifyContentMap[ layout.justifyContent ] ||\n\t\t\tjustifyContentMap.left;\n\t\tconst flexWrap = flexWrapOptions.includes( layout.flexWrap )\n\t\t\t? layout.flexWrap\n\t\t\t: 'wrap';\n\t\tconst verticalAlignment =\n\t\t\tverticalAlignmentMap[ layout.verticalAlignment ] ||\n\t\t\tverticalAlignmentMap.center;\n\t\tconst rowOrientation = `\n\t\tflex-direction: row;\n\t\talign-items: ${ verticalAlignment };\n\t\tjustify-content: ${ justifyContent };\n\t\t`;\n\t\tconst alignItems =\n\t\t\talignItemsMap[ layout.justifyContent ] || alignItemsMap.left;\n\t\tconst columnOrientation = `\n\t\tflex-direction: column;\n\t\talign-items: ${ alignItems };\n\t\t`;\n\n\t\treturn (\n\t\t\t<style>{ `\n\t\t\t\t${ appendSelectors( selector ) } {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-wrap: ${ flexWrap };\n\t\t\t\t\tgap: ${ hasBlockGapStylesSupport ? blockGapValue : '0.5em' };\n\t\t\t\t\t${ orientation === 'horizontal' ? rowOrientation : columnOrientation }\n\t\t\t\t}\n\n\t\t\t\t${ appendSelectors( selector, '> *' ) } {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t}\n\t\t\t` }</style>\n\t\t);\n\t},\n\tgetOrientation( layout ) {\n\t\tconst { orientation = 'horizontal' } = layout;\n\t\treturn orientation;\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\nfunction FlexLayoutVerticalAlignmentControl( {\n\tlayout,\n\tonChange,\n\tisToolbar = false,\n} ) {\n\tconst { verticalAlignment = verticalAlignmentMap.center } = layout;\n\n\tconst onVerticalAlignmentChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tverticalAlignment: value,\n\t\t} );\n\t};\n\tif ( isToolbar ) {\n\t\treturn (\n\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\tvalue={ verticalAlignment }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst verticalAlignmentOptions = [\n\t\t{\n\t\t\tvalue: 'flex-start',\n\t\t\tlabel: __( 'Align items top' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\tlabel: __( 'Align items center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'flex-end',\n\t\t\tlabel: __( 'Align items bottom' ),\n\t\t},\n\t];\n\n\treturn (\n\t\t<fieldset className=\"block-editor-hooks__flex-layout-vertical-alignment-control\">\n\t\t\t<legend>{ __( 'Vertical alignment' ) }</legend>\n\t\t\t<div>\n\t\t\t\t{ verticalAlignmentOptions.map( ( value, icon, label ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisPressed={ verticalAlignment === value }\n\t\t\t\t\t\t\tonClick={ () => onVerticalAlignmentChange( value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</fieldset>\n\t);\n}\n\nfunction FlexLayoutJustifyContentControl( {\n\tlayout,\n\tonChange,\n\tisToolbar = false,\n} ) {\n\tconst { justifyContent = 'left', orientation = 'horizontal' } = layout;\n\tconst onJustificationChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tjustifyContent: value,\n\t\t} );\n\t};\n\tconst allowedControls = [ 'left', 'center', 'right' ];\n\tif ( orientation === 'horizontal' ) {\n\t\tallowedControls.push( 'space-between' );\n\t}\n\tif ( isToolbar ) {\n\t\treturn (\n\t\t\t<JustifyContentControl\n\t\t\t\tallowedControls={ allowedControls }\n\t\t\t\tvalue={ justifyContent }\n\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tposition: 'bottom right',\n\t\t\t\t\tisAlternate: true,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst justificationOptions = [\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: justifyLeft,\n\t\t\tlabel: __( 'Justify items left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: justifyCenter,\n\t\t\tlabel: __( 'Justify items center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: justifyRight,\n\t\t\tlabel: __( 'Justify items right' ),\n\t\t},\n\t];\n\tif ( orientation === 'horizontal' ) {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'space-between',\n\t\t\ticon: justifySpaceBetween,\n\t\t\tlabel: __( 'Space between items' ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<fieldset className=\"block-editor-hooks__flex-layout-justification-controls\">\n\t\t\t<legend>{ __( 'Justification' ) }</legend>\n\t\t\t<div>\n\t\t\t\t{ justificationOptions.map( ( { value, icon, label } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisPressed={ justifyContent === value }\n\t\t\t\t\t\t\tonClick={ () => onJustificationChange( value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</fieldset>\n\t);\n}\n\nfunction FlexWrapControl( { layout, onChange } ) {\n\tconst { flexWrap = 'wrap' } = layout;\n\treturn (\n\t\t<ToggleControl\n\t\t\tlabel={ __( 'Allow to wrap to multiple lines' ) }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tonChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tflexWrap: value ? 'wrap' : 'nowrap',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tchecked={ flexWrap === 'wrap' }\n\t\t/>\n\t);\n}\n\nfunction OrientationControl( { layout, onChange } ) {\n\tconst { orientation = 'horizontal' } = layout;\n\treturn (\n\t\t<fieldset className=\"block-editor-hooks__flex-layout-orientation-controls\">\n\t\t\t<legend>{ __( 'Orientation' ) }</legend>\n\t\t\t<Button\n\t\t\t\tlabel={ 'horizontal' }\n\t\t\t\ticon={ arrowRight }\n\t\t\t\tisPressed={ orientation === 'horizontal' }\n\t\t\t\tonClick={ () =>\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\torientation: 'horizontal',\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tlabel={ 'vertical' }\n\t\t\t\ticon={ arrowDown }\n\t\t\t\tisPressed={ orientation === 'vertical' }\n\t\t\t\tonClick={ () =>\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\torientation: 'vertical',\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t</fieldset>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { cloneElement } from '@wordpress/element';\n\n/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */\n\n/**\n * Return an SVG icon.\n *\n * @param {IconProps} props icon is the SVG component to render\n * size is a number specifiying the icon size in pixels\n * Other props will be passed to wrapped SVG component\n *\n * @return {JSX.Element} Icon component\n */\nfunction Icon( { icon, size = 24, ...props } ) {\n\treturn cloneElement( icon, {\n\t\twidth: size,\n\t\theight: size,\n\t\t...props,\n\t} );\n}\n\nexport default Icon;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst positionCenter = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M7 9v6h10V9H7zM5 19.8h14v-1.5H5v1.5zM5 4.3v1.5h14V4.3H5z\" />\n\t</SVG>\n);\n\nexport default positionCenter;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst stretchWide = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M5 9v6h14V9H5zm11-4.8H8v1.5h8V4.2zM8 19.8h8v-1.5H8v1.5z\" />\n\t</SVG>\n);\n\nexport default stretchWide;\n","/**\n * Internal dependencies\n */\nimport flex from './flex';\nimport flow from './flow';\n\nconst layoutTypes = [ flow, flex ];\n\n/**\n * Retrieves a layout type by name.\n *\n * @param {string} name - The name of the layout type.\n * @return {Object} Layout type.\n */\nexport function getLayoutType( name = 'default' ) {\n\treturn layoutTypes.find( ( layoutType ) => layoutType.name === name );\n}\n\n/**\n * Retrieves the available layout types.\n *\n * @return {Array} Layout types.\n */\nexport function getLayoutTypes() {\n\treturn layoutTypes;\n}\n","/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Icon, positionCenter, stretchWide } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../components/use-setting';\nimport { appendSelectors } from './utils';\nimport { getGapBoxControlValueFromStyle } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\n\nexport default {\n\tname: 'default',\n\tlabel: __( 'Flow' ),\n\tinspectorControls: function DefaultLayoutInspectorControls( {\n\t\tlayout,\n\t\tonChange,\n\t} ) {\n\t\tconst { wideSize, contentSize } = layout;\n\t\tconst units = useCustomUnits( {\n\t\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t\t'%',\n\t\t\t\t'px',\n\t\t\t\t'em',\n\t\t\t\t'rem',\n\t\t\t\t'vw',\n\t\t\t],\n\t\t} );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-hooks__layout-controls\">\n\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Content' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ contentSize || wideSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\tcontentSize: nextWidth,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Icon icon={ positionCenter } />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Wide' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ wideSize || contentSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\twideSize: nextWidth,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"block-editor-hooks__layout-controls-reset\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tisSmall\n\t\t\t\t\t\tdisabled={ ! contentSize && ! wideSize }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\tcontentSize: undefined,\n\t\t\t\t\t\t\t\twideSize: undefined,\n\t\t\t\t\t\t\t\tinherit: false,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\n\t\t\t\t<p className=\"block-editor-hooks__layout-controls-helptext\">\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Customize the width for all elements that are assigned to the center or wide columns.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tsave: function DefaultLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tstyle,\n\t\tblockName,\n\t} ) {\n\t\tconst { contentSize, wideSize } = layout;\n\t\tconst blockGapSupport = useSetting( 'spacing.blockGap' );\n\t\tconst hasBlockGapStylesSupport = blockGapSupport !== null;\n\t\tconst blockGapStyleValue = getGapBoxControlValueFromStyle(\n\t\t\tstyle?.spacing?.blockGap\n\t\t);\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tconst blockGapValue =\n\t\t\tblockGapStyleValue?.top &&\n\t\t\t! shouldSkipSerialization( blockName, 'spacing', 'blockGap' )\n\t\t\t\t? blockGapStyleValue?.top\n\t\t\t\t: 'var( --wp--style--block-gap )';\n\n\t\tlet output =\n\t\t\t!! contentSize || !! wideSize\n\t\t\t\t? `\n\t\t\t\t\t${ appendSelectors(\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright))'\n\t\t\t\t\t) } {\n\t\t\t\t\t\tmax-width: ${ contentSize ?? wideSize };\n\t\t\t\t\t\tmargin-left: auto !important;\n\t\t\t\t\t\tmargin-right: auto !important;\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignwide' ) } {\n\t\t\t\t\t\tmax-width: ${ wideSize ?? contentSize };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t`\n\t\t\t\t: '';\n\n\t\toutput += `\n\t\t\t${ appendSelectors( selector, '> .alignleft' ) } {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-inline-start: 0;\n\t\t\t\tmargin-inline-end: 2em;\n\t\t\t}\n\t\t\t${ appendSelectors( selector, '> .alignright' ) } {\n\t\t\t\tfloat: right;\n\t\t\t\tmargin-inline-start: 2em;\n\t\t\t\tmargin-inline-end: 0;\n\t\t\t}\n\n\t\t\t${ appendSelectors( selector, '> .aligncenter' ) } {\n\t\t\t\tmargin-left: auto !important;\n\t\t\t\tmargin-right: auto !important;\n\t\t\t}\n\t\t`;\n\n\t\tif ( hasBlockGapStylesSupport ) {\n\t\t\toutput += `\n\t\t\t\t${ appendSelectors( selector, '> *' ) } {\n\t\t\t\t\tmargin-block-start: 0;\n\t\t\t\t\tmargin-block-end: 0;\n\t\t\t\t}\n\t\t\t\t${ appendSelectors( selector, '> * + *' ) } {\n\t\t\t\t\tmargin-block-start: ${ blockGapValue };\n\t\t\t\t}\n\t\t\t`;\n\t\t}\n\n\t\treturn <style>{ output }</style>;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\t\tconst { contentSize, wideSize } = layout;\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\tif ( contentSize ) {\n\t\t\talignments.unshift( { name: 'full' } );\n\t\t}\n\n\t\tif ( wideSize ) {\n\t\t\talignments.unshift( { name: 'wide', info: alignmentInfo.wide } );\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n\n/**\n * Helper method to assign contextual info to clarify\n * alignment settings.\n *\n * Besides checking if `contentSize` and `wideSize` have a\n * value, we now show this information only if their values\n * are not a `css var`. This needs to change when parsing\n * css variables land.\n *\n * @see https://github.com/WordPress/gutenberg/pull/34710#issuecomment-918000752\n *\n * @param {Object} layout The layout object.\n * @return {Object} An object with contextual info per alignment.\n */\nfunction getAlignmentsInfo( layout ) {\n\tconst { contentSize, wideSize } = layout;\n\tconst alignmentInfo = {};\n\tconst sizeRegex = /^(?!0)\\d+(px|em|rem|vw|vh|%)?$/i;\n\tif ( sizeRegex.test( contentSize ) ) {\n\t\t// translators: %s: container size (i.e. 600px etc)\n\t\talignmentInfo.none = sprintf( __( 'Max %s wide' ), contentSize );\n\t}\n\tif ( sizeRegex.test( wideSize ) ) {\n\t\t// translators: %s: container size (i.e. 600px etc)\n\t\talignmentInfo.wide = sprintf( __( 'Max %s wide' ), wideSize );\n\t}\n\treturn alignmentInfo;\n}\n","/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getLayoutType } from '../../layouts';\n\nexport const defaultLayout = { type: 'default' };\n\nconst Layout = createContext( defaultLayout );\n\n/**\n * Allows to define the layout.\n */\nexport const LayoutProvider = Layout.Provider;\n\n/**\n * React hook used to retrieve the layout config.\n */\nexport function useLayout() {\n\treturn useContext( Layout );\n}\n\nexport function LayoutStyle( { layout = {}, ...props } ) {\n\tconst layoutType = getLayoutType( layout.type );\n\n\tif ( layoutType ) {\n\t\treturn <layoutType.save layout={ layout } { ...props } />;\n\t}\n\n\treturn null;\n}\n","/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useLayout } from '../block-list/layout';\nimport { store as blockEditorStore } from '../../store';\nimport { getLayoutType } from '../../layouts';\n\nconst DEFAULT_CONTROLS = [ 'none', 'left', 'center', 'right', 'wide', 'full' ];\nconst WIDE_CONTROLS = [ 'wide', 'full' ];\n\nexport default function useAvailableAlignments( controls = DEFAULT_CONTROLS ) {\n\t// Always add the `none` option if not exists.\n\tif ( ! controls.includes( 'none' ) ) {\n\t\tcontrols = [ 'none', ...controls ];\n\t}\n\tconst { wideControlsEnabled = false, themeSupportsLayout } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\tconst settings = getSettings();\n\t\t\treturn {\n\t\t\t\twideControlsEnabled: settings.alignWide,\n\t\t\t\tthemeSupportsLayout: settings.supportsLayout,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst layout = useLayout();\n\tconst layoutType = getLayoutType( layout?.type );\n\tconst layoutAlignments = layoutType.getAlignments( layout );\n\n\tif ( themeSupportsLayout ) {\n\t\tconst alignments = layoutAlignments.filter(\n\t\t\t( { name: alignmentName } ) => controls.includes( alignmentName )\n\t\t);\n\t\t// While we treat `none` as an alignment, we shouldn't return it if no\n\t\t// other alignments exist.\n\t\tif ( alignments.length === 1 && alignments[ 0 ].name === 'none' ) {\n\t\t\treturn [];\n\t\t}\n\t\treturn alignments;\n\t}\n\n\t// Starting here, it's the fallback for themes not supporting the layout config.\n\tif ( layoutType.name !== 'default' ) {\n\t\treturn [];\n\t}\n\tconst { alignments: availableAlignments = DEFAULT_CONTROLS } = layout;\n\tconst enabledControls = controls\n\t\t.filter(\n\t\t\t( control ) =>\n\t\t\t\t( layout.alignments || // Ignore the global wideAlignment check if the layout explicitely defines alignments.\n\t\t\t\t\twideControlsEnabled ||\n\t\t\t\t\t! WIDE_CONTROLS.includes( control ) ) &&\n\t\t\t\tavailableAlignments.includes( control )\n\t\t)\n\t\t.map( ( enabledControl ) => ( { name: enabledControl } ) );\n\n\t// While we treat `none` as an alignment, we shouldn't return it if no\n\t// other alignments exist.\n\tif (\n\t\tenabledControls.length === 1 &&\n\t\tenabledControls[ 0 ].name === 'none'\n\t) {\n\t\treturn [];\n\t}\n\n\treturn enabledControls;\n}\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst alignNone = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M5 15h14V9H5v6zm0 4.8h14v-1.5H5v1.5zM5 4.2v1.5h14V4.2H5z\" />\n\t</SVG>\n);\n\nexport default alignNone;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst positionLeft = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M4 9v6h14V9H4zm8-4.8H4v1.5h8V4.2zM4 19.8h8v-1.5H4v1.5z\" />\n\t</SVG>\n);\n\nexport default positionLeft;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst positionRight = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M6 15h14V9H6v6zm6-10.8v1.5h8V4.2h-8zm0 15.6h8v-1.5h-8v1.5z\" />\n\t</SVG>\n);\n\nexport default positionRight;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst stretchFullWidth = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M5 4v11h14V4H5zm3 15.8h8v-1.5H8v1.5z\" />\n\t</SVG>\n);\n\nexport default stretchFullWidth;\n","/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\talignNone,\n\tpositionCenter,\n\tpositionLeft,\n\tpositionRight,\n\tstretchFullWidth,\n\tstretchWide,\n} from '@wordpress/icons';\n\nexport const BLOCK_ALIGNMENTS_CONTROLS = {\n\tnone: {\n\t\ticon: alignNone,\n\t\ttitle: _x( 'None', 'Alignment option' ),\n\t},\n\tleft: {\n\t\ticon: positionLeft,\n\t\ttitle: __( 'Align left' ),\n\t},\n\tcenter: {\n\t\ticon: positionCenter,\n\t\ttitle: __( 'Align center' ),\n\t},\n\tright: {\n\t\ticon: positionRight,\n\t\ttitle: __( 'Align right' ),\n\t},\n\twide: {\n\t\ticon: stretchWide,\n\t\ttitle: __( 'Wide width' ),\n\t},\n\tfull: {\n\t\ticon: stretchFullWidth,\n\t\ttitle: __( 'Full width' ),\n\t},\n};\n\nexport const DEFAULT_CONTROL = 'none';\n\nexport const POPOVER_PROPS = {\n\tisAlternate: true,\n};\n","/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useAvailableAlignments from './use-available-alignments';\nimport {\n\tBLOCK_ALIGNMENTS_CONTROLS,\n\tDEFAULT_CONTROL,\n\tPOPOVER_PROPS,\n} from './constants';\n\nfunction BlockAlignmentUI( {\n\tvalue,\n\tonChange,\n\tcontrols,\n\tisToolbar,\n\tisCollapsed = true,\n} ) {\n\tconst enabledControls = useAvailableAlignments( controls );\n\tconst hasEnabledControls = !! enabledControls.length;\n\n\tif ( ! hasEnabledControls ) {\n\t\treturn null;\n\t}\n\n\tfunction onChangeAlignment( align ) {\n\t\tonChange( [ value, 'none' ].includes( align ) ? undefined : align );\n\t}\n\n\tconst activeAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[ value ];\n\tconst defaultAlignmentControl =\n\t\tBLOCK_ALIGNMENTS_CONTROLS[ DEFAULT_CONTROL ];\n\n\tconst UIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu;\n\tconst commonProps = {\n\t\tpopoverProps: POPOVER_PROPS,\n\t\ticon: activeAlignmentControl\n\t\t\t? activeAlignmentControl.icon\n\t\t\t: defaultAlignmentControl.icon,\n\t\tlabel: __( 'Align' ),\n\t\ttoggleProps: { describedBy: __( 'Change alignment' ) },\n\t};\n\tconst extraProps = isToolbar\n\t\t? {\n\t\t\t\tisCollapsed,\n\t\t\t\tcontrols: enabledControls.map( ( { name: controlName } ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...BLOCK_ALIGNMENTS_CONTROLS[ controlName ],\n\t\t\t\t\t\tisActive:\n\t\t\t\t\t\t\tvalue === controlName ||\n\t\t\t\t\t\t\t( ! value && controlName === 'none' ),\n\t\t\t\t\t\trole: isCollapsed ? 'menuitemradio' : undefined,\n\t\t\t\t\t\tonClick: () => onChangeAlignment( controlName ),\n\t\t\t\t\t};\n\t\t\t\t} ),\n\t\t }\n\t\t: {\n\t\t\t\tchildren: ( { onClose } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuGroup className=\"block-editor-block-alignment-control__menu-group\">\n\t\t\t\t\t\t\t\t{ enabledControls.map(\n\t\t\t\t\t\t\t\t\t( { name: controlName, info } ) => {\n\t\t\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\t\t\ticon,\n\t\t\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\t\t} = BLOCK_ALIGNMENTS_CONTROLS[\n\t\t\t\t\t\t\t\t\t\t\tcontrolName\n\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t// If no value is provided, mark as selected the `none` option.\n\t\t\t\t\t\t\t\t\t\tconst isSelected =\n\t\t\t\t\t\t\t\t\t\t\tcontrolName === value ||\n\t\t\t\t\t\t\t\t\t\t\t( ! value &&\n\t\t\t\t\t\t\t\t\t\t\t\tcontrolName === 'none' );\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ controlName }\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={ classNames(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'is-active': isSelected,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeAlignment(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrolName\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t\t\tinfo={ info }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t };\n\n\treturn <UIComponent { ...commonProps } { ...extraProps } />;\n}\n\nexport default BlockAlignmentUI;\n","/**\n * Internal dependencies\n */\nimport BlockAlignmentUI from './ui';\n\nconst BlockAlignmentControl = ( props ) => {\n\treturn <BlockAlignmentUI { ...props } isToolbar={ false } />;\n};\n\nconst BlockAlignmentToolbar = ( props ) => {\n\treturn <BlockAlignmentUI { ...props } isToolbar />;\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-alignment-control/README.md\n */\nexport { BlockAlignmentControl, BlockAlignmentToolbar };\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { has, without } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { BlockControls, BlockAlignmentControl } from '../components';\nimport useAvailableAlignments from '../components/block-alignment-control/use-available-alignments';\n\n/**\n * An array which includes all possible valid alignments,\n * used to validate if an alignment is valid or not.\n *\n * @constant\n * @type {string[]}\n */\nconst ALL_ALIGNMENTS = [ 'left', 'center', 'right', 'wide', 'full' ];\n\n/**\n * An array which includes all wide alignments.\n * In order for this alignments to be valid they need to be supported by the block,\n * and by the theme.\n *\n * @constant\n * @type {string[]}\n */\nconst WIDE_ALIGNMENTS = [ 'wide', 'full' ];\n\n/**\n * Returns the valid alignments.\n * Takes into consideration the aligns supported by a block, if the block supports wide controls or not and if theme supports wide controls or not.\n * Exported just for testing purposes, not exported outside the module.\n *\n * @param {?boolean|string[]} blockAlign Aligns supported by the block.\n * @param {?boolean} hasWideBlockSupport True if block supports wide alignments. And False otherwise.\n * @param {?boolean} hasWideEnabled True if theme supports wide alignments. And False otherwise.\n *\n * @return {string[]} Valid alignments.\n */\nexport function getValidAlignments(\n\tblockAlign,\n\thasWideBlockSupport = true,\n\thasWideEnabled = true\n) {\n\tlet validAlignments;\n\tif ( Array.isArray( blockAlign ) ) {\n\t\tvalidAlignments = ALL_ALIGNMENTS.filter( ( value ) =>\n\t\t\tblockAlign.includes( value )\n\t\t);\n\t} else if ( blockAlign === true ) {\n\t\t// `true` includes all alignments...\n\t\tvalidAlignments = [ ...ALL_ALIGNMENTS ];\n\t} else {\n\t\tvalidAlignments = [];\n\t}\n\n\tif (\n\t\t! hasWideEnabled ||\n\t\t( blockAlign === true && ! hasWideBlockSupport )\n\t) {\n\t\treturn without( validAlignments, ...WIDE_ALIGNMENTS );\n\t}\n\n\treturn validAlignments;\n}\n\n/**\n * Filters registered block settings, extending attributes to include `align`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( has( settings.attributes, [ 'align', 'type' ] ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'align' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\t// Allow for '' since it is used by updateAlignment function\n\t\t\t\t// in withToolbarControls for special cases with defined default values.\n\t\t\t\tenum: [ ...ALL_ALIGNMENTS, '' ],\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include new toolbar controls for block\n * alignment, if block defines support.\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withToolbarControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst { name: blockName } = props;\n\t\t// Compute the block valid alignments by taking into account,\n\t\t// if the theme supports wide alignments or not and the layout's\n\t\t// availble alignments. We do that for conditionally rendering\n\t\t// Slot.\n\t\tconst blockAllowedAlignments = getValidAlignments(\n\t\t\tgetBlockSupport( blockName, 'align' ),\n\t\t\thasBlockSupport( blockName, 'alignWide', true )\n\t\t);\n\n\t\tconst validAlignments = useAvailableAlignments(\n\t\t\tblockAllowedAlignments\n\t\t).map( ( { name } ) => name );\n\n\t\tconst updateAlignment = ( nextAlign ) => {\n\t\t\tif ( ! nextAlign ) {\n\t\t\t\tconst blockType = getBlockType( props.name );\n\t\t\t\tconst blockDefaultAlign = blockType?.attributes?.align?.default;\n\t\t\t\tif ( blockDefaultAlign ) {\n\t\t\t\t\tnextAlign = '';\n\t\t\t\t}\n\t\t\t}\n\t\t\tprops.setAttributes( { align: nextAlign } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ !! validAlignments.length && (\n\t\t\t\t\t<BlockControls\n\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t__experimentalShareWithChildBlocks\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\t\tvalue={ props.attributes.align }\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tcontrols={ validAlignments }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t</>\n\t\t);\n\t},\n\t'withToolbarControls'\n);\n\n/**\n * Override the default block element to add alignment wrapper props.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withDataAlign = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst { name, attributes } = props;\n\t\tconst { align } = attributes;\n\t\tconst blockAllowedAlignments = getValidAlignments(\n\t\t\tgetBlockSupport( name, 'align' ),\n\t\t\thasBlockSupport( name, 'alignWide', true )\n\t\t);\n\t\tconst validAlignments = useAvailableAlignments(\n\t\t\tblockAllowedAlignments\n\t\t);\n\n\t\t// If an alignment is not assigned, there's no need to go through the\n\t\t// effort to validate or assign its value.\n\t\tif ( align === undefined ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\tlet wrapperProps = props.wrapperProps;\n\t\tif (\n\t\t\tvalidAlignments.some( ( alignment ) => alignment.name === align )\n\t\t) {\n\t\t\twrapperProps = { ...wrapperProps, 'data-align': align };\n\t\t}\n\n\t\treturn <BlockListBlock { ...props } wrapperProps={ wrapperProps } />;\n\t}\n);\n\n/**\n * Override props assigned to save component to inject alignment class name if\n * block supports it.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addAssignedAlign( props, blockType, attributes ) {\n\tconst { align } = attributes;\n\tconst blockAlign = getBlockSupport( blockType, 'align' );\n\tconst hasWideBlockSupport = hasBlockSupport( blockType, 'alignWide', true );\n\n\t// Compute valid alignments without taking into account if\n\t// the theme supports wide alignments or not.\n\t// This way changing themes does not impact the block save.\n\tconst isAlignValid = getValidAlignments(\n\t\tblockAlign,\n\t\thasWideBlockSupport\n\t).includes( align );\n\tif ( isAlignValid ) {\n\t\tprops.className = classnames( `align${ align }`, props.className );\n\t}\n\n\treturn props;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/align/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/align/with-data-align',\n\twithDataAlign\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/align/with-toolbar-controls',\n\twithToolbarControls\n);\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/align/addAssignedAlign',\n\taddAssignedAlign\n);\n","/**\n * External dependencies\n */\nimport { has } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Filters registered block settings, extending attributes to include `lock`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( has( settings.attributes, [ 'lock', 'type' ] ) ) {\n\t\treturn settings;\n\t}\n\t// Gracefully handle if settings.attributes is undefined.\n\tsettings.attributes = {\n\t\t...settings.attributes,\n\t\tlock: {\n\t\t\ttype: 'object',\n\t\t},\n\t};\n\n\treturn settings;\n}\n\naddFilter( 'blocks.registerBlockType', 'core/lock/addAttribute', addAttribute );\n","/**\n * External dependencies\n */\nimport { has } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { PanelBody, TextControl, ExternalLink } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\n\n/**\n * Regular expression matching invalid anchor characters for replacement.\n *\n * @type {RegExp}\n */\nconst ANCHOR_REGEX = /[\\s#]/g;\n\nconst ANCHOR_SCHEMA = {\n\ttype: 'string',\n\tsource: 'attribute',\n\tattribute: 'id',\n\tselector: '*',\n};\n\n/**\n * Filters registered block settings, extending attributes with anchor using ID\n * of the first node.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( has( settings.attributes, [ 'anchor', 'type' ] ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'anchor' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tanchor: ANCHOR_SCHEMA,\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning the anchor ID, if block supports anchor.\n *\n * @param {WPComponent} BlockEdit Original component.\n *\n * @return {WPComponent} Wrapped component.\n */\nexport const withInspectorControl = createHigherOrderComponent(\n\t( BlockEdit ) => {\n\t\treturn ( props ) => {\n\t\t\tconst hasAnchor = hasBlockSupport( props.name, 'anchor' );\n\n\t\t\tif ( hasAnchor && props.isSelected ) {\n\t\t\t\tconst isWeb = Platform.OS === 'web';\n\t\t\t\tconst textControl = (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tclassName=\"html-anchor-control\"\n\t\t\t\t\t\tlabel={ __( 'HTML anchor' ) }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.'\n\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t\t{ isWeb && (\n\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/support/article/page-jumps/'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Learn more about anchors' ) }\n\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ props.attributes.anchor || '' }\n\t\t\t\t\t\tplaceholder={ ! isWeb ? __( 'Add an anchor' ) : null }\n\t\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\t\tnextValue = nextValue.replace( ANCHOR_REGEX, '-' );\n\t\t\t\t\t\t\tprops.setAttributes( {\n\t\t\t\t\t\t\t\tanchor: nextValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t\t\t{ isWeb && (\n\t\t\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t\t\t{ textControl }\n\t\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t * We plan to remove scoping anchors to 'core/heading' to support\n\t\t\t\t\t\t * anchors for all eligble blocks. Additionally we plan to explore\n\t\t\t\t\t\t * leveraging InspectorAdvancedControls instead of a custom\n\t\t\t\t\t\t * PanelBody title. https://git.io/Jtcov\n\t\t\t\t\t\t */ }\n\t\t\t\t\t\t{ ! isWeb && props.name === 'core/heading' && (\n\t\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t\t<PanelBody title={ __( 'Heading settings' ) }>\n\t\t\t\t\t\t\t\t\t{ textControl }\n\t\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn <BlockEdit { ...props } />;\n\t\t};\n\t},\n\t'withInspectorControl'\n);\n\n/**\n * Override props assigned to save component to inject anchor ID, if block\n * supports anchor. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Current block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( extraProps, blockType, attributes ) {\n\tif ( hasBlockSupport( blockType, 'anchor' ) ) {\n\t\textraProps.id = attributes.anchor === '' ? null : attributes.anchor;\n\t}\n\n\treturn extraProps;\n}\n\naddFilter( 'blocks.registerBlockType', 'core/anchor/attribute', addAttribute );\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/anchor/with-inspector-control',\n\twithInspectorControl\n);\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/anchor/save-props',\n\taddSaveProps\n);\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { TextControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\n\n/**\n * Filters registered block settings, extending attributes with anchor using ID\n * of the first node.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( hasBlockSupport( settings, 'customClassName', true ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tclassName: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning the custom class name, if block supports custom class name.\n *\n * @param {WPComponent} BlockEdit Original component.\n *\n * @return {WPComponent} Wrapped component.\n */\nexport const withInspectorControl = createHigherOrderComponent(\n\t( BlockEdit ) => {\n\t\treturn ( props ) => {\n\t\t\tconst hasCustomClassName = hasBlockSupport(\n\t\t\t\tprops.name,\n\t\t\t\t'customClassName',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tif ( hasCustomClassName && props.isSelected ) {\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Additional CSS class(es)' ) }\n\t\t\t\t\t\t\t\tvalue={ props.attributes.className || '' }\n\t\t\t\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\t\t\t\tprops.setAttributes( {\n\t\t\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\t\tnextValue !== ''\n\t\t\t\t\t\t\t\t\t\t\t\t? nextValue\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Separate multiple classes with spaces.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn <BlockEdit { ...props } />;\n\t\t};\n\t},\n\t'withInspectorControl'\n);\n\n/**\n * Override props assigned to save component to inject anchor ID, if block\n * supports anchor. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Current block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( extraProps, blockType, attributes ) {\n\tif (\n\t\thasBlockSupport( blockType, 'customClassName', true ) &&\n\t\tattributes.className\n\t) {\n\t\textraProps.className = classnames(\n\t\t\textraProps.className,\n\t\t\tattributes.className\n\t\t);\n\t}\n\n\treturn extraProps;\n}\n\nexport function addTransforms( result, source, index, results ) {\n\tif ( ! hasBlockSupport( result.name, 'customClassName', true ) ) {\n\t\treturn result;\n\t}\n\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the class should not be kept.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\n\t// If we are transforming one block to multiple blocks or multiple blocks to one block,\n\t// we ignore the class during the transform.\n\tif (\n\t\t( results.length === 1 && source.length > 1 ) ||\n\t\t( results.length > 1 && source.length === 1 )\n\t) {\n\t\treturn result;\n\t}\n\n\t// If we are in presence of transform between one or more block in the source\n\t// that have one or more blocks in the result\n\t// we apply the class on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( source[ index ] ) {\n\t\tconst originClassName = source[ index ]?.attributes.className;\n\t\tif ( originClassName ) {\n\t\t\treturn {\n\t\t\t\t...result,\n\t\t\t\tattributes: {\n\t\t\t\t\t...result.attributes,\n\t\t\t\t\tclassName: originClassName,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t}\n\treturn result;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/custom-class-name/attribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/custom-class-name/with-inspector-control',\n\twithInspectorControl\n);\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/custom-class-name/save-props',\n\taddSaveProps\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/color/addTransforms',\n\taddTransforms\n);\n","/**\n * External dependencies\n */\nimport { get, upperFirst } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport type { GeneratedCSSRule, Style, Box, StyleOptions } from '../types';\n\nexport function generateBoxRules(\n\tstyle: Style,\n\toptions: StyleOptions,\n\tpath: string[],\n\truleKey: string\n): GeneratedCSSRule[] {\n\tconst boxStyle: Box | string | undefined = get( style, path );\n\tif ( ! boxStyle ) {\n\t\treturn [];\n\t}\n\n\tconst rules: GeneratedCSSRule[] = [];\n\tif ( typeof boxStyle === 'string' ) {\n\t\trules.push( {\n\t\t\tselector: options.selector,\n\t\t\tkey: ruleKey,\n\t\t\tvalue: boxStyle,\n\t\t} );\n\t} else {\n\t\tconst sideRules = [ 'top', 'right', 'bottom', 'left' ].reduce(\n\t\t\t( acc: GeneratedCSSRule[], side: string ) => {\n\t\t\t\tconst value: string | undefined = get( boxStyle, [ side ] );\n\t\t\t\tif ( value ) {\n\t\t\t\t\tacc.push( {\n\t\t\t\t\t\tselector: options.selector,\n\t\t\t\t\t\tkey: `${ ruleKey }${ upperFirst( side ) }`,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\trules.push( ...sideRules );\n\t}\n\n\treturn rules;\n}\n","/**\n * External dependencies\n */\nimport { uniq } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport, getBlockDefaultClassName } from '@wordpress/blocks';\n\n/**\n * Override props assigned to save component to inject generated className if\n * block supports it. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addGeneratedClassName( extraProps, blockType ) {\n\t// Adding the generated className.\n\tif ( hasBlockSupport( blockType, 'className', true ) ) {\n\t\tif ( typeof extraProps.className === 'string' ) {\n\t\t\t// We have some extra classes and want to add the default classname\n\t\t\t// We use uniq to prevent duplicate classnames.\n\n\t\t\textraProps.className = uniq( [\n\t\t\t\tgetBlockDefaultClassName( blockType.name ),\n\t\t\t\t...extraProps.className.split( ' ' ),\n\t\t\t] )\n\t\t\t\t.join( ' ' )\n\t\t\t\t.trim();\n\t\t} else {\n\t\t\t// There is no string in the className variable,\n\t\t\t// so we just dump the default name in there.\n\t\t\textraProps.className = getBlockDefaultClassName( blockType.name );\n\t\t}\n\t}\n\treturn extraProps;\n}\n\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/generated-class-name/save-props',\n\taddGeneratedClassName\n);\n","/**\n * Internal dependencies\n */\nimport padding from './padding';\nimport margin from './margin';\n\nexport const styleDefinitions = [ margin, padding ];\n","/**\n * Internal dependencies\n */\nimport type { Style, StyleOptions } from '../types';\nimport { generateBoxRules } from './utils';\n\nconst margin = {\n\tname: 'margin',\n\tgenerate: ( style: Style, options: StyleOptions ) => {\n\t\treturn generateBoxRules(\n\t\t\tstyle,\n\t\t\toptions,\n\t\t\t[ 'spacing', 'margin' ],\n\t\t\t'margin'\n\t\t);\n\t},\n};\n\nexport default margin;\n","/**\n * Internal dependencies\n */\nimport type { Style, StyleOptions } from '../types';\nimport { generateBoxRules } from './utils';\n\nconst padding = {\n\tname: 'padding',\n\tgenerate: ( style: Style, options: StyleOptions ) => {\n\t\treturn generateBoxRules(\n\t\t\tstyle,\n\t\t\toptions,\n\t\t\t[ 'spacing', 'padding' ],\n\t\t\t'padding'\n\t\t);\n\t},\n};\n\nexport default padding;\n","/**\n * External dependencies\n */\nimport { groupBy, kebabCase } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tStyle,\n\tStyleOptions,\n\tGeneratedCSSRule,\n\tStyleDefinition,\n} from './types';\nimport { styleDefinitions } from './styles';\n\n/**\n * Generates a stylesheet for a given style object and selector.\n *\n * @param style Style object.\n * @param options Options object with settings to adjust how the styles are generated.\n *\n * @return generated stylesheet.\n */\nexport function generate( style: Style, options: StyleOptions ): string {\n\tconst rules = getCSSRules( style, options );\n\tconst groupedRules = groupBy( rules, 'selector' );\n\tconst selectorRules = Object.keys( groupedRules ).reduce(\n\t\t( acc: string[], subSelector: string ) => {\n\t\t\tacc.push(\n\t\t\t\t`${ subSelector } { ${ groupedRules[ subSelector ]\n\t\t\t\t\t.map(\n\t\t\t\t\t\t( rule: GeneratedCSSRule ) =>\n\t\t\t\t\t\t\t`${ kebabCase( rule.key ) }: ${ rule.value };`\n\t\t\t\t\t)\n\t\t\t\t\t.join( ' ' ) } }`\n\t\t\t);\n\t\t\treturn acc;\n\t\t},\n\t\t[]\n\t);\n\n\treturn selectorRules.join( '\\n' );\n}\n\n/**\n * Returns a JSON representation of the generated CSS rules.\n *\n * @param style Style object.\n * @param options Options object with settings to adjust how the styles are generated.\n *\n * @return generated styles.\n */\nexport function getCSSRules(\n\tstyle: Style,\n\toptions: StyleOptions\n): GeneratedCSSRule[] {\n\tconst rules: GeneratedCSSRule[] = [];\n\tstyleDefinitions.forEach( ( definition: StyleDefinition ) => {\n\t\trules.push( ...definition.generate( style, options ) );\n\t} );\n\n\treturn rules;\n}\n","/**\n * WordPress dependencies\n */\nimport { createContext, useContext, useMemo } from '@wordpress/element';\n\n/** @typedef {import('react').ReactNode} ReactNode */\n\n/**\n * @typedef BlockContextProviderProps\n *\n * @property {Record<string,*>} value Context value to merge with current\n * value.\n * @property {ReactNode} children Component children.\n */\n\n/** @type {import('react').Context<Record<string,*>>} */\nconst Context = createContext( {} );\n\n/**\n * Component which merges passed value with current consumed block context.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-context/README.md\n *\n * @param {BlockContextProviderProps} props\n */\nexport function BlockContextProvider( { value, children } ) {\n\tconst context = useContext( Context );\n\tconst nextValue = useMemo( () => ( { ...context, ...value } ), [\n\t\tcontext,\n\t\tvalue,\n\t] );\n\n\treturn <Context.Provider value={ nextValue } children={ children } />;\n}\n\nexport default Context;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withFilters } from '@wordpress/components';\nimport {\n\tgetBlockDefaultClassName,\n\thasBlockSupport,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockContext from '../block-context';\n\n/**\n * Default value used for blocks which do not define their own context needs,\n * used to guarantee that a block's `context` prop will always be an object. It\n * is assigned as a constant since it is always expected to be an empty object,\n * and in order to avoid unnecessary React reconciliations of a changing object.\n *\n * @type {{}}\n */\nconst DEFAULT_BLOCK_CONTEXT = {};\n\nexport const Edit = ( props ) => {\n\tconst { attributes = {}, name } = props;\n\tconst blockType = getBlockType( name );\n\tconst blockContext = useContext( BlockContext );\n\n\t// Assign context values using the block type's declared context needs.\n\tconst context = useMemo( () => {\n\t\treturn blockType && blockType.usesContext\n\t\t\t? pick( blockContext, blockType.usesContext )\n\t\t\t: DEFAULT_BLOCK_CONTEXT;\n\t}, [ blockType, blockContext ] );\n\n\tif ( ! blockType ) {\n\t\treturn null;\n\t}\n\n\t// `edit` and `save` are functions or components describing the markup\n\t// with which a block is displayed. If `blockType` is valid, assign\n\t// them preferentially as the render value for the block.\n\tconst Component = blockType.edit || blockType.save;\n\n\tif ( blockType.apiVersion > 1 ) {\n\t\treturn <Component { ...props } context={ context } />;\n\t}\n\n\t// Generate a class name for the block's editable form.\n\tconst generatedClassName = hasBlockSupport( blockType, 'className', true )\n\t\t? getBlockDefaultClassName( name )\n\t\t: null;\n\tconst className = classnames( generatedClassName, attributes.className );\n\n\treturn (\n\t\t<Component { ...props } context={ context } className={ className } />\n\t);\n};\n\nexport default withFilters( 'editor.BlockEdit' )( Edit );\n","/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Edit from './edit';\nimport { BlockEditContextProvider, useBlockEditContext } from './context';\n\n/**\n * The `useBlockEditContext` hook provides information about the block this hook is being used in.\n * It returns an object with the `name`, `isSelected` state, and the `clientId` of the block.\n * It is useful if you want to create custom hooks that need access to the current blocks clientId\n * but don't want to rely on the data getting passed in as a parameter.\n *\n * @return {Object} Block edit context\n */\nexport { useBlockEditContext };\n\nexport default function BlockEdit( props ) {\n\tconst { name, isSelected, clientId } = props;\n\tconst context = {\n\t\tname,\n\t\tisSelected,\n\t\tclientId,\n\t};\n\treturn (\n\t\t<BlockEditContextProvider\n\t\t\t// It is important to return the same object if props haven't\n\t\t\t// changed to avoid unnecessary rerenders.\n\t\t\t// See https://reactjs.org/docs/context.html#caveats.\n\t\t\tvalue={ useMemo( () => context, Object.values( context ) ) }\n\t\t>\n\t\t\t<Edit { ...props } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst moreHorizontal = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z\" />\n\t</SVG>\n);\n\nexport default moreHorizontal;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Children } from '@wordpress/element';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { moreHorizontal } from '@wordpress/icons';\n\nfunction Warning( { className, actions, children, secondaryActions } ) {\n\treturn (\n\t\t<div className={ classnames( className, 'block-editor-warning' ) }>\n\t\t\t<div className=\"block-editor-warning__contents\">\n\t\t\t\t<p className=\"block-editor-warning__message\">{ children }</p>\n\n\t\t\t\t{ ( Children.count( actions ) > 0 || secondaryActions ) && (\n\t\t\t\t\t<div className=\"block-editor-warning__actions\">\n\t\t\t\t\t\t{ Children.count( actions ) > 0 &&\n\t\t\t\t\t\t\tChildren.map( actions, ( action, i ) => (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__action\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ action }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t{ secondaryActions && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__secondary\"\n\t\t\t\t\t\t\t\ticon={ moreHorizontal }\n\t\t\t\t\t\t\t\tlabel={ __( 'More options' ) }\n\t\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\t\tposition: 'bottom left',\n\t\t\t\t\t\t\t\t\tclassName: 'block-editor-warning__dropdown',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tnoIcons\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t{ secondaryActions.map(\n\t\t\t\t\t\t\t\t\t\t\t( item, pos ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ item.onClick }\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ pos }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ item.title }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/warning/README.md\n */\nexport default Warning;\n","/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { RawHTML } from '@wordpress/element';\nimport { safeHTML } from '@wordpress/dom';\n\nexport default function BlockView( {\n\ttitle,\n\trawContent,\n\trenderedContent,\n\taction,\n\tactionText,\n\tclassName,\n} ) {\n\treturn (\n\t\t<div className={ className }>\n\t\t\t<div className=\"block-editor-block-compare__content\">\n\t\t\t\t<h2 className=\"block-editor-block-compare__heading\">\n\t\t\t\t\t{ title }\n\t\t\t\t</h2>\n\n\t\t\t\t<div className=\"block-editor-block-compare__html\">\n\t\t\t\t\t{ rawContent }\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"block-editor-block-compare__preview edit-post-visual-editor\">\n\t\t\t\t\t<RawHTML>{ safeHTML( renderedContent ) }</RawHTML>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"block-editor-block-compare__action\">\n\t\t\t\t<Button variant=\"secondary\" tabIndex=\"0\" onClick={ action }>\n\t\t\t\t\t{ actionText }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { castArray } from 'lodash';\n// diff doesn't tree-shake correctly, so we import from the individual\n// module here, to avoid including too much of the library\nimport { diffChars } from 'diff/lib/diff/character';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { getSaveContent } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport BlockView from './block-view';\n\nfunction BlockCompare( {\n\tblock,\n\tonKeep,\n\tonConvert,\n\tconvertor,\n\tconvertButtonText,\n} ) {\n\tfunction getDifference( originalContent, newContent ) {\n\t\tconst difference = diffChars( originalContent, newContent );\n\n\t\treturn difference.map( ( item, pos ) => {\n\t\t\tconst classes = classnames( {\n\t\t\t\t'block-editor-block-compare__added': item.added,\n\t\t\t\t'block-editor-block-compare__removed': item.removed,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<span key={ pos } className={ classes }>\n\t\t\t\t\t{ item.value }\n\t\t\t\t</span>\n\t\t\t);\n\t\t} );\n\t}\n\n\tfunction getConvertedContent( convertedBlock ) {\n\t\t// The convertor may return an array of items or a single item.\n\t\tconst newBlocks = castArray( convertedBlock );\n\n\t\t// Get converted block details.\n\t\tconst newContent = newBlocks.map( ( item ) =>\n\t\t\tgetSaveContent( item.name, item.attributes, item.innerBlocks )\n\t\t);\n\n\t\treturn newContent.join( '' );\n\t}\n\n\tconst converted = getConvertedContent( convertor( block ) );\n\tconst difference = getDifference( block.originalContent, converted );\n\n\treturn (\n\t\t<div className=\"block-editor-block-compare__wrapper\">\n\t\t\t<BlockView\n\t\t\t\ttitle={ __( 'Current' ) }\n\t\t\t\tclassName=\"block-editor-block-compare__current\"\n\t\t\t\taction={ onKeep }\n\t\t\t\tactionText={ __( 'Convert to HTML' ) }\n\t\t\t\trawContent={ block.originalContent }\n\t\t\t\trenderedContent={ block.originalContent }\n\t\t\t/>\n\n\t\t\t<BlockView\n\t\t\t\ttitle={ __( 'After Conversion' ) }\n\t\t\t\tclassName=\"block-editor-block-compare__converted\"\n\t\t\t\taction={ onConvert }\n\t\t\t\tactionText={ convertButtonText }\n\t\t\t\trawContent={ difference }\n\t\t\t\trenderedContent={ converted }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default BlockCompare;\n","/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { getBlockType, createBlock, rawHandler } from '@wordpress/blocks';\nimport { compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\nimport { store as blockEditorStore } from '../../store';\n\nexport function BlockInvalidWarning( {\n\tconvertToHTML,\n\tconvertToBlocks,\n\tconvertToClassic,\n\tattemptBlockRecovery,\n\tblock,\n} ) {\n\tconst hasHTMLBlock = !! getBlockType( 'core/html' );\n\tconst [ compare, setCompare ] = useState( false );\n\n\tconst onCompare = useCallback( () => setCompare( true ), [] );\n\tconst onCompareClose = useCallback( () => setCompare( false ), [] );\n\n\t// We memo the array here to prevent the children components from being updated unexpectedly.\n\tconst hiddenActions = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\ttitle: _x( 'Resolve', 'imperative verb' ),\n\t\t\t\t\tonClick: onCompare,\n\t\t\t\t},\n\t\t\t\thasHTMLBlock && {\n\t\t\t\t\ttitle: __( 'Convert to HTML' ),\n\t\t\t\t\tonClick: convertToHTML,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: __( 'Convert to Classic Block' ),\n\t\t\t\t\tonClick: convertToClassic,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[ onCompare, convertToHTML, convertToClassic ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Warning\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey=\"recover\"\n\t\t\t\t\t\tonClick={ attemptBlockRecovery }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt Block Recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ hiddenActions }\n\t\t\t>\n\t\t\t\t{ __( 'This block contains unexpected or invalid content.' ) }\n\t\t\t</Warning>\n\t\t\t{ compare && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t// translators: Dialog title to fix block content\n\t\t\t\t\t\t__( 'Resolve Block' )\n\t\t\t\t\t}\n\t\t\t\t\tonRequestClose={ onCompareClose }\n\t\t\t\t\tclassName=\"block-editor-block-compare\"\n\t\t\t\t>\n\t\t\t\t\t<BlockCompare\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tonKeep={ convertToHTML }\n\t\t\t\t\t\tonConvert={ convertToBlocks }\n\t\t\t\t\t\tconvertor={ blockToBlocks }\n\t\t\t\t\t\tconvertButtonText={ __( 'Convert to Blocks' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nconst blockToClassic = ( block ) =>\n\tcreateBlock( 'core/freeform', {\n\t\tcontent: block.originalContent,\n\t} );\nconst blockToHTML = ( block ) =>\n\tcreateBlock( 'core/html', {\n\t\tcontent: block.originalContent,\n\t} );\nconst blockToBlocks = ( block ) =>\n\trawHandler( {\n\t\tHTML: block.originalContent,\n\t} );\nconst recoverBlock = ( { name, attributes, innerBlocks } ) =>\n\tcreateBlock( name, attributes, innerBlocks );\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => ( {\n\t\tblock: select( blockEditorStore ).getBlock( clientId ),\n\t} ) ),\n\twithDispatch( ( dispatch, { block } ) => {\n\t\tconst { replaceBlock } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tconvertToClassic() {\n\t\t\t\treplaceBlock( block.clientId, blockToClassic( block ) );\n\t\t\t},\n\t\t\tconvertToHTML() {\n\t\t\t\treplaceBlock( block.clientId, blockToHTML( block ) );\n\t\t\t},\n\t\t\tconvertToBlocks() {\n\t\t\t\treplaceBlock( block.clientId, blockToBlocks( block ) );\n\t\t\t},\n\t\t\tattemptBlockRecovery() {\n\t\t\t\treplaceBlock( block.clientId, recoverBlock( block ) );\n\t\t\t},\n\t\t};\n\t} ),\n] )( BlockInvalidWarning );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\n\nconst warning = (\n\t<Warning className=\"block-editor-block-list__block-crash-warning\">\n\t\t{ __( 'This block has encountered an error and cannot be previewed.' ) }\n\t</Warning>\n);\n\nexport default () => warning;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass BlockCrashBoundary extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\thasError: false,\n\t\t};\n\t}\n\n\tcomponentDidCatch() {\n\t\tthis.setState( {\n\t\t\thasError: true,\n\t\t} );\n\t}\n\n\trender() {\n\t\tif ( this.state.hasError ) {\n\t\t\treturn this.props.fallback;\n\t\t}\n\n\t\treturn this.props.children;\n\t}\n}\n\nexport default BlockCrashBoundary;\n","/**\n * External dependencies\n */\nimport TextareaAutosize from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tgetBlockAttributes,\n\tgetBlockContent,\n\tgetBlockType,\n\tgetSaveContent,\n\tvalidateBlock,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockHTML( { clientId } ) {\n\tconst [ html, setHtml ] = useState( '' );\n\tconst block = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst { updateBlock } = useDispatch( blockEditorStore );\n\tconst onChange = () => {\n\t\tconst blockType = getBlockType( block.name );\n\n\t\tif ( ! blockType ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst attributes = getBlockAttributes(\n\t\t\tblockType,\n\t\t\thtml,\n\t\t\tblock.attributes\n\t\t);\n\n\t\t// If html is empty we reset the block to the default HTML and mark it as valid to avoid triggering an error\n\t\tconst content = html ? html : getSaveContent( blockType, attributes );\n\t\tconst [ isValid ] = html\n\t\t\t? validateBlock( {\n\t\t\t\t\t...block,\n\t\t\t\t\tattributes,\n\t\t\t\t\toriginalContent: content,\n\t\t\t } )\n\t\t\t: [ true ];\n\n\t\tupdateBlock( clientId, {\n\t\t\tattributes,\n\t\t\toriginalContent: content,\n\t\t\tisValid,\n\t\t} );\n\n\t\t// Ensure the state is updated if we reset so it displays the default content.\n\t\tif ( ! html ) {\n\t\t\tsetHtml( { content } );\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tsetHtml( getBlockContent( block ) );\n\t}, [ block ] );\n\n\treturn (\n\t\t<TextareaAutosize\n\t\t\tclassName=\"block-editor-block-list__block-html-textarea\"\n\t\t\tvalue={ html }\n\t\t\tonBlur={ onChange }\n\t\t\tonChange={ ( event ) => setHtml( event.target.value ) }\n\t\t/>\n\t);\n}\n\nexport default BlockHTML;\n","let updateQueue = makeQueue();\nconst raf = fn => schedule(fn, updateQueue);\nlet writeQueue = makeQueue();\n\nraf.write = fn => schedule(fn, writeQueue);\n\nlet onStartQueue = makeQueue();\n\nraf.onStart = fn => schedule(fn, onStartQueue);\n\nlet onFrameQueue = makeQueue();\n\nraf.onFrame = fn => schedule(fn, onFrameQueue);\n\nlet onFinishQueue = makeQueue();\n\nraf.onFinish = fn => schedule(fn, onFinishQueue);\n\nlet timeouts = [];\n\nraf.setTimeout = (handler, ms) => {\n let time = raf.now() + ms;\n\n let cancel = () => {\n let i = timeouts.findIndex(t => t.cancel == cancel);\n if (~i) timeouts.splice(i, 1);\n __raf.count -= ~i ? 1 : 0;\n };\n\n let timeout = {\n time,\n handler,\n cancel\n };\n timeouts.splice(findTimeout(time), 0, timeout);\n __raf.count += 1;\n start();\n return timeout;\n};\n\nlet findTimeout = time => ~(~timeouts.findIndex(t => t.time > time) || ~timeouts.length);\n\nraf.cancel = fn => {\n updateQueue.delete(fn);\n writeQueue.delete(fn);\n};\n\nraf.sync = fn => {\n sync = true;\n raf.batchedUpdates(fn);\n sync = false;\n};\n\nraf.throttle = fn => {\n let lastArgs;\n\n function queuedFn() {\n try {\n fn(...lastArgs);\n } finally {\n lastArgs = null;\n }\n }\n\n function throttled(...args) {\n lastArgs = args;\n raf.onStart(queuedFn);\n }\n\n throttled.handler = fn;\n\n throttled.cancel = () => {\n onStartQueue.delete(queuedFn);\n lastArgs = null;\n };\n\n return throttled;\n};\n\nlet nativeRaf = typeof window != 'undefined' ? window.requestAnimationFrame : () => {};\n\nraf.use = impl => nativeRaf = impl;\n\nraf.now = typeof performance != 'undefined' ? () => performance.now() : Date.now;\n\nraf.batchedUpdates = fn => fn();\n\nraf.catch = console.error;\nraf.frameLoop = 'always';\n\nraf.advance = () => {\n if (raf.frameLoop !== 'demand') {\n console.warn('Cannot call the manual advancement of rafz whilst frameLoop is not set as demand');\n } else {\n update();\n }\n};\n\nlet ts = -1;\nlet sync = false;\n\nfunction schedule(fn, queue) {\n if (sync) {\n queue.delete(fn);\n fn(0);\n } else {\n queue.add(fn);\n start();\n }\n}\n\nfunction start() {\n if (ts < 0) {\n ts = 0;\n\n if (raf.frameLoop !== 'demand') {\n nativeRaf(loop);\n }\n }\n}\n\nfunction loop() {\n if (~ts) {\n nativeRaf(loop);\n raf.batchedUpdates(update);\n }\n}\n\nfunction update() {\n let prevTs = ts;\n ts = raf.now();\n let count = findTimeout(ts);\n\n if (count) {\n eachSafely(timeouts.splice(0, count), t => t.handler());\n __raf.count -= count;\n }\n\n onStartQueue.flush();\n updateQueue.flush(prevTs ? Math.min(64, ts - prevTs) : 16.667);\n onFrameQueue.flush();\n writeQueue.flush();\n onFinishQueue.flush();\n}\n\nfunction makeQueue() {\n let next = new Set();\n let current = next;\n return {\n add(fn) {\n __raf.count += current == next && !next.has(fn) ? 1 : 0;\n next.add(fn);\n },\n\n delete(fn) {\n __raf.count -= current == next && next.has(fn) ? 1 : 0;\n return next.delete(fn);\n },\n\n flush(arg) {\n if (current.size) {\n next = new Set();\n __raf.count -= current.size;\n eachSafely(current, fn => fn(arg) && next.add(fn));\n __raf.count += next.size;\n current = next;\n }\n }\n\n };\n}\n\nfunction eachSafely(values, each) {\n values.forEach(value => {\n try {\n each(value);\n } catch (e) {\n raf.catch(e);\n }\n });\n}\n\nconst __raf = {\n count: 0,\n\n clear() {\n ts = -1;\n timeouts = [];\n onStartQueue = makeQueue();\n updateQueue = makeQueue();\n onFrameQueue = makeQueue();\n writeQueue = makeQueue();\n onFinishQueue = makeQueue();\n __raf.count = 0;\n }\n\n};\n\nexport { __raf, raf };\n","import { raf } from '@react-spring/rafz';\nexport { raf } from '@react-spring/rafz';\nimport * as React from 'react';\nimport { useEffect, useState, useRef } from 'react';\n\nfunction noop() {}\nconst defineHidden = (obj, key, value) => Object.defineProperty(obj, key, {\n value,\n writable: true,\n configurable: true\n});\nconst is = {\n arr: Array.isArray,\n obj: a => !!a && a.constructor.name === 'Object',\n fun: a => typeof a === 'function',\n str: a => typeof a === 'string',\n num: a => typeof a === 'number',\n und: a => a === undefined\n};\nfunction isEqual(a, b) {\n if (is.arr(a)) {\n if (!is.arr(b) || a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n return a === b;\n}\nconst each = (obj, fn) => obj.forEach(fn);\nfunction eachProp(obj, fn, ctx) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n fn.call(ctx, obj[key], key);\n }\n }\n}\nconst toArray = a => is.und(a) ? [] : is.arr(a) ? a : [a];\nfunction flush(queue, iterator) {\n if (queue.size) {\n const items = Array.from(queue);\n queue.clear();\n each(items, iterator);\n }\n}\nconst flushCalls = (queue, ...args) => flush(queue, fn => fn(...args));\n\nlet createStringInterpolator$1;\nlet to;\nlet colors$1 = null;\nlet skipAnimation = false;\nlet willAdvance = noop;\nconst assign = globals => {\n if (globals.to) to = globals.to;\n if (globals.now) raf.now = globals.now;\n if (globals.colors !== undefined) colors$1 = globals.colors;\n if (globals.skipAnimation != null) skipAnimation = globals.skipAnimation;\n if (globals.createStringInterpolator) createStringInterpolator$1 = globals.createStringInterpolator;\n if (globals.requestAnimationFrame) raf.use(globals.requestAnimationFrame);\n if (globals.batchedUpdates) raf.batchedUpdates = globals.batchedUpdates;\n if (globals.willAdvance) willAdvance = globals.willAdvance;\n if (globals.frameLoop) raf.frameLoop = globals.frameLoop;\n};\n\nvar globals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n get createStringInterpolator () { return createStringInterpolator$1; },\n get to () { return to; },\n get colors () { return colors$1; },\n get skipAnimation () { return skipAnimation; },\n get willAdvance () { return willAdvance; },\n assign: assign\n});\n\nconst startQueue = new Set();\nlet currentFrame = [];\nlet prevFrame = [];\nlet priority = 0;\nconst frameLoop = {\n get idle() {\n return !startQueue.size && !currentFrame.length;\n },\n\n start(animation) {\n if (priority > animation.priority) {\n startQueue.add(animation);\n raf.onStart(flushStartQueue);\n } else {\n startSafely(animation);\n raf(advance);\n }\n },\n\n advance,\n\n sort(animation) {\n if (priority) {\n raf.onFrame(() => frameLoop.sort(animation));\n } else {\n const prevIndex = currentFrame.indexOf(animation);\n\n if (~prevIndex) {\n currentFrame.splice(prevIndex, 1);\n startUnsafely(animation);\n }\n }\n },\n\n clear() {\n currentFrame = [];\n startQueue.clear();\n }\n\n};\n\nfunction flushStartQueue() {\n startQueue.forEach(startSafely);\n startQueue.clear();\n raf(advance);\n}\n\nfunction startSafely(animation) {\n if (!currentFrame.includes(animation)) startUnsafely(animation);\n}\n\nfunction startUnsafely(animation) {\n currentFrame.splice(findIndex(currentFrame, other => other.priority > animation.priority), 0, animation);\n}\n\nfunction advance(dt) {\n const nextFrame = prevFrame;\n\n for (let i = 0; i < currentFrame.length; i++) {\n const animation = currentFrame[i];\n priority = animation.priority;\n\n if (!animation.idle) {\n willAdvance(animation);\n animation.advance(dt);\n\n if (!animation.idle) {\n nextFrame.push(animation);\n }\n }\n }\n\n priority = 0;\n prevFrame = currentFrame;\n prevFrame.length = 0;\n currentFrame = nextFrame;\n return currentFrame.length > 0;\n}\n\nfunction findIndex(arr, test) {\n const index = arr.findIndex(test);\n return index < 0 ? arr.length : index;\n}\n\nconst colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...parts) {\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nconst rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nconst rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nconst hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nconst hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nconst hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex6 = /^#([0-9a-fA-F]{6})$/;\nconst hex8 = /^#([0-9a-fA-F]{8})$/;\n\nfunction normalizeColor(color) {\n let match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n }\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n\n if (colors$1 && colors$1[color] !== undefined) {\n return colors$1[color];\n }\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | 0x000000ff) >>> 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | parse1(match[4])) >>> 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + 'ff', 16) >>> 0;\n }\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + match[4] + match[4], 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | 0x000000ff) >>> 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | parse1(match[4])) >>> 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n const int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n let int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n let r = (int32Color & 0xff000000) >>> 24;\n let g = (int32Color & 0x00ff0000) >>> 16;\n let b = (int32Color & 0x0000ff00) >>> 8;\n let a = (int32Color & 0x000000ff) / 255;\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n}\n\nconst createInterpolator = (range, output, extrapolate) => {\n if (is.fun(range)) {\n return range;\n }\n\n if (is.arr(range)) {\n return createInterpolator({\n range,\n output: output,\n extrapolate\n });\n }\n\n if (is.str(range.output[0])) {\n return createStringInterpolator$1(range);\n }\n\n const config = range;\n const outputRange = config.output;\n const inputRange = config.range || [0, 1];\n const extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n const extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n\n const easing = config.easing || (t => t);\n\n return input => {\n const range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n};\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n let result = map ? map(input) : input;\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax;\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin);\n result = easing(result);\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) if (inputRange[i] >= input) break;\n\n return i - 1;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nconst $get = Symbol.for('FluidValue.get');\nconst $observers = Symbol.for('FluidValue.observers');\n\nconst hasFluidValue = arg => Boolean(arg && arg[$get]);\n\nconst getFluidValue = arg => arg && arg[$get] ? arg[$get]() : arg;\n\nconst getFluidObservers = target => target[$observers] || null;\n\nfunction callFluidObserver(observer, event) {\n if (observer.eventObserved) {\n observer.eventObserved(event);\n } else {\n observer(event);\n }\n}\n\nfunction callFluidObservers(target, event) {\n let observers = target[$observers];\n\n if (observers) {\n observers.forEach(observer => {\n callFluidObserver(observer, event);\n });\n }\n}\n\nclass FluidValue {\n constructor(get) {\n this[$get] = void 0;\n this[$observers] = void 0;\n\n if (!get && !(get = this.get)) {\n throw Error('Unknown getter');\n }\n\n setFluidGetter(this, get);\n }\n\n}\n\nconst setFluidGetter = (target, get) => setHidden(target, $get, get);\n\nfunction addFluidObserver(target, observer) {\n if (target[$get]) {\n let observers = target[$observers];\n\n if (!observers) {\n setHidden(target, $observers, observers = new Set());\n }\n\n if (!observers.has(observer)) {\n observers.add(observer);\n\n if (target.observerAdded) {\n target.observerAdded(observers.size, observer);\n }\n }\n }\n\n return observer;\n}\n\nfunction removeFluidObserver(target, observer) {\n let observers = target[$observers];\n\n if (observers && observers.has(observer)) {\n const count = observers.size - 1;\n\n if (count) {\n observers.delete(observer);\n } else {\n target[$observers] = null;\n }\n\n if (target.observerRemoved) {\n target.observerRemoved(count, observer);\n }\n }\n}\n\nconst setHidden = (target, key, value) => Object.defineProperty(target, key, {\n value,\n writable: true,\n configurable: true\n});\n\nconst numberRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g;\nconst colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi;\nlet namedColorRegex;\nconst rgbaRegex = /rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi;\n\nconst rgbaRound = (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`;\n\nconst createStringInterpolator = config => {\n if (!namedColorRegex) namedColorRegex = colors$1 ? new RegExp(`(${Object.keys(colors$1).join('|')})(?!\\\\w)`, 'g') : /^\\b$/;\n const output = config.output.map(value => getFluidValue(value).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba));\n const keyframes = output.map(value => value.match(numberRegex).map(Number));\n const outputRanges = keyframes[0].map((_, i) => keyframes.map(values => {\n if (!(i in values)) {\n throw Error('The arity of each \"output\" value must be equal');\n }\n\n return values[i];\n }));\n const interpolators = outputRanges.map(output => createInterpolator(_extends({}, config, {\n output\n })));\n return input => {\n let i = 0;\n return output[0].replace(numberRegex, () => String(interpolators[i++](input))).replace(rgbaRegex, rgbaRound);\n };\n};\n\nconst prefix = 'react-spring: ';\n\nconst once = fn => {\n const func = fn;\n let called = false;\n\n if (typeof func != 'function') {\n throw new TypeError(`${prefix}once requires a function parameter`);\n }\n\n return (...args) => {\n if (!called) {\n func(...args);\n called = true;\n }\n };\n};\n\nconst warnInterpolate = once(console.warn);\nfunction deprecateInterpolate() {\n warnInterpolate(`${prefix}The \"interpolate\" function is deprecated in v9 (use \"to\" instead)`);\n}\nconst warnDirectCall = once(console.warn);\nfunction deprecateDirectCall() {\n warnDirectCall(`${prefix}Directly calling start instead of using the api object is deprecated in v9 (use \".start\" instead), this will be removed in later 0.X.0 versions`);\n}\n\nfunction isAnimatedString(value) {\n return is.str(value) && (value[0] == '#' || /\\d/.test(value) || value in (colors$1 || {}));\n}\n\nconst useOnce = effect => useEffect(effect, emptyDeps);\nconst emptyDeps = [];\n\nfunction useForceUpdate() {\n const update = useState()[1];\n const mounted = useState(makeMountedRef)[0];\n useOnce(mounted.unmount);\n return () => {\n if (mounted.current) {\n update({});\n }\n };\n}\n\nfunction makeMountedRef() {\n const mounted = {\n current: true,\n unmount: () => () => {\n mounted.current = false;\n }\n };\n return mounted;\n}\n\nfunction useMemoOne(getResult, inputs) {\n const [initial] = useState(() => ({\n inputs,\n result: getResult()\n }));\n const committed = useRef();\n const prevCache = committed.current;\n let cache = prevCache;\n\n if (cache) {\n const useCache = Boolean(inputs && cache.inputs && areInputsEqual(inputs, cache.inputs));\n\n if (!useCache) {\n cache = {\n inputs,\n result: getResult()\n };\n }\n } else {\n cache = initial;\n }\n\n useEffect(() => {\n committed.current = cache;\n\n if (prevCache == initial) {\n initial.inputs = initial.result = undefined;\n }\n }, [cache]);\n return cache.result;\n}\n\nfunction areInputsEqual(next, prev) {\n if (next.length !== prev.length) {\n return false;\n }\n\n for (let i = 0; i < next.length; i++) {\n if (next[i] !== prev[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction usePrev(value) {\n const prevRef = useRef();\n useEffect(() => {\n prevRef.current = value;\n });\n return prevRef.current;\n}\n\nconst useLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;\n\nexport { FluidValue, globals as Globals, addFluidObserver, callFluidObserver, callFluidObservers, colorToRgba, colors, createInterpolator, createStringInterpolator, defineHidden, deprecateDirectCall, deprecateInterpolate, each, eachProp, flush, flushCalls, frameLoop, getFluidObservers, getFluidValue, hasFluidValue, hex3, hex4, hex6, hex8, hsl, hsla, is, isAnimatedString, isEqual, noop, removeFluidObserver, rgb, rgba, setFluidGetter, toArray, useForceUpdate, useLayoutEffect, useMemoOne, useOnce, usePrev };\n","import { defineHidden, is, createInterpolator, eachProp, hasFluidValue, getFluidValue, each, isAnimatedString, useForceUpdate, useLayoutEffect, addFluidObserver, removeFluidObserver, raf, useOnce } from '@react-spring/shared';\nimport * as React from 'react';\nimport { forwardRef, useRef, useCallback, useEffect } from 'react';\n\nconst $node = Symbol.for('Animated:node');\nconst isAnimated = value => !!value && value[$node] === value;\nconst getAnimated = owner => owner && owner[$node];\nconst setAnimated = (owner, node) => defineHidden(owner, $node, node);\nconst getPayload = owner => owner && owner[$node] && owner[$node].getPayload();\nclass Animated {\n constructor() {\n this.payload = void 0;\n setAnimated(this, this);\n }\n\n getPayload() {\n return this.payload || [];\n }\n\n}\n\nclass AnimatedValue extends Animated {\n constructor(_value) {\n super();\n this.done = true;\n this.elapsedTime = void 0;\n this.lastPosition = void 0;\n this.lastVelocity = void 0;\n this.v0 = void 0;\n this.durationProgress = 0;\n this._value = _value;\n\n if (is.num(this._value)) {\n this.lastPosition = this._value;\n }\n }\n\n static create(value) {\n return new AnimatedValue(value);\n }\n\n getPayload() {\n return [this];\n }\n\n getValue() {\n return this._value;\n }\n\n setValue(value, step) {\n if (is.num(value)) {\n this.lastPosition = value;\n\n if (step) {\n value = Math.round(value / step) * step;\n\n if (this.done) {\n this.lastPosition = value;\n }\n }\n }\n\n if (this._value === value) {\n return false;\n }\n\n this._value = value;\n return true;\n }\n\n reset() {\n const {\n done\n } = this;\n this.done = false;\n\n if (is.num(this._value)) {\n this.elapsedTime = 0;\n this.durationProgress = 0;\n this.lastPosition = this._value;\n if (done) this.lastVelocity = null;\n this.v0 = null;\n }\n }\n\n}\n\nclass AnimatedString extends AnimatedValue {\n constructor(value) {\n super(0);\n this._string = null;\n this._toString = void 0;\n this._toString = createInterpolator({\n output: [value, value]\n });\n }\n\n static create(value) {\n return new AnimatedString(value);\n }\n\n getValue() {\n let value = this._string;\n return value == null ? this._string = this._toString(this._value) : value;\n }\n\n setValue(value) {\n if (is.str(value)) {\n if (value == this._string) {\n return false;\n }\n\n this._string = value;\n this._value = 1;\n } else if (super.setValue(value)) {\n this._string = null;\n } else {\n return false;\n }\n\n return true;\n }\n\n reset(goal) {\n if (goal) {\n this._toString = createInterpolator({\n output: [this.getValue(), goal]\n });\n }\n\n this._value = 0;\n super.reset();\n }\n\n}\n\nconst TreeContext = {\n dependencies: null\n};\n\nclass AnimatedObject extends Animated {\n constructor(source) {\n super();\n this.source = source;\n this.setValue(source);\n }\n\n getValue(animated) {\n const values = {};\n eachProp(this.source, (source, key) => {\n if (isAnimated(source)) {\n values[key] = source.getValue(animated);\n } else if (hasFluidValue(source)) {\n values[key] = getFluidValue(source);\n } else if (!animated) {\n values[key] = source;\n }\n });\n return values;\n }\n\n setValue(source) {\n this.source = source;\n this.payload = this._makePayload(source);\n }\n\n reset() {\n if (this.payload) {\n each(this.payload, node => node.reset());\n }\n }\n\n _makePayload(source) {\n if (source) {\n const payload = new Set();\n eachProp(source, this._addToPayload, payload);\n return Array.from(payload);\n }\n }\n\n _addToPayload(source) {\n if (TreeContext.dependencies && hasFluidValue(source)) {\n TreeContext.dependencies.add(source);\n }\n\n const payload = getPayload(source);\n\n if (payload) {\n each(payload, node => this.add(node));\n }\n }\n\n}\n\nclass AnimatedArray extends AnimatedObject {\n constructor(source) {\n super(source);\n }\n\n static create(source) {\n return new AnimatedArray(source);\n }\n\n getValue() {\n return this.source.map(node => node.getValue());\n }\n\n setValue(source) {\n const payload = this.getPayload();\n\n if (source.length == payload.length) {\n return payload.map((node, i) => node.setValue(source[i])).some(Boolean);\n }\n\n super.setValue(source.map(makeAnimated));\n return true;\n }\n\n}\n\nfunction makeAnimated(value) {\n const nodeType = isAnimatedString(value) ? AnimatedString : AnimatedValue;\n return nodeType.create(value);\n}\n\nfunction getAnimatedType(value) {\n const parentNode = getAnimated(value);\n return parentNode ? parentNode.constructor : is.arr(value) ? AnimatedArray : isAnimatedString(value) ? AnimatedString : AnimatedValue;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nconst withAnimated = (Component, host) => {\n const hasInstance = !is.fun(Component) || Component.prototype && Component.prototype.isReactComponent;\n return forwardRef((givenProps, givenRef) => {\n const instanceRef = useRef(null);\n const ref = hasInstance && useCallback(value => {\n instanceRef.current = updateRef(givenRef, value);\n }, [givenRef]);\n const [props, deps] = getAnimatedState(givenProps, host);\n const forceUpdate = useForceUpdate();\n\n const callback = () => {\n const instance = instanceRef.current;\n\n if (hasInstance && !instance) {\n return;\n }\n\n const didUpdate = instance ? host.applyAnimatedValues(instance, props.getValue(true)) : false;\n\n if (didUpdate === false) {\n forceUpdate();\n }\n };\n\n const observer = new PropsObserver(callback, deps);\n const observerRef = useRef();\n useLayoutEffect(() => {\n const lastObserver = observerRef.current;\n observerRef.current = observer;\n each(deps, dep => addFluidObserver(dep, observer));\n\n if (lastObserver) {\n each(lastObserver.deps, dep => removeFluidObserver(dep, lastObserver));\n raf.cancel(lastObserver.update);\n }\n });\n useEffect(callback, []);\n useOnce(() => () => {\n const observer = observerRef.current;\n each(observer.deps, dep => removeFluidObserver(dep, observer));\n });\n const usedProps = host.getComponentProps(props.getValue());\n return React.createElement(Component, _extends({}, usedProps, {\n ref: ref\n }));\n });\n};\n\nclass PropsObserver {\n constructor(update, deps) {\n this.update = update;\n this.deps = deps;\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n raf.write(this.update);\n }\n }\n\n}\n\nfunction getAnimatedState(props, host) {\n const dependencies = new Set();\n TreeContext.dependencies = dependencies;\n if (props.style) props = _extends({}, props, {\n style: host.createAnimatedStyle(props.style)\n });\n props = new AnimatedObject(props);\n TreeContext.dependencies = null;\n return [props, dependencies];\n}\n\nfunction updateRef(ref, value) {\n if (ref) {\n if (is.fun(ref)) ref(value);else ref.current = value;\n }\n\n return value;\n}\n\nconst cacheKey = Symbol.for('AnimatedComponent');\nconst createHost = (components, {\n applyAnimatedValues: _applyAnimatedValues = () => false,\n createAnimatedStyle: _createAnimatedStyle = style => new AnimatedObject(style),\n getComponentProps: _getComponentProps = props => props\n} = {}) => {\n const hostConfig = {\n applyAnimatedValues: _applyAnimatedValues,\n createAnimatedStyle: _createAnimatedStyle,\n getComponentProps: _getComponentProps\n };\n\n const animated = Component => {\n const displayName = getDisplayName(Component) || 'Anonymous';\n\n if (is.str(Component)) {\n Component = animated[Component] || (animated[Component] = withAnimated(Component, hostConfig));\n } else {\n Component = Component[cacheKey] || (Component[cacheKey] = withAnimated(Component, hostConfig));\n }\n\n Component.displayName = `Animated(${displayName})`;\n return Component;\n };\n\n eachProp(components, (Component, key) => {\n if (is.arr(components)) {\n key = getDisplayName(Component);\n }\n\n animated[key] = animated(Component);\n });\n return {\n animated\n };\n};\n\nconst getDisplayName = arg => is.str(arg) ? arg : arg && is.str(arg.displayName) ? arg.displayName : is.fun(arg) && arg.name || null;\n\nexport { Animated, AnimatedArray, AnimatedObject, AnimatedString, AnimatedValue, createHost, getAnimated, getAnimatedType, getPayload, isAnimated, setAnimated };\n","import { eachProp, is, toArray, isAnimatedString, Globals, getFluidValue, useLayoutEffect, each, raf, flush, FluidValue, deprecateInterpolate, callFluidObservers, frameLoop, hasFluidValue, flushCalls, isEqual, getFluidObservers, addFluidObserver, removeFluidObserver, noop, useMemoOne, deprecateDirectCall, useForceUpdate, usePrev, useOnce, createInterpolator, createStringInterpolator } from '@react-spring/shared';\nexport { Globals, createInterpolator } from '@react-spring/shared';\nimport * as React from 'react';\nimport { useContext, useMemo, useRef, useState } from 'react';\nimport { getAnimated, AnimatedValue, getPayload, AnimatedString, getAnimatedType, setAnimated } from '@react-spring/animated';\nexport * from '@react-spring/types/animated';\nexport * from '@react-spring/types/interpolation';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction callProp(value, ...args) {\n return is.fun(value) ? value(...args) : value;\n}\nconst matchProp = (value, key) => value === true || !!(key && value && (is.fun(value) ? value(key) : toArray(value).includes(key)));\nconst resolveProp = (prop, key) => is.obj(prop) ? key && prop[key] : prop;\nconst getDefaultProp = (props, key) => props.default === true ? props[key] : props.default ? props.default[key] : undefined;\n\nconst noopTransform = value => value;\n\nconst getDefaultProps = (props, transform = noopTransform) => {\n let keys = DEFAULT_PROPS;\n\n if (props.default && props.default !== true) {\n props = props.default;\n keys = Object.keys(props);\n }\n\n const defaults = {};\n\n for (const key of keys) {\n const value = transform(props[key], key);\n\n if (!is.und(value)) {\n defaults[key] = value;\n }\n }\n\n return defaults;\n};\nconst DEFAULT_PROPS = ['config', 'onProps', 'onStart', 'onChange', 'onPause', 'onResume', 'onRest'];\nconst RESERVED_PROPS = {\n config: 1,\n from: 1,\n to: 1,\n ref: 1,\n loop: 1,\n reset: 1,\n pause: 1,\n cancel: 1,\n reverse: 1,\n immediate: 1,\n default: 1,\n delay: 1,\n onProps: 1,\n onStart: 1,\n onChange: 1,\n onPause: 1,\n onResume: 1,\n onRest: 1,\n onResolve: 1,\n items: 1,\n trail: 1,\n sort: 1,\n expires: 1,\n initial: 1,\n enter: 1,\n update: 1,\n leave: 1,\n children: 1,\n onDestroyed: 1,\n keys: 1,\n callId: 1,\n parentId: 1\n};\n\nfunction getForwardProps(props) {\n const forward = {};\n let count = 0;\n eachProp(props, (value, prop) => {\n if (!RESERVED_PROPS[prop]) {\n forward[prop] = value;\n count++;\n }\n });\n\n if (count) {\n return forward;\n }\n}\n\nfunction inferTo(props) {\n const to = getForwardProps(props);\n\n if (to) {\n const out = {\n to\n };\n eachProp(props, (val, key) => key in to || (out[key] = val));\n return out;\n }\n\n return _extends({}, props);\n}\nfunction computeGoal(value) {\n value = getFluidValue(value);\n return is.arr(value) ? value.map(computeGoal) : isAnimatedString(value) ? Globals.createStringInterpolator({\n range: [0, 1],\n output: [value, value]\n })(1) : value;\n}\nfunction hasProps(props) {\n for (const _ in props) return true;\n\n return false;\n}\nfunction isAsyncTo(to) {\n return is.fun(to) || is.arr(to) && is.obj(to[0]);\n}\nfunction detachRefs(ctrl, ref) {\n var _ctrl$ref;\n\n (_ctrl$ref = ctrl.ref) == null ? void 0 : _ctrl$ref.delete(ctrl);\n ref == null ? void 0 : ref.delete(ctrl);\n}\nfunction replaceRef(ctrl, ref) {\n if (ref && ctrl.ref !== ref) {\n var _ctrl$ref2;\n\n (_ctrl$ref2 = ctrl.ref) == null ? void 0 : _ctrl$ref2.delete(ctrl);\n ref.add(ctrl);\n ctrl.ref = ref;\n }\n}\n\nfunction useChain(refs, timeSteps, timeFrame = 1000) {\n useLayoutEffect(() => {\n if (timeSteps) {\n let prevDelay = 0;\n each(refs, (ref, i) => {\n const controllers = ref.current;\n\n if (controllers.length) {\n let delay = timeFrame * timeSteps[i];\n if (isNaN(delay)) delay = prevDelay;else prevDelay = delay;\n each(controllers, ctrl => {\n each(ctrl.queue, props => {\n const memoizedDelayProp = props.delay;\n\n props.delay = key => delay + callProp(memoizedDelayProp || 0, key);\n });\n ctrl.start();\n });\n }\n });\n } else {\n let p = Promise.resolve();\n each(refs, ref => {\n const controllers = ref.current;\n\n if (controllers.length) {\n const queues = controllers.map(ctrl => {\n const q = ctrl.queue;\n ctrl.queue = [];\n return q;\n });\n p = p.then(() => {\n each(controllers, (ctrl, i) => each(queues[i] || [], update => ctrl.queue.push(update)));\n return ref.start();\n });\n }\n });\n }\n });\n}\n\nconst config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\n\nconst linear = t => t;\n\nconst defaults = _extends({}, config.default, {\n mass: 1,\n damping: 1,\n easing: linear,\n clamp: false\n});\n\nclass AnimationConfig {\n constructor() {\n this.tension = void 0;\n this.friction = void 0;\n this.frequency = void 0;\n this.damping = void 0;\n this.mass = void 0;\n this.velocity = 0;\n this.restVelocity = void 0;\n this.precision = void 0;\n this.progress = void 0;\n this.duration = void 0;\n this.easing = void 0;\n this.clamp = void 0;\n this.bounce = void 0;\n this.decay = void 0;\n this.round = void 0;\n Object.assign(this, defaults);\n }\n\n}\nfunction mergeConfig(config, newConfig, defaultConfig) {\n if (defaultConfig) {\n defaultConfig = _extends({}, defaultConfig);\n sanitizeConfig(defaultConfig, newConfig);\n newConfig = _extends({}, defaultConfig, newConfig);\n }\n\n sanitizeConfig(config, newConfig);\n Object.assign(config, newConfig);\n\n for (const key in defaults) {\n if (config[key] == null) {\n config[key] = defaults[key];\n }\n }\n\n let {\n mass,\n frequency,\n damping\n } = config;\n\n if (!is.und(frequency)) {\n if (frequency < 0.01) frequency = 0.01;\n if (damping < 0) damping = 0;\n config.tension = Math.pow(2 * Math.PI / frequency, 2) * mass;\n config.friction = 4 * Math.PI * damping * mass / frequency;\n }\n\n return config;\n}\n\nfunction sanitizeConfig(config, props) {\n if (!is.und(props.decay)) {\n config.duration = undefined;\n } else {\n const isTensionConfig = !is.und(props.tension) || !is.und(props.friction);\n\n if (isTensionConfig || !is.und(props.frequency) || !is.und(props.damping) || !is.und(props.mass)) {\n config.duration = undefined;\n config.decay = undefined;\n }\n\n if (isTensionConfig) {\n config.frequency = undefined;\n }\n }\n}\n\nconst emptyArray = [];\nclass Animation {\n constructor() {\n this.changed = false;\n this.values = emptyArray;\n this.toValues = null;\n this.fromValues = emptyArray;\n this.to = void 0;\n this.from = void 0;\n this.config = new AnimationConfig();\n this.immediate = false;\n }\n\n}\n\nfunction scheduleProps(callId, {\n key,\n props,\n defaultProps,\n state,\n actions\n}) {\n return new Promise((resolve, reject) => {\n var _props$cancel;\n\n let delay;\n let timeout;\n let cancel = matchProp((_props$cancel = props.cancel) != null ? _props$cancel : defaultProps == null ? void 0 : defaultProps.cancel, key);\n\n if (cancel) {\n onStart();\n } else {\n if (!is.und(props.pause)) {\n state.paused = matchProp(props.pause, key);\n }\n\n let pause = defaultProps == null ? void 0 : defaultProps.pause;\n\n if (pause !== true) {\n pause = state.paused || matchProp(pause, key);\n }\n\n delay = callProp(props.delay || 0, key);\n\n if (pause) {\n state.resumeQueue.add(onResume);\n actions.pause();\n } else {\n actions.resume();\n onResume();\n }\n }\n\n function onPause() {\n state.resumeQueue.add(onResume);\n state.timeouts.delete(timeout);\n timeout.cancel();\n delay = timeout.time - raf.now();\n }\n\n function onResume() {\n if (delay > 0) {\n timeout = raf.setTimeout(onStart, delay);\n state.pauseQueue.add(onPause);\n state.timeouts.add(timeout);\n } else {\n onStart();\n }\n }\n\n function onStart() {\n state.pauseQueue.delete(onPause);\n state.timeouts.delete(timeout);\n\n if (callId <= (state.cancelId || 0)) {\n cancel = true;\n }\n\n try {\n actions.start(_extends({}, props, {\n callId,\n cancel\n }), resolve);\n } catch (err) {\n reject(err);\n }\n }\n });\n}\n\nconst getCombinedResult = (target, results) => results.length == 1 ? results[0] : results.some(result => result.cancelled) ? getCancelledResult(target.get()) : results.every(result => result.noop) ? getNoopResult(target.get()) : getFinishedResult(target.get(), results.every(result => result.finished));\nconst getNoopResult = value => ({\n value,\n noop: true,\n finished: true,\n cancelled: false\n});\nconst getFinishedResult = (value, finished, cancelled = false) => ({\n value,\n finished,\n cancelled\n});\nconst getCancelledResult = value => ({\n value,\n cancelled: true,\n finished: false\n});\n\nfunction runAsync(to, props, state, target) {\n const {\n callId,\n parentId,\n onRest\n } = props;\n const {\n asyncTo: prevTo,\n promise: prevPromise\n } = state;\n\n if (!parentId && to === prevTo && !props.reset) {\n return prevPromise;\n }\n\n return state.promise = (async () => {\n state.asyncId = callId;\n state.asyncTo = to;\n const defaultProps = getDefaultProps(props, (value, key) => key === 'onRest' ? undefined : value);\n let preventBail;\n let bail;\n const bailPromise = new Promise((resolve, reject) => (preventBail = resolve, bail = reject));\n\n const bailIfEnded = bailSignal => {\n const bailResult = callId <= (state.cancelId || 0) && getCancelledResult(target) || callId !== state.asyncId && getFinishedResult(target, false);\n\n if (bailResult) {\n bailSignal.result = bailResult;\n bail(bailSignal);\n throw bailSignal;\n }\n };\n\n const animate = (arg1, arg2) => {\n const bailSignal = new BailSignal();\n const skipAnimationSignal = new SkipAniamtionSignal();\n return (async () => {\n if (Globals.skipAnimation) {\n stopAsync(state);\n skipAnimationSignal.result = getFinishedResult(target, false);\n bail(skipAnimationSignal);\n throw skipAnimationSignal;\n }\n\n bailIfEnded(bailSignal);\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n to: arg1\n });\n props.parentId = callId;\n eachProp(defaultProps, (value, key) => {\n if (is.und(props[key])) {\n props[key] = value;\n }\n });\n const result = await target.start(props);\n bailIfEnded(bailSignal);\n\n if (state.paused) {\n await new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n return result;\n })();\n };\n\n let result;\n\n if (Globals.skipAnimation) {\n stopAsync(state);\n return getFinishedResult(target, false);\n }\n\n try {\n let animating;\n\n if (is.arr(to)) {\n animating = (async queue => {\n for (const props of queue) {\n await animate(props);\n }\n })(to);\n } else {\n animating = Promise.resolve(to(animate, target.stop.bind(target)));\n }\n\n await Promise.all([animating.then(preventBail), bailPromise]);\n result = getFinishedResult(target.get(), true, false);\n } catch (err) {\n if (err instanceof BailSignal) {\n result = err.result;\n } else if (err instanceof SkipAniamtionSignal) {\n result = err.result;\n } else {\n throw err;\n }\n } finally {\n if (callId == state.asyncId) {\n state.asyncId = parentId;\n state.asyncTo = parentId ? prevTo : undefined;\n state.promise = parentId ? prevPromise : undefined;\n }\n }\n\n if (is.fun(onRest)) {\n raf.batchedUpdates(() => {\n onRest(result, target, target.item);\n });\n }\n\n return result;\n })();\n}\nfunction stopAsync(state, cancelId) {\n flush(state.timeouts, t => t.cancel());\n state.pauseQueue.clear();\n state.resumeQueue.clear();\n state.asyncId = state.asyncTo = state.promise = undefined;\n if (cancelId) state.cancelId = cancelId;\n}\nclass BailSignal extends Error {\n constructor() {\n super('An async animation has been interrupted. You see this error because you ' + 'forgot to use `await` or `.catch(...)` on its returned promise.');\n this.result = void 0;\n }\n\n}\nclass SkipAniamtionSignal extends Error {\n constructor() {\n super('SkipAnimationSignal');\n this.result = void 0;\n }\n\n}\n\nconst isFrameValue = value => value instanceof FrameValue;\nlet nextId$1 = 1;\nclass FrameValue extends FluidValue {\n constructor(...args) {\n super(...args);\n this.id = nextId$1++;\n this.key = void 0;\n this._priority = 0;\n }\n\n get priority() {\n return this._priority;\n }\n\n set priority(priority) {\n if (this._priority != priority) {\n this._priority = priority;\n\n this._onPriorityChange(priority);\n }\n }\n\n get() {\n const node = getAnimated(this);\n return node && node.getValue();\n }\n\n to(...args) {\n return Globals.to(this, args);\n }\n\n interpolate(...args) {\n deprecateInterpolate();\n return Globals.to(this, args);\n }\n\n toJSON() {\n return this.get();\n }\n\n observerAdded(count) {\n if (count == 1) this._attach();\n }\n\n observerRemoved(count) {\n if (count == 0) this._detach();\n }\n\n _attach() {}\n\n _detach() {}\n\n _onChange(value, idle = false) {\n callFluidObservers(this, {\n type: 'change',\n parent: this,\n value,\n idle\n });\n }\n\n _onPriorityChange(priority) {\n if (!this.idle) {\n frameLoop.sort(this);\n }\n\n callFluidObservers(this, {\n type: 'priority',\n parent: this,\n priority\n });\n }\n\n}\n\nconst $P = Symbol.for('SpringPhase');\nconst HAS_ANIMATED = 1;\nconst IS_ANIMATING = 2;\nconst IS_PAUSED = 4;\nconst hasAnimated = target => (target[$P] & HAS_ANIMATED) > 0;\nconst isAnimating = target => (target[$P] & IS_ANIMATING) > 0;\nconst isPaused = target => (target[$P] & IS_PAUSED) > 0;\nconst setActiveBit = (target, active) => active ? target[$P] |= IS_ANIMATING | HAS_ANIMATED : target[$P] &= ~IS_ANIMATING;\nconst setPausedBit = (target, paused) => paused ? target[$P] |= IS_PAUSED : target[$P] &= ~IS_PAUSED;\n\nclass SpringValue extends FrameValue {\n constructor(arg1, arg2) {\n super();\n this.key = void 0;\n this.animation = new Animation();\n this.queue = void 0;\n this.defaultProps = {};\n this._state = {\n paused: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._pendingCalls = new Set();\n this._lastCallId = 0;\n this._lastToId = 0;\n this._memoizedDuration = 0;\n\n if (!is.und(arg1) || !is.und(arg2)) {\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n from: arg1\n });\n\n if (is.und(props.default)) {\n props.default = true;\n }\n\n this.start(props);\n }\n }\n\n get idle() {\n return !(isAnimating(this) || this._state.asyncTo) || isPaused(this);\n }\n\n get goal() {\n return getFluidValue(this.animation.to);\n }\n\n get velocity() {\n const node = getAnimated(this);\n return node instanceof AnimatedValue ? node.lastVelocity || 0 : node.getPayload().map(node => node.lastVelocity || 0);\n }\n\n get hasAnimated() {\n return hasAnimated(this);\n }\n\n get isAnimating() {\n return isAnimating(this);\n }\n\n get isPaused() {\n return isPaused(this);\n }\n\n advance(dt) {\n let idle = true;\n let changed = false;\n const anim = this.animation;\n let {\n config,\n toValues\n } = anim;\n const payload = getPayload(anim.to);\n\n if (!payload && hasFluidValue(anim.to)) {\n toValues = toArray(getFluidValue(anim.to));\n }\n\n anim.values.forEach((node, i) => {\n if (node.done) return;\n const to = node.constructor == AnimatedString ? 1 : payload ? payload[i].lastPosition : toValues[i];\n let finished = anim.immediate;\n let position = to;\n\n if (!finished) {\n position = node.lastPosition;\n\n if (config.tension <= 0) {\n node.done = true;\n return;\n }\n\n let elapsed = node.elapsedTime += dt;\n const from = anim.fromValues[i];\n const v0 = node.v0 != null ? node.v0 : node.v0 = is.arr(config.velocity) ? config.velocity[i] : config.velocity;\n let velocity;\n\n if (!is.und(config.duration)) {\n let p = 1;\n\n if (config.duration > 0) {\n if (this._memoizedDuration !== config.duration) {\n this._memoizedDuration = config.duration;\n\n if (node.durationProgress > 0) {\n node.elapsedTime = config.duration * node.durationProgress;\n elapsed = node.elapsedTime += dt;\n }\n }\n\n p = (config.progress || 0) + elapsed / this._memoizedDuration;\n p = p > 1 ? 1 : p < 0 ? 0 : p;\n node.durationProgress = p;\n }\n\n position = from + config.easing(p) * (to - from);\n velocity = (position - node.lastPosition) / dt;\n finished = p == 1;\n } else if (config.decay) {\n const decay = config.decay === true ? 0.998 : config.decay;\n const e = Math.exp(-(1 - decay) * elapsed);\n position = from + v0 / (1 - decay) * (1 - e);\n finished = Math.abs(node.lastPosition - position) < 0.1;\n velocity = v0 * e;\n } else {\n velocity = node.lastVelocity == null ? v0 : node.lastVelocity;\n const precision = config.precision || (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001));\n const restVelocity = config.restVelocity || precision / 10;\n const bounceFactor = config.clamp ? 0 : config.bounce;\n const canBounce = !is.und(bounceFactor);\n const isGrowing = from == to ? node.v0 > 0 : from < to;\n let isMoving;\n let isBouncing = false;\n const step = 1;\n const numSteps = Math.ceil(dt / step);\n\n for (let n = 0; n < numSteps; ++n) {\n isMoving = Math.abs(velocity) > restVelocity;\n\n if (!isMoving) {\n finished = Math.abs(to - position) <= precision;\n\n if (finished) {\n break;\n }\n }\n\n if (canBounce) {\n isBouncing = position == to || position > to == isGrowing;\n\n if (isBouncing) {\n velocity = -velocity * bounceFactor;\n position = to;\n }\n }\n\n const springForce = -config.tension * 0.000001 * (position - to);\n const dampingForce = -config.friction * 0.001 * velocity;\n const acceleration = (springForce + dampingForce) / config.mass;\n velocity = velocity + acceleration * step;\n position = position + velocity * step;\n }\n }\n\n node.lastVelocity = velocity;\n\n if (Number.isNaN(position)) {\n console.warn(`Got NaN while animating:`, this);\n finished = true;\n }\n }\n\n if (payload && !payload[i].done) {\n finished = false;\n }\n\n if (finished) {\n node.done = true;\n } else {\n idle = false;\n }\n\n if (node.setValue(position, config.round)) {\n changed = true;\n }\n });\n const node = getAnimated(this);\n const currVal = node.getValue();\n\n if (idle) {\n const finalVal = getFluidValue(anim.to);\n\n if ((currVal !== finalVal || changed) && !config.decay) {\n node.setValue(finalVal);\n\n this._onChange(finalVal);\n } else if (changed && config.decay) {\n this._onChange(currVal);\n }\n\n this._stop();\n } else if (changed) {\n this._onChange(currVal);\n }\n }\n\n set(value) {\n raf.batchedUpdates(() => {\n this._stop();\n\n this._focus(value);\n\n this._set(value);\n });\n return this;\n }\n\n pause() {\n this._update({\n pause: true\n });\n }\n\n resume() {\n this._update({\n pause: false\n });\n }\n\n finish() {\n if (isAnimating(this)) {\n const {\n to,\n config\n } = this.animation;\n raf.batchedUpdates(() => {\n this._onStart();\n\n if (!config.decay) {\n this._set(to, false);\n }\n\n this._stop();\n });\n }\n\n return this;\n }\n\n update(props) {\n const queue = this.queue || (this.queue = []);\n queue.push(props);\n return this;\n }\n\n start(to, arg2) {\n let queue;\n\n if (!is.und(to)) {\n queue = [is.obj(to) ? to : _extends({}, arg2, {\n to\n })];\n } else {\n queue = this.queue || [];\n this.queue = [];\n }\n\n return Promise.all(queue.map(props => this._update(props))).then(results => getCombinedResult(this, results));\n }\n\n stop(cancel) {\n const {\n to\n } = this.animation;\n\n this._focus(this.get());\n\n stopAsync(this._state, cancel && this._lastCallId);\n raf.batchedUpdates(() => this._stop(to, cancel));\n return this;\n }\n\n reset() {\n this._update({\n reset: true\n });\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._start();\n } else if (event.type == 'priority') {\n this.priority = event.priority + 1;\n }\n }\n\n _prepareNode(props) {\n const key = this.key || '';\n let {\n to,\n from\n } = props;\n to = is.obj(to) ? to[key] : to;\n\n if (to == null || isAsyncTo(to)) {\n to = undefined;\n }\n\n from = is.obj(from) ? from[key] : from;\n\n if (from == null) {\n from = undefined;\n }\n\n const range = {\n to,\n from\n };\n\n if (!hasAnimated(this)) {\n if (props.reverse) [to, from] = [from, to];\n from = getFluidValue(from);\n\n if (!is.und(from)) {\n this._set(from);\n } else if (!getAnimated(this)) {\n this._set(to);\n }\n }\n\n return range;\n }\n\n _update(_ref, isLoop) {\n let props = _extends({}, _ref);\n\n const {\n key,\n defaultProps\n } = this;\n if (props.default) Object.assign(defaultProps, getDefaultProps(props, (value, prop) => /^on/.test(prop) ? resolveProp(value, key) : value));\n mergeActiveFn(this, props, 'onProps');\n sendEvent(this, 'onProps', props, this);\n\n const range = this._prepareNode(props);\n\n if (Object.isFrozen(this)) {\n throw Error('Cannot animate a `SpringValue` object that is frozen. ' + 'Did you forget to pass your component to `animated(...)` before animating its props?');\n }\n\n const state = this._state;\n return scheduleProps(++this._lastCallId, {\n key,\n props,\n defaultProps,\n state,\n actions: {\n pause: () => {\n if (!isPaused(this)) {\n setPausedBit(this, true);\n flushCalls(state.pauseQueue);\n sendEvent(this, 'onPause', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n resume: () => {\n if (isPaused(this)) {\n setPausedBit(this, false);\n\n if (isAnimating(this)) {\n this._resume();\n }\n\n flushCalls(state.resumeQueue);\n sendEvent(this, 'onResume', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n start: this._merge.bind(this, range)\n }\n }).then(result => {\n if (props.loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props);\n\n if (nextProps) {\n return this._update(nextProps, true);\n }\n }\n\n return result;\n });\n }\n\n _merge(range, props, resolve) {\n if (props.cancel) {\n this.stop(true);\n return resolve(getCancelledResult(this));\n }\n\n const hasToProp = !is.und(range.to);\n const hasFromProp = !is.und(range.from);\n\n if (hasToProp || hasFromProp) {\n if (props.callId > this._lastToId) {\n this._lastToId = props.callId;\n } else {\n return resolve(getCancelledResult(this));\n }\n }\n\n const {\n key,\n defaultProps,\n animation: anim\n } = this;\n const {\n to: prevTo,\n from: prevFrom\n } = anim;\n let {\n to = prevTo,\n from = prevFrom\n } = range;\n\n if (hasFromProp && !hasToProp && (!props.default || is.und(to))) {\n to = from;\n }\n\n if (props.reverse) [to, from] = [from, to];\n const hasFromChanged = !isEqual(from, prevFrom);\n\n if (hasFromChanged) {\n anim.from = from;\n }\n\n from = getFluidValue(from);\n const hasToChanged = !isEqual(to, prevTo);\n\n if (hasToChanged) {\n this._focus(to);\n }\n\n const hasAsyncTo = isAsyncTo(props.to);\n const {\n config\n } = anim;\n const {\n decay,\n velocity\n } = config;\n\n if (hasToProp || hasFromProp) {\n config.velocity = 0;\n }\n\n if (props.config && !hasAsyncTo) {\n mergeConfig(config, callProp(props.config, key), props.config !== defaultProps.config ? callProp(defaultProps.config, key) : void 0);\n }\n\n let node = getAnimated(this);\n\n if (!node || is.und(to)) {\n return resolve(getFinishedResult(this, true));\n }\n\n const reset = is.und(props.reset) ? hasFromProp && !props.default : !is.und(from) && matchProp(props.reset, key);\n const value = reset ? from : this.get();\n const goal = computeGoal(to);\n const isAnimatable = is.num(goal) || is.arr(goal) || isAnimatedString(goal);\n const immediate = !hasAsyncTo && (!isAnimatable || matchProp(defaultProps.immediate || props.immediate, key));\n\n if (hasToChanged) {\n const nodeType = getAnimatedType(to);\n\n if (nodeType !== node.constructor) {\n if (immediate) {\n node = this._set(goal);\n } else throw Error(`Cannot animate between ${node.constructor.name} and ${nodeType.name}, as the \"to\" prop suggests`);\n }\n }\n\n const goalType = node.constructor;\n let started = hasFluidValue(to);\n let finished = false;\n\n if (!started) {\n const hasValueChanged = reset || !hasAnimated(this) && hasFromChanged;\n\n if (hasToChanged || hasValueChanged) {\n finished = isEqual(computeGoal(value), goal);\n started = !finished;\n }\n\n if (!isEqual(anim.immediate, immediate) && !immediate || !isEqual(config.decay, decay) || !isEqual(config.velocity, velocity)) {\n started = true;\n }\n }\n\n if (finished && isAnimating(this)) {\n if (anim.changed && !reset) {\n started = true;\n } else if (!started) {\n this._stop(prevTo);\n }\n }\n\n if (!hasAsyncTo) {\n if (started || hasFluidValue(prevTo)) {\n anim.values = node.getPayload();\n anim.toValues = hasFluidValue(to) ? null : goalType == AnimatedString ? [1] : toArray(goal);\n }\n\n if (anim.immediate != immediate) {\n anim.immediate = immediate;\n\n if (!immediate && !reset) {\n this._set(prevTo);\n }\n }\n\n if (started) {\n const {\n onRest\n } = anim;\n each(ACTIVE_EVENTS, type => mergeActiveFn(this, props, type));\n const result = getFinishedResult(this, checkFinished(this, prevTo));\n flushCalls(this._pendingCalls, result);\n\n this._pendingCalls.add(resolve);\n\n if (anim.changed) raf.batchedUpdates(() => {\n anim.changed = !reset;\n onRest == null ? void 0 : onRest(result, this);\n\n if (reset) {\n callProp(defaultProps.onRest, result);\n } else {\n anim.onStart == null ? void 0 : anim.onStart(result, this);\n }\n });\n }\n }\n\n if (reset) {\n this._set(value);\n }\n\n if (hasAsyncTo) {\n resolve(runAsync(props.to, props, this._state, this));\n } else if (started) {\n this._start();\n } else if (isAnimating(this) && !hasToChanged) {\n this._pendingCalls.add(resolve);\n } else {\n resolve(getNoopResult(value));\n }\n }\n\n _focus(value) {\n const anim = this.animation;\n\n if (value !== anim.to) {\n if (getFluidObservers(this)) {\n this._detach();\n }\n\n anim.to = value;\n\n if (getFluidObservers(this)) {\n this._attach();\n }\n }\n }\n\n _attach() {\n let priority = 0;\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n addFluidObserver(to, this);\n\n if (isFrameValue(to)) {\n priority = to.priority + 1;\n }\n }\n\n this.priority = priority;\n }\n\n _detach() {\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n removeFluidObserver(to, this);\n }\n }\n\n _set(arg, idle = true) {\n const value = getFluidValue(arg);\n\n if (!is.und(value)) {\n const oldNode = getAnimated(this);\n\n if (!oldNode || !isEqual(value, oldNode.getValue())) {\n const nodeType = getAnimatedType(value);\n\n if (!oldNode || oldNode.constructor != nodeType) {\n setAnimated(this, nodeType.create(value));\n } else {\n oldNode.setValue(value);\n }\n\n if (oldNode) {\n raf.batchedUpdates(() => {\n this._onChange(value, idle);\n });\n }\n }\n }\n\n return getAnimated(this);\n }\n\n _onStart() {\n const anim = this.animation;\n\n if (!anim.changed) {\n anim.changed = true;\n sendEvent(this, 'onStart', getFinishedResult(this, checkFinished(this, anim.to)), this);\n }\n }\n\n _onChange(value, idle) {\n if (!idle) {\n this._onStart();\n\n callProp(this.animation.onChange, value, this);\n }\n\n callProp(this.defaultProps.onChange, value, this);\n\n super._onChange(value, idle);\n }\n\n _start() {\n const anim = this.animation;\n getAnimated(this).reset(getFluidValue(anim.to));\n\n if (!anim.immediate) {\n anim.fromValues = anim.values.map(node => node.lastPosition);\n }\n\n if (!isAnimating(this)) {\n setActiveBit(this, true);\n\n if (!isPaused(this)) {\n this._resume();\n }\n }\n }\n\n _resume() {\n if (Globals.skipAnimation) {\n this.finish();\n } else {\n frameLoop.start(this);\n }\n }\n\n _stop(goal, cancel) {\n if (isAnimating(this)) {\n setActiveBit(this, false);\n const anim = this.animation;\n each(anim.values, node => {\n node.done = true;\n });\n\n if (anim.toValues) {\n anim.onChange = anim.onPause = anim.onResume = undefined;\n }\n\n callFluidObservers(this, {\n type: 'idle',\n parent: this\n });\n const result = cancel ? getCancelledResult(this.get()) : getFinishedResult(this.get(), checkFinished(this, goal != null ? goal : anim.to));\n flushCalls(this._pendingCalls, result);\n\n if (anim.changed) {\n anim.changed = false;\n sendEvent(this, 'onRest', result, this);\n }\n }\n }\n\n}\n\nfunction checkFinished(target, to) {\n const goal = computeGoal(to);\n const value = computeGoal(target.get());\n return isEqual(value, goal);\n}\n\nfunction createLoopUpdate(props, loop = props.loop, to = props.to) {\n let loopRet = callProp(loop);\n\n if (loopRet) {\n const overrides = loopRet !== true && inferTo(loopRet);\n const reverse = (overrides || props).reverse;\n const reset = !overrides || overrides.reset;\n return createUpdate(_extends({}, props, {\n loop,\n default: false,\n pause: undefined,\n to: !reverse || isAsyncTo(to) ? to : undefined,\n from: reset ? props.from : undefined,\n reset\n }, overrides));\n }\n}\nfunction createUpdate(props) {\n const {\n to,\n from\n } = props = inferTo(props);\n const keys = new Set();\n if (is.obj(to)) findDefined(to, keys);\n if (is.obj(from)) findDefined(from, keys);\n props.keys = keys.size ? Array.from(keys) : null;\n return props;\n}\nfunction declareUpdate(props) {\n const update = createUpdate(props);\n\n if (is.und(update.default)) {\n update.default = getDefaultProps(update);\n }\n\n return update;\n}\n\nfunction findDefined(values, keys) {\n eachProp(values, (value, key) => value != null && keys.add(key));\n}\n\nconst ACTIVE_EVENTS = ['onStart', 'onRest', 'onChange', 'onPause', 'onResume'];\n\nfunction mergeActiveFn(target, props, type) {\n target.animation[type] = props[type] !== getDefaultProp(props, type) ? resolveProp(props[type], target.key) : undefined;\n}\n\nfunction sendEvent(target, type, ...args) {\n var _target$animation$typ, _target$animation, _target$defaultProps$, _target$defaultProps;\n\n (_target$animation$typ = (_target$animation = target.animation)[type]) == null ? void 0 : _target$animation$typ.call(_target$animation, ...args);\n (_target$defaultProps$ = (_target$defaultProps = target.defaultProps)[type]) == null ? void 0 : _target$defaultProps$.call(_target$defaultProps, ...args);\n}\n\nconst BATCHED_EVENTS = ['onStart', 'onChange', 'onRest'];\nlet nextId = 1;\nclass Controller {\n constructor(props, flush) {\n this.id = nextId++;\n this.springs = {};\n this.queue = [];\n this.ref = void 0;\n this._flush = void 0;\n this._initialProps = void 0;\n this._lastAsyncId = 0;\n this._active = new Set();\n this._changed = new Set();\n this._started = false;\n this._item = void 0;\n this._state = {\n paused: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._events = {\n onStart: new Map(),\n onChange: new Map(),\n onRest: new Map()\n };\n this._onFrame = this._onFrame.bind(this);\n\n if (flush) {\n this._flush = flush;\n }\n\n if (props) {\n this.start(_extends({\n default: true\n }, props));\n }\n }\n\n get idle() {\n return !this._state.asyncTo && Object.values(this.springs).every(spring => spring.idle);\n }\n\n get item() {\n return this._item;\n }\n\n set item(item) {\n this._item = item;\n }\n\n get() {\n const values = {};\n this.each((spring, key) => values[key] = spring.get());\n return values;\n }\n\n set(values) {\n for (const key in values) {\n const value = values[key];\n\n if (!is.und(value)) {\n this.springs[key].set(value);\n }\n }\n }\n\n update(props) {\n if (props) {\n this.queue.push(createUpdate(props));\n }\n\n return this;\n }\n\n start(props) {\n let {\n queue\n } = this;\n\n if (props) {\n queue = toArray(props).map(createUpdate);\n } else {\n this.queue = [];\n }\n\n if (this._flush) {\n return this._flush(this, queue);\n }\n\n prepareKeys(this, queue);\n return flushUpdateQueue(this, queue);\n }\n\n stop(arg, keys) {\n if (arg !== !!arg) {\n keys = arg;\n }\n\n if (keys) {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].stop(!!arg));\n } else {\n stopAsync(this._state, this._lastAsyncId);\n this.each(spring => spring.stop(!!arg));\n }\n\n return this;\n }\n\n pause(keys) {\n if (is.und(keys)) {\n this.start({\n pause: true\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].pause());\n }\n\n return this;\n }\n\n resume(keys) {\n if (is.und(keys)) {\n this.start({\n pause: false\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].resume());\n }\n\n return this;\n }\n\n each(iterator) {\n eachProp(this.springs, iterator);\n }\n\n _onFrame() {\n const {\n onStart,\n onChange,\n onRest\n } = this._events;\n const active = this._active.size > 0;\n const changed = this._changed.size > 0;\n\n if (active && !this._started || changed && !this._started) {\n this._started = true;\n flush(onStart, ([onStart, result]) => {\n result.value = this.get();\n onStart(result, this, this._item);\n });\n }\n\n const idle = !active && this._started;\n const values = changed || idle && onRest.size ? this.get() : null;\n\n if (changed && onChange.size) {\n flush(onChange, ([onChange, result]) => {\n result.value = values;\n onChange(result, this, this._item);\n });\n }\n\n if (idle) {\n this._started = false;\n flush(onRest, ([onRest, result]) => {\n result.value = values;\n onRest(result, this, this._item);\n });\n }\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._changed.add(event.parent);\n\n if (!event.idle) {\n this._active.add(event.parent);\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else return;\n\n raf.onFrame(this._onFrame);\n }\n\n}\nfunction flushUpdateQueue(ctrl, queue) {\n return Promise.all(queue.map(props => flushUpdate(ctrl, props))).then(results => getCombinedResult(ctrl, results));\n}\nasync function flushUpdate(ctrl, props, isLoop) {\n const {\n keys,\n to,\n from,\n loop,\n onRest,\n onResolve\n } = props;\n const defaults = is.obj(props.default) && props.default;\n\n if (loop) {\n props.loop = false;\n }\n\n if (to === false) props.to = null;\n if (from === false) props.from = null;\n const asyncTo = is.arr(to) || is.fun(to) ? to : undefined;\n\n if (asyncTo) {\n props.to = undefined;\n props.onRest = undefined;\n\n if (defaults) {\n defaults.onRest = undefined;\n }\n } else {\n each(BATCHED_EVENTS, key => {\n const handler = props[key];\n\n if (is.fun(handler)) {\n const queue = ctrl['_events'][key];\n\n props[key] = ({\n finished,\n cancelled\n }) => {\n const result = queue.get(handler);\n\n if (result) {\n if (!finished) result.finished = false;\n if (cancelled) result.cancelled = true;\n } else {\n queue.set(handler, {\n value: null,\n finished: finished || false,\n cancelled: cancelled || false\n });\n }\n };\n\n if (defaults) {\n defaults[key] = props[key];\n }\n }\n });\n }\n\n const state = ctrl['_state'];\n\n if (props.pause === !state.paused) {\n state.paused = props.pause;\n flushCalls(props.pause ? state.pauseQueue : state.resumeQueue);\n } else if (state.paused) {\n props.pause = true;\n }\n\n const promises = (keys || Object