diff --git a/Resources/Public/Plugin.css b/Resources/Public/Plugin.css index 77a6bdd..449bfd1 100644 --- a/Resources/Public/Plugin.css +++ b/Resources/Public/Plugin.css @@ -67,7 +67,7 @@ translate: -50% -50%; width: var(--bar-width); pointer-events: all; - transition: width 0.1s ease-out; + transition: width 0.1s ease-out, opacity 0.05s; } .CommandBar-module__commandBar___3t_V0.CommandBar-module__hasResults___3NzEf { @@ -102,13 +102,13 @@ grid-template-columns: 1fr 1fr; } -.Icon-module__iconWrap___1tIr6 { +.Icon-module__iconWrap___3B4ri { width: var(--icon-size); display: inline-block; text-align: center; } -.CommandBarFooter-module__commandBarFooter___1mMGR { +.CommandBarFooter-module__commandBarFooter___2mcre { border-top: 1px solid var(--color-border); background-color: var(--footer-background); padding: 0.8rem 1rem; @@ -119,36 +119,36 @@ user-select: none; } -.CommandBarFooter-module__breadcrumb___2xMga { +.CommandBarFooter-module__breadcrumb___1Ul24 { display: flex; gap: 1rem; } -.CommandBarFooter-module__activity___1YdE7 { +.CommandBarFooter-module__activity___2GXJU { display: flex; gap: 1rem; } -.CommandBarFooter-module__madeWithLove___2_GKs { +.CommandBarFooter-module__madeWithLove___zHu8L { display: flex; } -.CommandBarFooter-module__madeWithLove___2_GKs small { +.CommandBarFooter-module__madeWithLove___zHu8L small { transition: color 0.1s ease-in-out; } -.CommandBarFooter-module__madeWithLove___2_GKs:hover small { +.CommandBarFooter-module__madeWithLove___zHu8L:hover small { color: var(--color-light-text-hover); } -.CommandBarFooter-module__madeWithLove___2_GKs svg { +.CommandBarFooter-module__madeWithLove___zHu8L svg { display: inline-block; width: var(--icon-size); height: auto; margin-left: 0.5em; } -.SearchBox-module__searchBox___3J8zU { +.SearchBox-module__searchBox___1SEtn { appearance: none; background: none; border: none; @@ -160,7 +160,12 @@ flex: 1; } -.CommandBarHeader-module__commandBarHeader___2UG9r { +.SearchBox-module__searchBox___1SEtn:disabled { + color: var(--color-light-text); + cursor: not-allowed; +} + +.CommandBarHeader-module__commandBarHeader___3Y2hR { display: flex; align-items: center; gap: 1rem; @@ -168,7 +173,7 @@ border-bottom: 1px solid var(--color-border); } -.CommandBarHeader-module__backButton___3tZcE { +.CommandBarHeader-module__backButton___1qIGu { padding: 0.3rem; background-color: var(--color-icon-bg); border-radius: 50%; @@ -179,11 +184,11 @@ transition: background-color 0.1s ease-in-out; } -.CommandBarHeader-module__backButton___3tZcE:hover { +.CommandBarHeader-module__backButton___1qIGu:hover { background-color: var(--color-icon-bg-hover); } -.CommandListing-module__results___ug-oG { +.CommandListing-module__results___23Rve { min-height: 0; transition: opacity 0.3s ease-in; overflow-y: auto; @@ -191,7 +196,7 @@ height: 100%; } -.CommandListing-module__results___ug-oG h6 { +.CommandListing-module__results___23Rve h6 { color: var(--color-light-text); margin: 0.5rem; font-size: 0.9em; @@ -199,7 +204,7 @@ user-select: none; } -.CommandListing-module__results___ug-oG ul { +.CommandListing-module__results___23Rve ul { padding: 0; list-style: none; display: flex; @@ -208,17 +213,17 @@ margin: 0; } -.CommandListing-module__noResults___2zw8Z { +.CommandListing-module__noResults___Mb89V { padding: 0.5rem; } -.CommandListing-module__disabled___3IBJW { +.CommandListing-module__disabled___6gpPj { opacity: 0.5 !important; pointer-events: none; user-select: none; } -.CommandListItem-module__commandListItem___PbP5Z { +.CommandListItem-module__commandListItem___1Gsrl { cursor: pointer; display: flex !important; /* Necessary due to the neos header bar styling */ gap: 1em; @@ -230,15 +235,15 @@ user-select: none; } -.CommandListItem-module__commandListItem___PbP5Z:hover { +.CommandListItem-module__commandListItem___1Gsrl:hover { background-color: var(--color-item-hover); } -.CommandListItem-module__highlighted___ww9c6 { +.CommandListItem-module__highlighted___3Lsze { background-color: var(--color-item-highlighted); } -.CommandListItem-module__label___3g_nM { +.CommandListItem-module__label___32-bU { display: flex; flex-wrap: wrap; flex: 1; @@ -246,12 +251,12 @@ align-items: baseline; } -.CommandResultsView-module__commandResultsView___2_3i- { +.CommandResultsView-module__commandResultsView___xLqwb { max-width: 100%; overflow: auto; } -.ToggleButton-module__toggleButton___2GvMS { +.ToggleButton-module__toggleButton___2wPs- { background-color: var(--grayLight); border: 1px solid var(--grayMedium); color: var(--textSubtleLight); @@ -266,17 +271,17 @@ line-height: 1.4em; } -.ToggleButton-module__toggleButton___2GvMS:disabled { +.ToggleButton-module__toggleButton___2wPs-:disabled { opacity: 0.5; cursor: not-allowed; } -.ToggleButton-module__toggleButton___2GvMS:not(:disabled):hover { +.ToggleButton-module__toggleButton___2wPs-:not(:disabled):hover { background-color: var(--grayLighter); color: var(--textOnWhite); } -.ToggleButton-module__buttonIcon___3yxlm { +.ToggleButton-module__buttonIcon___UjFjw { background-color: var(--grayMedium); border-radius: 3px; color: var(--textOnGray); @@ -285,7 +290,7 @@ transition: background-color 0.1s ease-out; } -.ToggleButton-module__toggleButton___2GvMS:not(:disabled):hover .ToggleButton-module__buttonIcon___3yxlm { +.ToggleButton-module__toggleButton___2wPs-:not(:disabled):hover .ToggleButton-module__buttonIcon___UjFjw { background-color: var(--primaryBlue); } diff --git a/Resources/Public/Plugin.css.map b/Resources/Public/Plugin.css.map index 3727ef3..7c9728e 100644 --- a/Resources/Public/Plugin.css.map +++ b/Resources/Public/Plugin.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/CommandBarUiPlugin.module.css","webpack:///../commandbar/src/CommandBar.module.css","webpack:///../commandbar/src/Presentationals/Icon.module.css","webpack:///../commandbar/src/CommandBarFooter/CommandBarFooter.module.css","webpack:///../commandbar/src/SearchBox/SearchBox.module.css","webpack:///../commandbar/src/CommandBarHeader/CommandBarHeader.module.css","webpack:///../commandbar/src/CommandList/CommandListing.module.css","webpack:///../commandbar/src/CommandList/CommandListItem.module.css","webpack:///../commandbar/src/CommandResultsView/CommandResultsView.module.css","webpack:///../commandbar/src/ToggleButton/ToggleButton.module.css"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AClFA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA","file":"./Plugin.css","sourcesContent":[".CommandBarUiPlugin-module__fullScreenLayer___1cUx4 {\n width: 100vw;\n height: 100vh;\n position: absolute;\n left: 0;\n top: 0;\n pointer-events: none;\n z-index: 9999;\n display: none;\n}\n\n.CommandBarUiPlugin-module__open___1Bjxj {\n display: block;\n}\n\n.CommandBarUiPlugin-module__commandBarToolbarComponent___1agRY {\n display: flex;\n align-items: center;\n}\n",":root {\n --bar-min-width: 600px;\n --bar-max-width: 90vw;\n --bar-width: 30vw;\n --bar-width-expanded: 60vw;\n --bar-background: rgba(0, 0, 0, 0.8);\n --footer-background: rgba(0, 0, 0, 0.8);\n --color-shadow: rgba(255, 255, 255, 0.7);\n --color-light-text: rgba(255, 255, 255, 0.6);\n --color-light-text-hover: rgba(255, 255, 255, 0.8);\n --color-icon-bg: rgba(255, 255, 255, 0.2);\n --color-icon-bg-hover: rgba(255, 255, 255, 0.4);\n --color-border: rgba(255, 255, 255, 0.2);\n --color-item-highlighted: rgba(255, 255, 255, 0.15);\n --color-item-hover: rgba(255, 255, 255, 0.05);\n --border-radius-bar: 0.6rem;\n --border-radius-item: 0.4rem;\n --icon-size: 1.125em;\n\n /* Neos UI colors */\n --grayLight: #3f3f3f;\n --grayLighter: #eee;\n --grayMedium: #323232;\n --textSubtleLight: #adadad;\n --textOnGray: #fff;\n --textOnWhite: #252525;\n --primaryBlue: #00adee;\n}\n\n.CommandBar-module__commandBar___3t_V0 {\n backdrop-filter: blur(10px);\n background: var(--bar-background);\n border-radius: var(--border-radius-bar, 5);\n border: 1px solid var(--color-border);\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);\n color: white;\n display: flex;\n flex-direction: column;\n left: 50%;\n margin: 0;\n max-width: var(--bar-max-width);\n min-width: var(--bar-min-width);\n overflow: hidden;\n position: absolute;\n padding: 0;\n top: 50%;\n translate: -50% -50%;\n width: var(--bar-width);\n pointer-events: all;\n transition: width 0.1s ease-out;\n}\n\n.CommandBar-module__commandBar___3t_V0.CommandBar-module__hasResults___3NzEf {\n width: var(--bar-width-expanded);\n}\n\n.CommandBar-module__commandBar___3t_V0 small {\n color: var(--color-light-text);\n font-size: 90%;\n}\n\n.CommandBar-module__resultsWrap___ceSal {\n display: grid;\n grid-template-rows: 0fr;\n transform-origin: top center;\n transition: grid-template-rows 0.2s ease-in;\n}\n\n.CommandBar-module__resultsWrap___ceSal > * {\n opacity: 0;\n}\n\n.CommandBar-module__resultsWrap___ceSal.CommandBar-module__expanded___tNs3W {\n grid-template-rows: 1fr;\n}\n\n.CommandBar-module__resultsWrap___ceSal.CommandBar-module__expanded___tNs3W > * {\n opacity: 1;\n padding: 0.5rem;\n}\n.CommandBar-module__resultsWrap___ceSal.CommandBar-module__split___mpznN {\n grid-template-columns: 1fr 1fr;\n}\n",".Icon-module__iconWrap___1tIr6 {\n width: var(--icon-size);\n display: inline-block;\n text-align: center;\n}\n",".CommandBarFooter-module__commandBarFooter___1mMGR {\n border-top: 1px solid var(--color-border);\n background-color: var(--footer-background);\n padding: 0.8rem 1rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n user-select: none;\n}\n\n.CommandBarFooter-module__breadcrumb___2xMga {\n display: flex;\n gap: 1rem;\n}\n\n.CommandBarFooter-module__activity___1YdE7 {\n display: flex;\n gap: 1rem;\n}\n\n.CommandBarFooter-module__madeWithLove___2_GKs {\n display: flex;\n}\n\n.CommandBarFooter-module__madeWithLove___2_GKs small {\n transition: color 0.1s ease-in-out;\n}\n\n.CommandBarFooter-module__madeWithLove___2_GKs:hover small {\n color: var(--color-light-text-hover);\n}\n\n.CommandBarFooter-module__madeWithLove___2_GKs svg {\n display: inline-block;\n width: var(--icon-size);\n height: auto;\n margin-left: 0.5em;\n}\n",".SearchBox-module__searchBox___3J8zU {\n appearance: none;\n background: none;\n border: none;\n color: currentColor;\n font-size: 1.1em !important; /* Fix to prevent Neos.UI css from forcing the font size to 14px */\n font-weight: 300;\n outline: none;\n padding: 0.5rem;\n flex: 1;\n}\n",".CommandBarHeader-module__commandBarHeader___2UG9r {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 0.3rem 0.5rem;\n border-bottom: 1px solid var(--color-border);\n}\n\n.CommandBarHeader-module__backButton___3tZcE {\n padding: 0.3rem;\n background-color: var(--color-icon-bg);\n border-radius: 50%;\n appearance: none;\n border: none;\n color: white;\n cursor: pointer;\n transition: background-color 0.1s ease-in-out;\n}\n\n.CommandBarHeader-module__backButton___3tZcE:hover {\n background-color: var(--color-icon-bg-hover);\n}\n",".CommandListing-module__results___ug-oG {\n min-height: 0;\n transition: opacity 0.3s ease-in;\n overflow-y: auto;\n max-height: 60vh;\n height: 100%;\n}\n\n.CommandListing-module__results___ug-oG h6 {\n color: var(--color-light-text);\n margin: 0.5rem;\n font-size: 0.9em;\n font-weight: normal;\n user-select: none;\n}\n\n.CommandListing-module__results___ug-oG ul {\n padding: 0;\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: 0.5em;\n margin: 0;\n}\n\n.CommandListing-module__noResults___2zw8Z {\n padding: 0.5rem;\n}\n\n.CommandListing-module__disabled___3IBJW {\n opacity: 0.5 !important;\n pointer-events: none;\n user-select: none;\n}\n",".CommandListItem-module__commandListItem___PbP5Z {\n cursor: pointer;\n display: flex !important; /* Necessary due to the neos header bar styling */\n gap: 1em;\n padding: 0.4rem 0.6rem;\n align-items: baseline;\n border-radius: var(--border-radius-item);\n transition: background-color 0.1s ease-in-out;\n background-color: transparent;\n user-select: none;\n}\n\n.CommandListItem-module__commandListItem___PbP5Z:hover {\n background-color: var(--color-item-hover);\n}\n\n.CommandListItem-module__highlighted___ww9c6 {\n background-color: var(--color-item-highlighted);\n}\n\n.CommandListItem-module__label___3g_nM {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n gap: 0 1em;\n align-items: baseline;\n}\n",".CommandResultsView-module__commandResultsView___2_3i- {\n max-width: 100%;\n overflow: auto;\n}\n",".ToggleButton-module__toggleButton___2GvMS {\n background-color: var(--grayLight);\n border: 1px solid var(--grayMedium);\n color: var(--textSubtleLight);\n border-radius: 6px;\n display: flex;\n align-items: center;\n gap: 0.5em;\n transition: 0.1s ease-out;\n user-select: none;\n padding: 2px 0.3rem 2px 0.5rem;\n cursor: pointer;\n line-height: 1.4em;\n}\n\n.ToggleButton-module__toggleButton___2GvMS:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ToggleButton-module__toggleButton___2GvMS:not(:disabled):hover {\n background-color: var(--grayLighter);\n color: var(--textOnWhite);\n}\n\n.ToggleButton-module__buttonIcon___3yxlm {\n background-color: var(--grayMedium);\n border-radius: 3px;\n color: var(--textOnGray);\n font-size: 80%;\n padding: 1px 4px;\n transition: background-color 0.1s ease-out;\n}\n\n.ToggleButton-module__toggleButton___2GvMS:not(:disabled):hover .ToggleButton-module__buttonIcon___3yxlm {\n background-color: var(--primaryBlue);\n}\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/CommandBarUiPlugin.module.css","webpack:///../commandbar/src/CommandBar.module.css","webpack:///../commandbar/src/components/Icon/Icon.module.css","webpack:///../commandbar/src/components/CommandBarFooter/CommandBarFooter.module.css","webpack:///../commandbar/src/components/SearchBox/SearchBox.module.css","webpack:///../commandbar/src/components/CommandBarHeader/CommandBarHeader.module.css","webpack:///../commandbar/src/components/CommandList/CommandListing.module.css","webpack:///../commandbar/src/components/CommandList/CommandListItem.module.css","webpack:///../commandbar/src/components/CommandResultsView/CommandResultsView.module.css","webpack:///../commandbar/src/components/ToggleButton/ToggleButton.module.css"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AClFA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA","file":"./Plugin.css","sourcesContent":[".CommandBarUiPlugin-module__fullScreenLayer___1cUx4 {\n width: 100vw;\n height: 100vh;\n position: absolute;\n left: 0;\n top: 0;\n pointer-events: none;\n z-index: 9999;\n display: none;\n}\n\n.CommandBarUiPlugin-module__open___1Bjxj {\n display: block;\n}\n\n.CommandBarUiPlugin-module__commandBarToolbarComponent___1agRY {\n display: flex;\n align-items: center;\n}\n",":root {\n --bar-min-width: 600px;\n --bar-max-width: 90vw;\n --bar-width: 30vw;\n --bar-width-expanded: 60vw;\n --bar-background: rgba(0, 0, 0, 0.8);\n --footer-background: rgba(0, 0, 0, 0.8);\n --color-shadow: rgba(255, 255, 255, 0.7);\n --color-light-text: rgba(255, 255, 255, 0.6);\n --color-light-text-hover: rgba(255, 255, 255, 0.8);\n --color-icon-bg: rgba(255, 255, 255, 0.2);\n --color-icon-bg-hover: rgba(255, 255, 255, 0.4);\n --color-border: rgba(255, 255, 255, 0.2);\n --color-item-highlighted: rgba(255, 255, 255, 0.15);\n --color-item-hover: rgba(255, 255, 255, 0.05);\n --border-radius-bar: 0.6rem;\n --border-radius-item: 0.4rem;\n --icon-size: 1.125em;\n\n /* Neos UI colors */\n --grayLight: #3f3f3f;\n --grayLighter: #eee;\n --grayMedium: #323232;\n --textSubtleLight: #adadad;\n --textOnGray: #fff;\n --textOnWhite: #252525;\n --primaryBlue: #00adee;\n}\n\n.CommandBar-module__commandBar___3t_V0 {\n backdrop-filter: blur(10px);\n background: var(--bar-background);\n border-radius: var(--border-radius-bar, 5);\n border: 1px solid var(--color-border);\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);\n color: white;\n display: flex;\n flex-direction: column;\n left: 50%;\n margin: 0;\n max-width: var(--bar-max-width);\n min-width: var(--bar-min-width);\n overflow: hidden;\n position: absolute;\n padding: 0;\n top: 50%;\n translate: -50% -50%;\n width: var(--bar-width);\n pointer-events: all;\n transition: width 0.1s ease-out, opacity 0.05s;\n}\n\n.CommandBar-module__commandBar___3t_V0.CommandBar-module__hasResults___3NzEf {\n width: var(--bar-width-expanded);\n}\n\n.CommandBar-module__commandBar___3t_V0 small {\n color: var(--color-light-text);\n font-size: 90%;\n}\n\n.CommandBar-module__resultsWrap___ceSal {\n display: grid;\n grid-template-rows: 0fr;\n transform-origin: top center;\n transition: grid-template-rows 0.2s ease-in;\n}\n\n.CommandBar-module__resultsWrap___ceSal > * {\n opacity: 0;\n}\n\n.CommandBar-module__resultsWrap___ceSal.CommandBar-module__expanded___tNs3W {\n grid-template-rows: 1fr;\n}\n\n.CommandBar-module__resultsWrap___ceSal.CommandBar-module__expanded___tNs3W > * {\n opacity: 1;\n padding: 0.5rem;\n}\n.CommandBar-module__resultsWrap___ceSal.CommandBar-module__split___mpznN {\n grid-template-columns: 1fr 1fr;\n}\n",".Icon-module__iconWrap___3B4ri {\n width: var(--icon-size);\n display: inline-block;\n text-align: center;\n}\n",".CommandBarFooter-module__commandBarFooter___2mcre {\n border-top: 1px solid var(--color-border);\n background-color: var(--footer-background);\n padding: 0.8rem 1rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n user-select: none;\n}\n\n.CommandBarFooter-module__breadcrumb___1Ul24 {\n display: flex;\n gap: 1rem;\n}\n\n.CommandBarFooter-module__activity___2GXJU {\n display: flex;\n gap: 1rem;\n}\n\n.CommandBarFooter-module__madeWithLove___zHu8L {\n display: flex;\n}\n\n.CommandBarFooter-module__madeWithLove___zHu8L small {\n transition: color 0.1s ease-in-out;\n}\n\n.CommandBarFooter-module__madeWithLove___zHu8L:hover small {\n color: var(--color-light-text-hover);\n}\n\n.CommandBarFooter-module__madeWithLove___zHu8L svg {\n display: inline-block;\n width: var(--icon-size);\n height: auto;\n margin-left: 0.5em;\n}\n",".SearchBox-module__searchBox___1SEtn {\n appearance: none;\n background: none;\n border: none;\n color: currentColor;\n font-size: 1.1em !important; /* Fix to prevent Neos.UI css from forcing the font size to 14px */\n font-weight: 300;\n outline: none;\n padding: 0.5rem;\n flex: 1;\n}\n\n.SearchBox-module__searchBox___1SEtn:disabled {\n color: var(--color-light-text);\n cursor: not-allowed;\n}\n",".CommandBarHeader-module__commandBarHeader___3Y2hR {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 0.3rem 0.5rem;\n border-bottom: 1px solid var(--color-border);\n}\n\n.CommandBarHeader-module__backButton___1qIGu {\n padding: 0.3rem;\n background-color: var(--color-icon-bg);\n border-radius: 50%;\n appearance: none;\n border: none;\n color: white;\n cursor: pointer;\n transition: background-color 0.1s ease-in-out;\n}\n\n.CommandBarHeader-module__backButton___1qIGu:hover {\n background-color: var(--color-icon-bg-hover);\n}\n",".CommandListing-module__results___23Rve {\n min-height: 0;\n transition: opacity 0.3s ease-in;\n overflow-y: auto;\n max-height: 60vh;\n height: 100%;\n}\n\n.CommandListing-module__results___23Rve h6 {\n color: var(--color-light-text);\n margin: 0.5rem;\n font-size: 0.9em;\n font-weight: normal;\n user-select: none;\n}\n\n.CommandListing-module__results___23Rve ul {\n padding: 0;\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: 0.5em;\n margin: 0;\n}\n\n.CommandListing-module__noResults___Mb89V {\n padding: 0.5rem;\n}\n\n.CommandListing-module__disabled___6gpPj {\n opacity: 0.5 !important;\n pointer-events: none;\n user-select: none;\n}\n",".CommandListItem-module__commandListItem___1Gsrl {\n cursor: pointer;\n display: flex !important; /* Necessary due to the neos header bar styling */\n gap: 1em;\n padding: 0.4rem 0.6rem;\n align-items: baseline;\n border-radius: var(--border-radius-item);\n transition: background-color 0.1s ease-in-out;\n background-color: transparent;\n user-select: none;\n}\n\n.CommandListItem-module__commandListItem___1Gsrl:hover {\n background-color: var(--color-item-hover);\n}\n\n.CommandListItem-module__highlighted___3Lsze {\n background-color: var(--color-item-highlighted);\n}\n\n.CommandListItem-module__label___32-bU {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n gap: 0 1em;\n align-items: baseline;\n}\n",".CommandResultsView-module__commandResultsView___xLqwb {\n max-width: 100%;\n overflow: auto;\n}\n",".ToggleButton-module__toggleButton___2wPs- {\n background-color: var(--grayLight);\n border: 1px solid var(--grayMedium);\n color: var(--textSubtleLight);\n border-radius: 6px;\n display: flex;\n align-items: center;\n gap: 0.5em;\n transition: 0.1s ease-out;\n user-select: none;\n padding: 2px 0.3rem 2px 0.5rem;\n cursor: pointer;\n line-height: 1.4em;\n}\n\n.ToggleButton-module__toggleButton___2wPs-:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ToggleButton-module__toggleButton___2wPs-:not(:disabled):hover {\n background-color: var(--grayLighter);\n color: var(--textOnWhite);\n}\n\n.ToggleButton-module__buttonIcon___UjFjw {\n background-color: var(--grayMedium);\n border-radius: 3px;\n color: var(--textOnGray);\n font-size: 80%;\n padding: 1px 4px;\n transition: background-color 0.1s ease-out;\n}\n\n.ToggleButton-module__toggleButton___2wPs-:not(:disabled):hover .ToggleButton-module__buttonIcon___UjFjw {\n background-color: var(--primaryBlue);\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/Resources/Public/Plugin.js b/Resources/Public/Plugin.js index 239364c..39e0ac4 100644 --- a/Resources/Public/Plugin.js +++ b/Resources/Public/Plugin.js @@ -1,3 +1,3 @@ /*! For license information please see Plugin.js.LICENSE.txt */ -!function(e){var t={};function __webpack_require__(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,__webpack_require__),r.l=!0,r.exports}__webpack_require__.m=e,__webpack_require__.c=t,__webpack_require__.d=function(e,t,n){__webpack_require__.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.t=function(e,t){if(1&t&&(e=__webpack_require__(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(__webpack_require__.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)__webpack_require__.d(n,r,function(t){return e[t]}.bind(null,r));return n},__webpack_require__.n=function(e){var t=e&&e.__esModule?function getDefault(){return e.default}:function getModuleExports(){return e};return __webpack_require__.d(t,"a",t),t},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=21)}([function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("vendor")().React},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("vendor")().PropTypes},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("NeosProjectPackages")().NeosUiReduxStore},function(e,t,n){"use strict";var __read=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)s.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},__spreadArray=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o{var n,r,o;return{...e,plugins:{...e.plugins,commandBar:{open:void 0!==(null===(n=t.payload)||void 0===n?void 0:n.open)?t.payload.open:!(null===(o=null===(r=e.plugins)||void 0===r?void 0:r.commandBar)||void 0===o?void 0:o.open)}}}}},{plugins:{commandBar:{open:!1}}}),i={commandBarOpen:e=>{var t,n;return null===(n=null===(t=e.plugins)||void 0===t?void 0:t.commandBar)||void 0===n?void 0:n.open}}},function(e,t,n){e.exports={fullScreenLayer:"CommandBarUiPlugin-module__fullScreenLayer___1cUx4",open:"CommandBarUiPlugin-module__open___1Bjxj",commandBarToolbarComponent:"CommandBarUiPlugin-module__commandBarToolbarComponent___1agRY"}},function(e,t,n){e.exports={results:"CommandListing-module__results___ug-oG",noResults:"CommandListing-module__noResults___2zw8Z",disabled:"CommandListing-module__disabled___3IBJW"}},function(e,t,n){e.exports={commandListItem:"CommandListItem-module__commandListItem___PbP5Z",highlighted:"CommandListItem-module__highlighted___ww9c6",label:"CommandListItem-module__label___3g_nM"}},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("vendor")().reduxActions},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("vendor")().reactRedux},function(e,t,n){e.exports={commandBarHeader:"CommandBarHeader-module__commandBarHeader___2UG9r",backButton:"CommandBarHeader-module__backButton___3tZcE"}},function(e,t,n){e.exports={toggleButton:"ToggleButton-module__toggleButton___2GvMS",buttonIcon:"ToggleButton-module__buttonIcon___3yxlm"}},function(e,t,n){"use strict";var r,o=(r=function extendStatics(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function __(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}),__importDefault=function(e){return e&&e.__esModule?e:{default:e}};t.__esModule=!0;var a=__importDefault(n(27)),s=__importDefault(n(28)),i=function(e){function SynchronousRegistry(t){var n=e.call(this,t)||this;return n._registry=[],n}return o(SynchronousRegistry,e),SynchronousRegistry.prototype.set=function(e,t,n){if(void 0===n&&(n=0),"string"!=typeof e)throw new Error("Key must be a string");if("string"!=typeof n&&"number"!=typeof n)throw new Error("Position must be a string or a number");var r={key:e,value:t};n&&(r.position=n);var o=this._registry.findIndex((function(t){return t.key===e}));return-1===o?this._registry.push(r):this._registry[o]=r,t},SynchronousRegistry.prototype.get=function(e){if("string"!=typeof e)return console.error("Key must be a string"),null;var t=this._registry.find((function(t){return t.key===e}));return t?t.value:null},SynchronousRegistry.prototype._getChildrenWrapped=function(e){var t=this._registry.filter((function(t){return 0===t.key.indexOf(e+"/")}));return(0,s.default)(t)},SynchronousRegistry.prototype.getChildrenAsObject=function(e){var t={};return this._getChildrenWrapped(e).forEach((function(e){t[e.key]=e.value})),t},SynchronousRegistry.prototype.getChildren=function(e){return this._getChildrenWrapped(e).map((function(e){return e.value}))},SynchronousRegistry.prototype.has=function(e){return"string"!=typeof e?(console.error("Key must be a string"),!1):Boolean(this._registry.find((function(t){return t.key===e})))},SynchronousRegistry.prototype._getAllWrapped=function(){return(0,s.default)(this._registry)},SynchronousRegistry.prototype.getAllAsObject=function(){var e={};return this._getAllWrapped().forEach((function(t){e[t.key]=t.value})),e},SynchronousRegistry.prototype.getAllAsList=function(){return this._getAllWrapped().map((function(e){return Object.assign({id:e.key},e.value)}))},SynchronousRegistry}(a.default);t.default=i},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("NeosProjectPackages")().NeosUiDecorators},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("NeosProjectPackages")().ReactUiComponents},function(e,t,n){e.exports={iconWrap:"Icon-module__iconWrap___1tIr6"}},function(e,t,n){e.exports={searchBox:"SearchBox-module__searchBox___3J8zU"}},function(e,t,n){e.exports={commandResultsView:"CommandResultsView-module__commandResultsView___2_3i-"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fetchWithErrorHandling=void 0;var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));t.default=(0,r.default)("NeosProjectPackages")().NeosUiBackendConnectorDefault;var o=(0,r.default)("NeosProjectPackages")().NeosUiBackendConnector.fetchWithErrorHandling;t.fetchWithErrorHandling=o},function(e,t,n){"use strict";n(22)},function(e,t,n){"use strict";var r=n(23),o=_interopRequireDefault(r),a=n(2),s=n(6),i=_interopRequireDefault(n(31));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(0,o.default)("Shel.Neos.CommandBar:CommandBar",{},(function(e,t){var n=t.store,o=t.frontendConfiguration;if(o["Shel.Neos.CommandBar:CommandBar"].enabled&&(e.set("Shel.Neos.CommandBar",new r.SynchronousRegistry("\n # Shel.Neos.CommandBar 3rd party commands\n ")),e.get("Shel.Neos.CommandBar").set("plugins/test",(function(){return{extensibilityTest:{name:"Extensibility test",icon:"vial",description:"Command registered via command bar extensibility",canHandleQueries:!0,action:(e=function _asyncToGenerator(e){return function(){var t=e.apply(this,arguments);return new Promise((function(e,n){return function step(r,o){try{var a=t[r](o),s=a.value}catch(e){return void n(e)}if(!a.done)return Promise.resolve(s).then((function(e){step("next",e)}),(function(e){step("throw",e)}));e(s)}("next")}))}}(regeneratorRuntime.mark((function _callee(e){var t,r;return regeneratorRuntime.wrap((function _callee$(o){for(;;)switch(o.prev=o.next){case 0:t=n.getState(),r=a.selectors.CR.Nodes.documentNodeSelector(t),window.alert("The current document node is "+r.contextPath+" and the query is "+e+".");case 3:case"end":return o.stop()}}),_callee,void 0)}))),function action(t){return e.apply(this,arguments)})}};var e})),e.get("containers").set("PrimaryToolbar/Middle/CommandBar",i.default),e.get("reducers").set("Shel.Neos.CommandBar",{reducer:s.reducer}),null!==o.hotkeys&&0!==o.hotkeys.length)){var c=e.get("hotkeys");c.set("Shel.Neos.CommandBar.toggle.CMD",{description:"Toggle command bar",action:s.actions.toggleCommandBar}),c.set("Shel.Neos.CommandBar.toggle.CTRL",{description:"Toggle command bar",action:s.actions.toggleCommandBar})}}))},function(e,t,n){"use strict";var __importDefault=function(e){return e&&e.__esModule?e:{default:e}};t.__esModule=!0,t.SynchronousMetaRegistry=t.SynchronousRegistry=t.readFromConsumerApi=t.createConsumerApi=void 0;var r=__importDefault(n(24));t.createConsumerApi=r.default;var o=__importDefault(n(3));t.readFromConsumerApi=o.default;var a=n(26);t.SynchronousRegistry=a.SynchronousRegistry,t.SynchronousMetaRegistry=a.SynchronousMetaRegistry,t.default=(0,o.default)("manifest")},function(e,t,n){"use strict";var __importDefault=function(e){return e&&e.__esModule?e:{default:e}};t.__esModule=!0;var r=__importDefault(n(25)),o=function createReadOnlyValue(e){return{value:e,writable:!1,enumerable:!1,configurable:!0}};t.default=function createConsumerApi(e,t){var n={};Object.keys(t).forEach((function(e){Object.defineProperty(n,e,o(t[e]))})),Object.defineProperty(n,"@manifest",o((0,r.default)(e))),Object.defineProperty(window,"@Neos:HostPluginAPI",o(n))}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e){return function(t,n,r){var o;e.push(((o={})[t]={options:n,bootstrap:r},o))}}},function(e,t,n){"use strict";var __importDefault=function(e){return e&&e.__esModule?e:{default:e}};t.__esModule=!0,t.SynchronousMetaRegistry=t.SynchronousRegistry=void 0;var r=__importDefault(n(14));t.SynchronousRegistry=r.default;var o=__importDefault(n(30));t.SynchronousMetaRegistry=o.default},function(e,t,n){"use strict";t.__esModule=!0;var r=function r(e){this.SERIAL_VERSION_UID="d8a5aa78-978e-11e6-ae22-56b6b6499611",this.description=e};t.default=r},function(e,t,n){"use strict";t.__esModule=!0;var r=n(29);t.default=function positionalArraySorter(e,t,n){var o,a,s,i,c,l,u,d,m,f,_,h,p,y;void 0===t&&(t="position"),void 0===n&&(n="key");var g="string"==typeof t?function(e){return e[t]}:t,v={},b={},C={},w={},E={},S={};e.forEach((function(e,t){var r=e[n]?e[n]:String(t);v[r]=t;var o=g(e),a=String(o||t),s=!1;if(a.startsWith("start")){var i=(c=a.match(/start\s+(\d+)/))&&c[1]?Number(c[1]):0;C[i]||(C[i]=[]),C[i].push(r)}else if(a.startsWith("end")){var c;i=(c=a.match(/end\s+(\d+)/))&&c[1]?Number(c[1]):0;w[i]||(w[i]=[]),w[i].push(r)}else if(a.startsWith("before")){if(u=a.match(/before\s+(\S+)(\s+(\d+))?/)){var l=u[1];i=u[3]?Number(u[3]):0;E[l]||(E[l]={}),E[l][i]||(E[l][i]=[]),E[l][i].push(r)}else s=!0}else if(a.startsWith("after")){var u;if(u=a.match(/after\s+(\S+)(\s+(\d+))?/)){l=u[1],i=u[3]?Number(u[3]):0;S[l]||(S[l]={}),S[l][i]||(S[l][i]=[]),S[l][i].push(r)}else s=!0}else s=!0;if(s){var d=parseFloat(a);!isNaN(d)&&isFinite(d)||(d=t),b[d]||(b[d]=[]),b[d].push(r)}}));var R=[],I=[],O=[],N=[],P=function sortedWeights(e,t){var n=Object.keys(e).map((function(e){return Number(e)})).sort((function(e,t){return e-t}));return t?n:n.reverse()},k=function addToResults(e,t){e.forEach((function(e){var n,o,a,s;if(!(N.indexOf(e)>=0)){if(N.push(e),E[e]){var i=P(E[e],!0);try{for(var c=r.__values(i),l=c.next();!l.done;l=c.next()){var u=l.value;addToResults(E[e][u],t)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}}if(t.push(e),S[e]){var d=P(S[e],!1);try{for(var m=r.__values(d),f=m.next();!f.done;f=m.next()){u=f.value;addToResults(S[e][u],t)}}catch(e){a={error:e}}finally{try{f&&!f.done&&(s=m.return)&&s.call(m)}finally{if(a)throw a.error}}}}}))};try{for(var x=r.__values(P(C,!1)),M=x.next();!M.done;M=x.next()){var A=M.value;k(C[A],R)}}catch(e){o={error:e}}finally{try{M&&!M.done&&(a=x.return)&&a.call(x)}finally{if(o)throw o.error}}try{for(var j=r.__values(P(b,!0)),B=j.next();!B.done;B=j.next()){A=B.value;k(b[A],I)}}catch(e){s={error:e}}finally{try{B&&!B.done&&(i=j.return)&&i.call(j)}finally{if(s)throw s.error}}try{for(var T=r.__values(P(w,!0)),D=T.next();!D.done;D=T.next()){A=D.value;k(w[A],O)}}catch(e){c={error:e}}finally{try{D&&!D.done&&(l=T.return)&&l.call(T)}finally{if(c)throw c.error}}try{for(var G=r.__values(Object.keys(E)),H=G.next();!H.done;H=G.next()){var L=H.value;if(!(N.indexOf(L)>=0))try{for(var W=(m=void 0,r.__values(P(E[L],!1))),U=W.next();!U.done;U=W.next()){A=U.value;k(E[L][A],R)}}catch(e){m={error:e}}finally{try{U&&!U.done&&(f=W.return)&&f.call(W)}finally{if(m)throw m.error}}}}catch(e){u={error:e}}finally{try{H&&!H.done&&(d=G.return)&&d.call(G)}finally{if(u)throw u.error}}try{for(var q=r.__values(Object.keys(S)),F=q.next();!F.done;F=q.next()){L=F.value;if(!(N.indexOf(L)>=0))try{for(var z=(p=void 0,r.__values(P(S[L],!1))),V=z.next();!V.done;V=z.next()){A=V.value;k(S[L][A],I)}}catch(e){p={error:e}}finally{try{V&&!V.done&&(y=z.return)&&y.call(z)}finally{if(p)throw p.error}}}}catch(e){_={error:e}}finally{try{F&&!F.done&&(h=q.return)&&h.call(q)}finally{if(_)throw _.error}}return r.__spread(R,I,O).map((function(e){return v[e]})).map((function(t){return e[t]}))}},function(e,t,n){"use strict";n.r(t),n.d(t,"__extends",(function(){return __extends})),n.d(t,"__assign",(function(){return __assign})),n.d(t,"__rest",(function(){return __rest})),n.d(t,"__decorate",(function(){return __decorate})),n.d(t,"__param",(function(){return __param})),n.d(t,"__metadata",(function(){return __metadata})),n.d(t,"__awaiter",(function(){return __awaiter})),n.d(t,"__generator",(function(){return __generator})),n.d(t,"__createBinding",(function(){return __createBinding})),n.d(t,"__exportStar",(function(){return __exportStar})),n.d(t,"__values",(function(){return __values})),n.d(t,"__read",(function(){return __read})),n.d(t,"__spread",(function(){return __spread})),n.d(t,"__spreadArrays",(function(){return __spreadArrays})),n.d(t,"__await",(function(){return __await})),n.d(t,"__asyncGenerator",(function(){return __asyncGenerator})),n.d(t,"__asyncDelegator",(function(){return __asyncDelegator})),n.d(t,"__asyncValues",(function(){return __asyncValues})),n.d(t,"__makeTemplateObject",(function(){return __makeTemplateObject})),n.d(t,"__importStar",(function(){return __importStar})),n.d(t,"__importDefault",(function(){return __importDefault})),n.d(t,"__classPrivateFieldGet",(function(){return __classPrivateFieldGet})),n.d(t,"__classPrivateFieldSet",(function(){return __classPrivateFieldSet}));var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function __extends(e,t){function __(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}var __assign=function(){return(__assign=Object.assign||function __assign(e){for(var t,n=1,r=arguments.length;n=0;i--)(o=e[i])&&(s=(a<3?o(s):a>3?o(t,n,s):o(t,n))||s);return a>3&&s&&Object.defineProperty(t,n,s),s}function __param(e,t){return function(n,r){t(n,r,e)}}function __metadata(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function __awaiter(e,t,n,r){return new(n||(n=Promise))((function(o,a){function fulfilled(e){try{step(r.next(e))}catch(e){a(e)}}function rejected(e){try{step(r.throw(e))}catch(e){a(e)}}function step(e){e.done?o(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))}function __generator(e,t){var n,r,o,a,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:verb(0),throw:verb(1),return:verb(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function verb(a){return function(i){return function step(a){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)s.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s}function __spread(){for(var e=[],t=0;t1||resume(e,t)}))})}function resume(e,t){try{!function step(e){e.value instanceof __await?Promise.resolve(e.value.v).then(fulfill,reject):settle(a[0][2],e)}(o[e](t))}catch(e){settle(a[0][3],e)}}function fulfill(e){resume("next",e)}function reject(e){resume("throw",e)}function settle(e,t){e(t),a.shift(),a.length&&resume(a[0][0],a[0][1])}}function __asyncDelegator(e){var t,n;return t={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),t[Symbol.iterator]=function(){return this},t;function verb(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:__await(e[r](t)),done:"return"===r}:o?o(t):t}:o}}function __asyncValues(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=__values(e),t={},verb("next"),verb("throw"),verb("return"),t[Symbol.asyncIterator]=function(){return this},t);function verb(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function settle(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}function __makeTemplateObject(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function __importStar(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function __importDefault(e){return e&&e.__esModule?e:{default:e}}function __classPrivateFieldGet(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function __classPrivateFieldSet(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}},function(e,t,n){"use strict";var r,o=(r=function extendStatics(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function __(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}),__importDefault=function(e){return e&&e.__esModule?e:{default:e}};t.__esModule=!0;var a=function(e){function SynchronousMetaRegistry(){return null!==e&&e.apply(this,arguments)||this}return o(SynchronousMetaRegistry,e),SynchronousMetaRegistry.prototype.set=function(t,n){if("d8a5aa78-978e-11e6-ae22-56b6b6499611"!==n.SERIAL_VERSION_UID)throw new Error("You can only add registries to a meta registry");return e.prototype.set.call(this,t,n)},SynchronousMetaRegistry}(__importDefault(n(14)).default);t.default=a},function(e,t,n){"use strict";n.r(t);var r,o=n(0),a=n.n(o),s=n(11),i=n(1),c=n.n(i),l=n(15),u=n(2),d=n(7),m=n(4);class Helper{static getDescendantProperty(e,t,n=[]){let r,o,a,s,i,c;if(t){if(a=t.indexOf("."),-1===a?r=t:(r=t.slice(0,a),o=t.slice(a+1)),s=e[r],null!=s)if(o||"string"!=typeof s&&"number"!=typeof s)if("[object Array]"===Object.prototype.toString.call(s))for(i=0,c=s.length;ie.score-t.score),t.map(e=>e.item)}static isMatch(e,t,n){e=String(e),t=String(t),n||(e=e.toLocaleLowerCase(),t=t.toLocaleLowerCase());const r=FuzzySearch_FuzzySearch.nearestIndexesFor(e,t);return!!r&&(e===t?1:r.length>1?r[r.length-1]-r[0]+2:2+r[0])}static nearestIndexesFor(e,t){const n=t.split("");let r=[];return FuzzySearch_FuzzySearch.indexesOfFirstLetter(e,t).forEach((t,o)=>{let a=t+1;r[o]=[t];for(let t=1;t!1!==e),!!r.length&&r.sort((e,t)=>1===e.length?e[0]-t[0]:(e=e[e.length-1]-e[0])-(t=t[t.length-1]-t[0]))[0]}static indexesOfFirstLetter(e,t){const n=t[0];return e.split("").map((e,t)=>e===n&&t).filter(e=>!1!==e)}}function clamp(e,t,n){return Math.max(t,Math.min(n,e))}function filterAvailableCommands(e,t,n){let r=Object.values(n);if(r=t?r:r.filter(t=>t.parentId===e),!t)return r.map(e=>e.id);const o=new FuzzySearch_FuzzySearch(r,["name"],{sort:!0}).search(t);return[...new Set([...o.map(e=>e.id),...r.filter(e=>e.canHandleQueries).map(e=>e.id)])]}!function(e){e[e.RESET_SEARCH=0]="RESET_SEARCH",e[e.HIGHLIGHT_NEXT_ITEM=1]="HIGHLIGHT_NEXT_ITEM",e[e.HIGHLIGHT_PREVIOUS_ITEM=2]="HIGHLIGHT_PREVIOUS_ITEM",e[e.CANCEL=3]="CANCEL",e[e.SELECT_GROUP=4]="SELECT_GROUP",e[e.GO_TO_PARENT_GROUP=5]="GO_TO_PARENT_GROUP",e[e.UPDATE_SEARCH=6]="UPDATE_SEARCH",e[e.RUNNING_COMMAND=7]="RUNNING_COMMAND",e[e.FINISHED_COMMAND=8]="FINISHED_COMMAND",e[e.SET_RESULT=9]="SET_RESULT"}(r||(r={}));const commandBarReducer=(e,t)=>{const n=e.selectedCommandGroup?e.commands[e.selectedCommandGroup].parentId:null;switch(t.type){case r.RESET_SEARCH:return{...e,searchWord:"",highlightedItem:0,availableCommandIds:filterAvailableCommands(e.selectedCommandGroup,"",e.commands),result:null};case r.HIGHLIGHT_NEXT_ITEM:return e.result?{...e,highlightedResultItem:clamp(e.highlightedResultItem+1,0,Object.keys(e.result.options).length-1)}:{...e,expanded:!0,highlightedItem:e.expanded?clamp(e.highlightedItem+1,0,e.availableCommandIds.length-1):0};case r.HIGHLIGHT_PREVIOUS_ITEM:return e.result?{...e,highlightedResultItem:clamp(e.highlightedResultItem-1,0,Object.keys(e.result.options).length-1)}:{...e,highlightedItem:clamp(e.highlightedItem-1,0,e.availableCommandIds.length-1)};case r.CANCEL:return e.result?{...e,result:null,highlightedResultItem:0}:e.searchWord?{...e,searchWord:"",highlightedItem:0,availableCommandIds:filterAvailableCommands(e.selectedCommandGroup,"",e.commands)}:{...e,selectedCommandGroup:n,availableCommandIds:filterAvailableCommands(n,"",e.commands)};case r.GO_TO_PARENT_GROUP:return{...e,highlightedItem:0,selectedCommandGroup:null,availableCommandIds:filterAvailableCommands(n,"",e.commands),result:null};case r.SELECT_GROUP:return{...e,searchWord:"",highlightedItem:0,selectedCommandGroup:t.commandId,availableCommandIds:filterAvailableCommands(t.commandId,"",e.commands),result:null};case r.UPDATE_SEARCH:return{...e,expanded:!0,searchWord:t.argument,highlightedItem:0,availableCommandIds:filterAvailableCommands(e.selectedCommandGroup,t.argument,e.commands)};case r.RUNNING_COMMAND:return{...e,runningCommandId:t.commandId,runningCommandMessage:t.argument};case r.FINISHED_COMMAND:return{...e,runningCommandId:null,runningCommandMessage:null};case r.SET_RESULT:return{...e,result:{...t.result},highlightedResultItem:0};default:throw new Error("Invalid action "+t.type)}};var f=n(16),_=n(17);var h=o.memo(({icon:e,spin:t=!1})=>o.createElement("span",{className:_.iconWrap},o.createElement(f.Icon,{icon:e,spin:t}))),p=n(5);var CommandBarFooter_CommandBarFooter=({selectedGroup:e,runningCommand:t,runningCommandMessage:n})=>o.createElement("footer",{className:p.commandBarFooter},t?o.createElement("span",{className:p.activity},o.createElement(h,{icon:"circle-notch",spin:!0}),o.createElement("em",null,t.name," ‒ ",n)):e?o.createElement("span",{className:p.breadcrumb},o.createElement(h,{icon:e.icon}),o.createElement("small",null,e.name)):o.createElement(h,{icon:"neos"}),o.createElement("a",{href:"https://helzle.it",title:"Made with love by Sebastian Helzle",target:"_blank",rel:"noreferrer noopener",className:p.madeWithLove},o.createElement("small",null,"Made with love by"),o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 180 180"},o.createElement("defs",null,o.createElement("linearGradient",{id:"a",gradientUnits:"userSpaceOnUse",x1:"280.25",y1:"377.003",x2:"373.261",y2:"377.003"},o.createElement("stop",{offset:"0",stopColor:"#297AAC"}),o.createElement("stop",{offset:"1",stopColor:"#53AADA"}))),o.createElement("path",{d:"M0 180.017h37.287L71.35 52.898H34.061zM48.717 0l-9.083 33.898h36.675L85.392 0z",fill:"#B9B7B3"}),o.createElement("path",{d:"M335.972 313.444H288.25l-8 28.306h47.691l-28.03 98.813h39.287l34.063-127.119z",fill:"url(#a)",transform:"translate(-195.462 -260.325)"})))),y=n(18);var SearchBox_SearchBox=({searchWord:e,onChange:t,disabled:n})=>{const r=Object(o.useRef)(),a=Object(o.useCallback)(e=>{"Escape"===e.key&&r.current.value&&(e.preventDefault(),e.stopPropagation())},[r.current]);return o.createElement("input",{ref:r,className:y.searchBox,type:"search",placeholder:"Search for commands…",autoFocus:!0,onChange:t,onKeyUp:a,value:e,disabled:n})},g=n(12);var CommandBarHeader_CommandBarHeader=({selectedCommandGroup:e,searchWord:t,dispatch:n,handleSearch:o,disabled:s=!1})=>a.a.createElement("header",{className:g.commandBarHeader},e&&a.a.createElement("button",{type:"button",onClick:()=>n({type:r.GO_TO_PARENT_GROUP}),className:g.backButton},a.a.createElement(h,{icon:"arrow-left"})),a.a.createElement(SearchBox_SearchBox,{searchWord:t,onChange:o,disabled:s})),v=n(8),b=n(9);const C=a.a.forwardRef(({command:e,onItemSelect:t,highlighted:n,runningCommandId:r},o)=>{const{id:s,name:i,description:c,icon:l,subCommandIds:u,canHandleQueries:d}=e,m=(null==u?void 0:u.length)>0?"category":d?"query":"command";return a.a.createElement("li",{className:[b.commandListItem,n&&b.highlighted].join(" "),onClick:()=>t(s),ref:o},a.a.createElement(h,{icon:l}),a.a.createElement("span",{className:b.label},a.a.createElement("span",null,i),c&&a.a.createElement("small",null,"string"==typeof c?c:c())),a.a.createElement("small",null,m))});C.displayName="CommandListItem";var w=a.a.memo(C,(e,t)=>e.command.id===t.command.id&&e.ref===t.ref&&e.runningCommandId===t.runningCommandId);var E=a.a.memo(({commands:e,availableCommandIds:t,highlightedItem:n,handleSelectItem:r,heading:s="Commands",runningCommandId:i="",noCommandsMessage:c="No matching commands found",disabled:l=!1})=>{const u=a.a.useRef(null);return Object(o.useEffect)(()=>{var e;null===(e=u.current)||void 0===e||e.scrollIntoView({behavior:"smooth",block:"nearest"})},[u.current]),a.a.createElement("nav",{className:[v.results,l&&v.disabled].join(" ")},s&&a.a.createElement("h6",null,s),t.length>0?a.a.createElement("ul",null,t.map((t,o)=>a.a.createElement(w,{key:t,ref:n===o?u:null,command:e[t],onItemSelect:r,highlighted:n===o,runningCommandId:i}))):a.a.createElement("small",{className:v.noResults},c))});function flattenCommands(e,t=null){return Object.keys(e).reduce((n,r)=>{const{icon:o,description:a,name:s,subCommands:i,action:c,canHandleQueries:l}=e[r],u=t?`${t}.${r}`:r,d=i?Object.keys(i).map(e=>`${u}.${e}`):[];return n[u]={id:u,name:s,icon:o,description:a,action:c,canHandleQueries:l,subCommandIds:d,parentId:t},d.length>0?{...n,...flattenCommands(i,u)}:n},{})}var S=n(19);var R=a.a.memo(({result:e,highlightedItem:t})=>{const{options:n,view:r,message:s}=e,i=Object(o.useCallback)(e=>{const{action:t}=n[e];t&&("string"!=typeof t?(console.debug("Running action result command",e),t()):window.location.href=t)},[n]);return a.a.createElement("div",{className:S.commandResultsView},r?a.a.createElement("div",null,r):"",n&&a.a.createElement(E,{heading:s,commands:n,availableCommandIds:Object.keys(n),highlightedItem:t,handleSelectItem:i,noCommandsMessage:"Try a different query to find more results"}))});const I={expanded:!1,selectedCommandGroup:null,availableCommandIds:[],searchWord:"",highlightedItem:0,commands:{},runningCommandId:null,runningCommandMessage:null,result:null,highlightedResultItem:0};function useRefEventListener(e){const t=Object(o.useRef)(e);return t.current=e,t}var src_CommandBar=({commands:e,open:t,toggleOpen:n})=>{const[s,i]=Object(o.useReducer)(commandBarReducer,{...I,commands:flattenCommands(e),availableCommandIds:Object.keys(e)}),c=Object(o.useRef)(null),l=useRefEventListener(e=>{if(t&&!e.defaultPrevented)if("k"===e.key&&e.metaKey&&(null==c?void 0:c.current.contains(e.target)))n();else if("Escape"===e.key)e.stopPropagation(),e.preventDefault(),s.selectedCommandGroup||s.searchWord?i({type:r.CANCEL}):n();else if("ArrowDown"===e.key)e.stopPropagation(),e.preventDefault(),i({type:r.HIGHLIGHT_NEXT_ITEM});else if("ArrowUp"===e.key)e.stopPropagation(),e.preventDefault(),i({type:r.HIGHLIGHT_PREVIOUS_ITEM});else if("Enter"===e.key&&s.availableCommandIds.length>s.highlightedItem)if(e.stopPropagation(),e.preventDefault(),s.result){const e=Object.values(s.result.options)[s.highlightedResultItem];d(e)}else{const e=s.availableCommandIds[s.highlightedItem];d(e)}}),u=Object(o.useCallback)(e=>{i({type:r.UPDATE_SEARCH,argument:e.target.value.toLowerCase()})},[]),d=Object(o.useCallback)(async e=>{const{action:t,canHandleQueries:n,id:o}="string"==typeof e?s.commands[e]:e;if(!t)return i({type:r.SELECT_GROUP,commandId:o});if("string"==typeof t)return i({type:r.RUNNING_COMMAND,commandId:o,argument:"Loading url"}),void(window.location.href=t);i({type:r.RUNNING_COMMAND,commandId:o,argument:"Running command"});const a=t(n?s.searchWord:void 0);if(a.then)a.then(e=>{console.debug("Command result",e)}).catch(e=>{console.error("Command error",e)}).finally(()=>{i({type:r.FINISHED_COMMAND})});else if(a.next){const e=a;for await(const t of e)i({type:r.RUNNING_COMMAND,commandId:o,argument:t.message}),t.options&&i({type:r.SET_RESULT,result:t});i({type:r.FINISHED_COMMAND})}else console.warn("Command result is not a promise or generator",a)},[s.searchWord,s.commands]),f=useRefEventListener(e=>{d(e)});return Object(o.useEffect)(()=>{if(!t)return;const windowKeyEventHandler=e=>l.current(e);return window.addEventListener("keydown",windowKeyEventHandler),()=>window.removeEventListener("keydown",windowKeyEventHandler)},[t]),t?a.a.createElement("dialog",{ref:c,className:[m.commandBar,s.result&&m.hasResults].join(" "),open:t},a.a.createElement(CommandBarHeader_CommandBarHeader,{selectedCommandGroup:s.selectedCommandGroup,searchWord:s.searchWord,dispatch:i,handleSearch:u,disabled:!!s.result}),a.a.createElement("div",{className:[m.resultsWrap,s.expanded&&m.expanded,s.result&&m.split].join(" ")},a.a.createElement(E,{commands:s.commands,availableCommandIds:s.availableCommandIds,highlightedItem:s.highlightedItem,handleSelectItem:e=>f.current(e),runningCommandId:s.runningCommandId,disabled:!!s.result}),s.result&&a.a.createElement(R,{result:s.result,highlightedItem:s.highlightedResultItem})),s.expanded&&a.a.createElement(CommandBarFooter_CommandBarFooter,{selectedGroup:s.selectedCommandGroup?s.commands[s.selectedCommandGroup]:null,runningCommand:s.runningCommandId?s.commands[s.runningCommandId]:null,runningCommandMessage:s.runningCommandMessage})):null},O=n(13);var N=a.a.memo(({handleToggle:e,disabled:t=!1})=>a.a.createElement("button",{className:O.toggleButton,onClick:e,disabled:t,title:"Toggle command bar"},a.a.createElement("span",null,"Search…"),a.a.createElement("span",{className:O.buttonIcon},"⌘K"))),P=n(6),k=n(20);var helpers_fetchData=async(e,t)=>(t&&(e=Object.keys(t).reduce((e,n)=>e+"&"+n+"="+encodeURIComponent(t[n]),e+"?")),k.fetchWithErrorHandling.withCsrfToken(t=>({url:e,method:"GET",credentials:"include",headers:{"X-Flow-Csrftoken":t}})).then(e=>e&&e.json()));class CommandBarUiPlugin_CommandBarUiPlugin extends o.PureComponent{constructor(e){super(e),this.buildCommandsFromHotkeys=()=>{const{hotkeyRegistry:e,handleHotkeyAction:t,config:n}=this.props;return e.getAllAsList().reduce((e,{id:r,description:o,action:a})=>(n.hotkeys.filter.includes(r)||(e[r]={name:o,description:r,icon:this.mapHotkeyIdToIcon(r),action:async()=>t(a())}),e),{})},this.buildCommandsFromEditPreviewModes=()=>{const{setEditPreviewMode:e,editPreviewModes:t,i18nRegistry:n}=this.props;return Object.keys(t).reduce((r,o)=>{const{title:a,isEditingMode:s}=t[o];return r[o]={name:n.translate(a),description:()=>this.props.editPreviewMode===o?"Currently active":"",icon:s?"pencil":"eye",action:async()=>e(o)},r},{})},this.handleAddNode=async()=>{const{addNode:e,documentNode:t,focusedNodeContextPath:n,toggleCommandBar:r}=this.props;r(),e(n||t.contextPath,void 0,"after")},this.handleSearchNode=async function*(e){const{siteNode:t,setActiveContentCanvasContextPath:n,setActiveContentCanvasSrc:r}=this.props;yield{success:!0,message:`Searching for "${e}"`};const o=await helpers_fetchData("service/data-source/shel-neos-commandbar-search-nodes",{query:e,node:t.contextPath}).then(e=>e);return yield{success:!0,message:o.length+" options match your query",options:o.reduce((e,{name:t,nodetype:o,icon:a,contextPath:s,uri:i})=>i?(e[s]={id:s,name:t,description:o,action:async()=>{r(i),n(s)},icon:a},e):e,{})},{success:!0,message:"Finished searching"}},this.handlePublish=async()=>{const{publishableNodesInDocument:e,publishAction:t,baseWorkspace:n}=this.props;return t(e.map(e=>e.contextPath),n),{success:!0,message:`Published ${e.length} changes`}},this.handlePublishAll=async()=>{const{publishableNodes:e,publishAction:t,baseWorkspace:n}=this.props;return t(e.map(e=>e.contextPath),n),{success:!0,message:`Published ${e.length} changes`}},this.handleDiscard=async()=>{const{publishableNodesInDocument:e,discardAction:t}=this.props;return t(e.map(e=>e.contextPath)),{success:!0,message:`Discarded ${e.length} changes`}},this.handleDiscardAll=async()=>{const{publishableNodes:e,discardAction:t}=this.props;return t(e.map(e=>e.contextPath)),{success:!0,message:`Discarded ${e.length} changes`}},this.state={loaded:!1,commands:{addNode:{name:"Add node",icon:"plus",description:"Add a new node",action:this.handleAddNode},searchDocuments:{name:"Search documents",icon:"search",description:"Search and navigate to documents",action:this.handleSearchNode.bind(this),canHandleQueries:!0},publishDiscard:{name:"Publish or discard changes",description:"Publish or discard changes",icon:"check",subCommands:{publish:{name:"Publish",description:"Publish changes on this document",icon:"check",action:this.handlePublish},publishAll:{name:"Publish all",description:"Publish all changes",icon:"check-double",action:this.handlePublishAll},discard:{name:"Discard",description:"Discard changes on this document",icon:"ban",action:this.handleDiscard},discardAll:{name:"Discard all",description:"Discard all changes",icon:"ban",action:this.handleDiscardAll}}},quickActions:{name:"Quick actions",icon:"keyboard",description:"Execute configured hotkeys",subCommands:this.buildCommandsFromHotkeys()},switchEditPreviewMode:{name:"Switch edit/preview mode",icon:"pencil",description:"Switch between edit and preview modes",subCommands:this.buildCommandsFromEditPreviewModes()}}}}mapHotkeyIdToIcon(e){let t=e.split(".").pop();switch(t.indexOf("toggle")>=0&&(t="toggle"),t){case"toggle":return"toggle-on";case"reload":return"redo";case"cancel":case"close":return"window-close";case"apply":return"check"}return"neos"}componentDidMount(){const{plugins:e}=this.props;e&&Object.keys(e).forEach(t=>{try{const n=e[t]();this.setState(e=>({commands:{...e.commands,...n}}))}catch(e){console.error("[CommandBar] Could not load commands from plugin "+t,e)}}),helpers_fetchData("service/data-source/shel-neos-commandbar-commands").then(e=>{this.setState(t=>({loaded:!0,commands:{...t.commands,...e}}))}).catch(e=>{console.error("[CommandBar] Failed to load commands",e)})}render(){const{commandBarOpen:e,toggleCommandBar:t}=this.props,{commands:n,loaded:r}=this.state;return o.createElement("div",{className:d.commandBarToolbarComponent},o.createElement(N,{handleToggle:t,disabled:!r}),r&&o.createElement("div",{className:[d.fullScreenLayer,e&&d.open].join(" ")},o.createElement(src_CommandBar,{open:e,commands:n,toggleOpen:t})))}}CommandBarUiPlugin_CommandBarUiPlugin.propTypes={config:c.a.object.isRequired,i18nRegistry:c.a.object.isRequired,siteNode:c.a.object,documentNode:c.a.object,focusedNodeContextPath:c.a.string,commandBarOpen:c.a.bool,toggleCommandBar:c.a.func.isRequired,handleHotkeyAction:c.a.func.isRequired,hotkeyRegistry:c.a.object.isRequired,addNode:c.a.func.isRequired,editPreviewMode:c.a.string.isRequired,setEditPreviewMode:c.a.func.isRequired,editPreviewModes:c.a.object.isRequired,publishableNodes:c.a.array,publishableNodesInDocument:c.a.array,isWorkspaceReadOnly:c.a.bool,publishAction:c.a.func.isRequired,discardAction:c.a.func.isRequired,baseWorkspace:c.a.string.isRequired,setActiveContentCanvasContextPath:c.a.func.isRequired,setActiveContentCanvasSrc:c.a.func.isRequired};const x=Object(l.neos)(e=>({i18nRegistry:e.get("i18n"),hotkeyRegistry:e.get("hotkeys"),config:e.get("frontendConfiguration").get("Shel.Neos.CommandBar:CommandBar"),nodeTypesRegistry:e.get("@neos-project/neos-ui-contentrepository"),editPreviewModes:e.get("frontendConfiguration").get("editPreviewModes"),plugins:e.get("Shel.Neos.CommandBar").getChildrenAsObject("plugins")}));t.default=Object(s.connect)(()=>({}),{toggleCommandBar:P.actions.toggleCommandBar,addNode:u.actions.CR.Nodes.commenceCreation,setEditPreviewMode:u.actions.UI.EditPreviewMode.set,publishAction:u.actions.CR.Workspaces.publish,discardAction:u.actions.CR.Workspaces.commenceDiscard,setActiveContentCanvasContextPath:u.actions.CR.Nodes.setDocumentNode,setActiveContentCanvasSrc:u.actions.UI.ContentCanvas.setSrc})(Object(s.connect)(e=>({siteNode:u.selectors.CR.Nodes.siteNodeSelector(e),documentNode:u.selectors.CR.Nodes.documentNodeSelector(e),focusedNodeContextPath:u.selectors.CR.Nodes.focusedNodePathSelector(e),publishableNodes:u.selectors.CR.Workspaces.publishableNodesSelector(e),publishableNodesInDocument:u.selectors.CR.Workspaces.publishableNodesInDocumentSelector(e),isWorkspaceReadOnly:u.selectors.CR.Workspaces.isWorkspaceReadOnlySelector(e),baseWorkspace:u.selectors.CR.Workspaces.baseWorkspaceSelector(e),commandBarOpen:P.selectors.commandBarOpen(e),editPreviewMode:u.selectors.UI.EditPreviewMode.currentEditPreviewMode(e)}),e=>({handleHotkeyAction:e}))(x(CommandBarUiPlugin_CommandBarUiPlugin)))}]); +!function(e){var t={};function __webpack_require__(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,__webpack_require__),r.l=!0,r.exports}__webpack_require__.m=e,__webpack_require__.c=t,__webpack_require__.d=function(e,t,n){__webpack_require__.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.t=function(e,t){if(1&t&&(e=__webpack_require__(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(__webpack_require__.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)__webpack_require__.d(n,r,function(t){return e[t]}.bind(null,r));return n},__webpack_require__.n=function(e){var t=e&&e.__esModule?function getDefault(){return e.default}:function getModuleExports(){return e};return __webpack_require__.d(t,"a",t),t},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=21)}([function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("vendor")().React},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("vendor")().PropTypes},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("NeosProjectPackages")().NeosUiReduxStore},function(e,t,n){"use strict";var __read=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)s.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},__spreadArray=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o{var n,r,o;return{...e,plugins:{...e.plugins,commandBar:{open:void 0!==(null===(n=t.payload)||void 0===n?void 0:n.open)?t.payload.open:!(null===(o=null===(r=e.plugins)||void 0===r?void 0:r.commandBar)||void 0===o?void 0:o.open)}}}}},{plugins:{commandBar:{open:!1}}}),i={commandBarOpen:e=>{var t,n;return null===(n=null===(t=e.plugins)||void 0===t?void 0:t.commandBar)||void 0===n?void 0:n.open}}},function(e,t,n){e.exports={fullScreenLayer:"CommandBarUiPlugin-module__fullScreenLayer___1cUx4",open:"CommandBarUiPlugin-module__open___1Bjxj",commandBarToolbarComponent:"CommandBarUiPlugin-module__commandBarToolbarComponent___1agRY"}},function(e,t,n){e.exports={results:"CommandListing-module__results___23Rve",noResults:"CommandListing-module__noResults___Mb89V",disabled:"CommandListing-module__disabled___6gpPj"}},function(e,t,n){e.exports={commandListItem:"CommandListItem-module__commandListItem___1Gsrl",highlighted:"CommandListItem-module__highlighted___3Lsze",label:"CommandListItem-module__label___32-bU"}},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("vendor")().reduxActions},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("vendor")().reactRedux},function(e,t,n){e.exports={commandBarHeader:"CommandBarHeader-module__commandBarHeader___3Y2hR",backButton:"CommandBarHeader-module__backButton___1qIGu"}},function(e,t,n){e.exports={toggleButton:"ToggleButton-module__toggleButton___2wPs-",buttonIcon:"ToggleButton-module__buttonIcon___UjFjw"}},function(e,t,n){"use strict";var r,o=(r=function extendStatics(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function __(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}),__importDefault=function(e){return e&&e.__esModule?e:{default:e}};t.__esModule=!0;var a=__importDefault(n(27)),s=__importDefault(n(28)),i=function(e){function SynchronousRegistry(t){var n=e.call(this,t)||this;return n._registry=[],n}return o(SynchronousRegistry,e),SynchronousRegistry.prototype.set=function(e,t,n){if(void 0===n&&(n=0),"string"!=typeof e)throw new Error("Key must be a string");if("string"!=typeof n&&"number"!=typeof n)throw new Error("Position must be a string or a number");var r={key:e,value:t};n&&(r.position=n);var o=this._registry.findIndex((function(t){return t.key===e}));return-1===o?this._registry.push(r):this._registry[o]=r,t},SynchronousRegistry.prototype.get=function(e){if("string"!=typeof e)return console.error("Key must be a string"),null;var t=this._registry.find((function(t){return t.key===e}));return t?t.value:null},SynchronousRegistry.prototype._getChildrenWrapped=function(e){var t=this._registry.filter((function(t){return 0===t.key.indexOf(e+"/")}));return(0,s.default)(t)},SynchronousRegistry.prototype.getChildrenAsObject=function(e){var t={};return this._getChildrenWrapped(e).forEach((function(e){t[e.key]=e.value})),t},SynchronousRegistry.prototype.getChildren=function(e){return this._getChildrenWrapped(e).map((function(e){return e.value}))},SynchronousRegistry.prototype.has=function(e){return"string"!=typeof e?(console.error("Key must be a string"),!1):Boolean(this._registry.find((function(t){return t.key===e})))},SynchronousRegistry.prototype._getAllWrapped=function(){return(0,s.default)(this._registry)},SynchronousRegistry.prototype.getAllAsObject=function(){var e={};return this._getAllWrapped().forEach((function(t){e[t.key]=t.value})),e},SynchronousRegistry.prototype.getAllAsList=function(){return this._getAllWrapped().map((function(e){return Object.assign({id:e.key},e.value)}))},SynchronousRegistry}(a.default);t.default=i},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("NeosProjectPackages")().NeosUiDecorators},function(e,t,n){"use strict";var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));e.exports=(0,r.default)("NeosProjectPackages")().ReactUiComponents},function(e,t,n){e.exports={iconWrap:"Icon-module__iconWrap___3B4ri"}},function(e,t,n){e.exports={searchBox:"SearchBox-module__searchBox___1SEtn"}},function(e,t,n){e.exports={commandResultsView:"CommandResultsView-module__commandResultsView___xLqwb"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fetchWithErrorHandling=void 0;var r=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(n(3));t.default=(0,r.default)("NeosProjectPackages")().NeosUiBackendConnectorDefault;var o=(0,r.default)("NeosProjectPackages")().NeosUiBackendConnector.fetchWithErrorHandling;t.fetchWithErrorHandling=o},function(e,t,n){"use strict";n(22)},function(e,t,n){"use strict";var r=n(23),o=_interopRequireDefault(r),a=n(2),s=n(6),i=_interopRequireDefault(n(31));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(0,o.default)("Shel.Neos.CommandBar:CommandBar",{},(function(e,t){var n=t.store,o=t.frontendConfiguration;if(o["Shel.Neos.CommandBar:CommandBar"].enabled&&(e.set("Shel.Neos.CommandBar",new r.SynchronousRegistry("\n # Shel.Neos.CommandBar 3rd party commands\n ")),e.get("Shel.Neos.CommandBar").set("plugins/test",(function(){return{extensibilityTest:{name:"Extensibility test",icon:"vial",description:"Command registered via command bar extensibility",canHandleQueries:!0,action:(e=function _asyncToGenerator(e){return function(){var t=e.apply(this,arguments);return new Promise((function(e,n){return function step(r,o){try{var a=t[r](o),s=a.value}catch(e){return void n(e)}if(!a.done)return Promise.resolve(s).then((function(e){step("next",e)}),(function(e){step("throw",e)}));e(s)}("next")}))}}(regeneratorRuntime.mark((function _callee(e){var t,r;return regeneratorRuntime.wrap((function _callee$(o){for(;;)switch(o.prev=o.next){case 0:t=n.getState(),r=a.selectors.CR.Nodes.documentNodeSelector(t),window.alert("The current document node is "+r.contextPath+" and the query is "+e+".");case 3:case"end":return o.stop()}}),_callee,void 0)}))),function action(t){return e.apply(this,arguments)})}};var e})),e.get("containers").set("PrimaryToolbar/Middle/CommandBar",i.default),e.get("reducers").set("Shel.Neos.CommandBar",{reducer:s.reducer}),null!==o.hotkeys&&0!==o.hotkeys.length)){var c=e.get("hotkeys");c.set("Shel.Neos.CommandBar.toggle.CMD",{description:"Toggle command bar",action:s.actions.toggleCommandBar}),c.set("Shel.Neos.CommandBar.toggle.CTRL",{description:"Toggle command bar",action:s.actions.toggleCommandBar})}}))},function(e,t,n){"use strict";var __importDefault=function(e){return e&&e.__esModule?e:{default:e}};t.__esModule=!0,t.SynchronousMetaRegistry=t.SynchronousRegistry=t.readFromConsumerApi=t.createConsumerApi=void 0;var r=__importDefault(n(24));t.createConsumerApi=r.default;var o=__importDefault(n(3));t.readFromConsumerApi=o.default;var a=n(26);t.SynchronousRegistry=a.SynchronousRegistry,t.SynchronousMetaRegistry=a.SynchronousMetaRegistry,t.default=(0,o.default)("manifest")},function(e,t,n){"use strict";var __importDefault=function(e){return e&&e.__esModule?e:{default:e}};t.__esModule=!0;var r=__importDefault(n(25)),o=function createReadOnlyValue(e){return{value:e,writable:!1,enumerable:!1,configurable:!0}};t.default=function createConsumerApi(e,t){var n={};Object.keys(t).forEach((function(e){Object.defineProperty(n,e,o(t[e]))})),Object.defineProperty(n,"@manifest",o((0,r.default)(e))),Object.defineProperty(window,"@Neos:HostPluginAPI",o(n))}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e){return function(t,n,r){var o;e.push(((o={})[t]={options:n,bootstrap:r},o))}}},function(e,t,n){"use strict";var __importDefault=function(e){return e&&e.__esModule?e:{default:e}};t.__esModule=!0,t.SynchronousMetaRegistry=t.SynchronousRegistry=void 0;var r=__importDefault(n(14));t.SynchronousRegistry=r.default;var o=__importDefault(n(30));t.SynchronousMetaRegistry=o.default},function(e,t,n){"use strict";t.__esModule=!0;var r=function r(e){this.SERIAL_VERSION_UID="d8a5aa78-978e-11e6-ae22-56b6b6499611",this.description=e};t.default=r},function(e,t,n){"use strict";t.__esModule=!0;var r=n(29);t.default=function positionalArraySorter(e,t,n){var o,a,s,i,c,l,u,d,m,f,h,p,_,g;void 0===t&&(t="position"),void 0===n&&(n="key");var y="string"==typeof t?function(e){return e[t]}:t,v={},b={},C={},w={},S={},E={};e.forEach((function(e,t){var r=e[n]?e[n]:String(t);v[r]=t;var o=y(e),a=String(o||t),s=!1;if(a.startsWith("start")){var i=(c=a.match(/start\s+(\d+)/))&&c[1]?Number(c[1]):0;C[i]||(C[i]=[]),C[i].push(r)}else if(a.startsWith("end")){var c;i=(c=a.match(/end\s+(\d+)/))&&c[1]?Number(c[1]):0;w[i]||(w[i]=[]),w[i].push(r)}else if(a.startsWith("before")){if(u=a.match(/before\s+(\S+)(\s+(\d+))?/)){var l=u[1];i=u[3]?Number(u[3]):0;S[l]||(S[l]={}),S[l][i]||(S[l][i]=[]),S[l][i].push(r)}else s=!0}else if(a.startsWith("after")){var u;if(u=a.match(/after\s+(\S+)(\s+(\d+))?/)){l=u[1],i=u[3]?Number(u[3]):0;E[l]||(E[l]={}),E[l][i]||(E[l][i]=[]),E[l][i].push(r)}else s=!0}else s=!0;if(s){var d=parseFloat(a);!isNaN(d)&&isFinite(d)||(d=t),b[d]||(b[d]=[]),b[d].push(r)}}));var R=[],I=[],O=[],N=[],P=function sortedWeights(e,t){var n=Object.keys(e).map((function(e){return Number(e)})).sort((function(e,t){return e-t}));return t?n:n.reverse()},k=function addToResults(e,t){e.forEach((function(e){var n,o,a,s;if(!(N.indexOf(e)>=0)){if(N.push(e),S[e]){var i=P(S[e],!0);try{for(var c=r.__values(i),l=c.next();!l.done;l=c.next()){var u=l.value;addToResults(S[e][u],t)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}}if(t.push(e),E[e]){var d=P(E[e],!1);try{for(var m=r.__values(d),f=m.next();!f.done;f=m.next()){u=f.value;addToResults(E[e][u],t)}}catch(e){a={error:e}}finally{try{f&&!f.done&&(s=m.return)&&s.call(m)}finally{if(a)throw a.error}}}}}))};try{for(var x=r.__values(P(C,!1)),A=x.next();!A.done;A=x.next()){var M=A.value;k(C[M],R)}}catch(e){o={error:e}}finally{try{A&&!A.done&&(a=x.return)&&a.call(x)}finally{if(o)throw o.error}}try{for(var j=r.__values(P(b,!0)),T=j.next();!T.done;T=j.next()){M=T.value;k(b[M],I)}}catch(e){s={error:e}}finally{try{T&&!T.done&&(i=j.return)&&i.call(j)}finally{if(s)throw s.error}}try{for(var B=r.__values(P(w,!0)),D=B.next();!D.done;D=B.next()){M=D.value;k(w[M],O)}}catch(e){c={error:e}}finally{try{D&&!D.done&&(l=B.return)&&l.call(B)}finally{if(c)throw c.error}}try{for(var H=r.__values(Object.keys(S)),G=H.next();!G.done;G=H.next()){var L=G.value;if(!(N.indexOf(L)>=0))try{for(var W=(m=void 0,r.__values(P(S[L],!1))),U=W.next();!U.done;U=W.next()){M=U.value;k(S[L][M],R)}}catch(e){m={error:e}}finally{try{U&&!U.done&&(f=W.return)&&f.call(W)}finally{if(m)throw m.error}}}}catch(e){u={error:e}}finally{try{G&&!G.done&&(d=H.return)&&d.call(H)}finally{if(u)throw u.error}}try{for(var F=r.__values(Object.keys(E)),q=F.next();!q.done;q=F.next()){L=q.value;if(!(N.indexOf(L)>=0))try{for(var z=(_=void 0,r.__values(P(E[L],!1))),V=z.next();!V.done;V=z.next()){M=V.value;k(E[L][M],I)}}catch(e){_={error:e}}finally{try{V&&!V.done&&(g=z.return)&&g.call(z)}finally{if(_)throw _.error}}}}catch(e){h={error:e}}finally{try{q&&!q.done&&(p=F.return)&&p.call(F)}finally{if(h)throw h.error}}return r.__spread(R,I,O).map((function(e){return v[e]})).map((function(t){return e[t]}))}},function(e,t,n){"use strict";n.r(t),n.d(t,"__extends",(function(){return __extends})),n.d(t,"__assign",(function(){return __assign})),n.d(t,"__rest",(function(){return __rest})),n.d(t,"__decorate",(function(){return __decorate})),n.d(t,"__param",(function(){return __param})),n.d(t,"__metadata",(function(){return __metadata})),n.d(t,"__awaiter",(function(){return __awaiter})),n.d(t,"__generator",(function(){return __generator})),n.d(t,"__createBinding",(function(){return __createBinding})),n.d(t,"__exportStar",(function(){return __exportStar})),n.d(t,"__values",(function(){return __values})),n.d(t,"__read",(function(){return __read})),n.d(t,"__spread",(function(){return __spread})),n.d(t,"__spreadArrays",(function(){return __spreadArrays})),n.d(t,"__await",(function(){return __await})),n.d(t,"__asyncGenerator",(function(){return __asyncGenerator})),n.d(t,"__asyncDelegator",(function(){return __asyncDelegator})),n.d(t,"__asyncValues",(function(){return __asyncValues})),n.d(t,"__makeTemplateObject",(function(){return __makeTemplateObject})),n.d(t,"__importStar",(function(){return __importStar})),n.d(t,"__importDefault",(function(){return __importDefault})),n.d(t,"__classPrivateFieldGet",(function(){return __classPrivateFieldGet})),n.d(t,"__classPrivateFieldSet",(function(){return __classPrivateFieldSet}));var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function __extends(e,t){function __(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}var __assign=function(){return(__assign=Object.assign||function __assign(e){for(var t,n=1,r=arguments.length;n=0;i--)(o=e[i])&&(s=(a<3?o(s):a>3?o(t,n,s):o(t,n))||s);return a>3&&s&&Object.defineProperty(t,n,s),s}function __param(e,t){return function(n,r){t(n,r,e)}}function __metadata(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function __awaiter(e,t,n,r){return new(n||(n=Promise))((function(o,a){function fulfilled(e){try{step(r.next(e))}catch(e){a(e)}}function rejected(e){try{step(r.throw(e))}catch(e){a(e)}}function step(e){e.done?o(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))}function __generator(e,t){var n,r,o,a,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:verb(0),throw:verb(1),return:verb(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function verb(a){return function(i){return function step(a){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)s.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s}function __spread(){for(var e=[],t=0;t1||resume(e,t)}))})}function resume(e,t){try{!function step(e){e.value instanceof __await?Promise.resolve(e.value.v).then(fulfill,reject):settle(a[0][2],e)}(o[e](t))}catch(e){settle(a[0][3],e)}}function fulfill(e){resume("next",e)}function reject(e){resume("throw",e)}function settle(e,t){e(t),a.shift(),a.length&&resume(a[0][0],a[0][1])}}function __asyncDelegator(e){var t,n;return t={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),t[Symbol.iterator]=function(){return this},t;function verb(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:__await(e[r](t)),done:"return"===r}:o?o(t):t}:o}}function __asyncValues(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=__values(e),t={},verb("next"),verb("throw"),verb("return"),t[Symbol.asyncIterator]=function(){return this},t);function verb(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function settle(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}function __makeTemplateObject(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function __importStar(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function __importDefault(e){return e&&e.__esModule?e:{default:e}}function __classPrivateFieldGet(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function __classPrivateFieldSet(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}},function(e,t,n){"use strict";var r,o=(r=function extendStatics(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function __(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}),__importDefault=function(e){return e&&e.__esModule?e:{default:e}};t.__esModule=!0;var a=function(e){function SynchronousMetaRegistry(){return null!==e&&e.apply(this,arguments)||this}return o(SynchronousMetaRegistry,e),SynchronousMetaRegistry.prototype.set=function(t,n){if("d8a5aa78-978e-11e6-ae22-56b6b6499611"!==n.SERIAL_VERSION_UID)throw new Error("You can only add registries to a meta registry");return e.prototype.set.call(this,t,n)},SynchronousMetaRegistry}(__importDefault(n(14)).default);t.default=a},function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r),a=n(11),s=n(1),i=n.n(s),c=n(15),l=n(2),u=n(7),d=n(4);class Helper{static getDescendantProperty(e,t,n=[]){let r,o,a,s,i,c;if(t){if(a=t.indexOf("."),-1===a?r=t:(r=t.slice(0,a),o=t.slice(a+1)),s=e[r],null!=s)if(o||"string"!=typeof s&&"number"!=typeof s)if("[object Array]"===Object.prototype.toString.call(s))for(i=0,c=s.length;ie.score-t.score),t.map(e=>e.item)}static isMatch(e,t,n){e=String(e),t=String(t),n||(e=e.toLocaleLowerCase(),t=t.toLocaleLowerCase());const r=FuzzySearch_FuzzySearch.nearestIndexesFor(e,t);return!!r&&(e===t?1:r.length>1?r[r.length-1]-r[0]+2:2+r[0])}static nearestIndexesFor(e,t){const n=t.split("");let r=[];return FuzzySearch_FuzzySearch.indexesOfFirstLetter(e,t).forEach((t,o)=>{let a=t+1;r[o]=[t];for(let t=1;t!1!==e),!!r.length&&r.sort((e,t)=>1===e.length?e[0]-t[0]:(e=e[e.length-1]-e[0])-(t=t[t.length-1]-t[0]))[0]}static indexesOfFirstLetter(e,t){const n=t[0];return e.split("").map((e,t)=>e===n&&t).filter(e=>!1!==e)}}function flattenCommands(e,t=null){return Object.keys(e).reduce((n,r)=>{const{icon:o,description:a,name:s,subCommands:i,action:c,canHandleQueries:l}=e[r],u=t?`${t}.${r}`:r,d=i?Object.keys(i).map(e=>`${u}.${e}`):[];return n[u]={id:u,name:s,icon:o,description:a,action:c,canHandleQueries:l,subCommandIds:d,parentId:t},d.length>0?{...n,...flattenCommands(i,u)}:n},{})}var m,f={ok:(e,...t)=>console.log("%c"+e,"color: green",...t),error:(e,...t)=>console.log("%c"+e,"color: red",...t),warn:(e,...t)=>console.warn("%c"+e,"color: orange",...t),debug:()=>null};function clamp(e,t,n){return Math.max(t,Math.min(n,e))}function filterAvailableCommands(e,t,n){let r=Object.values(n);if(r=t?r:r.filter(t=>t.parentId===e),!t)return r.map(e=>e.id);const o=new FuzzySearch_FuzzySearch(r,["name"],{sort:!0}).search(t);return[...new Set([...o.map(e=>e.id),...r.filter(e=>e.canHandleQueries).map(e=>e.id)])]}!function(e){e[e.RESET_SEARCH=0]="RESET_SEARCH",e[e.HIGHLIGHT_NEXT_ITEM=1]="HIGHLIGHT_NEXT_ITEM",e[e.HIGHLIGHT_PREVIOUS_ITEM=2]="HIGHLIGHT_PREVIOUS_ITEM",e[e.CANCEL=3]="CANCEL",e[e.SELECT_GROUP=4]="SELECT_GROUP",e[e.GO_TO_PARENT_GROUP=5]="GO_TO_PARENT_GROUP",e[e.UPDATE_SEARCH=6]="UPDATE_SEARCH",e[e.RUNNING_COMMAND=7]="RUNNING_COMMAND",e[e.FINISHED_COMMAND=8]="FINISHED_COMMAND",e[e.SET_RESULT=9]="SET_RESULT"}(m||(m={}));const commandBarReducer=(e,t)=>{const n=e.selectedCommandGroup?e.commands[e.selectedCommandGroup].parentId:null;switch(t.type){case m.RESET_SEARCH:return{...e,searchWord:"",highlightedItem:0,availableCommandIds:filterAvailableCommands(e.selectedCommandGroup,"",e.commands),result:null};case m.HIGHLIGHT_NEXT_ITEM:return e.result?{...e,highlightedResultItem:clamp(e.highlightedResultItem+1,0,Object.keys(e.result.options).length-1)}:{...e,expanded:!0,highlightedItem:e.expanded?clamp(e.highlightedItem+1,0,e.availableCommandIds.length-1):0};case m.HIGHLIGHT_PREVIOUS_ITEM:return e.result?{...e,highlightedResultItem:clamp(e.highlightedResultItem-1,0,Object.keys(e.result.options).length-1)}:{...e,highlightedItem:clamp(e.highlightedItem-1,0,e.availableCommandIds.length-1)};case m.CANCEL:return e.result?{...e,result:null,highlightedResultItem:0}:e.searchWord?{...e,searchWord:"",highlightedItem:0,availableCommandIds:filterAvailableCommands(e.selectedCommandGroup,"",e.commands)}:{...e,selectedCommandGroup:n,availableCommandIds:filterAvailableCommands(n,"",e.commands)};case m.GO_TO_PARENT_GROUP:return{...e,highlightedItem:0,selectedCommandGroup:null,availableCommandIds:filterAvailableCommands(n,"",e.commands),result:null};case m.SELECT_GROUP:return{...e,searchWord:"",highlightedItem:0,selectedCommandGroup:t.commandId,availableCommandIds:filterAvailableCommands(t.commandId,"",e.commands),result:null};case m.UPDATE_SEARCH:return{...e,expanded:!0,searchWord:t.searchWord,highlightedItem:0,availableCommandIds:filterAvailableCommands(e.selectedCommandGroup,t.searchWord,e.commands)};case m.RUNNING_COMMAND:return{...e,runningCommandId:t.commandId,runningCommandMessage:t.argument};case m.FINISHED_COMMAND:return{...e,runningCommandId:null,runningCommandMessage:null};case m.SET_RESULT:return{...e,result:{...t.result},highlightedResultItem:0}}throw new Error("Invalid action "+JSON.stringify(t))};var h=n(16),p=n(17);var _=r.memo(({icon:e,spin:t=!1})=>r.createElement("span",{className:p.iconWrap},r.createElement(h.Icon,{icon:e,spin:t}))),g=n(5);var CommandBarFooter_CommandBarFooter=({selectedGroup:e,runningCommand:t,runningCommandMessage:n})=>r.createElement("footer",{className:g.commandBarFooter},t?r.createElement("span",{className:g.activity},r.createElement(_,{icon:"circle-notch",spin:!0}),r.createElement("em",null,t.name," ‒ ",n)):e?r.createElement("span",{className:g.breadcrumb},r.createElement(_,{icon:e.icon}),r.createElement("small",null,e.name)):r.createElement(_,{icon:"neos"}),r.createElement("a",{href:"https://helzle.it",title:"Made with love by Sebastian Helzle",target:"_blank",rel:"noreferrer noopener",className:g.madeWithLove},r.createElement("small",null,"Made with love by"),r.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 180 180"},r.createElement("defs",null,r.createElement("linearGradient",{id:"a",gradientUnits:"userSpaceOnUse",x1:"280.25",y1:"377.003",x2:"373.261",y2:"377.003"},r.createElement("stop",{offset:"0",stopColor:"#297AAC"}),r.createElement("stop",{offset:"1",stopColor:"#53AADA"}))),r.createElement("path",{d:"M0 180.017h37.287L71.35 52.898H34.061zM48.717 0l-9.083 33.898h36.675L85.392 0z",fill:"#B9B7B3"}),r.createElement("path",{d:"M335.972 313.444H288.25l-8 28.306h47.691l-28.03 98.813h39.287l34.063-127.119z",fill:"url(#a)",transform:"translate(-195.462 -260.325)"})))),y=n(18);var SearchBox_SearchBox=({searchWord:e,onChange:t,disabled:n})=>{const o=Object(r.useRef)(),a=Object(r.useCallback)(e=>{"Escape"===e.key&&o.current.value&&(e.preventDefault(),e.stopPropagation())},[o.current]);return r.createElement("input",{ref:o,className:y.searchBox,type:"search",placeholder:"Search for commands…",autoFocus:!0,onChange:t,onKeyUp:a,value:e,disabled:n})},v=n(12);var CommandBarHeader_CommandBarHeader=({selectedCommandGroup:e,searchWord:t,handleBack:n,handleSearch:r,disabled:a=!1})=>o.a.createElement("header",{className:v.commandBarHeader},e&&o.a.createElement("button",{type:"button",onClick:n,className:v.backButton},o.a.createElement(_,{icon:"arrow-left"})),o.a.createElement(SearchBox_SearchBox,{searchWord:t,onChange:r,disabled:a})),b=n(8),C=n(9);const w=o.a.forwardRef(({command:e,onItemSelect:t,highlighted:n,runningCommandId:r},a)=>{const{id:s,name:i,description:c,icon:l,subCommandIds:u,canHandleQueries:d}=e,m=(null==u?void 0:u.length)>0?"category":d?"query":"command";return o.a.createElement("li",{className:[C.commandListItem,n&&C.highlighted].join(" "),onClick:()=>t(s),ref:a},o.a.createElement(_,{icon:l}),o.a.createElement("span",{className:C.label},o.a.createElement("span",null,i),c&&o.a.createElement("small",null,"string"==typeof c?c:c())),o.a.createElement("small",null,m))});w.displayName="CommandListItem";var S=o.a.memo(w,(e,t)=>e.command.id===t.command.id&&e.ref===t.ref&&e.runningCommandId===t.runningCommandId);var E=o.a.memo(({commands:e,availableCommandIds:t,highlightedItem:n,handleSelectItem:a,heading:s="Commands",runningCommandId:i="",noCommandsMessage:c="No matching commands found",disabled:l=!1})=>{const u=o.a.useRef(null);return Object(r.useEffect)(()=>{var e;null===(e=u.current)||void 0===e||e.scrollIntoView({behavior:"smooth",block:"nearest"})},[u.current]),o.a.createElement("nav",{className:[b.results,l&&b.disabled].join(" ")},s&&o.a.createElement("h6",null,s),t.length>0?o.a.createElement("ul",null,t.map((t,r)=>o.a.createElement(S,{key:t,ref:n===r?u:null,command:e[t],onItemSelect:a,highlighted:n===r,runningCommandId:i}))):o.a.createElement("small",{className:b.noResults},c))}),R=n(19);var I=o.a.memo(({result:e,highlightedItem:t})=>{const{options:n,view:a,message:s}=e,i=Object(r.useCallback)(e=>{const{action:t}=n[e];t&&("string"!=typeof t?(f.debug("Running action result command",e),t()):window.location.href=t)},[n]);return o.a.createElement("div",{className:R.commandResultsView},a?o.a.createElement("div",null,a):"",n&&o.a.createElement(E,{heading:s,commands:n,availableCommandIds:Object.keys(n),highlightedItem:t,handleSelectItem:i,noCommandsMessage:"Try a different query to find more results"}))}),O=n(13);var N=o.a.memo(({handleToggle:e,disabled:t=!1})=>o.a.createElement("button",{className:O.toggleButton,onClick:e,disabled:t,title:"Toggle command bar"},o.a.createElement("span",null,"Search…"),o.a.createElement("span",{className:O.buttonIcon},"⌘K")));function useFunctionRef(e){const t=Object(r.useRef)(e);return t.current=e,t}const P={expanded:!1,selectedCommandGroup:null,availableCommandIds:[],searchWord:"",highlightedItem:0,commands:{},runningCommandId:null,runningCommandMessage:null,result:null,highlightedResultItem:0};var src_CommandBar=({commands:e,open:t,toggleOpen:n,onDrag:a})=>{const[s,i]=Object(r.useReducer)(commandBarReducer,{...P,commands:flattenCommands(e),availableCommandIds:Object.keys(e)}),c=Object(r.useRef)(null),[l,u]=Object(r.useState)(!1),[h,p]=Object(r.useState)({left:"50%",top:"50%",offsetLeft:0,offsetTop:0}),_=useFunctionRef(e=>{if(t&&!e.defaultPrevented)if("k"===e.key&&e.metaKey&&(null==c?void 0:c.current.contains(e.target)))n();else if("Escape"===e.key)e.stopPropagation(),e.preventDefault(),s.selectedCommandGroup||s.searchWord?i({type:m.CANCEL}):n();else if("ArrowDown"===e.key)e.stopPropagation(),e.preventDefault(),i({type:m.HIGHLIGHT_NEXT_ITEM});else if("ArrowUp"===e.key)e.stopPropagation(),e.preventDefault(),i({type:m.HIGHLIGHT_PREVIOUS_ITEM});else if("Enter"===e.key&&s.availableCommandIds.length>s.highlightedItem)if(e.stopPropagation(),e.preventDefault(),s.result){const e=Object.values(s.result.options)[s.highlightedResultItem];y(e)}else{const e=s.availableCommandIds[s.highlightedItem];y(e)}}),g=Object(r.useCallback)(e=>{i({type:m.UPDATE_SEARCH,searchWord:e.target.value.toLowerCase()})},[]),y=Object(r.useCallback)(async e=>{const{action:t,canHandleQueries:n,id:r}="string"==typeof e?s.commands[e]:e;if(!t)return i({type:m.SELECT_GROUP,commandId:r});if("string"==typeof t)return i({type:m.RUNNING_COMMAND,commandId:r,argument:"Loading url"}),void(window.location.href=t);i({type:m.RUNNING_COMMAND,commandId:r,argument:"Running command"});const o=t(n?s.searchWord:void 0);if(o.then)o.then(e=>{f.debug("Command result",e)}).catch(e=>{f.error("Command error",e)}).finally(()=>{i({type:m.FINISHED_COMMAND})});else if(o.next){const e=o;for await(const t of e)i({type:m.RUNNING_COMMAND,commandId:r,argument:t.message}),t.options&&i({type:m.SET_RESULT,result:t});i({type:m.FINISHED_COMMAND})}else f.error("Command result is not a promise or generator",o)},[s.searchWord,s.commands]),v=useFunctionRef(e=>{y(e)});Object(r.useEffect)(()=>{if(!t)return;const windowKeyEventHandler=e=>_.current(e);return window.addEventListener("keydown",windowKeyEventHandler),()=>window.removeEventListener("keydown",windowKeyEventHandler)},[t]);const b=Object(r.useCallback)(e=>{"INPUT"!==e.target.tagName?(e.dataTransfer.setData("text/plain","CommandBar"),e.dataTransfer.dropEffect="move",e.dataTransfer.effectAllowed="move",f.debug("Drag started with offset"),p({left:e.clientX,top:e.clientY,offsetLeft:c.current.offsetLeft-e.clientX,offsetTop:c.current.offsetTop-e.clientY}),a&&a(!0)):f.debug("Drag ignored because input is focused")},[c.current]),C=Object(r.useCallback)(e=>{const{clientX:t,clientY:n}=e;u(!1),p(e=>({...e,left:clamp(t,0,window.innerWidth-(c.current.offsetWidth/2+e.offsetLeft)),top:clamp(n,0,window.innerHeight-(c.current.offsetHeight/2+e.offsetTop))})),f.debug("Drag ended",window.innerWidth,c.current.offsetWidth,t,n),a&&a(!1)},[c.current]),w=Object(r.useMemo)(()=>{const{left:e,top:t,offsetLeft:n,offsetTop:r}=h;return{left:"string"==typeof e?e:e+n+"px",top:"string"==typeof t?t:t+r+"px",visibility:l?"hidden":"visible"}},[h,l,c.current]);return t?o.a.createElement("dialog",{ref:c,className:[d.commandBar,s.result&&d.hasResults].join(" "),open:t,draggable:!0,onDragStart:b,onDrag:()=>u(!0),onDragEnd:C,style:w},o.a.createElement(CommandBarHeader_CommandBarHeader,{selectedCommandGroup:s.selectedCommandGroup,searchWord:s.searchWord,handleBack:()=>i({type:m.GO_TO_PARENT_GROUP}),handleSearch:g,disabled:!!s.result}),o.a.createElement("div",{className:[d.resultsWrap,s.expanded&&d.expanded,s.result&&d.split].join(" ")},o.a.createElement(E,{commands:s.commands,availableCommandIds:s.availableCommandIds,highlightedItem:s.highlightedItem,handleSelectItem:e=>v.current(e),runningCommandId:s.runningCommandId,disabled:!!s.result}),s.result&&o.a.createElement(I,{result:s.result,highlightedItem:s.highlightedResultItem})),s.expanded&&o.a.createElement(CommandBarFooter_CommandBarFooter,{selectedGroup:s.selectedCommandGroup?s.commands[s.selectedCommandGroup]:null,runningCommand:s.runningCommandId?s.commands[s.runningCommandId]:null,runningCommandMessage:s.runningCommandMessage})):null},k=n(6),x=n(20);var helpers_fetchData=async(e,t)=>(t&&(e=Object.keys(t).reduce((e,n)=>e+"&"+n+"="+encodeURIComponent(t[n]),e+"?")),x.fetchWithErrorHandling.withCsrfToken(t=>({url:e,method:"GET",credentials:"include",headers:{"X-Flow-Csrftoken":t}})).then(e=>e&&e.json()));class CommandBarUiPlugin_CommandBarUiPlugin extends r.PureComponent{constructor(e){super(e),this.buildCommandsFromHotkeys=()=>{const{hotkeyRegistry:e,handleHotkeyAction:t,config:n}=this.props;return e.getAllAsList().reduce((e,{id:r,description:o,action:a})=>(n.hotkeys.filter.includes(r)||(e[r]={name:o,description:r,icon:this.mapHotkeyIdToIcon(r),action:async()=>t(a())}),e),{})},this.buildCommandsFromEditPreviewModes=()=>{const{setEditPreviewMode:e,editPreviewModes:t,i18nRegistry:n}=this.props;return Object.keys(t).reduce((r,o)=>{const{title:a,isEditingMode:s}=t[o];return r[o]={name:n.translate(a),description:()=>this.props.editPreviewMode===o?"Currently active":"",icon:s?"pencil":"eye",action:async()=>e(o)},r},{})},this.handleAddNode=async()=>{const{addNode:e,documentNode:t,focusedNodeContextPath:n,toggleCommandBar:r}=this.props;r(),e(n||t.contextPath,void 0,"after")},this.handleSearchNode=async function*(e){const{siteNode:t,setActiveContentCanvasContextPath:n,setActiveContentCanvasSrc:r}=this.props;yield{success:!0,message:`Searching for "${e}"`};const o=await helpers_fetchData("service/data-source/shel-neos-commandbar-search-nodes",{query:e,node:t.contextPath}).then(e=>e);return yield{success:!0,message:o.length+" options match your query",options:o.reduce((e,{name:t,nodetype:o,icon:a,contextPath:s,uri:i})=>i?(e[s]={id:s,name:t,description:o,action:async()=>{r(i),n(s)},icon:a},e):e,{})},{success:!0,message:"Finished searching"}},this.handlePublish=async()=>{const{publishableNodesInDocument:e,publishAction:t,baseWorkspace:n}=this.props;return t(e.map(e=>e.contextPath),n),{success:!0,message:`Published ${e.length} changes`}},this.handlePublishAll=async()=>{const{publishableNodes:e,publishAction:t,baseWorkspace:n}=this.props;return t(e.map(e=>e.contextPath),n),{success:!0,message:`Published ${e.length} changes`}},this.handleDiscard=async()=>{const{publishableNodesInDocument:e,discardAction:t}=this.props;return t(e.map(e=>e.contextPath)),{success:!0,message:`Discarded ${e.length} changes`}},this.handleDiscardAll=async()=>{const{publishableNodes:e,discardAction:t}=this.props;return t(e.map(e=>e.contextPath)),{success:!0,message:`Discarded ${e.length} changes`}},this.setDragging=e=>{this.setState({...this.state,dragging:e})},this.state={loaded:!1,dragging:!1,commands:{addNode:{name:"Add node",icon:"plus",description:"Add a new node",action:this.handleAddNode},searchDocuments:{name:"Search documents",icon:"search",description:"Search and navigate to documents",action:this.handleSearchNode.bind(this),canHandleQueries:!0},publishDiscard:{name:"Publish or discard changes",description:"Publish or discard changes",icon:"check",subCommands:{publish:{name:"Publish",description:"Publish changes on this document",icon:"check",action:this.handlePublish},publishAll:{name:"Publish all",description:"Publish all changes",icon:"check-double",action:this.handlePublishAll},discard:{name:"Discard",description:"Discard changes on this document",icon:"ban",action:this.handleDiscard},discardAll:{name:"Discard all",description:"Discard all changes",icon:"ban",action:this.handleDiscardAll}}},quickActions:{name:"Quick actions",icon:"keyboard",description:"Execute configured hotkeys",subCommands:this.buildCommandsFromHotkeys()},switchEditPreviewMode:{name:"Switch edit/preview mode",icon:"pencil",description:"Switch between edit and preview modes",subCommands:this.buildCommandsFromEditPreviewModes()}}}}mapHotkeyIdToIcon(e){let t=e.split(".").pop();switch(t.indexOf("toggle")>=0&&(t="toggle"),t){case"toggle":return"toggle-on";case"reload":return"redo";case"cancel":case"close":return"window-close";case"apply":return"check"}return"neos"}componentDidMount(){const{plugins:e}=this.props;e&&Object.keys(e).forEach(t=>{try{const n=e[t]();this.setState(e=>({commands:{...e.commands,...n}}))}catch(e){f.error("[CommandBar] Could not load commands from plugin "+t,e)}}),helpers_fetchData("service/data-source/shel-neos-commandbar-commands").then(e=>{this.setState(t=>({loaded:!0,commands:{...t.commands,...e}}))}).catch(e=>{f.error("[CommandBar] Failed to load commands",e)})}render(){const{commandBarOpen:e,toggleCommandBar:t}=this.props,{commands:n,loaded:o,dragging:a}=this.state;return r.createElement("div",{className:u.commandBarToolbarComponent},r.createElement(N,{handleToggle:t,disabled:!o}),o&&r.createElement("div",{className:[u.fullScreenLayer,e&&u.open].join(" "),onDragOver:e=>e.preventDefault(),style:a?{pointerEvents:"all"}:null},r.createElement(src_CommandBar,{open:e,commands:n,toggleOpen:t,onDrag:this.setDragging})))}}CommandBarUiPlugin_CommandBarUiPlugin.propTypes={config:i.a.object.isRequired,i18nRegistry:i.a.object.isRequired,siteNode:i.a.object,documentNode:i.a.object,focusedNodeContextPath:i.a.string,commandBarOpen:i.a.bool,toggleCommandBar:i.a.func.isRequired,handleHotkeyAction:i.a.func.isRequired,hotkeyRegistry:i.a.object.isRequired,addNode:i.a.func.isRequired,editPreviewMode:i.a.string.isRequired,setEditPreviewMode:i.a.func.isRequired,editPreviewModes:i.a.object.isRequired,publishableNodes:i.a.array,publishableNodesInDocument:i.a.array,isWorkspaceReadOnly:i.a.bool,publishAction:i.a.func.isRequired,discardAction:i.a.func.isRequired,baseWorkspace:i.a.string.isRequired,setActiveContentCanvasContextPath:i.a.func.isRequired,setActiveContentCanvasSrc:i.a.func.isRequired};const A=Object(c.neos)(e=>({i18nRegistry:e.get("i18n"),hotkeyRegistry:e.get("hotkeys"),config:e.get("frontendConfiguration").get("Shel.Neos.CommandBar:CommandBar"),nodeTypesRegistry:e.get("@neos-project/neos-ui-contentrepository"),editPreviewModes:e.get("frontendConfiguration").get("editPreviewModes"),plugins:e.get("Shel.Neos.CommandBar").getChildrenAsObject("plugins")}));t.default=Object(a.connect)(()=>({}),{toggleCommandBar:k.actions.toggleCommandBar,addNode:l.actions.CR.Nodes.commenceCreation,setEditPreviewMode:l.actions.UI.EditPreviewMode.set,publishAction:l.actions.CR.Workspaces.publish,discardAction:l.actions.CR.Workspaces.commenceDiscard,setActiveContentCanvasContextPath:l.actions.CR.Nodes.setDocumentNode,setActiveContentCanvasSrc:l.actions.UI.ContentCanvas.setSrc})(Object(a.connect)(e=>({siteNode:l.selectors.CR.Nodes.siteNodeSelector(e),documentNode:l.selectors.CR.Nodes.documentNodeSelector(e),focusedNodeContextPath:l.selectors.CR.Nodes.focusedNodePathSelector(e),publishableNodes:l.selectors.CR.Workspaces.publishableNodesSelector(e),publishableNodesInDocument:l.selectors.CR.Workspaces.publishableNodesInDocumentSelector(e),isWorkspaceReadOnly:l.selectors.CR.Workspaces.isWorkspaceReadOnlySelector(e),baseWorkspace:l.selectors.CR.Workspaces.baseWorkspaceSelector(e),commandBarOpen:k.selectors.commandBarOpen(e),editPreviewMode:l.selectors.UI.EditPreviewMode.currentEditPreviewMode(e)}),e=>({handleHotkeyAction:e}))(A(CommandBarUiPlugin_CommandBarUiPlugin)))}]); //# sourceMappingURL=Plugin.js.map \ No newline at end of file diff --git a/Resources/Public/Plugin.js.map b/Resources/Public/Plugin.js.map index ae4988a..d4b7da0 100644 --- a/Resources/Public/Plugin.js.map +++ b/Resources/Public/Plugin.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/vendor/react/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/vendor/prop-types/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/neosProjectPackages/neos-ui-redux-store/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/readFromConsumerApi.js","webpack:///../commandbar/src/CommandBar.module.css?c6ee","webpack:///../commandbar/src/CommandBarFooter/CommandBarFooter.module.css?9bd0","webpack:///./src/actions/index.ts","webpack:///./src/CommandBarUiPlugin.module.css?b47e","webpack:///../commandbar/src/CommandList/CommandListing.module.css?4e9d","webpack:///../commandbar/src/CommandList/CommandListItem.module.css?a559","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/vendor/redux-actions/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/vendor/react-redux/index.js","webpack:///../commandbar/src/CommandBarHeader/CommandBarHeader.module.css?1317","webpack:///../commandbar/src/ToggleButton/ToggleButton.module.css?1975","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/registry/SynchronousRegistry.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/neosProjectPackages/neos-ui-decorators/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/neosProjectPackages/react-ui-components/index.js","webpack:///../commandbar/src/Presentationals/Icon.module.css?bbc0","webpack:///../commandbar/src/SearchBox/SearchBox.module.css?9095","webpack:///../commandbar/src/CommandResultsView/CommandResultsView.module.css?8535","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/neosProjectPackages/neos-ui-backend-connector/index.js","webpack:///./src/index.js","webpack:///./src/manifest.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/createConsumerApi.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/manifest.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/registry/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/registry/AbstractRegistry.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/positional-array-sorter/dist/positionalArraySorter.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/tslib/tslib.es6.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/registry/SynchronousMetaRegistry.js","webpack:///../commandbar/src/state/commandBarReducer.ts","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/fuzzy-search/src/Helper.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/fuzzy-search/src/FuzzySearch.js","webpack:///../commandbar/src/Presentationals/Icon.tsx","webpack:///../commandbar/src/CommandBarFooter/CommandBarFooter.tsx","webpack:///../commandbar/src/SearchBox/SearchBox.tsx","webpack:///../commandbar/src/CommandBarHeader/CommandBarHeader.tsx","webpack:///../commandbar/src/CommandList/CommandListItem.tsx","webpack:///../commandbar/src/CommandList/CommandListing.tsx","webpack:///../commandbar/src/helpers/flattenCommands.ts","webpack:///../commandbar/src/CommandResultsView/CommandResultsView.tsx","webpack:///../commandbar/src/CommandBar.tsx","webpack:///../commandbar/src/ToggleButton/ToggleButton.tsx","webpack:///./src/helpers/fetchData.ts","webpack:///./src/CommandBarUiPlugin.tsx"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","React","PropTypes","NeosUiReduxStore","__read","iterator","e","ar","next","done","push","error","__spreadArray","to","from","pack","arguments","length","Array","slice","concat","readFromConsumerApi","_a","args","_i","window","apply","Error","actionTypes","TOGGLE_COMMAND_BAR","actions","toggleCommandBar","reducer","state","action","_b","_c","plugins","commandBar","open","undefined","payload","selectors","commandBarOpen","reduxActions","reactRedux","extendStatics","__extends","b","setPrototypeOf","__proto__","TypeError","String","__","this","constructor","__importDefault","mod","AbstractRegistry_1","require","positional_array_sorter_1","SynchronousRegistry","_super","description","_this","_registry","set","position","entry","indexOfItemWithTheSameKey","findIndex","item","console","result","find","_getChildrenWrapped","searchKey","unsortedChildren","filter","indexOf","getChildrenAsObject","forEach","getChildren","map","has","Boolean","_getAllWrapped","getAllAsObject","getAllAsList","assign","id","NeosUiDecorators","ReactUiComponents","NeosUiBackendConnectorDefault","fetchWithErrorHandling","NeosUiBackendConnector","globalRegistry","store","frontendConfiguration","enabled","extensibilityTest","icon","canHandleQueries","query","getState","documentNode","CR","Nodes","documentNodeSelector","alert","contextPath","CommandBarUiPlugin","hotkeys","hotkeyRegistry","SynchronousMetaRegistry","createConsumerApi","createConsumerApi_1","readFromConsumerApi_1","index_1","manifest_1","createReadOnlyValue","writable","configurable","manifests","exposureMap","api","keys","identifier","options","bootstrap","SynchronousRegistry_1","SynchronousMetaRegistry_1","AbstractRegistry","SERIAL_VERSION_UID","tslib_1","positionalArraySorter","subject","idKey","e_1","e_2","e_3","e_4","_d","e_5","_e","e_6","_f","e_7","_g","positionAccessor","indexMapping","middleKeys","startKeys","endKeys","beforeKeys","afterKeys","index","positionValue","invalid","startsWith","weight","weightMatch","match","Number","reference","numberPosition","parseFloat","isNaN","isFinite","resultStart","resultMiddle","resultEnd","processedKeys","sortedWeights","dict","asc","weights","x","sort","a","reverse","addToResults","e_8","e_9","beforeWeights","beforeWeights_1","__values","beforeWeights_1_1","e_8_1","afterWeights","afterWeights_1","afterWeights_1_1","e_9_1","_h","_j","e_1_1","_k","_l","e_2_1","_m","_o","e_3_1","_p","_q","_r","_s","e_5_1","e_4_1","_t","_u","_v","_w","e_7_1","e_6_1","__spread","__assign","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","adopt","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","v","op","pop","__createBinding","k","k2","__exportStar","__spreadArrays","il","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","default","__classPrivateFieldGet","receiver","privateMap","__classPrivateFieldSet","ACTIONS","Helper","path","list","firstSegment","remaining","dotIndex","toString","getDescendantProperty","haystack","isArray","caseSensitive","results","score","isMatch","propertyValues","found","z","toLocaleLowerCase","indexes","nearestIndexesFor","letters","split","indexesOfFirstLetter","startingIndex","loopingIndex","letter","letterIndexes","clamp","min","max","Math","filterAvailableCommands","selectedCommandGroup","searchWord","commands","availableCommands","values","command","parentId","matchingCommands","search","Set","commandBarReducer","parentCommandGroup","type","RESET_SEARCH","highlightedItem","availableCommandIds","HIGHLIGHT_NEXT_ITEM","highlightedResultItem","expanded","HIGHLIGHT_PREVIOUS_ITEM","CANCEL","GO_TO_PARENT_GROUP","SELECT_GROUP","commandId","UPDATE_SEARCH","argument","RUNNING_COMMAND","runningCommandId","runningCommandMessage","FINISHED_COMMAND","SET_RESULT","spin","className","selectedGroup","runningCommand","href","title","rel","xmlns","width","height","viewBox","gradientUnits","x1","y1","x2","y2","offset","stopColor","fill","transform","onChange","disabled","inputRef","handleKeyPress","current","preventDefault","stopPropagation","ref","placeholder","autoFocus","onKeyUp","dispatch","handleSearch","createElement","onClick","CommandListItem","forwardRef","onItemSelect","highlighted","subCommandIds","commandType","join","displayName","memo","prev","handleSelectItem","heading","noCommandsMessage","selectedElementRef","useRef","scrollIntoView","behavior","block","flattenCommands","reduce","commandList","subCommands","absoluteCommandId","subCommandId","view","message","debug","location","initialState","useRefEventListener","fn","fnRef","toggleOpen","dialogRef","handleKeyEnteredRef","defaultPrevented","metaKey","contains","toLowerCase","async","actionResult","catch","finally","warn","handleSelectItemRef","windowKeyEventHandler","addEventListener","removeEventListener","handleToggle","endpoint","params","url","encodeURIComponent","withCsrfToken","csrfToken","method","credentials","headers","response","json","props","super","buildCommandsFromHotkeys","handleHotkeyAction","config","carry","includes","mapHotkeyIdToIcon","buildCommandsFromEditPreviewModes","setEditPreviewMode","editPreviewModes","i18nRegistry","isEditingMode","translate","editPreviewMode","handleAddNode","addNode","focusedNodeContextPath","handleSearchNode","siteNode","setActiveContentCanvasContextPath","setActiveContentCanvasSrc","success","node","nodetype","uri","handlePublish","publishableNodesInDocument","publishAction","baseWorkspace","handlePublishAll","publishableNodes","handleDiscard","discardAction","handleDiscardAll","loaded","searchDocuments","publishDiscard","publish","publishAll","discard","discardAll","quickActions","switchEditPreviewMode","actionName","pluginName","pluginCommands","setState","propTypes","isRequired","string","bool","func","array","isWorkspaceReadOnly","mapGlobalRegistryToProps","nodeTypesRegistry","commenceCreation","UI","EditPreviewMode","Workspaces","commenceDiscard","setDocumentNode","ContentCanvas","setSrc","siteNodeSelector","focusedNodePathSelector","publishableNodesSelector","publishableNodesInDocumentSelector","isWorkspaceReadOnlySelector","baseWorkspaceSelector","currentEditPreviewMode"],"mappings":"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","file":"Plugin.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 21);\n","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('vendor')().React;\n","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('vendor')().PropTypes;\n","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('NeosProjectPackages')().NeosUiReduxStore;\n","\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nexports.__esModule = true;\nfunction readFromConsumerApi(key) {\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (window['@Neos:HostPluginAPI'] && window['@Neos:HostPluginAPI'][\"@\".concat(key)]) {\n return (_a = window['@Neos:HostPluginAPI'])[\"@\".concat(key)].apply(_a, __spreadArray([], __read(args), false));\n }\n throw new Error('You are trying to read from a consumer api that hasn\\'t been initialized yet!');\n };\n}\nexports[\"default\"] = readFromConsumerApi;\n//# sourceMappingURL=readFromConsumerApi.js.map","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commandBar\":\"CommandBar-module__commandBar___3t_V0\",\"hasResults\":\"CommandBar-module__hasResults___3NzEf\",\"resultsWrap\":\"CommandBar-module__resultsWrap___ceSal\",\"expanded\":\"CommandBar-module__expanded___tNs3W\",\"split\":\"CommandBar-module__split___mpznN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commandBarFooter\":\"CommandBarFooter-module__commandBarFooter___1mMGR\",\"breadcrumb\":\"CommandBarFooter-module__breadcrumb___2xMga\",\"activity\":\"CommandBarFooter-module__activity___1YdE7\",\"madeWithLove\":\"CommandBarFooter-module__madeWithLove___2_GKs\"};","import { createAction, handleActions } from 'redux-actions';\nexport const actionTypes = {\n TOGGLE_COMMAND_BAR: 'TOGGLE_COMMAND_BAR',\n};\nconst toggleCommandBar = createAction(actionTypes.TOGGLE_COMMAND_BAR);\nexport const actions = {\n toggleCommandBar,\n};\nexport const reducer = handleActions({\n TOGGLE_COMMAND_BAR: (state, action) => {\n var _a, _b, _c;\n return ({\n ...state,\n plugins: {\n ...state.plugins,\n commandBar: {\n open: ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.open) !== undefined ? action.payload.open : !((_c = (_b = state.plugins) === null || _b === void 0 ? void 0 : _b.commandBar) === null || _c === void 0 ? void 0 : _c.open),\n },\n },\n });\n },\n}, {\n plugins: {\n commandBar: {\n open: false,\n },\n },\n});\nexport const selectors = {\n commandBarOpen: (state) => { var _a, _b; return (_b = (_a = state.plugins) === null || _a === void 0 ? void 0 : _a.commandBar) === null || _b === void 0 ? void 0 : _b.open; },\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fullScreenLayer\":\"CommandBarUiPlugin-module__fullScreenLayer___1cUx4\",\"open\":\"CommandBarUiPlugin-module__open___1Bjxj\",\"commandBarToolbarComponent\":\"CommandBarUiPlugin-module__commandBarToolbarComponent___1agRY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"results\":\"CommandListing-module__results___ug-oG\",\"noResults\":\"CommandListing-module__noResults___2zw8Z\",\"disabled\":\"CommandListing-module__disabled___3IBJW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commandListItem\":\"CommandListItem-module__commandListItem___PbP5Z\",\"highlighted\":\"CommandListItem-module__highlighted___ww9c6\",\"label\":\"CommandListItem-module__label___3g_nM\"};","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('vendor')().reduxActions;\n","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('vendor')().reactRedux;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commandBarHeader\":\"CommandBarHeader-module__commandBarHeader___2UG9r\",\"backButton\":\"CommandBarHeader-module__backButton___3tZcE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toggleButton\":\"ToggleButton-module__toggleButton___2GvMS\",\"buttonIcon\":\"ToggleButton-module__buttonIcon___3yxlm\"};","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nvar AbstractRegistry_1 = __importDefault(require(\"./AbstractRegistry\"));\nvar positional_array_sorter_1 = __importDefault(require(\"@neos-project/positional-array-sorter\"));\nvar SynchronousRegistry = (function (_super) {\n __extends(SynchronousRegistry, _super);\n function SynchronousRegistry(description) {\n var _this = _super.call(this, description) || this;\n _this._registry = [];\n return _this;\n }\n SynchronousRegistry.prototype.set = function (key, value, position) {\n if (position === void 0) { position = 0; }\n if (typeof key !== 'string') {\n throw new Error('Key must be a string');\n }\n if (typeof position !== 'string' && typeof position !== 'number') {\n throw new Error('Position must be a string or a number');\n }\n var entry = { key: key, value: value };\n if (position) {\n entry.position = position;\n }\n var indexOfItemWithTheSameKey = this._registry.findIndex(function (item) { return item.key === key; });\n if (indexOfItemWithTheSameKey === -1) {\n this._registry.push(entry);\n }\n else {\n this._registry[indexOfItemWithTheSameKey] = entry;\n }\n return value;\n };\n SynchronousRegistry.prototype.get = function (key) {\n if (typeof key !== 'string') {\n console.error('Key must be a string');\n return null;\n }\n var result = this._registry.find(function (item) { return item.key === key; });\n return result ? result.value : null;\n };\n SynchronousRegistry.prototype._getChildrenWrapped = function (searchKey) {\n var unsortedChildren = this._registry.filter(function (item) { return item.key.indexOf(searchKey + '/') === 0; });\n return (0, positional_array_sorter_1[\"default\"])(unsortedChildren);\n };\n SynchronousRegistry.prototype.getChildrenAsObject = function (searchKey) {\n var result = {};\n this._getChildrenWrapped(searchKey).forEach(function (item) {\n result[item.key] = item.value;\n });\n return result;\n };\n SynchronousRegistry.prototype.getChildren = function (searchKey) {\n return this._getChildrenWrapped(searchKey).map(function (item) { return item.value; });\n };\n SynchronousRegistry.prototype.has = function (key) {\n if (typeof key !== 'string') {\n console.error('Key must be a string');\n return false;\n }\n return Boolean(this._registry.find(function (item) { return item.key === key; }));\n };\n SynchronousRegistry.prototype._getAllWrapped = function () {\n return (0, positional_array_sorter_1[\"default\"])(this._registry);\n };\n SynchronousRegistry.prototype.getAllAsObject = function () {\n var result = {};\n this._getAllWrapped().forEach(function (item) {\n result[item.key] = item.value;\n });\n return result;\n };\n SynchronousRegistry.prototype.getAllAsList = function () {\n return this._getAllWrapped().map(function (item) { return Object.assign({ id: item.key }, item.value); });\n };\n return SynchronousRegistry;\n}(AbstractRegistry_1[\"default\"]));\nexports[\"default\"] = SynchronousRegistry;\n//# sourceMappingURL=SynchronousRegistry.js.map","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('NeosProjectPackages')().NeosUiDecorators;\n","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('NeosProjectPackages')().ReactUiComponents;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconWrap\":\"Icon-module__iconWrap___1tIr6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"searchBox\":\"SearchBox-module__searchBox___3J8zU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commandResultsView\":\"CommandResultsView-module__commandResultsView___2_3i-\"};","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nexport default readFromConsumerApi('NeosProjectPackages')().NeosUiBackendConnectorDefault;\n\nconst {fetchWithErrorHandling} = readFromConsumerApi('NeosProjectPackages')().NeosUiBackendConnector;\nexport {fetchWithErrorHandling};\n","require('./manifest');\n","import manifest, { SynchronousRegistry } from '@neos-project/neos-ui-extensibility';\nimport { selectors } from '@neos-project/neos-ui-redux-store';\n\nimport { reducer, actions } from './actions';\nimport CommandBarUiPlugin from './CommandBarUiPlugin';\n\nmanifest('Shel.Neos.CommandBar:CommandBar', {}, (globalRegistry, { store, frontendConfiguration }) => {\n const { enabled } = frontendConfiguration['Shel.Neos.CommandBar:CommandBar'];\n\n if (!enabled) {\n return;\n }\n\n // Create our new registry for 3rd party command bar plugins\n globalRegistry.set(\n 'Shel.Neos.CommandBar',\n new SynchronousRegistry(`\n # Shel.Neos.CommandBar 3rd party commands\n `)\n );\n\n // Register test plugin command\n globalRegistry.get('Shel.Neos.CommandBar').set('plugins/test', () => {\n return {\n extensibilityTest: {\n name: 'Extensibility test',\n icon: 'vial',\n description: 'Command registered via command bar extensibility',\n canHandleQueries: true,\n action: async (query) => {\n const state = store.getState();\n const documentNode = selectors.CR.Nodes.documentNodeSelector(state);\n window.alert(`The current document node is ${documentNode.contextPath} and the query is ${query}.`);\n },\n },\n };\n });\n\n // Register commandbar component in the primary toolbar\n globalRegistry.get('containers').set('PrimaryToolbar/Middle/CommandBar', CommandBarUiPlugin);\n\n // Register reducer\n globalRegistry.get('reducers').set('Shel.Neos.CommandBar', { reducer });\n\n // Register hotkeys\n if (frontendConfiguration.hotkeys !== null && frontendConfiguration.hotkeys.length !== 0) {\n const hotkeyRegistry = globalRegistry.get('hotkeys');\n hotkeyRegistry.set('Shel.Neos.CommandBar.toggle.CMD', {\n description: 'Toggle command bar',\n action: actions.toggleCommandBar,\n });\n hotkeyRegistry.set('Shel.Neos.CommandBar.toggle.CTRL', {\n description: 'Toggle command bar',\n action: actions.toggleCommandBar,\n });\n }\n});\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nexports.SynchronousMetaRegistry = exports.SynchronousRegistry = exports.readFromConsumerApi = exports.createConsumerApi = void 0;\nvar createConsumerApi_1 = __importDefault(require(\"./createConsumerApi\"));\nexports.createConsumerApi = createConsumerApi_1[\"default\"];\nvar readFromConsumerApi_1 = __importDefault(require(\"./readFromConsumerApi\"));\nexports.readFromConsumerApi = readFromConsumerApi_1[\"default\"];\nvar index_1 = require(\"./registry/index\");\nexports.SynchronousRegistry = index_1.SynchronousRegistry;\nexports.SynchronousMetaRegistry = index_1.SynchronousMetaRegistry;\nexports[\"default\"] = (0, readFromConsumerApi_1[\"default\"])('manifest');\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nvar manifest_1 = __importDefault(require(\"./manifest\"));\nvar createReadOnlyValue = function (value) { return ({\n value: value,\n writable: false,\n enumerable: false,\n configurable: true\n}); };\nfunction createConsumerApi(manifests, exposureMap) {\n var api = {};\n Object.keys(exposureMap).forEach(function (key) {\n Object.defineProperty(api, key, createReadOnlyValue(exposureMap[key]));\n });\n Object.defineProperty(api, '@manifest', createReadOnlyValue((0, manifest_1[\"default\"])(manifests)));\n Object.defineProperty(window, '@Neos:HostPluginAPI', createReadOnlyValue(api));\n}\nexports[\"default\"] = createConsumerApi;\n//# sourceMappingURL=createConsumerApi.js.map","\"use strict\";\nexports.__esModule = true;\nexports[\"default\"] = (function (manifests) {\n return function (identifier, options, bootstrap) {\n var _a;\n manifests.push((_a = {},\n _a[identifier] = {\n options: options,\n bootstrap: bootstrap\n },\n _a));\n };\n});\n//# sourceMappingURL=manifest.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nexports.SynchronousMetaRegistry = exports.SynchronousRegistry = void 0;\nvar SynchronousRegistry_1 = __importDefault(require(\"./SynchronousRegistry\"));\nexports.SynchronousRegistry = SynchronousRegistry_1[\"default\"];\nvar SynchronousMetaRegistry_1 = __importDefault(require(\"./SynchronousMetaRegistry\"));\nexports.SynchronousMetaRegistry = SynchronousMetaRegistry_1[\"default\"];\n//# sourceMappingURL=index.js.map","\"use strict\";\nexports.__esModule = true;\nvar AbstractRegistry = (function () {\n function AbstractRegistry(description) {\n this.SERIAL_VERSION_UID = 'd8a5aa78-978e-11e6-ae22-56b6b6499611';\n this.description = description;\n }\n return AbstractRegistry;\n}());\nexports[\"default\"] = AbstractRegistry;\n//# sourceMappingURL=AbstractRegistry.js.map","\"use strict\";\nexports.__esModule = true;\nvar tslib_1 = require(\"tslib\");\nvar positionalArraySorter = function (subject, position, idKey) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g;\n if (position === void 0) { position = 'position'; }\n if (idKey === void 0) { idKey = 'key'; }\n var positionAccessor = typeof position === 'string' ? function (value) { return value[position]; } : position;\n var indexMapping = {};\n var middleKeys = {};\n var startKeys = {};\n var endKeys = {};\n var beforeKeys = {};\n var afterKeys = {};\n subject.forEach(function (item, index) {\n var key = item[idKey] ? item[idKey] : String(index);\n indexMapping[key] = index;\n var positionValue = positionAccessor(item);\n var position = String(positionValue ? positionValue : index);\n var invalid = false;\n if (position.startsWith('start')) {\n var weightMatch = position.match(/start\\s+(\\d+)/);\n var weight = weightMatch && weightMatch[1] ? Number(weightMatch[1]) : 0;\n if (!startKeys[weight]) {\n startKeys[weight] = [];\n }\n startKeys[weight].push(key);\n }\n else if (position.startsWith('end')) {\n var weightMatch = position.match(/end\\s+(\\d+)/);\n var weight = weightMatch && weightMatch[1] ? Number(weightMatch[1]) : 0;\n if (!endKeys[weight]) {\n endKeys[weight] = [];\n }\n endKeys[weight].push(key);\n }\n else if (position.startsWith('before')) {\n var match = position.match(/before\\s+(\\S+)(\\s+(\\d+))?/);\n if (!match) {\n invalid = true;\n }\n else {\n var reference = match[1];\n var weight = match[3] ? Number(match[3]) : 0;\n if (!beforeKeys[reference]) {\n beforeKeys[reference] = {};\n }\n if (!beforeKeys[reference][weight]) {\n beforeKeys[reference][weight] = [];\n }\n beforeKeys[reference][weight].push(key);\n }\n }\n else if (position.startsWith('after')) {\n var match = position.match(/after\\s+(\\S+)(\\s+(\\d+))?/);\n if (!match) {\n invalid = true;\n }\n else {\n var reference = match[1];\n var weight = match[3] ? Number(match[3]) : 0;\n if (!afterKeys[reference]) {\n afterKeys[reference] = {};\n }\n if (!afterKeys[reference][weight]) {\n afterKeys[reference][weight] = [];\n }\n afterKeys[reference][weight].push(key);\n }\n }\n else {\n invalid = true;\n }\n if (invalid) {\n var numberPosition = parseFloat(position);\n if (isNaN(numberPosition) || !isFinite(numberPosition)) {\n numberPosition = index;\n }\n if (!middleKeys[numberPosition]) {\n middleKeys[numberPosition] = [];\n }\n middleKeys[numberPosition].push(key);\n }\n });\n var resultStart = [];\n var resultMiddle = [];\n var resultEnd = [];\n var processedKeys = [];\n var sortedWeights = function (dict, asc) {\n var weights = Object.keys(dict).map(function (x) { return Number(x); }).sort(function (a, b) { return a - b; });\n return asc ? weights : weights.reverse();\n };\n var addToResults = function (keys, result) {\n keys.forEach(function (key) {\n var e_8, _a, e_9, _b;\n if (processedKeys.indexOf(key) >= 0) {\n return;\n }\n processedKeys.push(key);\n if (beforeKeys[key]) {\n var beforeWeights = sortedWeights(beforeKeys[key], true);\n try {\n for (var beforeWeights_1 = tslib_1.__values(beforeWeights), beforeWeights_1_1 = beforeWeights_1.next(); !beforeWeights_1_1.done; beforeWeights_1_1 = beforeWeights_1.next()) {\n var i = beforeWeights_1_1.value;\n addToResults(beforeKeys[key][i], result);\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (beforeWeights_1_1 && !beforeWeights_1_1.done && (_a = beforeWeights_1[\"return\"])) _a.call(beforeWeights_1);\n }\n finally { if (e_8) throw e_8.error; }\n }\n }\n result.push(key);\n if (afterKeys[key]) {\n var afterWeights = sortedWeights(afterKeys[key], false);\n try {\n for (var afterWeights_1 = tslib_1.__values(afterWeights), afterWeights_1_1 = afterWeights_1.next(); !afterWeights_1_1.done; afterWeights_1_1 = afterWeights_1.next()) {\n var i = afterWeights_1_1.value;\n addToResults(afterKeys[key][i], result);\n }\n }\n catch (e_9_1) { e_9 = { error: e_9_1 }; }\n finally {\n try {\n if (afterWeights_1_1 && !afterWeights_1_1.done && (_b = afterWeights_1[\"return\"])) _b.call(afterWeights_1);\n }\n finally { if (e_9) throw e_9.error; }\n }\n }\n });\n };\n try {\n for (var _h = tslib_1.__values(sortedWeights(startKeys, false)), _j = _h.next(); !_j.done; _j = _h.next()) {\n var i = _j.value;\n addToResults(startKeys[i], resultStart);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_j && !_j.done && (_a = _h[\"return\"])) _a.call(_h);\n }\n finally { if (e_1) throw e_1.error; }\n }\n try {\n for (var _k = tslib_1.__values(sortedWeights(middleKeys, true)), _l = _k.next(); !_l.done; _l = _k.next()) {\n var i = _l.value;\n addToResults(middleKeys[i], resultMiddle);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_l && !_l.done && (_b = _k[\"return\"])) _b.call(_k);\n }\n finally { if (e_2) throw e_2.error; }\n }\n try {\n for (var _m = tslib_1.__values(sortedWeights(endKeys, true)), _o = _m.next(); !_o.done; _o = _m.next()) {\n var i = _o.value;\n addToResults(endKeys[i], resultEnd);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_o && !_o.done && (_c = _m[\"return\"])) _c.call(_m);\n }\n finally { if (e_3) throw e_3.error; }\n }\n try {\n for (var _p = tslib_1.__values(Object.keys(beforeKeys)), _q = _p.next(); !_q.done; _q = _p.next()) {\n var key = _q.value;\n if (processedKeys.indexOf(key) >= 0) {\n continue;\n }\n try {\n for (var _r = (e_5 = void 0, tslib_1.__values(sortedWeights(beforeKeys[key], false))), _s = _r.next(); !_s.done; _s = _r.next()) {\n var i = _s.value;\n addToResults(beforeKeys[key][i], resultStart);\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (_s && !_s.done && (_e = _r[\"return\"])) _e.call(_r);\n }\n finally { if (e_5) throw e_5.error; }\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_q && !_q.done && (_d = _p[\"return\"])) _d.call(_p);\n }\n finally { if (e_4) throw e_4.error; }\n }\n try {\n for (var _t = tslib_1.__values(Object.keys(afterKeys)), _u = _t.next(); !_u.done; _u = _t.next()) {\n var key = _u.value;\n if (processedKeys.indexOf(key) >= 0) {\n continue;\n }\n try {\n for (var _v = (e_7 = void 0, tslib_1.__values(sortedWeights(afterKeys[key], false))), _w = _v.next(); !_w.done; _w = _v.next()) {\n var i = _w.value;\n addToResults(afterKeys[key][i], resultMiddle);\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (_w && !_w.done && (_g = _v[\"return\"])) _g.call(_v);\n }\n finally { if (e_7) throw e_7.error; }\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (_u && !_u.done && (_f = _t[\"return\"])) _f.call(_t);\n }\n finally { if (e_6) throw e_6.error; }\n }\n var sortedKeys = tslib_1.__spread(resultStart, resultMiddle, resultEnd);\n return sortedKeys.map(function (key) { return indexMapping[key]; }).map(function (i) { return subject[i]; });\n};\nexports[\"default\"] = positionalArraySorter;\n//# sourceMappingURL=positionalArraySorter.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nvar SynchronousRegistry_1 = __importDefault(require(\"./SynchronousRegistry\"));\nvar SynchronousMetaRegistry = (function (_super) {\n __extends(SynchronousMetaRegistry, _super);\n function SynchronousMetaRegistry() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SynchronousMetaRegistry.prototype.set = function (key, value) {\n if (value.SERIAL_VERSION_UID !== 'd8a5aa78-978e-11e6-ae22-56b6b6499611') {\n throw new Error('You can only add registries to a meta registry');\n }\n return _super.prototype.set.call(this, key, value);\n };\n return SynchronousMetaRegistry;\n}(SynchronousRegistry_1[\"default\"]));\nexports[\"default\"] = SynchronousMetaRegistry;\n//# sourceMappingURL=SynchronousMetaRegistry.js.map","import FuzzySearch from 'fuzzy-search';\nvar ACTIONS;\n(function (ACTIONS) {\n ACTIONS[ACTIONS[\"RESET_SEARCH\"] = 0] = \"RESET_SEARCH\";\n ACTIONS[ACTIONS[\"HIGHLIGHT_NEXT_ITEM\"] = 1] = \"HIGHLIGHT_NEXT_ITEM\";\n ACTIONS[ACTIONS[\"HIGHLIGHT_PREVIOUS_ITEM\"] = 2] = \"HIGHLIGHT_PREVIOUS_ITEM\";\n ACTIONS[ACTIONS[\"CANCEL\"] = 3] = \"CANCEL\";\n ACTIONS[ACTIONS[\"SELECT_GROUP\"] = 4] = \"SELECT_GROUP\";\n ACTIONS[ACTIONS[\"GO_TO_PARENT_GROUP\"] = 5] = \"GO_TO_PARENT_GROUP\";\n ACTIONS[ACTIONS[\"UPDATE_SEARCH\"] = 6] = \"UPDATE_SEARCH\";\n ACTIONS[ACTIONS[\"RUNNING_COMMAND\"] = 7] = \"RUNNING_COMMAND\";\n ACTIONS[ACTIONS[\"FINISHED_COMMAND\"] = 8] = \"FINISHED_COMMAND\";\n ACTIONS[ACTIONS[\"SET_RESULT\"] = 9] = \"SET_RESULT\";\n})(ACTIONS || (ACTIONS = {}));\nfunction clamp(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction filterAvailableCommands(selectedCommandGroup, searchWord, commands) {\n // Filter available commands for the current context\n let availableCommands = Object.values(commands);\n availableCommands = searchWord\n ? availableCommands\n : availableCommands.filter((command) => command.parentId === selectedCommandGroup);\n if (!searchWord) {\n return availableCommands.map((command) => command.id);\n }\n const searcher = new FuzzySearch(availableCommands, ['name'], {\n sort: true,\n });\n const matchingCommands = searcher.search(searchWord);\n // Add all commands that can handle queries to the result\n return [\n ...new Set([\n ...matchingCommands.map((command) => command.id),\n ...availableCommands.filter((command) => command.canHandleQueries).map((command) => command.id),\n ]),\n ];\n}\nconst commandBarReducer = (state, action) => {\n // The parent command group of the currently selected command group which is used in several actions\n const parentCommandGroup = state.selectedCommandGroup ? state.commands[state.selectedCommandGroup].parentId : null;\n switch (action.type) {\n case ACTIONS.RESET_SEARCH:\n return {\n ...state,\n searchWord: '',\n highlightedItem: 0,\n availableCommandIds: filterAvailableCommands(state.selectedCommandGroup, '', state.commands),\n result: null,\n };\n case ACTIONS.HIGHLIGHT_NEXT_ITEM:\n if (state.result) {\n return {\n ...state,\n highlightedResultItem: clamp(state.highlightedResultItem + 1, 0, Object.keys(state.result.options).length - 1),\n };\n }\n return {\n ...state,\n expanded: true,\n highlightedItem: state.expanded\n ? clamp(state.highlightedItem + 1, 0, state.availableCommandIds.length - 1)\n : 0,\n };\n case ACTIONS.HIGHLIGHT_PREVIOUS_ITEM:\n if (state.result) {\n return {\n ...state,\n highlightedResultItem: clamp(state.highlightedResultItem - 1, 0, Object.keys(state.result.options).length - 1),\n };\n }\n return {\n ...state,\n highlightedItem: clamp(state.highlightedItem - 1, 0, state.availableCommandIds.length - 1),\n };\n case ACTIONS.CANCEL:\n // Either leave the result view, cancel current search, or traverse to parent group\n return state.result\n ? {\n ...state,\n result: null,\n highlightedResultItem: 0,\n }\n : state.searchWord\n ? {\n ...state,\n searchWord: '',\n highlightedItem: 0,\n availableCommandIds: filterAvailableCommands(state.selectedCommandGroup, '', state.commands),\n }\n : {\n ...state,\n selectedCommandGroup: parentCommandGroup,\n availableCommandIds: filterAvailableCommands(parentCommandGroup, '', state.commands),\n };\n case ACTIONS.GO_TO_PARENT_GROUP:\n return {\n ...state,\n highlightedItem: 0,\n selectedCommandGroup: null,\n availableCommandIds: filterAvailableCommands(parentCommandGroup, '', state.commands),\n result: null,\n };\n case ACTIONS.SELECT_GROUP:\n return {\n ...state,\n searchWord: '',\n highlightedItem: 0,\n selectedCommandGroup: action.commandId,\n availableCommandIds: filterAvailableCommands(action.commandId, '', state.commands),\n result: null,\n };\n case ACTIONS.UPDATE_SEARCH: {\n return {\n ...state,\n expanded: true,\n searchWord: action.argument,\n highlightedItem: 0,\n availableCommandIds: filterAvailableCommands(state.selectedCommandGroup, action.argument, state.commands),\n };\n }\n case ACTIONS.RUNNING_COMMAND: {\n return {\n ...state,\n runningCommandId: action.commandId,\n runningCommandMessage: action.argument,\n };\n }\n case ACTIONS.FINISHED_COMMAND: {\n return {\n ...state,\n runningCommandId: null,\n runningCommandMessage: null,\n };\n }\n case ACTIONS.SET_RESULT: {\n return {\n ...state,\n result: {\n ...action.result,\n },\n highlightedResultItem: 0,\n };\n }\n default:\n throw new Error(`Invalid action ${action.type}`);\n }\n};\nexport { commandBarReducer, ACTIONS };\n","export default class Helper {\n static getDescendantProperty(object, path, list = []) {\n let firstSegment;\n let remaining;\n let dotIndex;\n let value;\n let index;\n let length;\n\n if (path) {\n dotIndex = path.indexOf('.');\n\n if (dotIndex === -1) {\n firstSegment = path;\n } else {\n firstSegment = path.slice(0, dotIndex);\n remaining = path.slice(dotIndex + 1);\n }\n\n value = object[firstSegment];\n if (value !== null && typeof value !== 'undefined') {\n if (! remaining && (typeof value === 'string' || typeof value === 'number')) {\n list.push(value);\n } else if (Object.prototype.toString.call(value) === '[object Array]') {\n for (index = 0, length = value.length; index < length; index++) {\n Helper.getDescendantProperty(value[index], remaining, list);\n }\n } else if (remaining) {\n Helper.getDescendantProperty(value, remaining, list);\n }\n }\n } else {\n list.push(object);\n }\n\n return list;\n }\n}\n","import Helper from './Helper';\n\nexport default class FuzzySearch {\n constructor(haystack = [], keys = [], options = {}) {\n if (! Array.isArray(keys)) {\n options = keys;\n keys = [];\n }\n\n this.haystack = haystack;\n this.keys = keys;\n this.options = Object.assign({\n caseSensitive: false,\n sort: false,\n }, options);\n }\n\n search(query = '') {\n if (query === '') {\n return this.haystack;\n }\n\n const results = [];\n\n for (let i = 0; i < this.haystack.length; i++) {\n const item = this.haystack[i];\n\n if (this.keys.length === 0) {\n const score = FuzzySearch.isMatch(item, query, this.options.caseSensitive);\n\n if (score) {\n results.push({ item, score });\n }\n } else {\n for (let y = 0; y < this.keys.length; y++) {\n const propertyValues = Helper.getDescendantProperty(item, this.keys[y]);\n\n let found = false;\n\n for (let z = 0; z < propertyValues.length; z++) {\n const score = FuzzySearch.isMatch(propertyValues[z], query, this.options.caseSensitive);\n\n if (score) {\n found = true;\n\n results.push({ item, score });\n\n break;\n }\n }\n\n if (found) {\n break;\n }\n }\n }\n }\n\n if (this.options.sort) {\n results.sort((a, b) => a.score - b.score);\n }\n\n return results.map(result => result.item);\n }\n\n static isMatch(item, query, caseSensitive) {\n item = String(item);\n query = String(query);\n\n if (! caseSensitive) {\n item = item.toLocaleLowerCase();\n query = query.toLocaleLowerCase();\n }\n\n const indexes = FuzzySearch.nearestIndexesFor(item, query);\n\n if (! indexes) {\n return false;\n }\n\n // Exact matches should be first.\n if (item === query) {\n return 1;\n }\n\n // If we have more than 2 letters, matches close to each other should be first.\n if (indexes.length > 1) {\n return 2 + (indexes[indexes.length - 1] - indexes[0]);\n }\n\n // Matches closest to the start of the string should be first.\n return 2 + indexes[0];\n }\n\n static nearestIndexesFor(item, query) {\n const letters = query.split('');\n let indexes = [];\n\n const indexesOfFirstLetter = FuzzySearch.indexesOfFirstLetter(item, query);\n\n indexesOfFirstLetter.forEach((startingIndex, loopingIndex) => {\n let index = startingIndex + 1;\n\n indexes[loopingIndex] = [startingIndex];\n\n for (let i = 1; i < letters.length; i++) {\n const letter = letters[i];\n\n index = item.indexOf(letter, index);\n\n if (index === -1) {\n indexes[loopingIndex] = false;\n\n break;\n }\n\n indexes[loopingIndex].push(index);\n\n index++;\n }\n });\n\n indexes = indexes.filter(letterIndexes => letterIndexes !== false);\n\n if (! indexes.length) {\n return false;\n }\n\n return indexes.sort((a, b) => {\n if (a.length === 1) {\n return a[0] - b[0];\n }\n\n a = a[a.length - 1] - a[0];\n b = b[b.length - 1] - b[0];\n\n return a - b;\n })[0];\n }\n\n static indexesOfFirstLetter(item, query) {\n const match = query[0];\n\n return item.split('').map((letter, index) => {\n if (letter !== match) {\n return false;\n }\n\n return index;\n }).filter(index => index !== false);\n }\n}\n","import * as React from 'react';\nimport { Icon as NeosIcon } from '@neos-project/react-ui-components';\nimport * as styles from './Icon.module.css';\nconst Icon = ({ icon, spin = false }) => {\n return (React.createElement(\"span\", { className: styles.iconWrap },\n React.createElement(NeosIcon, { icon: icon, spin: spin })));\n};\nexport default React.memo(Icon);\n","import * as React from 'react';\nimport Icon from '../Presentationals/Icon';\nimport * as styles from './CommandBarFooter.module.css';\nconst CommandBarFooter = ({ selectedGroup, runningCommand, runningCommandMessage }) => {\n return (React.createElement(\"footer\", { className: styles.commandBarFooter },\n runningCommand ? (React.createElement(\"span\", { className: styles.activity },\n React.createElement(Icon, { icon: \"circle-notch\", spin: true }),\n React.createElement(\"em\", null,\n runningCommand.name,\n \" \\u2012 \",\n runningCommandMessage))) : selectedGroup ? (React.createElement(\"span\", { className: styles.breadcrumb },\n React.createElement(Icon, { icon: selectedGroup.icon }),\n React.createElement(\"small\", null, selectedGroup.name))) : (React.createElement(Icon, { icon: \"neos\" })),\n React.createElement(\"a\", { href: \"https://helzle.it\", title: \"Made with love by Sebastian Helzle\", target: \"_blank\", rel: \"noreferrer noopener\", className: styles.madeWithLove },\n React.createElement(\"small\", null, \"Made with love by\"),\n React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"18\", height: \"18\", viewBox: \"0 0 180 180\" },\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { id: \"a\", gradientUnits: \"userSpaceOnUse\", x1: \"280.25\", y1: \"377.003\", x2: \"373.261\", y2: \"377.003\" },\n React.createElement(\"stop\", { offset: \"0\", stopColor: \"#297AAC\" }),\n React.createElement(\"stop\", { offset: \"1\", stopColor: \"#53AADA\" }))),\n React.createElement(\"path\", { d: \"M0 180.017h37.287L71.35 52.898H34.061zM48.717 0l-9.083 33.898h36.675L85.392 0z\", fill: \"#B9B7B3\" }),\n React.createElement(\"path\", { d: \"M335.972 313.444H288.25l-8 28.306h47.691l-28.03 98.813h39.287l34.063-127.119z\", fill: \"url(#a)\", transform: \"translate(-195.462 -260.325)\" })))));\n};\nexport default CommandBarFooter;\n","import * as React from 'react';\nimport * as styles from './SearchBox.module.css';\nimport { useCallback, useRef } from 'react';\nconst SearchBox = ({ searchWord, onChange, disabled }) => {\n const inputRef = useRef();\n const handleKeyPress = useCallback((e) => {\n // Prevent escape event from bubbling up if the input is focused and the native reset should be used\n if (e.key === 'Escape') {\n if (inputRef.current.value) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n }, [inputRef.current]);\n return (React.createElement(\"input\", { ref: inputRef, className: styles.searchBox, type: \"search\", placeholder: \"Search for commands\\u2026\", autoFocus: true, onChange: onChange, onKeyUp: handleKeyPress, value: searchWord, disabled: disabled }));\n};\nexport default SearchBox;\n","import React from 'react';\nimport { ACTIONS } from '../state/commandBarReducer';\nimport Icon from '../Presentationals/Icon';\nimport SearchBox from '../SearchBox/SearchBox';\nimport * as styles from './CommandBarHeader.module.css';\nconst CommandBarHeader = ({ selectedCommandGroup, searchWord, dispatch, handleSearch, disabled = false, }) => {\n return (React.createElement(\"header\", { className: styles.commandBarHeader },\n selectedCommandGroup && (React.createElement(\"button\", { type: \"button\", onClick: () => dispatch({ type: ACTIONS.GO_TO_PARENT_GROUP }), className: styles.backButton },\n React.createElement(Icon, { icon: \"arrow-left\" }))),\n React.createElement(SearchBox, { searchWord: searchWord, onChange: handleSearch, disabled: disabled })));\n};\nexport default CommandBarHeader;\n","import React from 'react';\nimport * as styles from './CommandListItem.module.css';\nimport Icon from '../Presentationals/Icon';\nconst CommandListItem = React.forwardRef(({ command, onItemSelect, highlighted, runningCommandId }, ref) => {\n const { id, name, description, icon, subCommandIds, canHandleQueries } = command;\n const commandType = (subCommandIds === null || subCommandIds === void 0 ? void 0 : subCommandIds.length) > 0 ? 'category' : canHandleQueries ? 'query' : 'command';\n return (React.createElement(\"li\", { className: [styles.commandListItem, highlighted && styles.highlighted].join(' '), onClick: () => onItemSelect(id), ref: ref },\n React.createElement(Icon, { icon: icon }),\n React.createElement(\"span\", { className: styles.label },\n React.createElement(\"span\", null, name),\n description && React.createElement(\"small\", null, typeof description == 'string' ? description : description())),\n React.createElement(\"small\", null, commandType)));\n});\nCommandListItem.displayName = 'CommandListItem';\n// Update component when the command, highlight or last executed command changes to allow a refresh of the commands properties\nexport default React.memo(CommandListItem, (prev, next) => {\n return (prev.command.id === next.command.id && prev.ref === next.ref && prev.runningCommandId === next.runningCommandId);\n});\n","import React, { useEffect } from 'react';\nimport * as styles from './CommandListing.module.css';\nimport CommandListItem from './CommandListItem';\nconst CommandListing = ({ commands, availableCommandIds, highlightedItem, handleSelectItem, heading = 'Commands', runningCommandId = '', noCommandsMessage = 'No matching commands found', disabled = false, }) => {\n const selectedElementRef = React.useRef(null);\n useEffect(() => {\n var _a;\n (_a = selectedElementRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }, [selectedElementRef.current]);\n return (React.createElement(\"nav\", { className: [styles.results, disabled && styles.disabled].join(' ') },\n heading && React.createElement(\"h6\", null, heading),\n availableCommandIds.length > 0 ? (React.createElement(\"ul\", null, availableCommandIds.map((commandId, index) => (React.createElement(CommandListItem, { key: commandId, ref: highlightedItem === index ? selectedElementRef : null, command: commands[commandId], onItemSelect: handleSelectItem, highlighted: highlightedItem === index, runningCommandId: runningCommandId }))))) : (React.createElement(\"small\", { className: styles.noResults }, noCommandsMessage))));\n};\nexport default React.memo(CommandListing);\n","/**\n * This method converts the hierarchical command list into a flat list of commands which is more convenient\n * for internal processing, whereas the hierarchical command list is more convenient for the user.\n */\nexport function flattenCommands(commands, parentId = null) {\n return Object.keys(commands).reduce((commandList, commandId) => {\n const { icon, description, name, subCommands, action, canHandleQueries } = commands[commandId];\n // Create an uniquely identifiable command id for the flat command list\n const absoluteCommandId = parentId ? `${parentId}.${commandId}` : commandId;\n // Create list of available subcommand names\n const subCommandIds = subCommands\n ? Object.keys(subCommands).map((subCommandId) => `${absoluteCommandId}.${subCommandId}`)\n : [];\n // Insert the processed command into the flat command list\n commandList[absoluteCommandId] = {\n id: absoluteCommandId,\n name,\n icon,\n description,\n action,\n canHandleQueries,\n subCommandIds,\n parentId,\n };\n // Insert subcommands into the list\n if (subCommandIds.length > 0) {\n return {\n ...commandList,\n ...flattenCommands(subCommands, absoluteCommandId),\n };\n }\n return commandList;\n }, {});\n}\n","import React, { useCallback } from 'react';\nimport * as styles from './CommandResultsView.module.css';\nimport CommandListing from '../CommandList/CommandListing';\nconst CommandResultsView = ({ result, highlightedItem }) => {\n const { options, view, message } = result;\n const handleSelectItem = useCallback((commandId) => {\n const { action } = options[commandId];\n if (!action)\n return;\n if (typeof action == 'string') {\n window.location.href = action;\n return;\n }\n console.debug('Running action result command', commandId);\n action();\n }, [options]);\n return (React.createElement(\"div\", { className: styles.commandResultsView },\n view ? React.createElement(\"div\", null, view) : '',\n options && (React.createElement(CommandListing, { heading: message, commands: options, availableCommandIds: Object.keys(options), highlightedItem: highlightedItem, handleSelectItem: handleSelectItem, noCommandsMessage: \"Try a different query to find more results\" }))));\n};\nexport default React.memo(CommandResultsView);\n","import React, { useCallback, useEffect, useReducer, useRef } from 'react';\nimport * as styles from './CommandBar.module.css';\nimport { ACTIONS, commandBarReducer } from './state/commandBarReducer';\nimport CommandBarFooter from './CommandBarFooter/CommandBarFooter';\nimport CommandBarHeader from './CommandBarHeader/CommandBarHeader';\nimport CommandListing from './CommandList/CommandListing';\nimport { flattenCommands } from './helpers/flattenCommands';\nimport CommandResultsView from './CommandResultsView/CommandResultsView';\nconst initialState = {\n expanded: false,\n selectedCommandGroup: null,\n availableCommandIds: [],\n searchWord: '',\n highlightedItem: 0,\n commands: {},\n runningCommandId: null,\n runningCommandMessage: null,\n result: null,\n highlightedResultItem: 0,\n};\n/**\n * A custom hook that creates a ref for a function, and updates it on every render.\n * The new value is always the same function, but the function's context changes on every render.\n * TODO: Move to own file\n */\nfunction useRefEventListener(fn) {\n const fnRef = useRef(fn);\n fnRef.current = fn;\n return fnRef;\n}\nconst CommandBar = ({ commands, open, toggleOpen }) => {\n const [state, dispatch] = useReducer(commandBarReducer, {\n ...initialState,\n commands: flattenCommands(commands),\n availableCommandIds: Object.keys(commands),\n });\n const dialogRef = useRef(null);\n const handleKeyEnteredRef = useRefEventListener((e) => {\n if (!open || e.defaultPrevented) {\n return;\n }\n if (e.key === 'k' && e.metaKey && (dialogRef === null || dialogRef === void 0 ? void 0 : dialogRef.current.contains(e.target))) {\n // Close command bar\n toggleOpen();\n }\n else if (e.key === 'Escape') {\n // Cancel search, or selection, or close command bar\n e.stopPropagation();\n e.preventDefault();\n if (state.selectedCommandGroup || state.searchWord) {\n dispatch({ type: ACTIONS.CANCEL });\n }\n else {\n // Close command bar if cancel is noop\n toggleOpen();\n }\n }\n else if (e.key === 'ArrowDown') {\n // Navigate to next command\n e.stopPropagation();\n e.preventDefault();\n dispatch({ type: ACTIONS.HIGHLIGHT_NEXT_ITEM });\n }\n else if (e.key === 'ArrowUp') {\n // Navigate to previous command\n e.stopPropagation();\n e.preventDefault();\n dispatch({ type: ACTIONS.HIGHLIGHT_PREVIOUS_ITEM });\n }\n else if (e.key === 'Enter' && state.availableCommandIds.length > state.highlightedItem) {\n // Execute highlighted command\n e.stopPropagation();\n e.preventDefault();\n if (state.result) {\n const command = Object.values(state.result.options)[state.highlightedResultItem];\n handleSelectItem(command);\n }\n else {\n const commandId = state.availableCommandIds[state.highlightedItem];\n handleSelectItem(commandId);\n }\n }\n });\n const handleSearch = useCallback((e) => {\n dispatch({ type: ACTIONS.UPDATE_SEARCH, argument: e.target.value.toLowerCase() });\n }, []);\n const handleSelectItem = useCallback(async (command) => {\n const { action, canHandleQueries, id: commandId, } = typeof command === 'string' ? state.commands[command] : command;\n if (!action) {\n return dispatch({ type: ACTIONS.SELECT_GROUP, commandId });\n }\n // FIXME: Show loading indicator and block further actions while command is running or url is opened\n if (typeof action == 'string') {\n dispatch({ type: ACTIONS.RUNNING_COMMAND, commandId, argument: 'Loading url' });\n window.location.href = action;\n return;\n }\n dispatch({ type: ACTIONS.RUNNING_COMMAND, commandId, argument: 'Running command' });\n const actionResult = action(canHandleQueries ? state.searchWord : undefined);\n if (actionResult.then) {\n // Handle Promises\n actionResult\n .then((result) => {\n // TODO: Handle success === false\n console.debug('Command result', result);\n })\n .catch((error) => {\n // TODO: Show error message\n console.error('Command error', error);\n })\n .finally(() => {\n dispatch({ type: ACTIONS.FINISHED_COMMAND });\n });\n }\n else if (actionResult.next) {\n // Handle generators\n const generator = actionResult;\n // TODO: Handle errors / success === false\n for await (const result of generator) {\n dispatch({ type: ACTIONS.RUNNING_COMMAND, commandId, argument: result.message });\n if (result.options) {\n dispatch({ type: ACTIONS.SET_RESULT, result });\n }\n }\n dispatch({ type: ACTIONS.FINISHED_COMMAND });\n }\n else {\n console.warn('Command result is not a promise or generator', actionResult);\n }\n }, [state.searchWord, state.commands]);\n const handleSelectItemRef = useRefEventListener((commandId) => {\n handleSelectItem(commandId);\n });\n /**\n * Add key event handler, needs to be updated when any parameter for the key event handler changes\n */\n useEffect(() => {\n if (!open)\n return;\n // const guestFrame = document.getElementsByName('neos-content-main')[0] as HTMLIFrameElement;\n // guestFrame.contentWindow?.addEventListener('keyup', (e) => {\n // console.debug('keypress in guestframe', e);\n // });\n // console.debug('guestFrame', guestFrame.contentWindow);\n const windowKeyEventHandler = (e) => handleKeyEnteredRef.current(e);\n window.addEventListener('keydown', windowKeyEventHandler);\n return () => window.removeEventListener('keydown', windowKeyEventHandler);\n }, [open]);\n if (!open) {\n return null;\n }\n return (React.createElement(\"dialog\", { ref: dialogRef, className: [styles.commandBar, state.result && styles.hasResults].join(' '), open: open },\n React.createElement(CommandBarHeader, { selectedCommandGroup: state.selectedCommandGroup, searchWord: state.searchWord, dispatch: dispatch, handleSearch: handleSearch, disabled: !!state.result }),\n React.createElement(\"div\", { className: [styles.resultsWrap, state.expanded && styles.expanded, state.result && styles.split].join(' ') },\n React.createElement(CommandListing, { commands: state.commands, availableCommandIds: state.availableCommandIds, highlightedItem: state.highlightedItem, handleSelectItem: (commandId) => handleSelectItemRef.current(commandId), runningCommandId: state.runningCommandId, disabled: !!state.result }),\n state.result && (React.createElement(CommandResultsView, { result: state.result, highlightedItem: state.highlightedResultItem }))),\n state.expanded && (React.createElement(CommandBarFooter, { selectedGroup: state.selectedCommandGroup ? state.commands[state.selectedCommandGroup] : null, runningCommand: state.runningCommandId ? state.commands[state.runningCommandId] : null, runningCommandMessage: state.runningCommandMessage }))));\n};\nexport default CommandBar;\n","import React from 'react';\nimport * as styles from './ToggleButton.module.css';\nconst ToggleButton = ({ handleToggle, disabled = false }) => {\n return (React.createElement(\"button\", { className: styles.toggleButton, onClick: handleToggle, disabled: disabled, title: \"Toggle command bar\" },\n React.createElement(\"span\", null, \"Search\\u2026\"),\n React.createElement(\"span\", { className: styles.buttonIcon }, \"\\u2318K\")));\n};\nexport default React.memo(ToggleButton);\n","// @ts-ignore\nimport { fetchWithErrorHandling } from '@neos-project/neos-ui-backend-connector';\nconst fetchData = async (endpoint, params) => {\n if (params) {\n endpoint = Object.keys(params).reduce((url, key) => {\n return url + '&' + key + '=' + encodeURIComponent(params[key]);\n }, endpoint + '?');\n }\n return fetchWithErrorHandling\n .withCsrfToken((csrfToken) => ({\n url: endpoint,\n method: 'GET',\n credentials: 'include',\n headers: {\n 'X-Flow-Csrftoken': csrfToken,\n },\n }))\n .then((response) => response && response.json());\n};\nexport default fetchData;\n","import * as React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n// Neos dependencies are provided by the UI\n// @ts-ignore\nimport { neos } from '@neos-project/neos-ui-decorators';\n// @ts-ignore\nimport { selectors, actions } from '@neos-project/neos-ui-redux-store';\nimport * as styles from './CommandBarUiPlugin.module.css';\nimport CommandBar from '@neos-commandbar/commandbar';\nimport ToggleButton from '@neos-commandbar/commandbar/src/ToggleButton/ToggleButton';\nimport { actions as commandBarActions, selectors as commandBarSelectors } from './actions';\nimport fetchData from './helpers/fetchData';\nconst ENDPOINT_COMMANDS = 'service/data-source/shel-neos-commandbar-commands';\nconst ENDPOINT_SEARCH_NODES = 'service/data-source/shel-neos-commandbar-search-nodes';\nclass CommandBarUiPlugin extends React.PureComponent {\n constructor(props) {\n super(props);\n this.buildCommandsFromHotkeys = () => {\n const { hotkeyRegistry, handleHotkeyAction, config } = this.props;\n const hotkeys = hotkeyRegistry.getAllAsList();\n return hotkeys.reduce((carry, { id, description, action }) => {\n if (!config.hotkeys.filter.includes(id)) {\n carry[id] = {\n name: description,\n description: id,\n icon: this.mapHotkeyIdToIcon(id),\n action: async () => handleHotkeyAction(action()),\n };\n }\n return carry;\n }, {});\n };\n this.buildCommandsFromEditPreviewModes = () => {\n const { setEditPreviewMode, editPreviewModes, i18nRegistry } = this.props;\n return Object.keys(editPreviewModes).reduce((carry, mode) => {\n const { title, isEditingMode } = editPreviewModes[mode];\n carry[mode] = {\n name: i18nRegistry.translate(title),\n description: () => (this.props.editPreviewMode === mode ? 'Currently active' : ''),\n icon: isEditingMode ? 'pencil' : 'eye',\n action: async () => setEditPreviewMode(mode),\n };\n return carry;\n }, {});\n };\n this.handleAddNode = async () => {\n const { addNode, documentNode, focusedNodeContextPath, toggleCommandBar } = this.props;\n toggleCommandBar();\n addNode(focusedNodeContextPath || documentNode.contextPath, undefined, 'after');\n };\n this.handleSearchNode = async function* (query) {\n const { siteNode, setActiveContentCanvasContextPath, setActiveContentCanvasSrc } = this\n .props;\n yield {\n success: true,\n message: `Searching for \"${query}\"`,\n };\n const results = (await fetchData(ENDPOINT_SEARCH_NODES, { query, node: siteNode.contextPath }).then((results) => {\n // TODO: Check results\n return results;\n }));\n yield {\n success: true,\n message: `${results.length} options match your query`,\n options: results.reduce((carry, { name, nodetype, icon, contextPath, uri }) => {\n if (!uri) {\n // TODO: Show hint that document cannot be opened?\n return carry;\n }\n carry[contextPath] = {\n id: contextPath,\n name,\n description: nodetype,\n action: async () => {\n setActiveContentCanvasSrc(uri);\n setActiveContentCanvasContextPath(contextPath);\n },\n icon,\n };\n return carry;\n }, {}),\n };\n // TODO: Show selectable results\n return {\n success: true,\n message: 'Finished searching',\n };\n };\n this.handlePublish = async () => {\n const { publishableNodesInDocument, publishAction, baseWorkspace } = this.props;\n publishAction(publishableNodesInDocument.map((node) => node.contextPath), baseWorkspace);\n return {\n success: true,\n message: `Published ${publishableNodesInDocument.length} changes`,\n };\n };\n this.handlePublishAll = async () => {\n const { publishableNodes, publishAction, baseWorkspace } = this.props;\n publishAction(publishableNodes.map((node) => node.contextPath), baseWorkspace);\n return {\n success: true,\n message: `Published ${publishableNodes.length} changes`,\n };\n };\n this.handleDiscard = async () => {\n const { publishableNodesInDocument, discardAction } = this.props;\n discardAction(publishableNodesInDocument.map((node) => node.contextPath));\n return {\n success: true,\n message: `Discarded ${publishableNodesInDocument.length} changes`,\n };\n };\n this.handleDiscardAll = async () => {\n const { publishableNodes, discardAction } = this.props;\n discardAction(publishableNodes.map((node) => node.contextPath));\n return {\n success: true,\n message: `Discarded ${publishableNodes.length} changes`,\n };\n };\n this.state = {\n loaded: false,\n commands: {\n // testGenerator: {\n // name: 'Test generator',\n // icon: 'vial',\n // description: 'Wait and return iterate on command results',\n // action: async function* () {\n // yield {\n // success: true,\n // message: 'Doing some testing step 1',\n // };\n // await new Promise((resolve) => setTimeout(resolve, 2000));\n // yield {\n // success: true,\n // message: 'Doing some more testing step 2',\n // };\n // await new Promise((resolve) => setTimeout(resolve, 2000));\n // return {\n // success: true,\n // message: 'Finished testing',\n // };\n // },\n // },\n addNode: {\n name: 'Add node',\n icon: 'plus',\n description: 'Add a new node',\n action: this.handleAddNode,\n },\n searchDocuments: {\n name: 'Search documents',\n icon: 'search',\n description: 'Search and navigate to documents',\n action: this.handleSearchNode.bind(this),\n canHandleQueries: true,\n },\n publishDiscard: {\n name: 'Publish or discard changes',\n description: 'Publish or discard changes',\n icon: 'check',\n subCommands: {\n publish: {\n name: 'Publish',\n description: 'Publish changes on this document',\n icon: 'check',\n action: this.handlePublish,\n },\n publishAll: {\n name: 'Publish all',\n description: 'Publish all changes',\n icon: 'check-double',\n action: this.handlePublishAll,\n },\n discard: {\n name: 'Discard',\n description: 'Discard changes on this document',\n icon: 'ban',\n action: this.handleDiscard,\n },\n discardAll: {\n name: 'Discard all',\n description: 'Discard all changes',\n icon: 'ban',\n action: this.handleDiscardAll,\n },\n },\n },\n quickActions: {\n name: 'Quick actions',\n icon: 'keyboard',\n description: 'Execute configured hotkeys',\n subCommands: this.buildCommandsFromHotkeys(),\n },\n switchEditPreviewMode: {\n name: 'Switch edit/preview mode',\n icon: 'pencil',\n description: 'Switch between edit and preview modes',\n subCommands: this.buildCommandsFromEditPreviewModes(),\n },\n },\n };\n }\n mapHotkeyIdToIcon(id) {\n let actionName = id.split('.').pop();\n // Some actions have the name 'toggle' with a suffix, e.g. 'toggleFullScreen'\n if (actionName.indexOf('toggle') >= 0) {\n actionName = 'toggle';\n }\n switch (actionName) {\n case 'toggle':\n return 'toggle-on';\n case 'reload':\n return 'redo';\n case 'cancel':\n case 'close':\n return 'window-close';\n case 'apply':\n return 'check';\n }\n return 'neos';\n }\n componentDidMount() {\n const { plugins } = this.props;\n // Load 3rd party commands\n if (plugins) {\n Object.keys(plugins).forEach((pluginName) => {\n try {\n const pluginCommands = plugins[pluginName]();\n this.setState((prev) => ({ commands: { ...prev.commands, ...pluginCommands } }));\n }\n catch (e) {\n console.error(`[CommandBar] Could not load commands from plugin ${pluginName}`, e);\n }\n });\n }\n // Load commands from data source which are not available via the UI API\n fetchData(ENDPOINT_COMMANDS)\n .then((commands) => {\n this.setState((prev) => ({ loaded: true, commands: { ...prev.commands, ...commands } }));\n })\n .catch((error) => {\n console.error('[CommandBar] Failed to load commands', error);\n });\n }\n render() {\n const { commandBarOpen, toggleCommandBar } = this.props;\n const { commands, loaded } = this.state;\n return (React.createElement(\"div\", { className: styles.commandBarToolbarComponent },\n React.createElement(ToggleButton, { handleToggle: toggleCommandBar, disabled: !loaded }),\n loaded && (React.createElement(\"div\", { className: [styles.fullScreenLayer, commandBarOpen && styles.open].join(' ') },\n React.createElement(CommandBar, { open: commandBarOpen, commands: commands, toggleOpen: toggleCommandBar })))));\n }\n}\nCommandBarUiPlugin.propTypes = {\n config: PropTypes.object.isRequired,\n i18nRegistry: PropTypes.object.isRequired,\n siteNode: PropTypes.object,\n documentNode: PropTypes.object,\n focusedNodeContextPath: PropTypes.string,\n commandBarOpen: PropTypes.bool,\n toggleCommandBar: PropTypes.func.isRequired,\n handleHotkeyAction: PropTypes.func.isRequired,\n hotkeyRegistry: PropTypes.object.isRequired,\n addNode: PropTypes.func.isRequired,\n editPreviewMode: PropTypes.string.isRequired,\n setEditPreviewMode: PropTypes.func.isRequired,\n editPreviewModes: PropTypes.object.isRequired,\n publishableNodes: PropTypes.array,\n publishableNodesInDocument: PropTypes.array,\n isWorkspaceReadOnly: PropTypes.bool,\n publishAction: PropTypes.func.isRequired,\n discardAction: PropTypes.func.isRequired,\n baseWorkspace: PropTypes.string.isRequired,\n setActiveContentCanvasContextPath: PropTypes.func.isRequired,\n setActiveContentCanvasSrc: PropTypes.func.isRequired,\n};\nconst mapStateToProps = (state) => ({\n siteNode: selectors.CR.Nodes.siteNodeSelector(state),\n documentNode: selectors.CR.Nodes.documentNodeSelector(state),\n focusedNodeContextPath: selectors.CR.Nodes.focusedNodePathSelector(state),\n publishableNodes: selectors.CR.Workspaces.publishableNodesSelector(state),\n publishableNodesInDocument: selectors.CR.Workspaces.publishableNodesInDocumentSelector(state),\n isWorkspaceReadOnly: selectors.CR.Workspaces.isWorkspaceReadOnlySelector(state),\n baseWorkspace: selectors.CR.Workspaces.baseWorkspaceSelector(state),\n commandBarOpen: commandBarSelectors.commandBarOpen(state),\n editPreviewMode: selectors.UI.EditPreviewMode.currentEditPreviewMode(state),\n});\nconst mapDispatchToProps = (dispatch) => ({\n handleHotkeyAction: dispatch,\n});\nconst mapGlobalRegistryToProps = neos((globalRegistry) => ({\n i18nRegistry: globalRegistry.get('i18n'),\n hotkeyRegistry: globalRegistry.get('hotkeys'),\n config: globalRegistry.get('frontendConfiguration').get('Shel.Neos.CommandBar:CommandBar'),\n nodeTypesRegistry: globalRegistry.get('@neos-project/neos-ui-contentrepository'),\n editPreviewModes: globalRegistry.get('frontendConfiguration').get('editPreviewModes'),\n plugins: globalRegistry.get('Shel.Neos.CommandBar').getChildrenAsObject('plugins'),\n}));\nexport default connect(() => ({}), {\n toggleCommandBar: commandBarActions.toggleCommandBar,\n addNode: actions.CR.Nodes.commenceCreation,\n setEditPreviewMode: actions.UI.EditPreviewMode.set,\n publishAction: actions.CR.Workspaces.publish,\n discardAction: actions.CR.Workspaces.commenceDiscard,\n setActiveContentCanvasContextPath: actions.CR.Nodes.setDocumentNode,\n setActiveContentCanvasSrc: actions.UI.ContentCanvas.setSrc,\n})(connect(mapStateToProps, mapDispatchToProps)(mapGlobalRegistryToProps(CommandBarUiPlugin)));\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/vendor/react/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/vendor/prop-types/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/neosProjectPackages/neos-ui-redux-store/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/readFromConsumerApi.js","webpack:///../commandbar/src/CommandBar.module.css?c6ee","webpack:///../commandbar/src/components/CommandBarFooter/CommandBarFooter.module.css?444f","webpack:///./src/actions/index.ts","webpack:///./src/CommandBarUiPlugin.module.css?b47e","webpack:///../commandbar/src/components/CommandList/CommandListing.module.css?6e96","webpack:///../commandbar/src/components/CommandList/CommandListItem.module.css?1c2a","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/vendor/redux-actions/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/vendor/react-redux/index.js","webpack:///../commandbar/src/components/CommandBarHeader/CommandBarHeader.module.css?8ce6","webpack:///../commandbar/src/components/ToggleButton/ToggleButton.module.css?3554","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/registry/SynchronousRegistry.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/neosProjectPackages/neos-ui-decorators/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/neosProjectPackages/react-ui-components/index.js","webpack:///../commandbar/src/components/Icon/Icon.module.css?d05d","webpack:///../commandbar/src/components/SearchBox/SearchBox.module.css?a11f","webpack:///../commandbar/src/components/CommandResultsView/CommandResultsView.module.css?40c4","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/src/shims/neosProjectPackages/neos-ui-backend-connector/index.js","webpack:///./src/index.js","webpack:///./src/manifest.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/createConsumerApi.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/manifest.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/registry/index.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/registry/AbstractRegistry.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/positional-array-sorter/dist/positionalArraySorter.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/tslib/tslib.es6.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/@neos-project/neos-ui-extensibility/dist/registry/SynchronousMetaRegistry.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/fuzzy-search/src/Helper.js","webpack:////Users/sebastianhelzle/Workspace/helzle.it/Packages/Plugins/Shel.Neos.CommandBar/node_modules/fuzzy-search/src/FuzzySearch.js","webpack:///../commandbar/src/helpers/flattenCommands.ts","webpack:///../commandbar/src/helpers/logger.ts","webpack:///../commandbar/src/state/commandBarReducer.ts","webpack:///../commandbar/src/helpers/clamp.ts","webpack:///../commandbar/src/components/Icon/Icon.tsx","webpack:///../commandbar/src/components/CommandBarFooter/CommandBarFooter.tsx","webpack:///../commandbar/src/components/SearchBox/SearchBox.tsx","webpack:///../commandbar/src/components/CommandBarHeader/CommandBarHeader.tsx","webpack:///../commandbar/src/components/CommandList/CommandListItem.tsx","webpack:///../commandbar/src/components/CommandList/CommandList.tsx","webpack:///../commandbar/src/components/CommandResultsView/CommandResultsView.tsx","webpack:///../commandbar/src/components/ToggleButton/ToggleButton.tsx","webpack:///../commandbar/src/hooks/useFunctionRef.ts","webpack:///../commandbar/src/CommandBar.tsx","webpack:///./src/helpers/fetchData.ts","webpack:///./src/CommandBarUiPlugin.tsx"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","React","PropTypes","NeosUiReduxStore","__read","iterator","e","ar","next","done","push","error","__spreadArray","to","from","pack","arguments","length","Array","slice","concat","readFromConsumerApi","_a","args","_i","window","apply","Error","actionTypes","TOGGLE_COMMAND_BAR","actions","toggleCommandBar","reducer","state","action","_b","_c","plugins","commandBar","open","undefined","payload","selectors","commandBarOpen","reduxActions","reactRedux","extendStatics","__extends","b","setPrototypeOf","__proto__","TypeError","String","__","this","constructor","__importDefault","mod","AbstractRegistry_1","require","positional_array_sorter_1","SynchronousRegistry","_super","description","_this","_registry","set","position","entry","indexOfItemWithTheSameKey","findIndex","item","console","result","find","_getChildrenWrapped","searchKey","unsortedChildren","filter","indexOf","getChildrenAsObject","forEach","getChildren","map","has","Boolean","_getAllWrapped","getAllAsObject","getAllAsList","assign","id","NeosUiDecorators","ReactUiComponents","NeosUiBackendConnectorDefault","fetchWithErrorHandling","NeosUiBackendConnector","globalRegistry","store","frontendConfiguration","enabled","extensibilityTest","icon","canHandleQueries","query","getState","documentNode","CR","Nodes","documentNodeSelector","alert","contextPath","CommandBarUiPlugin","hotkeys","hotkeyRegistry","SynchronousMetaRegistry","createConsumerApi","createConsumerApi_1","readFromConsumerApi_1","index_1","manifest_1","createReadOnlyValue","writable","configurable","manifests","exposureMap","api","keys","identifier","options","bootstrap","SynchronousRegistry_1","SynchronousMetaRegistry_1","AbstractRegistry","SERIAL_VERSION_UID","tslib_1","positionalArraySorter","subject","idKey","e_1","e_2","e_3","e_4","_d","e_5","_e","e_6","_f","e_7","_g","positionAccessor","indexMapping","middleKeys","startKeys","endKeys","beforeKeys","afterKeys","index","positionValue","invalid","startsWith","weight","weightMatch","match","Number","reference","numberPosition","parseFloat","isNaN","isFinite","resultStart","resultMiddle","resultEnd","processedKeys","sortedWeights","dict","asc","weights","x","sort","a","reverse","addToResults","e_8","e_9","beforeWeights","beforeWeights_1","__values","beforeWeights_1_1","e_8_1","afterWeights","afterWeights_1","afterWeights_1_1","e_9_1","_h","_j","e_1_1","_k","_l","e_2_1","_m","_o","e_3_1","_p","_q","_r","_s","e_5_1","e_4_1","_t","_u","_v","_w","e_7_1","e_6_1","__spread","__assign","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","adopt","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","v","op","pop","__createBinding","k","k2","__exportStar","__spreadArrays","il","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","default","__classPrivateFieldGet","receiver","privateMap","__classPrivateFieldSet","Helper","path","list","firstSegment","remaining","dotIndex","toString","getDescendantProperty","haystack","isArray","caseSensitive","results","score","isMatch","propertyValues","found","z","toLocaleLowerCase","indexes","nearestIndexesFor","letters","split","indexesOfFirstLetter","startingIndex","loopingIndex","letter","letterIndexes","flattenCommands","commands","parentId","reduce","commandList","commandId","subCommands","absoluteCommandId","subCommandIds","subCommandId","ACTIONS","ok","message","log","warn","debug","clamp","min","max","Math","filterAvailableCommands","selectedCommandGroup","searchWord","availableCommands","values","command","matchingCommands","search","Set","commandBarReducer","parentCommandGroup","type","RESET_SEARCH","highlightedItem","availableCommandIds","HIGHLIGHT_NEXT_ITEM","highlightedResultItem","expanded","HIGHLIGHT_PREVIOUS_ITEM","CANCEL","GO_TO_PARENT_GROUP","SELECT_GROUP","UPDATE_SEARCH","RUNNING_COMMAND","runningCommandId","runningCommandMessage","argument","FINISHED_COMMAND","SET_RESULT","JSON","stringify","spin","className","selectedGroup","runningCommand","href","title","rel","xmlns","width","height","viewBox","gradientUnits","x1","y1","x2","y2","offset","stopColor","fill","transform","onChange","disabled","inputRef","handleKeyPress","current","preventDefault","stopPropagation","ref","placeholder","autoFocus","onKeyUp","handleBack","handleSearch","createElement","onClick","CommandListItem","forwardRef","onItemSelect","highlighted","commandType","join","displayName","memo","prev","handleSelectItem","heading","noCommandsMessage","selectedElementRef","useRef","scrollIntoView","behavior","block","view","location","handleToggle","useFunctionRef","fn","fnRef","initialState","toggleOpen","onDrag","dispatch","dialogRef","isDragging","setIsDragging","dragState","setDragState","left","top","offsetLeft","offsetTop","handleKeyEnteredRef","defaultPrevented","metaKey","contains","toLowerCase","async","actionResult","catch","finally","handleSelectItemRef","windowKeyEventHandler","addEventListener","removeEventListener","handleDragStart","tagName","dataTransfer","setData","dropEffect","effectAllowed","clientX","clientY","handleDragEnd","innerWidth","offsetWidth","innerHeight","offsetHeight","dialogStyle","visibility","draggable","onDragStart","onDragEnd","style","endpoint","params","url","encodeURIComponent","withCsrfToken","csrfToken","method","credentials","headers","response","json","props","super","buildCommandsFromHotkeys","handleHotkeyAction","config","carry","includes","mapHotkeyIdToIcon","buildCommandsFromEditPreviewModes","setEditPreviewMode","editPreviewModes","i18nRegistry","isEditingMode","translate","editPreviewMode","handleAddNode","addNode","focusedNodeContextPath","handleSearchNode","siteNode","setActiveContentCanvasContextPath","setActiveContentCanvasSrc","success","node","nodetype","uri","handlePublish","publishableNodesInDocument","publishAction","baseWorkspace","handlePublishAll","publishableNodes","handleDiscard","discardAction","handleDiscardAll","setDragging","dragging","setState","loaded","searchDocuments","publishDiscard","publish","publishAll","discard","discardAll","quickActions","switchEditPreviewMode","actionName","pluginName","pluginCommands","onDragOver","pointerEvents","propTypes","isRequired","string","bool","func","array","isWorkspaceReadOnly","mapGlobalRegistryToProps","nodeTypesRegistry","commenceCreation","UI","EditPreviewMode","Workspaces","commenceDiscard","setDocumentNode","ContentCanvas","setSrc","siteNodeSelector","focusedNodePathSelector","publishableNodesSelector","publishableNodesInDocumentSelector","isWorkspaceReadOnlySelector","baseWorkspaceSelector","currentEditPreviewMode"],"mappings":"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","file":"Plugin.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 21);\n","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('vendor')().React;\n","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('vendor')().PropTypes;\n","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('NeosProjectPackages')().NeosUiReduxStore;\n","\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nexports.__esModule = true;\nfunction readFromConsumerApi(key) {\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (window['@Neos:HostPluginAPI'] && window['@Neos:HostPluginAPI'][\"@\".concat(key)]) {\n return (_a = window['@Neos:HostPluginAPI'])[\"@\".concat(key)].apply(_a, __spreadArray([], __read(args), false));\n }\n throw new Error('You are trying to read from a consumer api that hasn\\'t been initialized yet!');\n };\n}\nexports[\"default\"] = readFromConsumerApi;\n//# sourceMappingURL=readFromConsumerApi.js.map","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commandBar\":\"CommandBar-module__commandBar___3t_V0\",\"hasResults\":\"CommandBar-module__hasResults___3NzEf\",\"resultsWrap\":\"CommandBar-module__resultsWrap___ceSal\",\"expanded\":\"CommandBar-module__expanded___tNs3W\",\"split\":\"CommandBar-module__split___mpznN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commandBarFooter\":\"CommandBarFooter-module__commandBarFooter___2mcre\",\"breadcrumb\":\"CommandBarFooter-module__breadcrumb___1Ul24\",\"activity\":\"CommandBarFooter-module__activity___2GXJU\",\"madeWithLove\":\"CommandBarFooter-module__madeWithLove___zHu8L\"};","import { createAction, handleActions } from 'redux-actions';\nexport const actionTypes = {\n TOGGLE_COMMAND_BAR: 'TOGGLE_COMMAND_BAR',\n};\nconst toggleCommandBar = createAction(actionTypes.TOGGLE_COMMAND_BAR);\nexport const actions = {\n toggleCommandBar,\n};\nexport const reducer = handleActions({\n TOGGLE_COMMAND_BAR: (state, action) => {\n var _a, _b, _c;\n return ({\n ...state,\n plugins: {\n ...state.plugins,\n commandBar: {\n open: ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.open) !== undefined ? action.payload.open : !((_c = (_b = state.plugins) === null || _b === void 0 ? void 0 : _b.commandBar) === null || _c === void 0 ? void 0 : _c.open),\n },\n },\n });\n },\n}, {\n plugins: {\n commandBar: {\n open: false,\n },\n },\n});\nexport const selectors = {\n commandBarOpen: (state) => { var _a, _b; return (_b = (_a = state.plugins) === null || _a === void 0 ? void 0 : _a.commandBar) === null || _b === void 0 ? void 0 : _b.open; },\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fullScreenLayer\":\"CommandBarUiPlugin-module__fullScreenLayer___1cUx4\",\"open\":\"CommandBarUiPlugin-module__open___1Bjxj\",\"commandBarToolbarComponent\":\"CommandBarUiPlugin-module__commandBarToolbarComponent___1agRY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"results\":\"CommandListing-module__results___23Rve\",\"noResults\":\"CommandListing-module__noResults___Mb89V\",\"disabled\":\"CommandListing-module__disabled___6gpPj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commandListItem\":\"CommandListItem-module__commandListItem___1Gsrl\",\"highlighted\":\"CommandListItem-module__highlighted___3Lsze\",\"label\":\"CommandListItem-module__label___32-bU\"};","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('vendor')().reduxActions;\n","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('vendor')().reactRedux;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commandBarHeader\":\"CommandBarHeader-module__commandBarHeader___3Y2hR\",\"backButton\":\"CommandBarHeader-module__backButton___1qIGu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toggleButton\":\"ToggleButton-module__toggleButton___2wPs-\",\"buttonIcon\":\"ToggleButton-module__buttonIcon___UjFjw\"};","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nvar AbstractRegistry_1 = __importDefault(require(\"./AbstractRegistry\"));\nvar positional_array_sorter_1 = __importDefault(require(\"@neos-project/positional-array-sorter\"));\nvar SynchronousRegistry = (function (_super) {\n __extends(SynchronousRegistry, _super);\n function SynchronousRegistry(description) {\n var _this = _super.call(this, description) || this;\n _this._registry = [];\n return _this;\n }\n SynchronousRegistry.prototype.set = function (key, value, position) {\n if (position === void 0) { position = 0; }\n if (typeof key !== 'string') {\n throw new Error('Key must be a string');\n }\n if (typeof position !== 'string' && typeof position !== 'number') {\n throw new Error('Position must be a string or a number');\n }\n var entry = { key: key, value: value };\n if (position) {\n entry.position = position;\n }\n var indexOfItemWithTheSameKey = this._registry.findIndex(function (item) { return item.key === key; });\n if (indexOfItemWithTheSameKey === -1) {\n this._registry.push(entry);\n }\n else {\n this._registry[indexOfItemWithTheSameKey] = entry;\n }\n return value;\n };\n SynchronousRegistry.prototype.get = function (key) {\n if (typeof key !== 'string') {\n console.error('Key must be a string');\n return null;\n }\n var result = this._registry.find(function (item) { return item.key === key; });\n return result ? result.value : null;\n };\n SynchronousRegistry.prototype._getChildrenWrapped = function (searchKey) {\n var unsortedChildren = this._registry.filter(function (item) { return item.key.indexOf(searchKey + '/') === 0; });\n return (0, positional_array_sorter_1[\"default\"])(unsortedChildren);\n };\n SynchronousRegistry.prototype.getChildrenAsObject = function (searchKey) {\n var result = {};\n this._getChildrenWrapped(searchKey).forEach(function (item) {\n result[item.key] = item.value;\n });\n return result;\n };\n SynchronousRegistry.prototype.getChildren = function (searchKey) {\n return this._getChildrenWrapped(searchKey).map(function (item) { return item.value; });\n };\n SynchronousRegistry.prototype.has = function (key) {\n if (typeof key !== 'string') {\n console.error('Key must be a string');\n return false;\n }\n return Boolean(this._registry.find(function (item) { return item.key === key; }));\n };\n SynchronousRegistry.prototype._getAllWrapped = function () {\n return (0, positional_array_sorter_1[\"default\"])(this._registry);\n };\n SynchronousRegistry.prototype.getAllAsObject = function () {\n var result = {};\n this._getAllWrapped().forEach(function (item) {\n result[item.key] = item.value;\n });\n return result;\n };\n SynchronousRegistry.prototype.getAllAsList = function () {\n return this._getAllWrapped().map(function (item) { return Object.assign({ id: item.key }, item.value); });\n };\n return SynchronousRegistry;\n}(AbstractRegistry_1[\"default\"]));\nexports[\"default\"] = SynchronousRegistry;\n//# sourceMappingURL=SynchronousRegistry.js.map","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('NeosProjectPackages')().NeosUiDecorators;\n","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nmodule.exports = readFromConsumerApi('NeosProjectPackages')().ReactUiComponents;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconWrap\":\"Icon-module__iconWrap___3B4ri\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"searchBox\":\"SearchBox-module__searchBox___1SEtn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commandResultsView\":\"CommandResultsView-module__commandResultsView___xLqwb\"};","import readFromConsumerApi from '../../../../dist/readFromConsumerApi';\n\nexport default readFromConsumerApi('NeosProjectPackages')().NeosUiBackendConnectorDefault;\n\nconst {fetchWithErrorHandling} = readFromConsumerApi('NeosProjectPackages')().NeosUiBackendConnector;\nexport {fetchWithErrorHandling};\n","require('./manifest');\n","import manifest, { SynchronousRegistry } from '@neos-project/neos-ui-extensibility';\nimport { selectors } from '@neos-project/neos-ui-redux-store';\n\nimport { reducer, actions } from './actions';\nimport CommandBarUiPlugin from './CommandBarUiPlugin';\n\nmanifest('Shel.Neos.CommandBar:CommandBar', {}, (globalRegistry, { store, frontendConfiguration }) => {\n const { enabled } = frontendConfiguration['Shel.Neos.CommandBar:CommandBar'];\n\n if (!enabled) {\n return;\n }\n\n // Create our new registry for 3rd party command bar plugins\n globalRegistry.set(\n 'Shel.Neos.CommandBar',\n new SynchronousRegistry(`\n # Shel.Neos.CommandBar 3rd party commands\n `)\n );\n\n // Register test plugin command\n globalRegistry.get('Shel.Neos.CommandBar').set('plugins/test', () => {\n return {\n extensibilityTest: {\n name: 'Extensibility test',\n icon: 'vial',\n description: 'Command registered via command bar extensibility',\n canHandleQueries: true,\n action: async (query) => {\n const state = store.getState();\n const documentNode = selectors.CR.Nodes.documentNodeSelector(state);\n window.alert(`The current document node is ${documentNode.contextPath} and the query is ${query}.`);\n },\n },\n };\n });\n\n // Register commandbar component in the primary toolbar\n globalRegistry.get('containers').set('PrimaryToolbar/Middle/CommandBar', CommandBarUiPlugin);\n\n // Register reducer\n globalRegistry.get('reducers').set('Shel.Neos.CommandBar', { reducer });\n\n // Register hotkeys\n if (frontendConfiguration.hotkeys !== null && frontendConfiguration.hotkeys.length !== 0) {\n const hotkeyRegistry = globalRegistry.get('hotkeys');\n hotkeyRegistry.set('Shel.Neos.CommandBar.toggle.CMD', {\n description: 'Toggle command bar',\n action: actions.toggleCommandBar,\n });\n hotkeyRegistry.set('Shel.Neos.CommandBar.toggle.CTRL', {\n description: 'Toggle command bar',\n action: actions.toggleCommandBar,\n });\n }\n});\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nexports.SynchronousMetaRegistry = exports.SynchronousRegistry = exports.readFromConsumerApi = exports.createConsumerApi = void 0;\nvar createConsumerApi_1 = __importDefault(require(\"./createConsumerApi\"));\nexports.createConsumerApi = createConsumerApi_1[\"default\"];\nvar readFromConsumerApi_1 = __importDefault(require(\"./readFromConsumerApi\"));\nexports.readFromConsumerApi = readFromConsumerApi_1[\"default\"];\nvar index_1 = require(\"./registry/index\");\nexports.SynchronousRegistry = index_1.SynchronousRegistry;\nexports.SynchronousMetaRegistry = index_1.SynchronousMetaRegistry;\nexports[\"default\"] = (0, readFromConsumerApi_1[\"default\"])('manifest');\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nvar manifest_1 = __importDefault(require(\"./manifest\"));\nvar createReadOnlyValue = function (value) { return ({\n value: value,\n writable: false,\n enumerable: false,\n configurable: true\n}); };\nfunction createConsumerApi(manifests, exposureMap) {\n var api = {};\n Object.keys(exposureMap).forEach(function (key) {\n Object.defineProperty(api, key, createReadOnlyValue(exposureMap[key]));\n });\n Object.defineProperty(api, '@manifest', createReadOnlyValue((0, manifest_1[\"default\"])(manifests)));\n Object.defineProperty(window, '@Neos:HostPluginAPI', createReadOnlyValue(api));\n}\nexports[\"default\"] = createConsumerApi;\n//# sourceMappingURL=createConsumerApi.js.map","\"use strict\";\nexports.__esModule = true;\nexports[\"default\"] = (function (manifests) {\n return function (identifier, options, bootstrap) {\n var _a;\n manifests.push((_a = {},\n _a[identifier] = {\n options: options,\n bootstrap: bootstrap\n },\n _a));\n };\n});\n//# sourceMappingURL=manifest.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nexports.SynchronousMetaRegistry = exports.SynchronousRegistry = void 0;\nvar SynchronousRegistry_1 = __importDefault(require(\"./SynchronousRegistry\"));\nexports.SynchronousRegistry = SynchronousRegistry_1[\"default\"];\nvar SynchronousMetaRegistry_1 = __importDefault(require(\"./SynchronousMetaRegistry\"));\nexports.SynchronousMetaRegistry = SynchronousMetaRegistry_1[\"default\"];\n//# sourceMappingURL=index.js.map","\"use strict\";\nexports.__esModule = true;\nvar AbstractRegistry = (function () {\n function AbstractRegistry(description) {\n this.SERIAL_VERSION_UID = 'd8a5aa78-978e-11e6-ae22-56b6b6499611';\n this.description = description;\n }\n return AbstractRegistry;\n}());\nexports[\"default\"] = AbstractRegistry;\n//# sourceMappingURL=AbstractRegistry.js.map","\"use strict\";\nexports.__esModule = true;\nvar tslib_1 = require(\"tslib\");\nvar positionalArraySorter = function (subject, position, idKey) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g;\n if (position === void 0) { position = 'position'; }\n if (idKey === void 0) { idKey = 'key'; }\n var positionAccessor = typeof position === 'string' ? function (value) { return value[position]; } : position;\n var indexMapping = {};\n var middleKeys = {};\n var startKeys = {};\n var endKeys = {};\n var beforeKeys = {};\n var afterKeys = {};\n subject.forEach(function (item, index) {\n var key = item[idKey] ? item[idKey] : String(index);\n indexMapping[key] = index;\n var positionValue = positionAccessor(item);\n var position = String(positionValue ? positionValue : index);\n var invalid = false;\n if (position.startsWith('start')) {\n var weightMatch = position.match(/start\\s+(\\d+)/);\n var weight = weightMatch && weightMatch[1] ? Number(weightMatch[1]) : 0;\n if (!startKeys[weight]) {\n startKeys[weight] = [];\n }\n startKeys[weight].push(key);\n }\n else if (position.startsWith('end')) {\n var weightMatch = position.match(/end\\s+(\\d+)/);\n var weight = weightMatch && weightMatch[1] ? Number(weightMatch[1]) : 0;\n if (!endKeys[weight]) {\n endKeys[weight] = [];\n }\n endKeys[weight].push(key);\n }\n else if (position.startsWith('before')) {\n var match = position.match(/before\\s+(\\S+)(\\s+(\\d+))?/);\n if (!match) {\n invalid = true;\n }\n else {\n var reference = match[1];\n var weight = match[3] ? Number(match[3]) : 0;\n if (!beforeKeys[reference]) {\n beforeKeys[reference] = {};\n }\n if (!beforeKeys[reference][weight]) {\n beforeKeys[reference][weight] = [];\n }\n beforeKeys[reference][weight].push(key);\n }\n }\n else if (position.startsWith('after')) {\n var match = position.match(/after\\s+(\\S+)(\\s+(\\d+))?/);\n if (!match) {\n invalid = true;\n }\n else {\n var reference = match[1];\n var weight = match[3] ? Number(match[3]) : 0;\n if (!afterKeys[reference]) {\n afterKeys[reference] = {};\n }\n if (!afterKeys[reference][weight]) {\n afterKeys[reference][weight] = [];\n }\n afterKeys[reference][weight].push(key);\n }\n }\n else {\n invalid = true;\n }\n if (invalid) {\n var numberPosition = parseFloat(position);\n if (isNaN(numberPosition) || !isFinite(numberPosition)) {\n numberPosition = index;\n }\n if (!middleKeys[numberPosition]) {\n middleKeys[numberPosition] = [];\n }\n middleKeys[numberPosition].push(key);\n }\n });\n var resultStart = [];\n var resultMiddle = [];\n var resultEnd = [];\n var processedKeys = [];\n var sortedWeights = function (dict, asc) {\n var weights = Object.keys(dict).map(function (x) { return Number(x); }).sort(function (a, b) { return a - b; });\n return asc ? weights : weights.reverse();\n };\n var addToResults = function (keys, result) {\n keys.forEach(function (key) {\n var e_8, _a, e_9, _b;\n if (processedKeys.indexOf(key) >= 0) {\n return;\n }\n processedKeys.push(key);\n if (beforeKeys[key]) {\n var beforeWeights = sortedWeights(beforeKeys[key], true);\n try {\n for (var beforeWeights_1 = tslib_1.__values(beforeWeights), beforeWeights_1_1 = beforeWeights_1.next(); !beforeWeights_1_1.done; beforeWeights_1_1 = beforeWeights_1.next()) {\n var i = beforeWeights_1_1.value;\n addToResults(beforeKeys[key][i], result);\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (beforeWeights_1_1 && !beforeWeights_1_1.done && (_a = beforeWeights_1[\"return\"])) _a.call(beforeWeights_1);\n }\n finally { if (e_8) throw e_8.error; }\n }\n }\n result.push(key);\n if (afterKeys[key]) {\n var afterWeights = sortedWeights(afterKeys[key], false);\n try {\n for (var afterWeights_1 = tslib_1.__values(afterWeights), afterWeights_1_1 = afterWeights_1.next(); !afterWeights_1_1.done; afterWeights_1_1 = afterWeights_1.next()) {\n var i = afterWeights_1_1.value;\n addToResults(afterKeys[key][i], result);\n }\n }\n catch (e_9_1) { e_9 = { error: e_9_1 }; }\n finally {\n try {\n if (afterWeights_1_1 && !afterWeights_1_1.done && (_b = afterWeights_1[\"return\"])) _b.call(afterWeights_1);\n }\n finally { if (e_9) throw e_9.error; }\n }\n }\n });\n };\n try {\n for (var _h = tslib_1.__values(sortedWeights(startKeys, false)), _j = _h.next(); !_j.done; _j = _h.next()) {\n var i = _j.value;\n addToResults(startKeys[i], resultStart);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_j && !_j.done && (_a = _h[\"return\"])) _a.call(_h);\n }\n finally { if (e_1) throw e_1.error; }\n }\n try {\n for (var _k = tslib_1.__values(sortedWeights(middleKeys, true)), _l = _k.next(); !_l.done; _l = _k.next()) {\n var i = _l.value;\n addToResults(middleKeys[i], resultMiddle);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_l && !_l.done && (_b = _k[\"return\"])) _b.call(_k);\n }\n finally { if (e_2) throw e_2.error; }\n }\n try {\n for (var _m = tslib_1.__values(sortedWeights(endKeys, true)), _o = _m.next(); !_o.done; _o = _m.next()) {\n var i = _o.value;\n addToResults(endKeys[i], resultEnd);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_o && !_o.done && (_c = _m[\"return\"])) _c.call(_m);\n }\n finally { if (e_3) throw e_3.error; }\n }\n try {\n for (var _p = tslib_1.__values(Object.keys(beforeKeys)), _q = _p.next(); !_q.done; _q = _p.next()) {\n var key = _q.value;\n if (processedKeys.indexOf(key) >= 0) {\n continue;\n }\n try {\n for (var _r = (e_5 = void 0, tslib_1.__values(sortedWeights(beforeKeys[key], false))), _s = _r.next(); !_s.done; _s = _r.next()) {\n var i = _s.value;\n addToResults(beforeKeys[key][i], resultStart);\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (_s && !_s.done && (_e = _r[\"return\"])) _e.call(_r);\n }\n finally { if (e_5) throw e_5.error; }\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_q && !_q.done && (_d = _p[\"return\"])) _d.call(_p);\n }\n finally { if (e_4) throw e_4.error; }\n }\n try {\n for (var _t = tslib_1.__values(Object.keys(afterKeys)), _u = _t.next(); !_u.done; _u = _t.next()) {\n var key = _u.value;\n if (processedKeys.indexOf(key) >= 0) {\n continue;\n }\n try {\n for (var _v = (e_7 = void 0, tslib_1.__values(sortedWeights(afterKeys[key], false))), _w = _v.next(); !_w.done; _w = _v.next()) {\n var i = _w.value;\n addToResults(afterKeys[key][i], resultMiddle);\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (_w && !_w.done && (_g = _v[\"return\"])) _g.call(_v);\n }\n finally { if (e_7) throw e_7.error; }\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (_u && !_u.done && (_f = _t[\"return\"])) _f.call(_t);\n }\n finally { if (e_6) throw e_6.error; }\n }\n var sortedKeys = tslib_1.__spread(resultStart, resultMiddle, resultEnd);\n return sortedKeys.map(function (key) { return indexMapping[key]; }).map(function (i) { return subject[i]; });\n};\nexports[\"default\"] = positionalArraySorter;\n//# sourceMappingURL=positionalArraySorter.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nvar SynchronousRegistry_1 = __importDefault(require(\"./SynchronousRegistry\"));\nvar SynchronousMetaRegistry = (function (_super) {\n __extends(SynchronousMetaRegistry, _super);\n function SynchronousMetaRegistry() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SynchronousMetaRegistry.prototype.set = function (key, value) {\n if (value.SERIAL_VERSION_UID !== 'd8a5aa78-978e-11e6-ae22-56b6b6499611') {\n throw new Error('You can only add registries to a meta registry');\n }\n return _super.prototype.set.call(this, key, value);\n };\n return SynchronousMetaRegistry;\n}(SynchronousRegistry_1[\"default\"]));\nexports[\"default\"] = SynchronousMetaRegistry;\n//# sourceMappingURL=SynchronousMetaRegistry.js.map","export default class Helper {\n static getDescendantProperty(object, path, list = []) {\n let firstSegment;\n let remaining;\n let dotIndex;\n let value;\n let index;\n let length;\n\n if (path) {\n dotIndex = path.indexOf('.');\n\n if (dotIndex === -1) {\n firstSegment = path;\n } else {\n firstSegment = path.slice(0, dotIndex);\n remaining = path.slice(dotIndex + 1);\n }\n\n value = object[firstSegment];\n if (value !== null && typeof value !== 'undefined') {\n if (! remaining && (typeof value === 'string' || typeof value === 'number')) {\n list.push(value);\n } else if (Object.prototype.toString.call(value) === '[object Array]') {\n for (index = 0, length = value.length; index < length; index++) {\n Helper.getDescendantProperty(value[index], remaining, list);\n }\n } else if (remaining) {\n Helper.getDescendantProperty(value, remaining, list);\n }\n }\n } else {\n list.push(object);\n }\n\n return list;\n }\n}\n","import Helper from './Helper';\n\nexport default class FuzzySearch {\n constructor(haystack = [], keys = [], options = {}) {\n if (! Array.isArray(keys)) {\n options = keys;\n keys = [];\n }\n\n this.haystack = haystack;\n this.keys = keys;\n this.options = Object.assign({\n caseSensitive: false,\n sort: false,\n }, options);\n }\n\n search(query = '') {\n if (query === '') {\n return this.haystack;\n }\n\n const results = [];\n\n for (let i = 0; i < this.haystack.length; i++) {\n const item = this.haystack[i];\n\n if (this.keys.length === 0) {\n const score = FuzzySearch.isMatch(item, query, this.options.caseSensitive);\n\n if (score) {\n results.push({ item, score });\n }\n } else {\n for (let y = 0; y < this.keys.length; y++) {\n const propertyValues = Helper.getDescendantProperty(item, this.keys[y]);\n\n let found = false;\n\n for (let z = 0; z < propertyValues.length; z++) {\n const score = FuzzySearch.isMatch(propertyValues[z], query, this.options.caseSensitive);\n\n if (score) {\n found = true;\n\n results.push({ item, score });\n\n break;\n }\n }\n\n if (found) {\n break;\n }\n }\n }\n }\n\n if (this.options.sort) {\n results.sort((a, b) => a.score - b.score);\n }\n\n return results.map(result => result.item);\n }\n\n static isMatch(item, query, caseSensitive) {\n item = String(item);\n query = String(query);\n\n if (! caseSensitive) {\n item = item.toLocaleLowerCase();\n query = query.toLocaleLowerCase();\n }\n\n const indexes = FuzzySearch.nearestIndexesFor(item, query);\n\n if (! indexes) {\n return false;\n }\n\n // Exact matches should be first.\n if (item === query) {\n return 1;\n }\n\n // If we have more than 2 letters, matches close to each other should be first.\n if (indexes.length > 1) {\n return 2 + (indexes[indexes.length - 1] - indexes[0]);\n }\n\n // Matches closest to the start of the string should be first.\n return 2 + indexes[0];\n }\n\n static nearestIndexesFor(item, query) {\n const letters = query.split('');\n let indexes = [];\n\n const indexesOfFirstLetter = FuzzySearch.indexesOfFirstLetter(item, query);\n\n indexesOfFirstLetter.forEach((startingIndex, loopingIndex) => {\n let index = startingIndex + 1;\n\n indexes[loopingIndex] = [startingIndex];\n\n for (let i = 1; i < letters.length; i++) {\n const letter = letters[i];\n\n index = item.indexOf(letter, index);\n\n if (index === -1) {\n indexes[loopingIndex] = false;\n\n break;\n }\n\n indexes[loopingIndex].push(index);\n\n index++;\n }\n });\n\n indexes = indexes.filter(letterIndexes => letterIndexes !== false);\n\n if (! indexes.length) {\n return false;\n }\n\n return indexes.sort((a, b) => {\n if (a.length === 1) {\n return a[0] - b[0];\n }\n\n a = a[a.length - 1] - a[0];\n b = b[b.length - 1] - b[0];\n\n return a - b;\n })[0];\n }\n\n static indexesOfFirstLetter(item, query) {\n const match = query[0];\n\n return item.split('').map((letter, index) => {\n if (letter !== match) {\n return false;\n }\n\n return index;\n }).filter(index => index !== false);\n }\n}\n","/**\n * This method converts the hierarchical command list into a flat list of commands which is more convenient\n * for internal processing, whereas the hierarchical command list is more convenient for the user.\n */\nexport default function flattenCommands(commands, parentId = null) {\n return Object.keys(commands).reduce((commandList, commandId) => {\n const { icon, description, name, subCommands, action, canHandleQueries } = commands[commandId];\n // Create an uniquely identifiable command id for the flat command list\n const absoluteCommandId = parentId ? `${parentId}.${commandId}` : commandId;\n // Create list of available subcommand names\n const subCommandIds = subCommands\n ? Object.keys(subCommands).map((subCommandId) => `${absoluteCommandId}.${subCommandId}`)\n : [];\n // Insert the processed command into the flat command list\n commandList[absoluteCommandId] = {\n id: absoluteCommandId,\n name,\n icon,\n description,\n action,\n canHandleQueries,\n subCommandIds,\n parentId,\n };\n // Insert subcommands into the list\n if (subCommandIds.length > 0) {\n return {\n ...commandList,\n ...flattenCommands(subCommands, absoluteCommandId),\n };\n }\n return commandList;\n }, {});\n}\n","const logger = {\n ok: (message, ...args) => console.log(`%c${message}`, 'color: green', ...args),\n error: (message, ...args) => console.log(`%c${message}`, 'color: red', ...args),\n warn: (message, ...args) => console.warn(`%c${message}`, 'color: orange', ...args),\n debug: \n // @ts-ignore\n process.env.NODE_ENV === 'production'\n ? () => null\n : (message, ...args) => console.debug(`%c${message}`, 'color: blue', ...args),\n};\nexport default logger;\n","import FuzzySearch from 'fuzzy-search';\nimport { clamp } from '../helpers';\nvar ACTIONS;\n(function (ACTIONS) {\n ACTIONS[ACTIONS[\"RESET_SEARCH\"] = 0] = \"RESET_SEARCH\";\n ACTIONS[ACTIONS[\"HIGHLIGHT_NEXT_ITEM\"] = 1] = \"HIGHLIGHT_NEXT_ITEM\";\n ACTIONS[ACTIONS[\"HIGHLIGHT_PREVIOUS_ITEM\"] = 2] = \"HIGHLIGHT_PREVIOUS_ITEM\";\n ACTIONS[ACTIONS[\"CANCEL\"] = 3] = \"CANCEL\";\n ACTIONS[ACTIONS[\"SELECT_GROUP\"] = 4] = \"SELECT_GROUP\";\n ACTIONS[ACTIONS[\"GO_TO_PARENT_GROUP\"] = 5] = \"GO_TO_PARENT_GROUP\";\n ACTIONS[ACTIONS[\"UPDATE_SEARCH\"] = 6] = \"UPDATE_SEARCH\";\n ACTIONS[ACTIONS[\"RUNNING_COMMAND\"] = 7] = \"RUNNING_COMMAND\";\n ACTIONS[ACTIONS[\"FINISHED_COMMAND\"] = 8] = \"FINISHED_COMMAND\";\n ACTIONS[ACTIONS[\"SET_RESULT\"] = 9] = \"SET_RESULT\";\n})(ACTIONS || (ACTIONS = {}));\nfunction filterAvailableCommands(selectedCommandGroup, searchWord, commands) {\n // Filter available commands for the current context\n let availableCommands = Object.values(commands);\n availableCommands = searchWord\n ? availableCommands\n : availableCommands.filter((command) => command.parentId === selectedCommandGroup);\n if (!searchWord) {\n return availableCommands.map((command) => command.id);\n }\n const searcher = new FuzzySearch(availableCommands, ['name'], {\n sort: true,\n });\n const matchingCommands = searcher.search(searchWord);\n // Add all commands that can handle queries to the result\n return [\n ...new Set([\n ...matchingCommands.map((command) => command.id),\n ...availableCommands.filter((command) => command.canHandleQueries).map((command) => command.id),\n ]),\n ];\n}\nconst commandBarReducer = (state, action) => {\n // The parent command group of the currently selected command group which is used in several actions\n const parentCommandGroup = state.selectedCommandGroup ? state.commands[state.selectedCommandGroup].parentId : null;\n switch (action.type) {\n case ACTIONS.RESET_SEARCH:\n return {\n ...state,\n searchWord: '',\n highlightedItem: 0,\n availableCommandIds: filterAvailableCommands(state.selectedCommandGroup, '', state.commands),\n result: null,\n };\n case ACTIONS.HIGHLIGHT_NEXT_ITEM:\n if (state.result) {\n return {\n ...state,\n highlightedResultItem: clamp(state.highlightedResultItem + 1, 0, Object.keys(state.result.options).length - 1),\n };\n }\n return {\n ...state,\n expanded: true,\n highlightedItem: state.expanded\n ? clamp(state.highlightedItem + 1, 0, state.availableCommandIds.length - 1)\n : 0,\n };\n case ACTIONS.HIGHLIGHT_PREVIOUS_ITEM:\n if (state.result) {\n return {\n ...state,\n highlightedResultItem: clamp(state.highlightedResultItem - 1, 0, Object.keys(state.result.options).length - 1),\n };\n }\n return {\n ...state,\n highlightedItem: clamp(state.highlightedItem - 1, 0, state.availableCommandIds.length - 1),\n };\n case ACTIONS.CANCEL:\n // Either leave the result view, cancel current search, or traverse to parent group\n return state.result\n ? {\n ...state,\n result: null,\n highlightedResultItem: 0,\n }\n : state.searchWord\n ? {\n ...state,\n searchWord: '',\n highlightedItem: 0,\n availableCommandIds: filterAvailableCommands(state.selectedCommandGroup, '', state.commands),\n }\n : {\n ...state,\n selectedCommandGroup: parentCommandGroup,\n availableCommandIds: filterAvailableCommands(parentCommandGroup, '', state.commands),\n };\n case ACTIONS.GO_TO_PARENT_GROUP:\n return {\n ...state,\n highlightedItem: 0,\n selectedCommandGroup: null,\n availableCommandIds: filterAvailableCommands(parentCommandGroup, '', state.commands),\n result: null,\n };\n case ACTIONS.SELECT_GROUP:\n return {\n ...state,\n searchWord: '',\n highlightedItem: 0,\n selectedCommandGroup: action.commandId,\n availableCommandIds: filterAvailableCommands(action.commandId, '', state.commands),\n result: null,\n };\n case ACTIONS.UPDATE_SEARCH: {\n return {\n ...state,\n expanded: true,\n searchWord: action.searchWord,\n highlightedItem: 0,\n availableCommandIds: filterAvailableCommands(state.selectedCommandGroup, action.searchWord, state.commands),\n };\n }\n case ACTIONS.RUNNING_COMMAND: {\n return {\n ...state,\n runningCommandId: action.commandId,\n runningCommandMessage: action.argument,\n };\n }\n case ACTIONS.FINISHED_COMMAND: {\n return {\n ...state,\n runningCommandId: null,\n runningCommandMessage: null,\n };\n }\n case ACTIONS.SET_RESULT: {\n return {\n ...state,\n result: {\n ...action.result,\n },\n highlightedResultItem: 0,\n };\n }\n }\n throw new Error(`Invalid action ${JSON.stringify(action)}`);\n};\nexport { commandBarReducer, ACTIONS };\n","export default function clamp(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\n","import * as React from 'react';\nimport { Icon as NeosIcon } from '@neos-project/react-ui-components';\nimport * as styles from './Icon.module.css';\nconst Icon = ({ icon, spin = false }) => {\n return (React.createElement(\"span\", { className: styles.iconWrap },\n React.createElement(NeosIcon, { icon: icon, spin: spin })));\n};\nexport default React.memo(Icon);\n","import * as React from 'react';\nimport Icon from '../Icon/Icon';\nimport * as styles from './CommandBarFooter.module.css';\nconst CommandBarFooter = ({ selectedGroup, runningCommand, runningCommandMessage }) => {\n return (React.createElement(\"footer\", { className: styles.commandBarFooter },\n runningCommand ? (React.createElement(\"span\", { className: styles.activity },\n React.createElement(Icon, { icon: \"circle-notch\", spin: true }),\n React.createElement(\"em\", null,\n runningCommand.name,\n \" \\u2012 \",\n runningCommandMessage))) : selectedGroup ? (React.createElement(\"span\", { className: styles.breadcrumb },\n React.createElement(Icon, { icon: selectedGroup.icon }),\n React.createElement(\"small\", null, selectedGroup.name))) : (React.createElement(Icon, { icon: \"neos\" })),\n React.createElement(\"a\", { href: \"https://helzle.it\", title: \"Made with love by Sebastian Helzle\", target: \"_blank\", rel: \"noreferrer noopener\", className: styles.madeWithLove },\n React.createElement(\"small\", null, \"Made with love by\"),\n React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"18\", height: \"18\", viewBox: \"0 0 180 180\" },\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { id: \"a\", gradientUnits: \"userSpaceOnUse\", x1: \"280.25\", y1: \"377.003\", x2: \"373.261\", y2: \"377.003\" },\n React.createElement(\"stop\", { offset: \"0\", stopColor: \"#297AAC\" }),\n React.createElement(\"stop\", { offset: \"1\", stopColor: \"#53AADA\" }))),\n React.createElement(\"path\", { d: \"M0 180.017h37.287L71.35 52.898H34.061zM48.717 0l-9.083 33.898h36.675L85.392 0z\", fill: \"#B9B7B3\" }),\n React.createElement(\"path\", { d: \"M335.972 313.444H288.25l-8 28.306h47.691l-28.03 98.813h39.287l34.063-127.119z\", fill: \"url(#a)\", transform: \"translate(-195.462 -260.325)\" })))));\n};\nexport default CommandBarFooter;\n","import * as React from 'react';\nimport * as styles from './SearchBox.module.css';\nimport { useCallback, useRef } from 'react';\nconst SearchBox = ({ searchWord, onChange, disabled }) => {\n const inputRef = useRef();\n const handleKeyPress = useCallback((e) => {\n // Prevent escape event from bubbling up if the input is focused and the native reset should be used\n if (e.key === 'Escape') {\n if (inputRef.current.value) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n }, [inputRef.current]);\n return (React.createElement(\"input\", { ref: inputRef, className: styles.searchBox, type: \"search\", placeholder: \"Search for commands\\u2026\", autoFocus: true, onChange: onChange, onKeyUp: handleKeyPress, value: searchWord, disabled: disabled }));\n};\nexport default SearchBox;\n","import React from 'react';\nimport Icon from '../Icon/Icon';\nimport SearchBox from '../SearchBox/SearchBox';\nimport * as styles from './CommandBarHeader.module.css';\nconst CommandBarHeader = ({ selectedCommandGroup, searchWord, handleBack, handleSearch, disabled = false, }) => {\n return (React.createElement(\"header\", { className: styles.commandBarHeader },\n selectedCommandGroup && (React.createElement(\"button\", { type: \"button\", onClick: handleBack, className: styles.backButton },\n React.createElement(Icon, { icon: \"arrow-left\" }))),\n React.createElement(SearchBox, { searchWord: searchWord, onChange: handleSearch, disabled: disabled })));\n};\nexport default CommandBarHeader;\n","import React from 'react';\nimport * as styles from './CommandListItem.module.css';\nimport Icon from '../Icon/Icon';\nconst CommandListItem = React.forwardRef(({ command, onItemSelect, highlighted, runningCommandId }, ref) => {\n const { id, name, description, icon, subCommandIds, canHandleQueries } = command;\n const commandType = (subCommandIds === null || subCommandIds === void 0 ? void 0 : subCommandIds.length) > 0 ? 'category' : canHandleQueries ? 'query' : 'command';\n return (React.createElement(\"li\", { className: [styles.commandListItem, highlighted && styles.highlighted].join(' '), onClick: () => onItemSelect(id), ref: ref },\n React.createElement(Icon, { icon: icon }),\n React.createElement(\"span\", { className: styles.label },\n React.createElement(\"span\", null, name),\n description && React.createElement(\"small\", null, typeof description == 'string' ? description : description())),\n React.createElement(\"small\", null, commandType)));\n});\nCommandListItem.displayName = 'CommandListItem';\n// Update component when the command, highlight or last executed command changes to allow a refresh of the commands properties\nexport default React.memo(CommandListItem, (prev, next) => {\n return (prev.command.id === next.command.id && prev.ref === next.ref && prev.runningCommandId === next.runningCommandId);\n});\n","import React, { useEffect } from 'react';\nimport * as styles from './CommandListing.module.css';\nimport CommandListItem from './CommandListItem';\nconst CommandList = ({ commands, availableCommandIds, highlightedItem, handleSelectItem, heading = 'Commands', runningCommandId = '', noCommandsMessage = 'No matching commands found', disabled = false, }) => {\n const selectedElementRef = React.useRef(null);\n useEffect(() => {\n var _a;\n (_a = selectedElementRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }, [selectedElementRef.current]);\n return (React.createElement(\"nav\", { className: [styles.results, disabled && styles.disabled].join(' ') },\n heading && React.createElement(\"h6\", null, heading),\n availableCommandIds.length > 0 ? (React.createElement(\"ul\", null, availableCommandIds.map((commandId, index) => (React.createElement(CommandListItem, { key: commandId, ref: highlightedItem === index ? selectedElementRef : null, command: commands[commandId], onItemSelect: handleSelectItem, highlighted: highlightedItem === index, runningCommandId: runningCommandId }))))) : (React.createElement(\"small\", { className: styles.noResults }, noCommandsMessage))));\n};\nexport default React.memo(CommandList);\n","import React, { useCallback } from 'react';\nimport * as styles from './CommandResultsView.module.css';\nimport CommandListing from '../CommandList/CommandList';\nimport { logger } from '../../helpers';\nconst CommandResultsView = ({ result, highlightedItem }) => {\n const { options, view, message } = result;\n const handleSelectItem = useCallback((commandId) => {\n const { action } = options[commandId];\n if (!action)\n return;\n if (typeof action == 'string') {\n window.location.href = action;\n return;\n }\n logger.debug('Running action result command', commandId);\n action();\n }, [options]);\n return (React.createElement(\"div\", { className: styles.commandResultsView },\n view ? React.createElement(\"div\", null, view) : '',\n options && (React.createElement(CommandListing, { heading: message, commands: options, availableCommandIds: Object.keys(options), highlightedItem: highlightedItem, handleSelectItem: handleSelectItem, noCommandsMessage: \"Try a different query to find more results\" }))));\n};\nexport default React.memo(CommandResultsView);\n","import React from 'react';\nimport * as styles from './ToggleButton.module.css';\nconst ToggleButton = ({ handleToggle, disabled = false }) => {\n return (React.createElement(\"button\", { className: styles.toggleButton, onClick: handleToggle, disabled: disabled, title: \"Toggle command bar\" },\n React.createElement(\"span\", null, \"Search\\u2026\"),\n React.createElement(\"span\", { className: styles.buttonIcon }, \"\\u2318K\")));\n};\nexport default React.memo(ToggleButton);\n","import { useRef } from 'react';\n/**\n * A custom hook that creates a ref for a function, and updates it on every render.\n * The new value is always the same function, but the function's context changes on every render.\n */\nexport default function useFunctionRef(fn) {\n const fnRef = useRef(fn);\n fnRef.current = fn;\n return fnRef;\n}\n","import React, { useCallback, useEffect, useMemo, useReducer, useRef, useState } from 'react';\nimport * as styles from './CommandBar.module.css';\nimport { ACTIONS, commandBarReducer } from './state/commandBarReducer';\nimport { CommandBarFooter, CommandBarHeader, CommandList, CommandResultsView } from './components';\nimport { clamp, flattenCommands, logger } from './helpers';\nimport useFunctionRef from './hooks/useFunctionRef';\nconst initialState = {\n expanded: false,\n selectedCommandGroup: null,\n availableCommandIds: [],\n searchWord: '',\n highlightedItem: 0,\n commands: {},\n runningCommandId: null,\n runningCommandMessage: null,\n result: null,\n highlightedResultItem: 0,\n};\nconst CommandBar = ({ commands, open, toggleOpen, onDrag }) => {\n const [state, dispatch] = useReducer(commandBarReducer, {\n ...initialState,\n commands: flattenCommands(commands),\n availableCommandIds: Object.keys(commands),\n });\n const dialogRef = useRef(null);\n const [isDragging, setIsDragging] = useState(false);\n const [dragState, setDragState] = useState({\n left: '50%',\n top: '50%',\n offsetLeft: 0,\n offsetTop: 0,\n });\n const handleKeyEnteredRef = useFunctionRef((e) => {\n if (!open || e.defaultPrevented) {\n return;\n }\n if (e.key === 'k' && e.metaKey && (dialogRef === null || dialogRef === void 0 ? void 0 : dialogRef.current.contains(e.target))) {\n // Close command bar\n toggleOpen();\n }\n else if (e.key === 'Escape') {\n // Cancel search, or selection, or close command bar\n e.stopPropagation();\n e.preventDefault();\n if (state.selectedCommandGroup || state.searchWord) {\n dispatch({ type: ACTIONS.CANCEL });\n }\n else {\n // Close command bar if cancel is noop\n toggleOpen();\n }\n }\n else if (e.key === 'ArrowDown') {\n // Navigate to next command\n e.stopPropagation();\n e.preventDefault();\n dispatch({ type: ACTIONS.HIGHLIGHT_NEXT_ITEM });\n }\n else if (e.key === 'ArrowUp') {\n // Navigate to previous command\n e.stopPropagation();\n e.preventDefault();\n dispatch({ type: ACTIONS.HIGHLIGHT_PREVIOUS_ITEM });\n }\n else if (e.key === 'Enter' && state.availableCommandIds.length > state.highlightedItem) {\n // Execute highlighted command\n e.stopPropagation();\n e.preventDefault();\n if (state.result) {\n const command = Object.values(state.result.options)[state.highlightedResultItem];\n handleSelectItem(command);\n }\n else {\n const commandId = state.availableCommandIds[state.highlightedItem];\n handleSelectItem(commandId);\n }\n }\n });\n const handleSearch = useCallback((e) => {\n dispatch({ type: ACTIONS.UPDATE_SEARCH, searchWord: e.target.value.toLowerCase() });\n }, []);\n const handleSelectItem = useCallback(async (command) => {\n const { action, canHandleQueries, id: commandId, } = typeof command === 'string' ? state.commands[command] : command;\n if (!action) {\n return dispatch({ type: ACTIONS.SELECT_GROUP, commandId });\n }\n // FIXME: Show loading indicator and block further actions while command is running or url is opened\n if (typeof action == 'string') {\n dispatch({ type: ACTIONS.RUNNING_COMMAND, commandId, argument: 'Loading url' });\n window.location.href = action;\n return;\n }\n dispatch({ type: ACTIONS.RUNNING_COMMAND, commandId, argument: 'Running command' });\n const actionResult = action(canHandleQueries ? state.searchWord : undefined);\n if (actionResult.then) {\n // Handle Promises\n actionResult\n .then((result) => {\n // TODO: Handle success === false\n logger.debug('Command result', result);\n })\n .catch((error) => {\n // TODO: Show error message\n logger.error('Command error', error);\n })\n .finally(() => {\n dispatch({ type: ACTIONS.FINISHED_COMMAND });\n });\n }\n else if (actionResult.next) {\n // Handle generators\n const generator = actionResult;\n // TODO: Handle errors / success === false\n for await (const result of generator) {\n dispatch({ type: ACTIONS.RUNNING_COMMAND, commandId, argument: result.message });\n if (result.options) {\n dispatch({ type: ACTIONS.SET_RESULT, result });\n }\n }\n dispatch({ type: ACTIONS.FINISHED_COMMAND });\n }\n else {\n logger.error('Command result is not a promise or generator', actionResult);\n }\n }, [state.searchWord, state.commands]);\n const handleSelectItemRef = useFunctionRef((commandId) => {\n handleSelectItem(commandId);\n });\n /**\n * Add key event handler, needs to be updated when any parameter for the key event handler changes\n */\n useEffect(() => {\n if (!open)\n return;\n // const guestFrame = document.getElementsByName('neos-content-main')[0] as HTMLIFrameElement;\n // guestFrame.contentWindow?.addEventListener('keyup', (e) => {\n // log.debug('keypress in guestframe', e);\n // });\n // log.debug('guestFrame', guestFrame.contentWindow);\n const windowKeyEventHandler = (e) => handleKeyEnteredRef.current(e);\n window.addEventListener('keydown', windowKeyEventHandler);\n return () => window.removeEventListener('keydown', windowKeyEventHandler);\n }, [open]);\n const handleDragStart = useCallback((e) => {\n if (e.target.tagName === 'INPUT') {\n logger.debug('Drag ignored because input is focused');\n return;\n }\n e.dataTransfer.setData('text/plain', 'CommandBar');\n e.dataTransfer.dropEffect = 'move';\n e.dataTransfer.effectAllowed = 'move';\n logger.debug('Drag started with offset');\n setDragState({\n left: e.clientX,\n top: e.clientY,\n offsetLeft: dialogRef.current.offsetLeft - e.clientX,\n offsetTop: dialogRef.current.offsetTop - e.clientY,\n });\n onDrag && onDrag(true);\n }, [dialogRef.current]);\n const handleDragEnd = useCallback((e) => {\n const { clientX, clientY } = e;\n setIsDragging(false);\n setDragState((prev) => ({\n ...prev,\n left: clamp(clientX, 0, window.innerWidth - (dialogRef.current.offsetWidth / 2 + prev.offsetLeft)),\n top: clamp(clientY, 0, window.innerHeight - (dialogRef.current.offsetHeight / 2 + prev.offsetTop)),\n }));\n logger.debug('Drag ended', window.innerWidth, dialogRef.current.offsetWidth, clientX, clientY);\n onDrag && onDrag(false);\n }, [dialogRef.current]);\n const dialogStyle = useMemo(() => {\n const { left, top, offsetLeft, offsetTop } = dragState;\n return {\n left: typeof left == 'string' ? left : left + offsetLeft + 'px',\n top: typeof top == 'string' ? top : top + offsetTop + 'px',\n visibility: isDragging ? 'hidden' : 'visible',\n };\n }, [dragState, isDragging, dialogRef.current]);\n if (!open) {\n return null;\n }\n return (React.createElement(\"dialog\", { ref: dialogRef, className: [styles.commandBar, state.result && styles.hasResults].join(' '), open: open, draggable: true, onDragStart: handleDragStart, onDrag: () => setIsDragging(true), onDragEnd: handleDragEnd, style: dialogStyle },\n React.createElement(CommandBarHeader, { selectedCommandGroup: state.selectedCommandGroup, searchWord: state.searchWord, handleBack: () => dispatch({ type: ACTIONS.GO_TO_PARENT_GROUP }), handleSearch: handleSearch, disabled: !!state.result }),\n React.createElement(\"div\", { className: [styles.resultsWrap, state.expanded && styles.expanded, state.result && styles.split].join(' ') },\n React.createElement(CommandList, { commands: state.commands, availableCommandIds: state.availableCommandIds, highlightedItem: state.highlightedItem, handleSelectItem: (commandId) => handleSelectItemRef.current(commandId), runningCommandId: state.runningCommandId, disabled: !!state.result }),\n state.result && (React.createElement(CommandResultsView, { result: state.result, highlightedItem: state.highlightedResultItem }))),\n state.expanded && (React.createElement(CommandBarFooter, { selectedGroup: state.selectedCommandGroup ? state.commands[state.selectedCommandGroup] : null, runningCommand: state.runningCommandId ? state.commands[state.runningCommandId] : null, runningCommandMessage: state.runningCommandMessage }))));\n};\nexport default CommandBar;\n","// @ts-ignore\nimport { fetchWithErrorHandling } from '@neos-project/neos-ui-backend-connector';\nconst fetchData = async (endpoint, params) => {\n if (params) {\n endpoint = Object.keys(params).reduce((url, key) => {\n return url + '&' + key + '=' + encodeURIComponent(params[key]);\n }, endpoint + '?');\n }\n return fetchWithErrorHandling\n .withCsrfToken((csrfToken) => ({\n url: endpoint,\n method: 'GET',\n credentials: 'include',\n headers: {\n 'X-Flow-Csrftoken': csrfToken,\n },\n }))\n .then((response) => response && response.json());\n};\nexport default fetchData;\n","import * as React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n// Neos dependencies are provided by the UI\n// @ts-ignore\nimport { neos } from '@neos-project/neos-ui-decorators';\n// @ts-ignore\nimport { selectors, actions } from '@neos-project/neos-ui-redux-store';\nimport * as styles from './CommandBarUiPlugin.module.css';\nimport { CommandBar, logger, ToggleButton } from '@neos-commandbar/commandbar';\nimport { actions as commandBarActions, selectors as commandBarSelectors } from './actions';\nimport fetchData from './helpers/fetchData';\nconst ENDPOINT_COMMANDS = 'service/data-source/shel-neos-commandbar-commands';\nconst ENDPOINT_SEARCH_NODES = 'service/data-source/shel-neos-commandbar-search-nodes';\nclass CommandBarUiPlugin extends React.PureComponent {\n constructor(props) {\n super(props);\n this.buildCommandsFromHotkeys = () => {\n const { hotkeyRegistry, handleHotkeyAction, config } = this.props;\n const hotkeys = hotkeyRegistry.getAllAsList();\n return hotkeys.reduce((carry, { id, description, action }) => {\n if (!config.hotkeys.filter.includes(id)) {\n carry[id] = {\n name: description,\n description: id,\n icon: this.mapHotkeyIdToIcon(id),\n action: async () => handleHotkeyAction(action()),\n };\n }\n return carry;\n }, {});\n };\n this.buildCommandsFromEditPreviewModes = () => {\n const { setEditPreviewMode, editPreviewModes, i18nRegistry } = this.props;\n return Object.keys(editPreviewModes).reduce((carry, mode) => {\n const { title, isEditingMode } = editPreviewModes[mode];\n carry[mode] = {\n name: i18nRegistry.translate(title),\n description: () => (this.props.editPreviewMode === mode ? 'Currently active' : ''),\n icon: isEditingMode ? 'pencil' : 'eye',\n action: async () => setEditPreviewMode(mode),\n };\n return carry;\n }, {});\n };\n this.handleAddNode = async () => {\n const { addNode, documentNode, focusedNodeContextPath, toggleCommandBar } = this.props;\n toggleCommandBar();\n addNode(focusedNodeContextPath || documentNode.contextPath, undefined, 'after');\n };\n this.handleSearchNode = async function* (query) {\n const { siteNode, setActiveContentCanvasContextPath, setActiveContentCanvasSrc } = this\n .props;\n yield {\n success: true,\n message: `Searching for \"${query}\"`,\n };\n const results = (await fetchData(ENDPOINT_SEARCH_NODES, { query, node: siteNode.contextPath }).then((results) => {\n // TODO: Check results\n return results;\n }));\n yield {\n success: true,\n message: `${results.length} options match your query`,\n options: results.reduce((carry, { name, nodetype, icon, contextPath, uri }) => {\n if (!uri) {\n // TODO: Show hint that document cannot be opened?\n return carry;\n }\n carry[contextPath] = {\n id: contextPath,\n name,\n description: nodetype,\n action: async () => {\n setActiveContentCanvasSrc(uri);\n setActiveContentCanvasContextPath(contextPath);\n },\n icon,\n };\n return carry;\n }, {}),\n };\n // TODO: Show selectable results\n return {\n success: true,\n message: 'Finished searching',\n };\n };\n this.handlePublish = async () => {\n const { publishableNodesInDocument, publishAction, baseWorkspace } = this.props;\n publishAction(publishableNodesInDocument.map((node) => node.contextPath), baseWorkspace);\n return {\n success: true,\n message: `Published ${publishableNodesInDocument.length} changes`,\n };\n };\n this.handlePublishAll = async () => {\n const { publishableNodes, publishAction, baseWorkspace } = this.props;\n publishAction(publishableNodes.map((node) => node.contextPath), baseWorkspace);\n return {\n success: true,\n message: `Published ${publishableNodes.length} changes`,\n };\n };\n this.handleDiscard = async () => {\n const { publishableNodesInDocument, discardAction } = this.props;\n discardAction(publishableNodesInDocument.map((node) => node.contextPath));\n return {\n success: true,\n message: `Discarded ${publishableNodesInDocument.length} changes`,\n };\n };\n this.handleDiscardAll = async () => {\n const { publishableNodes, discardAction } = this.props;\n discardAction(publishableNodes.map((node) => node.contextPath));\n return {\n success: true,\n message: `Discarded ${publishableNodes.length} changes`,\n };\n };\n this.setDragging = (dragging) => {\n this.setState({ ...this.state, dragging });\n };\n this.state = {\n loaded: false,\n dragging: false,\n commands: {\n // testGenerator: {\n // name: 'Test generator',\n // icon: 'vial',\n // description: 'Wait and return iterate on command results',\n // action: async function* () {\n // yield {\n // success: true,\n // message: 'Doing some testing step 1',\n // };\n // await new Promise((resolve) => setTimeout(resolve, 2000));\n // yield {\n // success: true,\n // message: 'Doing some more testing step 2',\n // };\n // await new Promise((resolve) => setTimeout(resolve, 2000));\n // return {\n // success: true,\n // message: 'Finished testing',\n // };\n // },\n // },\n addNode: {\n name: 'Add node',\n icon: 'plus',\n description: 'Add a new node',\n action: this.handleAddNode,\n },\n searchDocuments: {\n name: 'Search documents',\n icon: 'search',\n description: 'Search and navigate to documents',\n action: this.handleSearchNode.bind(this),\n canHandleQueries: true,\n },\n publishDiscard: {\n name: 'Publish or discard changes',\n description: 'Publish or discard changes',\n icon: 'check',\n subCommands: {\n publish: {\n name: 'Publish',\n description: 'Publish changes on this document',\n icon: 'check',\n action: this.handlePublish,\n },\n publishAll: {\n name: 'Publish all',\n description: 'Publish all changes',\n icon: 'check-double',\n action: this.handlePublishAll,\n },\n discard: {\n name: 'Discard',\n description: 'Discard changes on this document',\n icon: 'ban',\n action: this.handleDiscard,\n },\n discardAll: {\n name: 'Discard all',\n description: 'Discard all changes',\n icon: 'ban',\n action: this.handleDiscardAll,\n },\n },\n },\n quickActions: {\n name: 'Quick actions',\n icon: 'keyboard',\n description: 'Execute configured hotkeys',\n subCommands: this.buildCommandsFromHotkeys(),\n },\n switchEditPreviewMode: {\n name: 'Switch edit/preview mode',\n icon: 'pencil',\n description: 'Switch between edit and preview modes',\n subCommands: this.buildCommandsFromEditPreviewModes(),\n },\n },\n };\n }\n mapHotkeyIdToIcon(id) {\n let actionName = id.split('.').pop();\n // Some actions have the name 'toggle' with a suffix, e.g. 'toggleFullScreen'\n if (actionName.indexOf('toggle') >= 0) {\n actionName = 'toggle';\n }\n switch (actionName) {\n case 'toggle':\n return 'toggle-on';\n case 'reload':\n return 'redo';\n case 'cancel':\n case 'close':\n return 'window-close';\n case 'apply':\n return 'check';\n }\n return 'neos';\n }\n componentDidMount() {\n const { plugins } = this.props;\n // Load 3rd party commands\n if (plugins) {\n Object.keys(plugins).forEach((pluginName) => {\n try {\n const pluginCommands = plugins[pluginName]();\n this.setState((prev) => ({ commands: { ...prev.commands, ...pluginCommands } }));\n }\n catch (e) {\n logger.error(`[CommandBar] Could not load commands from plugin ${pluginName}`, e);\n }\n });\n }\n // Load commands from data source which are not available via the UI API\n fetchData(ENDPOINT_COMMANDS)\n .then((commands) => {\n this.setState((prev) => ({ loaded: true, commands: { ...prev.commands, ...commands } }));\n })\n .catch((error) => {\n logger.error('[CommandBar] Failed to load commands', error);\n });\n }\n render() {\n const { commandBarOpen, toggleCommandBar } = this.props;\n const { commands, loaded, dragging } = this.state;\n return (React.createElement(\"div\", { className: styles.commandBarToolbarComponent },\n React.createElement(ToggleButton, { handleToggle: toggleCommandBar, disabled: !loaded }),\n loaded && (React.createElement(\"div\", { className: [styles.fullScreenLayer, commandBarOpen && styles.open].join(' '), onDragOver: (e) => e.preventDefault(), style: dragging ? { pointerEvents: 'all' } : null },\n React.createElement(CommandBar, { open: commandBarOpen, commands: commands, toggleOpen: toggleCommandBar, onDrag: this.setDragging })))));\n }\n}\nCommandBarUiPlugin.propTypes = {\n config: PropTypes.object.isRequired,\n i18nRegistry: PropTypes.object.isRequired,\n siteNode: PropTypes.object,\n documentNode: PropTypes.object,\n focusedNodeContextPath: PropTypes.string,\n commandBarOpen: PropTypes.bool,\n toggleCommandBar: PropTypes.func.isRequired,\n handleHotkeyAction: PropTypes.func.isRequired,\n hotkeyRegistry: PropTypes.object.isRequired,\n addNode: PropTypes.func.isRequired,\n editPreviewMode: PropTypes.string.isRequired,\n setEditPreviewMode: PropTypes.func.isRequired,\n editPreviewModes: PropTypes.object.isRequired,\n publishableNodes: PropTypes.array,\n publishableNodesInDocument: PropTypes.array,\n isWorkspaceReadOnly: PropTypes.bool,\n publishAction: PropTypes.func.isRequired,\n discardAction: PropTypes.func.isRequired,\n baseWorkspace: PropTypes.string.isRequired,\n setActiveContentCanvasContextPath: PropTypes.func.isRequired,\n setActiveContentCanvasSrc: PropTypes.func.isRequired,\n};\nconst mapStateToProps = (state) => ({\n siteNode: selectors.CR.Nodes.siteNodeSelector(state),\n documentNode: selectors.CR.Nodes.documentNodeSelector(state),\n focusedNodeContextPath: selectors.CR.Nodes.focusedNodePathSelector(state),\n publishableNodes: selectors.CR.Workspaces.publishableNodesSelector(state),\n publishableNodesInDocument: selectors.CR.Workspaces.publishableNodesInDocumentSelector(state),\n isWorkspaceReadOnly: selectors.CR.Workspaces.isWorkspaceReadOnlySelector(state),\n baseWorkspace: selectors.CR.Workspaces.baseWorkspaceSelector(state),\n commandBarOpen: commandBarSelectors.commandBarOpen(state),\n editPreviewMode: selectors.UI.EditPreviewMode.currentEditPreviewMode(state),\n});\nconst mapDispatchToProps = (dispatch) => ({\n handleHotkeyAction: dispatch,\n});\nconst mapGlobalRegistryToProps = neos((globalRegistry) => ({\n i18nRegistry: globalRegistry.get('i18n'),\n hotkeyRegistry: globalRegistry.get('hotkeys'),\n config: globalRegistry.get('frontendConfiguration').get('Shel.Neos.CommandBar:CommandBar'),\n nodeTypesRegistry: globalRegistry.get('@neos-project/neos-ui-contentrepository'),\n editPreviewModes: globalRegistry.get('frontendConfiguration').get('editPreviewModes'),\n plugins: globalRegistry.get('Shel.Neos.CommandBar').getChildrenAsObject('plugins'),\n}));\nexport default connect(() => ({}), {\n toggleCommandBar: commandBarActions.toggleCommandBar,\n addNode: actions.CR.Nodes.commenceCreation,\n setEditPreviewMode: actions.UI.EditPreviewMode.set,\n publishAction: actions.CR.Workspaces.publish,\n discardAction: actions.CR.Workspaces.commenceDiscard,\n setActiveContentCanvasContextPath: actions.CR.Nodes.setDocumentNode,\n setActiveContentCanvasSrc: actions.UI.ContentCanvas.setSrc,\n})(connect(mapStateToProps, mapDispatchToProps)(mapGlobalRegistryToProps(CommandBarUiPlugin)));\n"],"sourceRoot":""} \ No newline at end of file