where( [ 'operator' => 'exists', 'path' => [ 'link', 'destination' ], ] ) ->get(); $tag_dependencies = Dependency_Manager::make() ->where( [ 'operator' => 'ne', 'path' => [ 'link', 'destination' ], 'nestedPath' => [ 'group' ], 'value' => 'action', 'newValue' => String_Prop_Type::generate( 'button' ), ] )->get(); return [ 'destination' => Union_Prop_Type::make() ->add_prop_type( Url_Prop_Type::make()->skip_validation() ) ->add_prop_type( Query_Prop_Type::make() ), 'isTargetBlank' => Boolean_Prop_Type::make() ->set_dependencies( $target_blank_dependencies ), 'tag' => String_Prop_Type::make() ->enum( [ 'a', 'button' ] ) ->default( self::DEFAULT_TAG ) ->set_dependencies( $tag_dependencies ), ]; } }