├── .babelrc ├── .distignore ├── .editorconfig ├── .eslintrc.json ├── .gitignore ├── .prettierrc ├── .stylelintrc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── assets ├── fonts │ ├── JetBrainsMono-Bold.woff2 │ ├── JetBrainsMono-Medium.woff2 │ ├── JetBrainsMono-Regular.woff2 │ └── JetBrainsMono-SemiBold.woff2 ├── mix-manifest.json ├── scripts │ ├── appearance-menus.asset.php │ ├── appearance-menus.js │ ├── block-editor.asset.php │ ├── block-editor.js │ ├── user-interface.asset.php │ ├── user-interface.js │ └── user-interface.js.LICENSE.txt └── styles │ └── user-interface.css ├── build.xml ├── comments-template.php ├── composer.json ├── config ├── admin │ ├── dashicons.php │ ├── menu-positions.php │ ├── pagenow.php │ └── routing.php ├── application │ ├── routing.php │ ├── settings-database.php │ └── settings-dom.php └── user-interface │ └── application-selection.php ├── ecs.php ├── intervention.php ├── languages ├── intervention-de_DE-intervention-scripts-user-interface.json ├── intervention-nl_NL-intervention-scripts-user-interface.json ├── intervention-sv_SE-intervention-scripts-user-interface.json ├── intervention.pot └── template.json ├── mix.php ├── package-lock.json ├── package.json ├── readme.txt ├── resources ├── fonts │ ├── JetBrainsMono-Bold.woff2 │ ├── JetBrainsMono-Medium.woff2 │ ├── JetBrainsMono-Regular.woff2 │ └── JetBrainsMono-SemiBold.woff2 ├── scripts │ ├── admin │ │ ├── appearance-menus.js │ │ └── block-editor.js │ ├── user-interface.js │ └── user-interface │ │ ├── interface │ │ ├── App.js │ │ ├── Export.js │ │ ├── Export │ │ │ ├── ButtonCopy.js │ │ │ └── CodeBlock.js │ │ ├── Head.js │ │ ├── Head │ │ │ ├── Header.js │ │ │ ├── Name.js │ │ │ ├── NavLink.js │ │ │ └── OutboundLink.js │ │ ├── Import.js │ │ ├── Import │ │ │ ├── Row.js │ │ │ └── ToolbarContentImported.js │ │ └── Page │ │ │ ├── Loader.js │ │ │ ├── Main.js │ │ │ ├── Page.js │ │ │ ├── PseudoFade.js │ │ │ ├── Sidebar.js │ │ │ └── Toolbar.js │ │ └── utils │ │ └── wp.js └── styles │ ├── components │ ├── breadcrumb.css │ ├── button-group.css │ ├── button.css │ ├── dashicons.css │ ├── panel.css │ ├── prism.css │ ├── role-group.css │ ├── row.css │ ├── select.css │ ├── text-bold-hack.css │ └── text.css │ ├── config.css │ ├── font-faces.css │ ├── user-interface.css │ └── vendors │ └── wp.css ├── scoper.inc.php ├── scoper.sh ├── src ├── Admin.php ├── Admin │ ├── Appearance.php │ ├── Appearance │ │ ├── Customize.php │ │ ├── Menus.php │ │ ├── ThemeEditor.php │ │ ├── Themes.php │ │ └── Widgets.php │ ├── Comments.php │ ├── Comments │ │ └── All.php │ ├── Common │ │ ├── Adminbar.php │ │ ├── All │ │ │ ├── Lists.php │ │ │ ├── Pagination.php │ │ │ ├── Search.php │ │ │ └── Subsets.php │ │ ├── Editor.php │ │ ├── Footer.php │ │ ├── Menu.php │ │ ├── Tabs.php │ │ ├── TitleLink.php │ │ └── Updates.php │ ├── Dashboard.php │ ├── Dashboard │ │ ├── Home.php │ │ └── Updates.php │ ├── Login.php │ ├── Media.php │ ├── Media │ │ ├── Add.php │ │ └── All.php │ ├── Pages.php │ ├── Pages │ │ ├── Add.php │ │ ├── All.php │ │ ├── Edit.php │ │ └── Item.php │ ├── Plugins.php │ ├── Plugins │ │ ├── Add.php │ │ ├── All.php │ │ └── PluginEditor.php │ ├── Posts.php │ ├── Posts │ │ ├── Add.php │ │ ├── All.php │ │ ├── Categories │ │ │ ├── All.php │ │ │ └── Item.php │ │ ├── Edit.php │ │ ├── Item.php │ │ └── Tags │ │ │ ├── All.php │ │ │ └── Item.php │ ├── Settings.php │ ├── Settings │ │ ├── Discussion.php │ │ ├── General.php │ │ ├── Media.php │ │ ├── Permalinks.php │ │ ├── Privacy.php │ │ ├── Reading.php │ │ └── Writing.php │ ├── SharedApi.php │ ├── Support │ │ ├── All │ │ │ ├── ActionBulk.php │ │ │ ├── Lists │ │ │ │ ├── Actions.php │ │ │ │ ├── Columns.php │ │ │ │ └── Count.php │ │ │ ├── Pagination.php │ │ │ ├── Search.php │ │ │ └── Subsets.php │ │ ├── BlockEditor.php │ │ ├── Menu.php │ │ ├── PostComponents.php │ │ ├── Router.php │ │ ├── Tabs.php │ │ └── Title.php │ ├── Tools.php │ ├── Tools │ │ ├── Available.php │ │ ├── ErasePersonalData.php │ │ ├── Export.php │ │ ├── ExportPersonalData.php │ │ ├── Import.php │ │ └── SiteHealth.php │ ├── Users.php │ └── Users │ │ ├── Add.php │ │ ├── All.php │ │ └── Profile.php ├── Application.php ├── Application │ ├── Discussion.php │ ├── General.php │ ├── Media │ │ ├── Mimes.php │ │ ├── Sizes.php │ │ └── Uploads.php │ ├── Menus.php │ ├── OptionsApi.php │ ├── Permalinks.php │ ├── Plugins.php │ ├── Posts.php │ ├── Posttypes.php │ ├── Privacy.php │ ├── Reading.php │ ├── Support │ │ ├── Comments.php │ │ ├── Emoji.php │ │ ├── Posttypes │ │ │ ├── Labels.php │ │ │ ├── Register.php │ │ │ ├── Remove.php │ │ │ ├── RemoveAttachment.php │ │ │ └── Update.php │ │ └── Taxonomies │ │ │ ├── Labels.php │ │ │ ├── Register.php │ │ │ └── Remove.php │ ├── Taxonomies.php │ ├── Theme.php │ └── Writing.php ├── Intervention.php ├── Support │ ├── Arr.php │ ├── CodeExporter.php │ ├── Composer.php │ ├── Config.php │ ├── Middleware │ │ ├── InterventionToWordPress.php │ │ └── WordPressToIntervention.php │ └── Str.php ├── UserInterface.php └── UserInterface │ ├── Export.php │ ├── Import.php │ └── Support │ ├── RegisterPage.php │ └── UserColorSchemeCustomProps.php ├── tailwind.config.js ├── vendor ├── autoload.php ├── bin │ └── php-parse ├── brick │ └── varexporter │ │ └── src │ │ ├── ExportException.php │ │ ├── Internal │ │ ├── GenericExporter.php │ │ ├── ObjectExporter.php │ │ └── ObjectExporter │ │ │ ├── AnyObjectExporter.php │ │ │ ├── ClosureExporter.php │ │ │ ├── ClosureExporter │ │ │ └── PrettyPrinter.php │ │ │ ├── EnumExporter.php │ │ │ ├── InternalClassExporter.php │ │ │ ├── SerializeExporter.php │ │ │ ├── SetStateExporter.php │ │ │ └── StdClassExporter.php │ │ └── VarExporter.php ├── composer │ ├── ClassLoader.php │ ├── InstalledVersions.php │ ├── LICENSE │ ├── autoload_classmap.php │ ├── autoload_files.php │ ├── autoload_namespaces.php │ ├── autoload_psr4.php │ ├── autoload_real.php │ ├── autoload_static.php │ ├── installed.json │ ├── installed.php │ └── platform_check.php ├── illuminate │ ├── collections │ │ ├── Arr.php │ │ ├── Collection.php │ │ ├── Enumerable.php │ │ ├── HigherOrderCollectionProxy.php │ │ ├── HigherOrderWhenProxy.php │ │ ├── ItemNotFoundException.php │ │ ├── LazyCollection.php │ │ ├── MultipleItemsFoundException.php │ │ ├── Traits │ │ │ └── EnumeratesValues.php │ │ └── helpers.php │ ├── contracts │ │ ├── Auth │ │ │ ├── Access │ │ │ │ ├── Authorizable.php │ │ │ │ └── Gate.php │ │ │ ├── Authenticatable.php │ │ │ ├── CanResetPassword.php │ │ │ ├── Factory.php │ │ │ ├── Guard.php │ │ │ ├── Middleware │ │ │ │ └── AuthenticatesRequests.php │ │ │ ├── MustVerifyEmail.php │ │ │ ├── PasswordBroker.php │ │ │ ├── PasswordBrokerFactory.php │ │ │ ├── StatefulGuard.php │ │ │ ├── SupportsBasicAuth.php │ │ │ └── UserProvider.php │ │ ├── Broadcasting │ │ │ ├── Broadcaster.php │ │ │ ├── Factory.php │ │ │ ├── HasBroadcastChannel.php │ │ │ ├── ShouldBroadcast.php │ │ │ └── ShouldBroadcastNow.php │ │ ├── Bus │ │ │ ├── Dispatcher.php │ │ │ └── QueueingDispatcher.php │ │ ├── Cache │ │ │ ├── Factory.php │ │ │ ├── Lock.php │ │ │ ├── LockProvider.php │ │ │ ├── LockTimeoutException.php │ │ │ ├── Repository.php │ │ │ └── Store.php │ │ ├── Config │ │ │ └── Repository.php │ │ ├── Console │ │ │ ├── Application.php │ │ │ └── Kernel.php │ │ ├── Container │ │ │ ├── BindingResolutionException.php │ │ │ ├── CircularDependencyException.php │ │ │ ├── Container.php │ │ │ └── ContextualBindingBuilder.php │ │ ├── Cookie │ │ │ ├── Factory.php │ │ │ └── QueueingFactory.php │ │ ├── Database │ │ │ ├── Eloquent │ │ │ │ ├── Castable.php │ │ │ │ ├── CastsAttributes.php │ │ │ │ ├── CastsInboundAttributes.php │ │ │ │ ├── DeviatesCastableAttributes.php │ │ │ │ ├── SerializesCastableAttributes.php │ │ │ │ └── SupportsPartialRelations.php │ │ │ ├── Events │ │ │ │ └── MigrationEvent.php │ │ │ └── ModelIdentifier.php │ │ ├── Debug │ │ │ └── ExceptionHandler.php │ │ ├── Encryption │ │ │ ├── DecryptException.php │ │ │ ├── EncryptException.php │ │ │ ├── Encrypter.php │ │ │ └── StringEncrypter.php │ │ ├── Events │ │ │ └── Dispatcher.php │ │ ├── Filesystem │ │ │ ├── Cloud.php │ │ │ ├── Factory.php │ │ │ ├── FileExistsException.php │ │ │ ├── FileNotFoundException.php │ │ │ ├── Filesystem.php │ │ │ └── LockTimeoutException.php │ │ ├── Foundation │ │ │ ├── Application.php │ │ │ ├── CachesConfiguration.php │ │ │ └── CachesRoutes.php │ │ ├── Hashing │ │ │ └── Hasher.php │ │ ├── Http │ │ │ └── Kernel.php │ │ ├── Mail │ │ │ ├── Factory.php │ │ │ ├── MailQueue.php │ │ │ ├── Mailable.php │ │ │ └── Mailer.php │ │ ├── Notifications │ │ │ ├── Dispatcher.php │ │ │ └── Factory.php │ │ ├── Pagination │ │ │ ├── CursorPaginator.php │ │ │ ├── LengthAwarePaginator.php │ │ │ └── Paginator.php │ │ ├── Pipeline │ │ │ ├── Hub.php │ │ │ └── Pipeline.php │ │ ├── Queue │ │ │ ├── ClearableQueue.php │ │ │ ├── EntityNotFoundException.php │ │ │ ├── EntityResolver.php │ │ │ ├── Factory.php │ │ │ ├── Job.php │ │ │ ├── Monitor.php │ │ │ ├── Queue.php │ │ │ ├── QueueableCollection.php │ │ │ ├── QueueableEntity.php │ │ │ ├── ShouldBeEncrypted.php │ │ │ ├── ShouldBeUnique.php │ │ │ ├── ShouldBeUniqueUntilProcessing.php │ │ │ └── ShouldQueue.php │ │ ├── Redis │ │ │ ├── Connection.php │ │ │ ├── Connector.php │ │ │ ├── Factory.php │ │ │ └── LimiterTimeoutException.php │ │ ├── Routing │ │ │ ├── BindingRegistrar.php │ │ │ ├── Registrar.php │ │ │ ├── ResponseFactory.php │ │ │ ├── UrlGenerator.php │ │ │ └── UrlRoutable.php │ │ ├── Session │ │ │ └── Session.php │ │ ├── Support │ │ │ ├── Arrayable.php │ │ │ ├── CanBeEscapedWhenCastToString.php │ │ │ ├── DeferrableProvider.php │ │ │ ├── DeferringDisplayableValue.php │ │ │ ├── Htmlable.php │ │ │ ├── Jsonable.php │ │ │ ├── MessageBag.php │ │ │ ├── MessageProvider.php │ │ │ ├── Renderable.php │ │ │ ├── Responsable.php │ │ │ └── ValidatedData.php │ │ ├── Translation │ │ │ ├── HasLocalePreference.php │ │ │ ├── Loader.php │ │ │ └── Translator.php │ │ ├── Validation │ │ │ ├── DataAwareRule.php │ │ │ ├── Factory.php │ │ │ ├── ImplicitRule.php │ │ │ ├── Rule.php │ │ │ ├── UncompromisedVerifier.php │ │ │ ├── ValidatesWhenResolved.php │ │ │ ├── Validator.php │ │ │ └── ValidatorAwareRule.php │ │ └── View │ │ │ ├── Engine.php │ │ │ ├── Factory.php │ │ │ └── View.php │ └── macroable │ │ └── Traits │ │ └── Macroable.php ├── nikic │ └── php-parser │ │ ├── bin │ │ └── php-parse │ │ ├── grammar │ │ ├── parser.template │ │ ├── php5.y │ │ ├── php7.y │ │ ├── phpyLang.php │ │ ├── rebuildParsers.php │ │ ├── tokens.template │ │ └── tokens.y │ │ └── lib │ │ └── PhpParser │ │ ├── Builder.php │ │ ├── Builder │ │ ├── ClassConst.php │ │ ├── Class_.php │ │ ├── Declaration.php │ │ ├── EnumCase.php │ │ ├── Enum_.php │ │ ├── FunctionLike.php │ │ ├── Function_.php │ │ ├── Interface_.php │ │ ├── Method.php │ │ ├── Namespace_.php │ │ ├── Param.php │ │ ├── Property.php │ │ ├── TraitUse.php │ │ ├── TraitUseAdaptation.php │ │ ├── Trait_.php │ │ └── Use_.php │ │ ├── BuilderFactory.php │ │ ├── BuilderHelpers.php │ │ ├── Comment.php │ │ ├── Comment │ │ └── Doc.php │ │ ├── ConstExprEvaluationException.php │ │ ├── ConstExprEvaluator.php │ │ ├── Error.php │ │ ├── ErrorHandler.php │ │ ├── ErrorHandler │ │ ├── Collecting.php │ │ └── Throwing.php │ │ ├── Internal │ │ ├── DiffElem.php │ │ ├── Differ.php │ │ ├── PrintableNewAnonClassNode.php │ │ └── TokenStream.php │ │ ├── JsonDecoder.php │ │ ├── Lexer.php │ │ ├── Lexer │ │ ├── Emulative.php │ │ └── TokenEmulator │ │ │ ├── AttributeEmulator.php │ │ │ ├── CoaleseEqualTokenEmulator.php │ │ │ ├── EnumTokenEmulator.php │ │ │ ├── ExplicitOctalEmulator.php │ │ │ ├── FlexibleDocStringEmulator.php │ │ │ ├── FnTokenEmulator.php │ │ │ ├── KeywordEmulator.php │ │ │ ├── MatchTokenEmulator.php │ │ │ ├── NullsafeTokenEmulator.php │ │ │ ├── NumericLiteralSeparatorEmulator.php │ │ │ ├── ReadonlyFunctionTokenEmulator.php │ │ │ ├── ReadonlyTokenEmulator.php │ │ │ ├── ReverseEmulator.php │ │ │ └── TokenEmulator.php │ │ ├── NameContext.php │ │ ├── Node.php │ │ ├── Node │ │ ├── Arg.php │ │ ├── Attribute.php │ │ ├── AttributeGroup.php │ │ ├── ComplexType.php │ │ ├── Const_.php │ │ ├── Expr.php │ │ ├── Expr │ │ │ ├── ArrayDimFetch.php │ │ │ ├── ArrayItem.php │ │ │ ├── Array_.php │ │ │ ├── ArrowFunction.php │ │ │ ├── Assign.php │ │ │ ├── AssignOp.php │ │ │ ├── AssignOp │ │ │ │ ├── BitwiseAnd.php │ │ │ │ ├── BitwiseOr.php │ │ │ │ ├── BitwiseXor.php │ │ │ │ ├── Coalesce.php │ │ │ │ ├── Concat.php │ │ │ │ ├── Div.php │ │ │ │ ├── Minus.php │ │ │ │ ├── Mod.php │ │ │ │ ├── Mul.php │ │ │ │ ├── Plus.php │ │ │ │ ├── Pow.php │ │ │ │ ├── ShiftLeft.php │ │ │ │ └── ShiftRight.php │ │ │ ├── AssignRef.php │ │ │ ├── BinaryOp.php │ │ │ ├── BinaryOp │ │ │ │ ├── BitwiseAnd.php │ │ │ │ ├── BitwiseOr.php │ │ │ │ ├── BitwiseXor.php │ │ │ │ ├── BooleanAnd.php │ │ │ │ ├── BooleanOr.php │ │ │ │ ├── Coalesce.php │ │ │ │ ├── Concat.php │ │ │ │ ├── Div.php │ │ │ │ ├── Equal.php │ │ │ │ ├── Greater.php │ │ │ │ ├── GreaterOrEqual.php │ │ │ │ ├── Identical.php │ │ │ │ ├── LogicalAnd.php │ │ │ │ ├── LogicalOr.php │ │ │ │ ├── LogicalXor.php │ │ │ │ ├── Minus.php │ │ │ │ ├── Mod.php │ │ │ │ ├── Mul.php │ │ │ │ ├── NotEqual.php │ │ │ │ ├── NotIdentical.php │ │ │ │ ├── Plus.php │ │ │ │ ├── Pow.php │ │ │ │ ├── ShiftLeft.php │ │ │ │ ├── ShiftRight.php │ │ │ │ ├── Smaller.php │ │ │ │ ├── SmallerOrEqual.php │ │ │ │ └── Spaceship.php │ │ │ ├── BitwiseNot.php │ │ │ ├── BooleanNot.php │ │ │ ├── CallLike.php │ │ │ ├── Cast.php │ │ │ ├── Cast │ │ │ │ ├── Array_.php │ │ │ │ ├── Bool_.php │ │ │ │ ├── Double.php │ │ │ │ ├── Int_.php │ │ │ │ ├── Object_.php │ │ │ │ ├── String_.php │ │ │ │ └── Unset_.php │ │ │ ├── ClassConstFetch.php │ │ │ ├── Clone_.php │ │ │ ├── Closure.php │ │ │ ├── ClosureUse.php │ │ │ ├── ConstFetch.php │ │ │ ├── Empty_.php │ │ │ ├── Error.php │ │ │ ├── ErrorSuppress.php │ │ │ ├── Eval_.php │ │ │ ├── Exit_.php │ │ │ ├── FuncCall.php │ │ │ ├── Include_.php │ │ │ ├── Instanceof_.php │ │ │ ├── Isset_.php │ │ │ ├── List_.php │ │ │ ├── Match_.php │ │ │ ├── MethodCall.php │ │ │ ├── New_.php │ │ │ ├── NullsafeMethodCall.php │ │ │ ├── NullsafePropertyFetch.php │ │ │ ├── PostDec.php │ │ │ ├── PostInc.php │ │ │ ├── PreDec.php │ │ │ ├── PreInc.php │ │ │ ├── Print_.php │ │ │ ├── PropertyFetch.php │ │ │ ├── ShellExec.php │ │ │ ├── StaticCall.php │ │ │ ├── StaticPropertyFetch.php │ │ │ ├── Ternary.php │ │ │ ├── Throw_.php │ │ │ ├── UnaryMinus.php │ │ │ ├── UnaryPlus.php │ │ │ ├── Variable.php │ │ │ ├── YieldFrom.php │ │ │ └── Yield_.php │ │ ├── FunctionLike.php │ │ ├── Identifier.php │ │ ├── IntersectionType.php │ │ ├── MatchArm.php │ │ ├── Name.php │ │ ├── Name │ │ │ ├── FullyQualified.php │ │ │ └── Relative.php │ │ ├── NullableType.php │ │ ├── Param.php │ │ ├── Scalar.php │ │ ├── Scalar │ │ │ ├── DNumber.php │ │ │ ├── Encapsed.php │ │ │ ├── EncapsedStringPart.php │ │ │ ├── LNumber.php │ │ │ ├── MagicConst.php │ │ │ ├── MagicConst │ │ │ │ ├── Class_.php │ │ │ │ ├── Dir.php │ │ │ │ ├── File.php │ │ │ │ ├── Function_.php │ │ │ │ ├── Line.php │ │ │ │ ├── Method.php │ │ │ │ ├── Namespace_.php │ │ │ │ └── Trait_.php │ │ │ └── String_.php │ │ ├── Stmt.php │ │ ├── Stmt │ │ │ ├── Break_.php │ │ │ ├── Case_.php │ │ │ ├── Catch_.php │ │ │ ├── ClassConst.php │ │ │ ├── ClassLike.php │ │ │ ├── ClassMethod.php │ │ │ ├── Class_.php │ │ │ ├── Const_.php │ │ │ ├── Continue_.php │ │ │ ├── DeclareDeclare.php │ │ │ ├── Declare_.php │ │ │ ├── Do_.php │ │ │ ├── Echo_.php │ │ │ ├── ElseIf_.php │ │ │ ├── Else_.php │ │ │ ├── EnumCase.php │ │ │ ├── Enum_.php │ │ │ ├── Expression.php │ │ │ ├── Finally_.php │ │ │ ├── For_.php │ │ │ ├── Foreach_.php │ │ │ ├── Function_.php │ │ │ ├── Global_.php │ │ │ ├── Goto_.php │ │ │ ├── GroupUse.php │ │ │ ├── HaltCompiler.php │ │ │ ├── If_.php │ │ │ ├── InlineHTML.php │ │ │ ├── Interface_.php │ │ │ ├── Label.php │ │ │ ├── Namespace_.php │ │ │ ├── Nop.php │ │ │ ├── Property.php │ │ │ ├── PropertyProperty.php │ │ │ ├── Return_.php │ │ │ ├── StaticVar.php │ │ │ ├── Static_.php │ │ │ ├── Switch_.php │ │ │ ├── Throw_.php │ │ │ ├── TraitUse.php │ │ │ ├── TraitUseAdaptation.php │ │ │ ├── TraitUseAdaptation │ │ │ │ ├── Alias.php │ │ │ │ └── Precedence.php │ │ │ ├── Trait_.php │ │ │ ├── TryCatch.php │ │ │ ├── Unset_.php │ │ │ ├── UseUse.php │ │ │ ├── Use_.php │ │ │ └── While_.php │ │ ├── UnionType.php │ │ ├── VarLikeIdentifier.php │ │ └── VariadicPlaceholder.php │ │ ├── NodeAbstract.php │ │ ├── NodeDumper.php │ │ ├── NodeFinder.php │ │ ├── NodeTraverser.php │ │ ├── NodeTraverserInterface.php │ │ ├── NodeVisitor.php │ │ ├── NodeVisitor │ │ ├── CloningVisitor.php │ │ ├── FindingVisitor.php │ │ ├── FirstFindingVisitor.php │ │ ├── NameResolver.php │ │ ├── NodeConnectingVisitor.php │ │ └── ParentConnectingVisitor.php │ │ ├── NodeVisitorAbstract.php │ │ ├── Parser.php │ │ ├── Parser │ │ ├── Multiple.php │ │ ├── Php5.php │ │ ├── Php7.php │ │ └── Tokens.php │ │ ├── ParserAbstract.php │ │ ├── ParserFactory.php │ │ ├── PrettyPrinter │ │ └── Standard.php │ │ └── PrettyPrinterAbstract.php ├── psr │ ├── container │ │ └── src │ │ │ ├── ContainerExceptionInterface.php │ │ │ ├── ContainerInterface.php │ │ │ └── NotFoundExceptionInterface.php │ └── simple-cache │ │ └── src │ │ ├── CacheException.php │ │ ├── CacheInterface.php │ │ └── InvalidArgumentException.php └── scoper-autoload.php └── webpack.mix.js /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["@wordpress/default"], 3 | "plugins": [ 4 | [ 5 | "@wordpress/babel-plugin-makepot", 6 | { "output": "languages/intervention.pot" } 7 | ] 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /.distignore: -------------------------------------------------------------------------------- 1 | # A set of files you probably don't want in your WordPress.org distribution 2 | *.sql 3 | *.tar.gz 4 | *.zip 5 | .babelrc 6 | .deployignore 7 | .distignore 8 | .editorconfig 9 | .eslintignore 10 | .eslintrc 11 | .eslintrc.json 12 | .git 13 | .github 14 | .gitignore 15 | .gitlab-ci.yml 16 | .prettier 17 | .stylelintrc 18 | .travis.yml 19 | .DS_Store 20 | build.xml 21 | Thumbs.db 22 | behat.yml 23 | bitbucket-pipelines.yml 24 | bin 25 | .circleci/config.yml 26 | composer.json 27 | composer.lock 28 | dependencies.yml 29 | ecs.php 30 | Gruntfile.js 31 | package.json 32 | package-lock.json 33 | phpunit.xml 34 | phpunit.xml.dist 35 | multisite.xml 36 | multisite.xml.dist 37 | node_modules 38 | .phpcs.xml 39 | phpcs.xml 40 | .phpcs.xml.dist 41 | phpcs.xml.dist 42 | README.md 43 | scoper.inc.php 44 | scoper.sh 45 | tailwind.config.js 46 | tests 47 | webpack.config.js 48 | webpack.mix.js 49 | .wordpress-org 50 | wp-cli.local.yml 51 | yarn.lock 52 | resources 53 | vendor-bin 54 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_style = tab 8 | indent_size = 4 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "es2021": true 5 | }, 6 | "extends": ["eslint:recommended", "plugin:react/recommended"], 7 | "parserOptions": { 8 | "ecmaFeatures": { 9 | "jsx": true 10 | }, 11 | "ecmaVersion": 12, 12 | "sourceType": "module" 13 | }, 14 | "plugins": ["react"], 15 | "rules": { 16 | "react/prop-types": "off", 17 | "react/react-in-jsx-scope": "off", 18 | "no-unused-vars": "off" 19 | }, 20 | "settings": { 21 | "react": { 22 | "version": "detect" 23 | } 24 | }, 25 | "globals": { 26 | "wp": true, 27 | "wpNavMenu": true, 28 | "interventionAppearanceMenus": true, 29 | "interventionBlockEditor": true, 30 | "intervention": true 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | composer.lock 2 | node_modules 3 | vendor-bin 4 | _ 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "singleQuote": true, 4 | "trailingComma": "es5" 5 | } 6 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | ## Onboarding 4 | 5 | ```shell 6 | $ git clone git@github.com:darrenjacoby/intervention.git 7 | $ composer install 8 | ``` 9 | 10 | ## Guidelines 11 | 12 | ### PSR-12 13 | 14 | Run [Easy Coding Standards](https://github.com/symplify/easy-coding-standard) to ensure new code complies with PSR-12 guidelines. 15 | 16 | ```shell 17 | $ composer lint 18 | ``` 19 | 20 | Most errors can easily be fixed with: 21 | 22 | ```shell 23 | $ composer lint:fix 24 | ``` 25 | 26 | ### Composer/Phing 27 | 28 | Changes to `composer.json` require a build step to create a `dist` folder for WordPress users who do not use Composer to manage their depedencies. 29 | 30 | Run [Phing](https://www.phing.info/) to build the `dist` folder. 31 | 32 | ```shell 33 | $ composer build 34 | ``` 35 | 36 | ### NPM 37 | 38 | Changes to folder `resources/` require a build step to create a `assets` folder for styles and scripts. If you have run `composer build` prior you can skip this step. 39 | 40 | Run [NPM](https://www.npmjs.com/) to build the `assets/styles` and `assets/scripts` folder. 41 | 42 | ```shell 43 | $ composer build:assets 44 | ``` 45 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) Darren Jacoby 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /assets/fonts/JetBrainsMono-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darrenjacoby/intervention/60415eba14f801645bb872094e9e4c5110d2a865/assets/fonts/JetBrainsMono-Bold.woff2 -------------------------------------------------------------------------------- /assets/fonts/JetBrainsMono-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darrenjacoby/intervention/60415eba14f801645bb872094e9e4c5110d2a865/assets/fonts/JetBrainsMono-Medium.woff2 -------------------------------------------------------------------------------- /assets/fonts/JetBrainsMono-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darrenjacoby/intervention/60415eba14f801645bb872094e9e4c5110d2a865/assets/fonts/JetBrainsMono-Regular.woff2 -------------------------------------------------------------------------------- /assets/fonts/JetBrainsMono-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darrenjacoby/intervention/60415eba14f801645bb872094e9e4c5110d2a865/assets/fonts/JetBrainsMono-SemiBold.woff2 -------------------------------------------------------------------------------- /assets/scripts/appearance-menus.asset.php: -------------------------------------------------------------------------------- 1 | array(), 'version' => '68614d81a8a18177'); 2 | -------------------------------------------------------------------------------- /assets/scripts/appearance-menus.js: -------------------------------------------------------------------------------- 1 | (()=>{var n=window.jQuery;wp.domReady((function(){var o=wpNavMenu.options.globalMaxDepth;function a(){n.each(interventionAppearanceMenus,(function(o,a){var e=n("#locations-"+o).prop("checked");("all"===o||e)&&(wpNavMenu.options.globalMaxDepth=a)}))}a(),n(".menu-theme-locations input").on("change",(function(){wpNavMenu.options.globalMaxDepth=o,a()}))}))})(); -------------------------------------------------------------------------------- /assets/scripts/block-editor.asset.php: -------------------------------------------------------------------------------- 1 | array(), 'version' => '4498022705080985'); 2 | -------------------------------------------------------------------------------- /assets/scripts/user-interface.asset.php: -------------------------------------------------------------------------------- 1 | array('react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => 'ca44e283cfa42496'); 2 | -------------------------------------------------------------------------------- /assets/scripts/user-interface.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /** 2 | * @remix-run/router v1.7.1 3 | * 4 | * Copyright (c) Remix Software Inc. 5 | * 6 | * This source code is licensed under the MIT license found in the 7 | * LICENSE.md file in the root directory of this source tree. 8 | * 9 | * @license MIT 10 | */ 11 | 12 | /** 13 | * Prism: Lightweight, robust, elegant syntax highlighting 14 | * 15 | * @license MIT 16 | * @author Lea Verou 17 | * @namespace 18 | * @public 19 | */ 20 | 21 | /** 22 | * React Router DOM v6.14.1 23 | * 24 | * Copyright (c) Remix Software Inc. 25 | * 26 | * This source code is licensed under the MIT license found in the 27 | * LICENSE.md file in the root directory of this source tree. 28 | * 29 | * @license MIT 30 | */ 31 | 32 | /** 33 | * React Router v6.14.1 34 | * 35 | * Copyright (c) Remix Software Inc. 36 | * 37 | * This source code is licensed under the MIT license found in the 38 | * LICENSE.md file in the root directory of this source tree. 39 | * 40 | * @license MIT 41 | */ 42 | -------------------------------------------------------------------------------- /build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /comments-template.php: -------------------------------------------------------------------------------- 1 | false` 4 | */ 5 | -------------------------------------------------------------------------------- /config/application/routing.php: -------------------------------------------------------------------------------- 1 | 'Application\Posttypes', 12 | 'posts' => 'Application\Posts', 13 | 'taxonomies' => 'Application\Taxonomies', 14 | // 'blocks' => 'Application\Blocks', 15 | 'theme' => 'Application\Theme', 16 | 'menus' => 'Application\Menus', 17 | 'plugins' => 'Application\Plugins', 18 | 'general' => 'Application\General', 19 | 'writing' => 'Application\Writing', 20 | 'reading' => 'Application\Reading', 21 | 'discussion' => 'Application\Discussion', 22 | 'media.sizes' => 'Application\Media\Sizes', 23 | 'media.uploads' => 'Application\Media\Uploads', 24 | 'media.mimes' => 'Application\Media\Mimes', 25 | 'permalinks' => 'Application\Permalinks', 26 | 'privacy' => 'Application\Privacy', 27 | ]; 28 | -------------------------------------------------------------------------------- /config/user-interface/application-selection.php: -------------------------------------------------------------------------------- 1 | 'theme', 'title' => 'Theme'], 17 | ['key' => 'plugins', 'title' => 'Plugins'], 18 | ['key' => 'general', 'title' => 'General'], 19 | ['key' => 'writing', 'title' => 'Writing'], 20 | ['key' => 'reading', 'title' => 'Reading'], 21 | ['key' => 'discussion', 'title' => 'Discussion'], 22 | ['key' => 'media', 'title' => 'Media'], 23 | ['key' => 'permalinks', 'title' => 'Permalinks'], 24 | ['key' => 'privacy', 'title' => 'Privacy'], 25 | ]; 26 | -------------------------------------------------------------------------------- /ecs.php: -------------------------------------------------------------------------------- 1 | paths([__DIR__ . '/src']); 9 | 10 | $ecsConfig->sets([SetList::PSR_12]); 11 | 12 | $ecsConfig->ruleWithConfiguration(ArraySyntaxFixer::class, [ 13 | 'syntax' => 'short', 14 | ]); 15 | }; 16 | -------------------------------------------------------------------------------- /resources/fonts/JetBrainsMono-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darrenjacoby/intervention/60415eba14f801645bb872094e9e4c5110d2a865/resources/fonts/JetBrainsMono-Bold.woff2 -------------------------------------------------------------------------------- /resources/fonts/JetBrainsMono-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darrenjacoby/intervention/60415eba14f801645bb872094e9e4c5110d2a865/resources/fonts/JetBrainsMono-Medium.woff2 -------------------------------------------------------------------------------- /resources/fonts/JetBrainsMono-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darrenjacoby/intervention/60415eba14f801645bb872094e9e4c5110d2a865/resources/fonts/JetBrainsMono-Regular.woff2 -------------------------------------------------------------------------------- /resources/fonts/JetBrainsMono-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darrenjacoby/intervention/60415eba14f801645bb872094e9e4c5110d2a865/resources/fonts/JetBrainsMono-SemiBold.woff2 -------------------------------------------------------------------------------- /resources/scripts/admin/appearance-menus.js: -------------------------------------------------------------------------------- 1 | const $ = window.jQuery; 2 | 3 | wp.domReady(() => { 4 | const initialMaxDepth = wpNavMenu.options.globalMaxDepth; 5 | 6 | /** 7 | * Set the depth for each menu 8 | */ 9 | function setMaxDepth() { 10 | $.each(interventionAppearanceMenus, function (location, maxDepth) { 11 | const checked = $('#locations-' + location).prop('checked'); 12 | 13 | if (location === 'all' || checked) { 14 | wpNavMenu.options.globalMaxDepth = maxDepth; 15 | } 16 | }); 17 | } 18 | 19 | setMaxDepth(); 20 | 21 | /** 22 | * Depth to update when location checkbox is changed 23 | */ 24 | $('.menu-theme-locations input').on('change', function () { 25 | wpNavMenu.options.globalMaxDepth = initialMaxDepth; 26 | setMaxDepth(); 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /resources/scripts/user-interface.js: -------------------------------------------------------------------------------- 1 | import { render } from '@wordpress/element'; 2 | import { App } from './user-interface/interface/App'; 3 | 4 | window.addEventListener('load', () => { 5 | render(, document.getElementById('intervention')); 6 | }); 7 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/interface/Export/ButtonCopy.js: -------------------------------------------------------------------------------- 1 | import { useState, useEffect } from '@wordpress/element'; 2 | import { Button } from '@wordpress/components'; 3 | import { CopyToClipboard } from 'react-copy-to-clipboard'; 4 | import { __ } from '../../utils/wp'; 5 | 6 | /** 7 | * Button Copy 8 | * 9 | * @description copy button for export page. 10 | * 11 | * @param {object} props 12 | * @returns 13 | */ 14 | const ButtonCopy = ({ textToCopy }) => { 15 | const [copied, setCopied] = useState(__('Copy')); 16 | 17 | /** 18 | * Effects 19 | */ 20 | useEffect(() => { 21 | const timer = setTimeout(() => setCopied(__('Copy')), 5000); 22 | return () => clearTimeout(timer); 23 | }, [copied]); 24 | 25 | /** 26 | * Render 27 | */ 28 | return ( 29 | setCopied(__('Copied'))}> 30 | 31 | 32 | ); 33 | }; 34 | 35 | export { ButtonCopy }; 36 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/interface/Head.js: -------------------------------------------------------------------------------- 1 | import { Header } from './Head/Header'; 2 | import { Name } from './Head/Name'; 3 | import { NavLink } from './Head/NavLink'; 4 | import { OutboundLink } from './Head/OutboundLink'; 5 | import { __, version } from '../utils/wp'; 6 | 7 | /** 8 | * Head 9 | */ 10 | const Head = () => { 11 | return ( 12 |
13 |
14 | Intervention 15 | 16 |
17 | {__('Import')} 18 | {__('Export')} 19 |
20 |
21 | 22 |
23 | 24 | {__('Documentation')} 25 | 26 | 27 |
28 | {version} 29 |
30 |
31 |
32 | ); 33 | }; 34 | 35 | export { Head }; 36 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/interface/Head/Header.js: -------------------------------------------------------------------------------- 1 | const Header = ({ children }) => { 2 | return ( 3 |
15 | {children} 16 |
17 | ); 18 | }; 19 | 20 | export { Header }; 21 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/interface/Head/Name.js: -------------------------------------------------------------------------------- 1 | const Name = ({ children }) => { 2 | return ( 3 |
14 | {children} 15 |
16 | ); 17 | }; 18 | 19 | export { Name }; 20 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/interface/Head/NavLink.js: -------------------------------------------------------------------------------- 1 | import { NavLink as RouterNavLink, useMatch } from 'react-router-dom'; 2 | 3 | const NavLink = ({ to, children }) => { 4 | const match = useMatch(to); 5 | 6 | return ( 7 | 35 | {children} 36 | 37 | ); 38 | }; 39 | 40 | export { NavLink }; 41 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/interface/Head/OutboundLink.js: -------------------------------------------------------------------------------- 1 | // import { ExternalLink } from '@wordpress/components'; 2 | 3 | const OutboundLink = ({ href, children }) => { 4 | return ( 5 | 18 | {children} 19 | 20 | ); 21 | }; 22 | 23 | export { OutboundLink }; 24 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/interface/Import/ToolbarContentImported.js: -------------------------------------------------------------------------------- 1 | import { sprintf } from '@wordpress/i18n'; 2 | import { __ } from '../../utils/wp'; 3 | 4 | /** 5 | * Toolbar Content Imported 6 | * 7 | * @description imported messaging for toolbar content. 8 | * 9 | * @param {object} props 10 | * @returns 11 | */ 12 | const ToolbarContentImported = ({ imported, diff }) => { 13 | /** 14 | * Imported with fails 15 | */ 16 | if (imported.skipped.length > 0) { 17 | return ( 18 | <> 19 | {sprintf( 20 | __('Imported %1$s and %2$s failed'), 21 | imported.completed.length, 22 | imported.skipped.length 23 | )} 24 | 25 | ); 26 | } 27 | 28 | /** 29 | * Imported 30 | */ 31 | if (imported.completed.length > 0) { 32 | return <>{sprintf(__('Imported %s'), imported.completed.length)}; 33 | } 34 | 35 | /** 36 | * Matching 37 | */ 38 | return <>{__('Intervention to WordPress')}; 39 | }; 40 | 41 | export { ToolbarContentImported }; 42 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/interface/Page/Loader.js: -------------------------------------------------------------------------------- 1 | import { Spinner } from '@wordpress/components'; 2 | 3 | /** 4 | * Loader 5 | */ 6 | const Loader = () => ( 7 |
8 | 9 |
10 | ); 11 | 12 | export { Loader }; 13 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/interface/Page/Main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Main 3 | * 4 | * @param {object} props 5 | */ 6 | const Main = ({ children }) => { 7 | return ( 8 |
20 | {children} 21 |
22 | ); 23 | }; 24 | 25 | export { Main }; 26 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/interface/Page/Page.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Page 3 | * 4 | * @param {object} props 5 | */ 6 | const Page = ({ children }) => { 7 | return ( 8 |
16 | {children} 17 |
18 | ); 19 | }; 20 | 21 | export { Page }; 22 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/interface/Page/PseudoFade.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Pseudo Fade 3 | */ 4 | const PseudoFade = () => { 5 | return ( 6 |
17 | ); 18 | }; 19 | 20 | export { PseudoFade }; 21 | -------------------------------------------------------------------------------- /resources/scripts/user-interface/utils/wp.js: -------------------------------------------------------------------------------- 1 | import { __ as wp__ } from '@wordpress/i18n'; 2 | 3 | export const __ = (text) => { 4 | return wp__(text, 'intervention'); 5 | }; 6 | 7 | export const version = 'v2.0.0'; 8 | -------------------------------------------------------------------------------- /resources/styles/components/breadcrumb.css: -------------------------------------------------------------------------------- 1 | .breadcrumb-divider { 2 | position: absolute; 3 | left: -1px; 4 | z-index: 1; 5 | width: 1px; 6 | height: 100%; 7 | background-color: theme('colors.gray-2'); 8 | 9 | &::before, 10 | &::after { 11 | position: absolute; 12 | top: 50%; 13 | left: 0; 14 | display: block; 15 | width: 0; 16 | height: 0; 17 | margin-top: -6px; 18 | border-top: 6px solid transparent; 19 | border-bottom: 6px solid transparent; 20 | content: ''; 21 | } 22 | 23 | &::before { 24 | z-index: 1; 25 | margin-left: 1px; 26 | border-left: 6px solid theme('colors.gray-5'); 27 | } 28 | 29 | &::after { 30 | z-index: 2; 31 | border-left: 6px solid theme('colors.white'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /resources/styles/components/button-group.css: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | .components-button-group .components-button { 5 | padding: 6px; 6 | color: theme('colors.gray-70'); 7 | box-shadow: inset 0 0 0 1px theme('colors.gray-30'); 8 | transition: box-shadow 0s; 9 | 10 | @media (min-width: theme('screens.lg')) { 11 | padding: 6px 8px; 12 | } 13 | 14 | &.is-active { 15 | position: relative; 16 | color: theme('colors.primary-10'); 17 | } 18 | 19 | &.is-active:not(:focus) { 20 | box-shadow: inset 0 0 0 1px theme('colors.primary'); 21 | } 22 | } 23 | 24 | .components-button-group .components-button.breadcrumb:hover, 25 | .components-button-group .components-button.breadcrumb:focus { 26 | color: theme('colors.primary-10'); 27 | } 28 | 29 | .components-button-group .components-button:only-child { 30 | border-radius: 2px; 31 | } 32 | 33 | .components-button-group .components-button.breadcrumb:focus .divider, 34 | .components-button-group .components-button.breadcrumb:focus + button .divider { 35 | opacity: 0; 36 | } 37 | -------------------------------------------------------------------------------- /resources/styles/components/dashicons.css: -------------------------------------------------------------------------------- 1 | .dashicons-editor-code { 2 | width: 16px; 3 | height: 18px; 4 | font-size: 18px; 5 | } 6 | -------------------------------------------------------------------------------- /resources/styles/components/panel.css: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | .components-tab-panel__tabs { 5 | border-bottom: 1px solid theme('colors.gray-5'); 6 | } 7 | 8 | .components-panel { 9 | border: 0; 10 | border-bottom: 1px solid theme('colors.gray-5'); 11 | } 12 | 13 | /* keep line the same with toolbar */ 14 | .components-panel + .components-panel { 15 | margin-top: 0; 16 | } 17 | 18 | .components-panel, 19 | .components-panel__body-toggle { 20 | min-height: 49px; 21 | } 22 | 23 | .components-panel__body.is-opened { 24 | padding-bottom: 13px !important; 25 | } 26 | 27 | .components-tab-panel__tabs-item { 28 | height: 49px; 29 | } 30 | -------------------------------------------------------------------------------- /resources/styles/components/role-group.css: -------------------------------------------------------------------------------- 1 | .rolegroup-dropdown .components-button.components-custom-select-control__button.is-small { 2 | width: 100%; 3 | color: theme('colors.gray-90'); 4 | 5 | @media (min-width: theme('screens.lg')) { 6 | min-width: 184px; 7 | } 8 | } 9 | 10 | .rolegroup-dropdown-disabled .components-button.components-custom-select-control__button.is-small { 11 | /* color: theme('colors.gray-50'); */ 12 | opacity: 0.3; 13 | } 14 | 15 | .rolegroup-dropdown-disabled .components-custom-select-control__button-icon { 16 | display: none; 17 | } 18 | -------------------------------------------------------------------------------- /resources/styles/components/row.css: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | .row .components-base-control, 5 | .row .components-custom-select-control, 6 | .row .components-text-control__input { 7 | width: 100%; 8 | max-width: 280px; 9 | line-height: 0; 10 | } 11 | 12 | .row .components-base-control .components-base-control__field { 13 | margin-bottom: 0; 14 | } 15 | 16 | .row-value .components-button, 17 | .row-value .components-button.components-custom-select-control__button.is-small { 18 | height: 30px; 19 | } 20 | 21 | .row-button .components-button { 22 | position: relative; 23 | flex: 1; 24 | height: inherit; 25 | padding: 0; 26 | color: inherit; 27 | font-size: theme('fontSize.14'); 28 | border-radius: 0; 29 | 30 | &:hover { 31 | color: theme('colors.primary-10'); 32 | } 33 | 34 | &:focus { 35 | z-index: 1; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /resources/styles/components/text-bold-hack.css: -------------------------------------------------------------------------------- 1 | .text-bold-hack::before { 2 | display: block; 3 | height: 0; 4 | overflow: hidden; 5 | font-weight: 500; 6 | visibility: hidden; 7 | content: attr(title); 8 | } 9 | -------------------------------------------------------------------------------- /resources/styles/components/text.css: -------------------------------------------------------------------------------- 1 | .components-text-control__input[type='text'], 2 | .components-text-control__input[type='number'] { 3 | width: 100%; 4 | 5 | /* height: 36px; */ 6 | min-height: 30px; 7 | font-size: theme('fontSize.14'); 8 | } 9 | -------------------------------------------------------------------------------- /resources/styles/config.css: -------------------------------------------------------------------------------- 1 | * { 2 | &, 3 | &::before, 4 | &::after { 5 | box-sizing: border-box; 6 | border: 0; 7 | border-style: solid; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /resources/styles/font-faces.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-weight: 400; 3 | font-family: JetBrainsMonoMedium; 4 | font-style: normal; 5 | src: url('../fonts/JetBrainsMono-Medium.woff2') format('woff2'); 6 | font-display: auto; 7 | } 8 | 9 | @font-face { 10 | font-weight: 400; 11 | font-family: JetBrainsMonoBold; 12 | font-style: normal; 13 | src: url('../fonts/JetBrainsMono-Bold.woff2') format('woff2'); 14 | font-display: auto; 15 | } 16 | -------------------------------------------------------------------------------- /resources/styles/user-interface.css: -------------------------------------------------------------------------------- 1 | @import url('config'); 2 | @import url('font-faces'); 3 | @import url('components/breadcrumb'); 4 | @import url('components/button-group'); 5 | @import url('components/button'); 6 | @import url('components/dashicons'); 7 | @import url('components/panel'); 8 | @import url('components/prism'); 9 | @import url('components/role-group'); 10 | @import url('components/row'); 11 | @import url('components/select'); 12 | @import url('components/text'); 13 | @import url('components/text-bold-hack'); 14 | 15 | /* @import 'vendors/prism'; */ 16 | @import url('vendors/wp'); 17 | @import url('tailwindcss/utilities'); 18 | -------------------------------------------------------------------------------- /resources/styles/vendors/wp.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: theme('colors.white'); 3 | } 4 | 5 | #wpfooter { 6 | height: 26px; 7 | padding: 2px 16px; 8 | border-top: 1px solid theme('colors.gray-5'); 9 | } 10 | 11 | #wpbody-content { 12 | position: relative; 13 | padding-bottom: 0; 14 | 15 | @media (min-width: theme('screens.lg')) { 16 | padding-bottom: 26px; 17 | } 18 | } 19 | 20 | #intervention > div { 21 | position: relative; 22 | display: flex; 23 | flex-direction: column; 24 | min-height: calc(100vh - (32px + 26px)); 25 | } 26 | 27 | a:focus { 28 | color: theme('colors.primary'); 29 | outline: 1px solid transparent; 30 | box-shadow: 0 0 0 1px theme('colors.primary'), 31 | 0 0 2px 1px theme('colors.primary'); 32 | } 33 | 34 | ul#adminmenu a.wp-has-current-submenu::after, 35 | ul#adminmenu > li.current > a.current::after { 36 | border-right-color: white; 37 | } 38 | 39 | input, 40 | select { 41 | margin: 0; 42 | } 43 | -------------------------------------------------------------------------------- /scoper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "# Removing the vendor folder..." 3 | 4 | rm -r -f vendor 5 | rm composer.lock 6 | 7 | echo "# Running Composer..." 8 | 9 | composer update 10 | 11 | echo "# Running Scoper..." 12 | 13 | vendor/bin/php-scoper add-prefix --force 14 | 15 | echo "# Importing Build..." 16 | 17 | rm -r -f vendor 18 | mv build/vendor vendor 19 | rm -r -f build 20 | composer update --no-dev 21 | 22 | cat << "EOF" 23 | / _/___ / /____ ______ _____ ____ / /_(_)___ ____ 24 | / // __ \/ __/ _ \/ ___/ | / / _ \/ __ \/ __/ / __ \/ __ \ 25 | _/ // / / / /_/ __/ / | |/ / __/ / / / /_/ / /_/ / / / / 26 | /___/_/ /_/\__/\___/_/ |___/\___/_/ /_/\__/_/\____/_/ /_/ 27 | EOF 28 | -------------------------------------------------------------------------------- /src/Application/Posts.php: -------------------------------------------------------------------------------- 1 | (boolean|string|array) $enable|$label|$config, 21 | * ] 22 | */ 23 | class Posts 24 | { 25 | /** 26 | * Initialize 27 | * 28 | * @param array $config 29 | */ 30 | public function __construct($config = []) 31 | { 32 | $config = Arr::normalize($config); 33 | 34 | $posts = Composer::set($config) 35 | ->group('posts') 36 | ->get() 37 | ->toArray(); 38 | 39 | $config = Composer::set($config) 40 | ->forgetGroup('posts') 41 | ->get() 42 | ->put('posttypes', $posts) 43 | ->toArray(); 44 | 45 | new Posttypes($config); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/Support/CodeExporter.php: -------------------------------------------------------------------------------- 1 | varExporterNestingLevel = $level; 26 | } 27 | /** 28 | * {@inheritDoc} 29 | */ 30 | protected function resetState() : void 31 | { 32 | parent::resetState(); 33 | $this->indentLevel = 4 * $this->varExporterNestingLevel; 34 | $this->nl = "\n" . \str_repeat(' ', $this->indentLevel); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /vendor/brick/varexporter/src/Internal/ObjectExporter/InternalClassExporter.php: -------------------------------------------------------------------------------- 1 | isInternal(); 21 | } 22 | /** 23 | * {@inheritDoc} 24 | */ 25 | public function export(object $object, \ReflectionObject $reflectionObject, array $path, array $parentIds) : array 26 | { 27 | $className = $reflectionObject->getName(); 28 | throw new ExportException('Class "' . $className . '" is internal, and cannot be exported.', $path); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/brick/varexporter/src/Internal/ObjectExporter/StdClassExporter.php: -------------------------------------------------------------------------------- 1 | getName() === \stdClass::class; 20 | } 21 | /** 22 | * {@inheritDoc} 23 | */ 24 | public function export(object $object, \ReflectionObject $reflectionObject, array $path, array $parentIds) : array 25 | { 26 | $exported = $this->exporter->exportArray((array) $object, $path, $parentIds); 27 | $exported[0] = '(object) ' . $exported[0]; 28 | return $exported; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/composer/autoload_classmap.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/composer/InstalledVersions.php', 10 | ); 11 | -------------------------------------------------------------------------------- /vendor/composer/autoload_files.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/illuminate/collections/helpers.php', 10 | ); 11 | -------------------------------------------------------------------------------- /vendor/composer/autoload_namespaces.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/psr/simple-cache/src'), 10 | 'Jacoby\\Intervention\\Psr\\Container\\' => array($vendorDir . '/psr/container/src'), 11 | 'Jacoby\\Intervention\\PhpParser\\' => array($vendorDir . '/nikic/php-parser/lib/PhpParser'), 12 | 'Jacoby\\Intervention\\Illuminate\\Support\\' => array($vendorDir . '/illuminate/collections', $vendorDir . '/illuminate/macroable'), 13 | 'Jacoby\\Intervention\\Illuminate\\Contracts\\' => array($vendorDir . '/illuminate/contracts'), 14 | 'Jacoby\\Intervention\\Brick\\VarExporter\\' => array($vendorDir . '/brick/varexporter/src'), 15 | 'Jacoby\\Intervention\\' => array($baseDir . '/src'), 16 | ); 17 | -------------------------------------------------------------------------------- /vendor/composer/platform_check.php: -------------------------------------------------------------------------------- 1 | = 70400)) { 8 | $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.'; 9 | } 10 | 11 | if ($issues) { 12 | if (!headers_sent()) { 13 | header('HTTP/1.1 500 Internal Server Error'); 14 | } 15 | if (!ini_get('display_errors')) { 16 | if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { 17 | fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); 18 | } elseif (!headers_sent()) { 19 | echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; 20 | } 21 | } 22 | trigger_error( 23 | 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 | E_USER_ERROR 25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /vendor/illuminate/collections/ItemNotFoundException.php: -------------------------------------------------------------------------------- 1 | semValue 4 | #semval($,%t) $this->semValue 5 | #semval(%n) $this->stackPos-(%l-%n) 6 | #semval(%n,%t) $this->stackPos-(%l-%n) 7 | 8 | namespace PhpParser\Parser; 9 | #include; 10 | 11 | /* GENERATED file based on grammar/tokens.y */ 12 | final class Tokens 13 | { 14 | #tokenval 15 | const %s = %n; 16 | #endtokenval 17 | } 18 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Builder.php: -------------------------------------------------------------------------------- 1 | type = $type; 24 | $this->old = $old; 25 | $this->new = $new; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 22 | $this->name = $name; 23 | $this->args = $args; 24 | } 25 | public function getSubNodeNames() : array 26 | { 27 | return ['name', 'args']; 28 | } 29 | public function getType() : string 30 | { 31 | return 'Attribute'; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 19 | $this->attrs = $attrs; 20 | } 21 | public function getSubNodeNames() : array 22 | { 23 | return ['attrs']; 24 | } 25 | public function getType() : string 26 | { 27 | return 'AttributeGroup'; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/ComplexType.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->var = $var; 24 | $this->dim = $dim; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['var', 'dim']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Expr_ArrayDimFetch'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 25 | $this->items = $items; 26 | } 27 | public function getSubNodeNames() : array 28 | { 29 | return ['items']; 30 | } 31 | public function getType() : string 32 | { 33 | return 'Expr_Array'; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->var = $var; 24 | $this->expr = $expr; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['var', 'expr']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Expr_Assign'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->var = $var; 24 | $this->expr = $expr; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['var', 'expr']; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->var = $var; 24 | $this->expr = $expr; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['var', 'expr']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Expr_AssignRef'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php: -------------------------------------------------------------------------------- 1 | '; 12 | } 13 | public function getType() : string 14 | { 15 | return 'Expr_BinaryOp_Greater'; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php: -------------------------------------------------------------------------------- 1 | ='; 12 | } 13 | public function getType() : string 14 | { 15 | return 'Expr_BinaryOp_GreaterOrEqual'; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php: -------------------------------------------------------------------------------- 1 | >'; 12 | } 13 | public function getType() : string 14 | { 15 | return 'Expr_BinaryOp_ShiftRight'; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php: -------------------------------------------------------------------------------- 1 | '; 12 | } 13 | public function getType() : string 14 | { 15 | return 'Expr_BinaryOp_Spaceship'; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_BitwiseNot'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_BooleanNot'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_Clone'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->var = $var; 24 | $this->byRef = $byRef; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['var', 'byRef']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Expr_ClosureUse'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 21 | $this->name = $name; 22 | } 23 | public function getSubNodeNames() : array 24 | { 25 | return ['name']; 26 | } 27 | public function getType() : string 28 | { 29 | return 'Expr_ConstFetch'; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_Empty'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | } 24 | public function getSubNodeNames() : array 25 | { 26 | return []; 27 | } 28 | public function getType() : string 29 | { 30 | return 'Expr_Error'; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_ErrorSuppress'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_Eval'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->expr = $expr; 24 | } 25 | public function getSubNodeNames() : array 26 | { 27 | return ['expr']; 28 | } 29 | public function getType() : string 30 | { 31 | return 'Expr_Exit'; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 24 | $this->expr = $expr; 25 | $this->class = $class; 26 | } 27 | public function getSubNodeNames() : array 28 | { 29 | return ['expr', 'class']; 30 | } 31 | public function getType() : string 32 | { 33 | return 'Expr_Instanceof'; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->vars = $vars; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['vars']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_Isset'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->items = $items; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['items']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_List'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->cond = $cond; 21 | $this->arms = $arms; 22 | } 23 | public function getSubNodeNames() : array 24 | { 25 | return ['cond', 'arms']; 26 | } 27 | public function getType() : string 28 | { 29 | return 'Expr_Match'; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->var = $var; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['var']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_PostDec'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->var = $var; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['var']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_PostInc'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->var = $var; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['var']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_PreDec'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->var = $var; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['var']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_PreInc'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_Print'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->parts = $parts; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['parts']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_ShellExec'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_Throw'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_UnaryMinus'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_UnaryPlus'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->name = $name; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['name']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_Variable'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Expr_YieldFrom'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->key = $key; 24 | $this->value = $value; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['key', 'value']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Expr_Yield'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->types = $types; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['types']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'IntersectionType'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php: -------------------------------------------------------------------------------- 1 | conds = $conds; 20 | $this->body = $body; 21 | $this->attributes = $attributes; 22 | } 23 | public function getSubNodeNames() : array 24 | { 25 | return ['conds', 'body']; 26 | } 27 | public function getType() : string 28 | { 29 | return 'MatchArm'; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 19 | $this->type = \is_string($type) ? new Identifier($type) : $type; 20 | } 21 | public function getSubNodeNames() : array 22 | { 23 | return ['type']; 24 | } 25 | public function getType() : string 26 | { 27 | return 'NullableType'; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 21 | $this->parts = $parts; 22 | } 23 | public function getSubNodeNames() : array 24 | { 25 | return ['parts']; 26 | } 27 | public function getType() : string 28 | { 29 | return 'Scalar_Encapsed'; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->value = $value; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['value']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Scalar_EncapsedStringPart'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 17 | } 18 | public function getSubNodeNames() : array 19 | { 20 | return []; 21 | } 22 | /** 23 | * Get name of magic constant. 24 | * 25 | * @return string Name of magic constant 26 | */ 27 | public abstract function getName() : string; 28 | } 29 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->num = $num; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['num']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_Break'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->cond = $cond; 24 | $this->stmts = $stmts; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['cond', 'stmts']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Stmt_Case'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->consts = $consts; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['consts']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_Const'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->num = $num; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['num']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_Continue'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php: -------------------------------------------------------------------------------- 1 | value pair node. 15 | * 16 | * @param string|Node\Identifier $key Key 17 | * @param Node\Expr $value Value 18 | * @param array $attributes Additional attributes 19 | */ 20 | public function __construct($key, Node\Expr $value, array $attributes = []) 21 | { 22 | $this->attributes = $attributes; 23 | $this->key = \is_string($key) ? new Node\Identifier($key) : $key; 24 | $this->value = $value; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['key', 'value']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Stmt_DeclareDeclare'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->declares = $declares; 24 | $this->stmts = $stmts; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['declares', 'stmts']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Stmt_Declare'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->cond = $cond; 24 | $this->stmts = $stmts; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['stmts', 'cond']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Stmt_Do'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->exprs = $exprs; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['exprs']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_Echo'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->cond = $cond; 24 | $this->stmts = $stmts; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['cond', 'stmts']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Stmt_ElseIf'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->stmts = $stmts; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['stmts']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_Else'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->expr = $expr; 24 | } 25 | public function getSubNodeNames() : array 26 | { 27 | return ['expr']; 28 | } 29 | public function getType() : string 30 | { 31 | return 'Stmt_Expression'; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->stmts = $stmts; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['stmts']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_Finally'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->vars = $vars; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['vars']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_Global'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 21 | $this->name = \is_string($name) ? new Identifier($name) : $name; 22 | } 23 | public function getSubNodeNames() : array 24 | { 25 | return ['name']; 26 | } 27 | public function getType() : string 28 | { 29 | return 'Stmt_Goto'; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->remaining = $remaining; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['remaining']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_HaltCompiler'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->value = $value; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['value']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_InlineHTML'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 21 | $this->name = \is_string($name) ? new Identifier($name) : $name; 22 | } 23 | public function getSubNodeNames() : array 24 | { 25 | return ['name']; 26 | } 27 | public function getType() : string 28 | { 29 | return 'Stmt_Label'; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_Return'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 24 | $this->var = $var; 25 | $this->default = $default; 26 | } 27 | public function getSubNodeNames() : array 28 | { 29 | return ['var', 'default']; 30 | } 31 | public function getType() : string 32 | { 33 | return 'Stmt_StaticVar'; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->vars = $vars; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['vars']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_Static'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->cond = $cond; 24 | $this->cases = $cases; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['cond', 'cases']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Stmt_Switch'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->expr = $expr; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['expr']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_Throw'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->traits = $traits; 24 | $this->adaptations = $adaptations; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['traits', 'adaptations']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Stmt_TraitUse'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | $this->vars = $vars; 21 | } 22 | public function getSubNodeNames() : array 23 | { 24 | return ['vars']; 25 | } 26 | public function getType() : string 27 | { 28 | return 'Stmt_Unset'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 23 | $this->cond = $cond; 24 | $this->stmts = $stmts; 25 | } 26 | public function getSubNodeNames() : array 27 | { 28 | return ['cond', 'stmts']; 29 | } 30 | public function getType() : string 31 | { 32 | return 'Stmt_While'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 19 | $this->types = $types; 20 | } 21 | public function getSubNodeNames() : array 22 | { 23 | return ['types']; 24 | } 25 | public function getType() : string 26 | { 27 | return 'UnionType'; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php: -------------------------------------------------------------------------------- 1 | attributes = $attributes; 20 | } 21 | public function getType() : string 22 | { 23 | return 'VariadicPlaceholder'; 24 | } 25 | public function getSubNodeNames() : array 26 | { 27 | return []; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php: -------------------------------------------------------------------------------- 1 | setAttribute('origNode', $origNode); 19 | return $node; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php: -------------------------------------------------------------------------------- 1 | $node->getAttribute('parent'). 15 | */ 16 | final class ParentConnectingVisitor extends NodeVisitorAbstract 17 | { 18 | /** 19 | * @var Node[] 20 | */ 21 | private $stack = []; 22 | public function beforeTraverse(array $nodes) 23 | { 24 | $this->stack = []; 25 | } 26 | public function enterNode(Node $node) 27 | { 28 | if (!empty($this->stack)) { 29 | $node->setAttribute('parent', $this->stack[count($this->stack) - 1]); 30 | } 31 | $this->stack[] = $node; 32 | } 33 | public function leaveNode(Node $node) 34 | { 35 | array_pop($this->stack); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php: -------------------------------------------------------------------------------- 1 |